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>
28 lines
859 B
Python
28 lines
859 B
Python
from setuptools import setup
|
|
|
|
package_name = "saltybot_dronecan_gps"
|
|
|
|
setup(
|
|
name=package_name,
|
|
version="0.1.0",
|
|
packages=[package_name],
|
|
data_files=[
|
|
("share/ament_index/resource_index/packages", [f"resource/{package_name}"]),
|
|
(f"share/{package_name}", ["package.xml"]),
|
|
(f"share/{package_name}/config", ["config/here4_params.yaml"]),
|
|
(f"share/{package_name}/launch", ["launch/here4.launch.py"]),
|
|
],
|
|
install_requires=["setuptools"],
|
|
zip_safe=True,
|
|
maintainer="sl-perception",
|
|
maintainer_email="sl-perception@saltylab.local",
|
|
description="DroneCAN/UAVCAN v0 bridge for Here4 GPS via CANable2 (bd-p47c)",
|
|
license="MIT",
|
|
tests_require=["pytest"],
|
|
entry_points={
|
|
"console_scripts": [
|
|
"here4_node = saltybot_dronecan_gps.here4_node:main",
|
|
],
|
|
},
|
|
)
|