Commit Graph

38 Commits

Author SHA1 Message Date
Ryan Friedman ebfecaddac Tools: Set GPS instance ID in the GPS frame ID
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-01 11:11:41 +09:00
Tiziano Fiorenzani 969979cd17 AP_DDS: battery topic to report all the available batteries 2024-10-11 09:53:51 +11:00
Ryan Friedman 5f67904d19 Tools: Expose arbitrary waf configure and build args
* This allows someone using colcon full control over the build

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-10-08 20:58:36 +11:00
Ryan Friedman 1bdc635ba8 AP_DDS: Implement joystick support
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
Co-Authored-by: Tiziano Fiorenzani
2024-10-01 10:46:35 +10:00
Ryan Friedman 0cc07ac1ab AP_DDS: Add test for geopose heading
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-17 10:32:25 +10:00
Andrew Tridgell bcf19b6d0d Tools: adjust usage of --enable for uppercase names 2024-09-11 16:11:22 +10:00
Ryan Friedman 236b3e5eb3 Tools: Hotfix missing 3 and linters
* CI was disabled, we missed these

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-11 13:54:53 +10:00
Ryan Friedman 33d75f10e7 Tools: ros2: Add missing dep and improved instructions
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-10 12:46:33 +10:00
Ryan Friedman 1f0f41297b Tools: ros2: Add geopose test
* Add missing deps
* Reduce some duplication

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-10 12:46:33 +10:00
Ryan Friedman c16fee3f47 Tools: ros2: Reformat
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-06 21:28:25 +10:00
Ryan Friedman 2937fce42f Tools: ROS2: Add missing dependencies with docs
* Depend on all messages used in ardupilot_sitl
* Clarify limitations of wrapping with colcon
* Link github issue to support argument passthrough

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-01 09:38:50 +10:00
rushyam 218724a3fe Tools: ros2: correct ros_ws to ros2_ws
ros_ws -> ros2_ws
2024-07-20 20:26:07 +10:00
Rhys Mainwaring 296cdc58a3 Tools: ros2: remove dds_xrce_profile.xml
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-05-29 17:47:52 +10:00
Thomas Watson 3d4490b339 Tools/ros2: remove forwarding of deprecated --uartX options 2024-05-28 09:23:39 +10:00
Ryan Friedman 8a58affe24 Tools: ros2: Fix plane launch headless
* Install models for other users
* Fix bool parsing in some launch args
2024-05-25 12:04:05 +10:00
Ryan Friedman ebaedb318b Tools: Expose map/console mavproxy args
* These can be set in ros2 launch calls now

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-14 09:52:48 +10:00
Ryan Friedman d4e0375d31 Tools: Fix incorrectly named DDS param
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-03-24 11:27:22 +11:00
Rhys Mainwaring e58dd0de73 Tools: ros2: add cmake options to ardupilot_sitl
- Add options for networking and PPP to match waf configure flags

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-02-13 21:56:46 +11:00
Tiziano Fiorenzani c864047c1f Tools: ardupilot_sitl launch file to include an out parameter for mavproxy 2024-02-13 13:20:35 +11:00
Rhys Mainwaring 5ee05b6799 Tools: ros2: pass verbose flag to micro-ROS agent.
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-01-13 13:43:12 -08:00
Ryan Friedman 7f9992dd24 Tools: add REP-147 Global Position Control
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Thomas Watson de5b46e028 Tools: remove references to legacy UART order
Also delete some unused variables and update the completions.
2023-12-19 06:53:15 +11:00
Tiziano Fiorenzani 34ed4d1202 Tools: ros2 sitl package added ardupilot_msgs dependency 2023-12-08 03:08:50 +00:00
Ryan Friedman 61e2c5fda1 Tools: ros2: Enforce black instead of flake8
* Removed dependency on ament_lint_common
* Removed all flake8 artifacts
* Ordered linters alphabetically

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-22 11:50:39 -08:00
Ryan Friedman 85172b5646 Tools: ros2: Run ament_black on all files
* This commit is files changed automatically by the black linter

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-22 11:50:39 -08:00
Ryan Friedman 8b0bc101f2 Tools: ros2: Add missing socat dependency
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-10 17:11:45 +11:00
Ryan Friedman fc924857d3 Tools: ROS2 add missing runtime dependency for running ardupilot_sitl
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-09-13 11:50:15 +10:00
Ryan Friedman 5da30295ad Tools: Remove executable permissions and add missing shebang
* Hex files should not be executable
* .txt files should not be executable
* The DDS test listener was supposed to be executable but was missing a shebang

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-09-08 17:09:26 +10:00
arshPratap 062f82b3af Tools : Added custom ROS-2 serivce definition for switching drive modes 2023-09-01 17:49:33 +10:00
arshPratap 8e7b6e6b6c Tools : Updated description for Arming Motor Service 2023-08-19 23:13:39 +10:00
arshPratap e0f5e30985 Tools: add custom ROS 2 messages and service interfaces
- Moved from https://github.com/arshPratap/ardupilot_ros2.
- Document interface.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-07-19 16:36:28 +09:00
Rhys Mainwaring 628473c42e Tools: ROS 2 update tests for time messages
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-05-14 06:20:12 +10:00
Rhys Mainwaring 21ea0d9794 Tools: ROS 2 update launch scripts and tests
Add launch module to ardupilot_sitl package
- Move body of launch scripts into package for reuse.
- Add utilities module.

