Implements saltybot_dronecan_gps ROS2 package — DroneCAN/UAVCAN v0 bridge that publishes Here4 GPS, IMU, magnetometer, and barometer data to ROS2. CANable2 freed from ESP32 BALANCE comms (bd-wim1) now runs Here4 at 1 Mbps DroneCAN. Key features: - dronecan_parser.py: pure-Python DSDL converters (Fix2, RawIMU, Mag, StaticPressure, StaticTemperature, NodeStatus, RTCMStream chunks), testable without dronecan library or CAN hardware - here4_node.py: ROS2 node, auto-discovers Here4 node ID on first Fix2, publishes /gps/fix + /gps/velocity for navsat_transform EKF fusion, HDOP-based NavSatStatus upgrade (RTK/SBAS), RTCM injection via /rtcm (ByteMultiArray) or /rtcm_hex (String hex fallback) - 39 unit tests, all passing - bring_up_can:=true parameter to configure SocketCAN at launch Resolves bd-p47c Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
1.3 KiB
XML
38 lines
1.3 KiB
XML
<?xml version="1.0"?>
|
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
<package format="3">
|
|
<name>saltybot_dronecan_gps</name>
|
|
<version>0.1.0</version>
|
|
<description>
|
|
DroneCAN/UAVCAN v0 bridge for Here4 GPS on the CANable2 SocketCAN adapter.
|
|
Publishes GPS fix, IMU, magnetometer, and barometer data to ROS2.
|
|
Injects RTCM corrections for RTK.
|
|
|
|
bd-p47c: CANable2 freed from ESP32 BALANCE comms by bd-wim1.
|
|
Here4 operates at 1 Mbps on can0 (was 500 kbps for VESC comms).
|
|
|
|
System dependency: dronecan Python library (pip install dronecan)
|
|
</description>
|
|
<maintainer email="sl-perception@saltylab.local">sl-perception</maintainer>
|
|
<license>MIT</license>
|
|
|
|
<exec_depend>rclpy</exec_depend>
|
|
<exec_depend>std_msgs</exec_depend>
|
|
<exec_depend>sensor_msgs</exec_depend>
|
|
<exec_depend>geometry_msgs</exec_depend>
|
|
|
|
<!-- dronecan: pip install dronecan (DroneCAN/UAVCAN v0 Python library) -->
|
|
<!-- python3-can is a transitive dependency of dronecan -->
|
|
|
|
<buildtool_depend>ament_python</buildtool_depend>
|
|
|
|
<test_depend>ament_copyright</test_depend>
|
|
<test_depend>ament_flake8</test_depend>
|
|
<test_depend>ament_pep257</test_depend>
|
|
<test_depend>python3-pytest</test_depend>
|
|
|
|
<export>
|
|
<build_type>ament_python</build_type>
|
|
</export>
|
|
</package>
|