Update launch scripts
- Provide type hints.
- Add arguments to sitl.launch.py.
- Fix formatting bug in sitl.launch.py home argument.

Update micro_ros_agent launch script
- Modify import for lauch_ros.actions.Node.
- Change argument order in node initialiser.
- Add args for UDP transport and set as default.

Update ROS 2 DDS default params
- Add default params for both serial and UDP transports.
- Add DDS_ENABLE.

Rename ROS 2 sitl_dds launch script
- Rename sitl_dds launch script with serial suffix.
- Add launch script for UDP transport.

Update ROS 2 launch test fixtures
- Make common test fixtures more granular.
- Add fixtures and tests for UDP transport.
- Update ROS 2 package.xml dependencies
- Use yield rather than return in test fixtures.
- Use ardupilot_sitl launch module directly.
- Correct return type descriptions.
- Fix flake8 failure.

Update ROS 2 README
- Update launch instructions.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-05-12 07:11:25 +10:00
Rhys Mainwaring af534b5b91 Tools: ROS 2 move python package directory
- Move the Python package for ardupilot_sitl into src.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-05-12 07:11:25 +10:00
Rhys Mainwaring bb8f53742d Tools: ROS 2 add debug config
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-05-12 07:11:25 +10:00
Rhys Mainwaring be80cb12ef Tools: update ROS 2 README
- Correct paths to ros2.repos file.
- Improve build and install instructions.
- Add dependency check to build step.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-05-04 07:21:20 +10:00
Rhys Mainwaring 09ee6b8651 Tools: update ROS 2 DDS topic names
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-04-28 07:37:04 +10:00
Rhys Mainwaring 96d7265823 Tools: add ROS 2 launch tests
Add ros2.repo for installing packages with vcstool.

Add cmake custom targets to run waf configure and build.

Update ros2.repo.
- Add dependency on arshPratap/ardupilot_ros2.git.
- Update version used for ardupilot_ros2.git.
- Update ardupilot branch.
- Reduce to minimum required.

Add ROS 2 launch tests.
- Add ROS 2 Python package for testing the AP_DDS library.
- Initial version including example Python test.
- Move the CMakeLists.txt to ./Tools/scripts/ros2/ardupilot_sitl.
- Add virtual port test.

Update README.
- Add instructions for using the docker image.

Disable socat tests return code.
- Not portable across platforms?

Update ros2.repo
- Reduce to minimum required.
- Update README.
- Update ardupilot_dds_tests packahe.xml

Use pytest tmp_path_factory.
- Use pytest built-in fixture for tmp directories.

Update test README.
- Update instructions for running test in docker.

Add test config and param files.

Add subscriber to Time messages.

Clean up virtual port test.
- Remove unused code.

Test time message is published.
- Copied from ardupilot_ros2/pr-ci-test-package branch.

Update time msg test
- Update workspace relative path.
- Remove sleep in main test.

Add original time message test.
- Add original version of time message test to help resolve failure.

Use separate processes for sitl and mavproxy.

Update original time message test.

Add Python testing to the ardupilot_sitl package.
- Add support for Python testing in the ardupilot_sitl package.

Add install section to CMakeLists.txt.
- Install executables and libs.
- Install default params and launch files.

Add launch for SITL.
- Add example launch file for SITL.
- Add local param file in config (test install).

Update ROS time message test.

Update CMakeLists.txt
- Set executable bit when installing programs.

Add example launch file for mavproxy.

Fix param path in sitl.launch.

Fix sitl address and port in example dds test.

Rename ardupilot dds yaml config file.

Rework sitl.launch to support launch arguments.
- Add launch arguments.
- Prep work for composing launch files.

Rework mavproxy.launch to support launch arguments.
- Add launch arguments.
- Fix default instance in sitl.launch.
- Run as MAVProxy in non-interactive mode.

Add launch file for socat virtual port process.
- Add separate launch file for process creating virtual ports.

Rename launch file for creating virtual ports.
- Remove unused import.

Add sample config yaml for sitl.launch.

Update ros2.repos.
- Remove ardupilot_ros2 and micro_ros_setup.
- Rename branch.

Move ROS 2 packages up a level.

Update path to ArduPilot root directory in CMakeLists.txt.

Update paths in ros2 dds time message tests

Update ros2 README and provide separate ros2.repo for macOS.
- Add build instructions for each platform.
- Provide separate ros2.repos for macOS which has additional dependencies to build from source.

Add composite launch for sitl and mavproxy.
-Provide example of composite launch that reuses existing launch files.

Add uart and serial port arguments to sitl.launch
- Add extra (optional) arguments for ports.
- Handle default arguments (e.g. wipe and synthetic clock).
- Remove use of TextSubstitution which seems redundant.

Simplify and update formatting in mavproxy and virtual port launches.
- Update print formatting.
- Remove use of TextSubstitution.

Add launch file for micro_ros_agent.
- The launch file in the micro_ros_agent does not have launch arguments.
- Replace hardcoded transport.

Correct install path for launch files in setup.py.
- Correct install path for launch files.
- Format line length.

Update micro_ros_agent launch.
- Do not use None for launch argument default value.

Add composite launch file for the time message test.
- Compose launch from four simpler launch files.

Comment unused variables for linting.

Install dds profile.
- Update CMakeLists.txt to install the dds_xrceprofile.
- Move install location of dds.parm to config/default_params.
- Update README with notes on equivalent command line calls.

Correct launch for micro_ros_agent.
- Remove extra space prefixing device field.
- Update README with example launch commands.

Update launch examples in README
- Update README with example launch commands.

Update combined launch for DDS time message test.
- Add events to combined launch to control launch sequence.
- Update README with example command for combined launch.

Remove dds.parm from ardupilot_dds_tests.
- File moved to ardupilot_sitl.

Update combined launch for DDS time message test.
- Disable events as these will not work with a launch description as the target_action.

Rename launch file for bringing up sitl with dds.

Rename virtual ports launch test.

Use PathJoinSubstitution and FindPackageShare for package resolution.
- Use substitutions for package and launch path resolution.

Update launch example in readme.
- Fix typo in combined launch.

Update virtual ports test case.

Rename virtual ports test case.

Rename time message test case.

Rework the time msg test case to use previously defined launch files.

Add time message check node.

Clean up test cases.

Move bringup fixture into conftest.py.
- Factor out bringup fixture.

Remove unused code and imports.

Add test for navsatfix.
- Update qos profile for navsatfix test.

Update test case names.

Use pathlib instead of os.path.

Set speedup to 10, reduce test timeout.

Update CMakeLists.txt
- Remove --debug.
- Remove commented code.

Update sitl_launch.py.
- Use max_serial_ports instead of hardcoded number.

Remove sample python test.

Update maintainer for ros2 packages.

Update ros2.repos.
- Point to ardupilot master instead of fork and PR branch.

Update CMakeLists.txt.
- Fix format (indent) in build test section.

Enable ament linters and use black formatter.
- Enable ament_lint_auto in CMakeLists.txt.
- Override default flake8 config to prevent conflicts with black formatter.
- Update README.
- Update files to satisfy linters.

More PEP 257 compliance.
- Adopt recommended style for comments.

Apply linters and formatter.
- Apply linter and black formatter to ardupilot_dds_tests.
- Move package tests under folder.
- Reinstate copyright, flake8 and pep257 tests.

Reorganise ros2 launch files
- Move launch files for SITL from ardupilot_dds_tests to ardupilit_sitl.
- Update docs.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-04-22 11:02:24 +10:00