Add uavcannode accel and gyro publisher (#19885)

* Add uavcannode accel and gyro publisher.

* Add missing Kconfig

* always publish rawimu
This commit is contained in:
Alex Klimaj
2025-03-24 12:08:15 -08:00
committed by GitHub
parent f67027f066
commit 71554af8fa
9 changed files with 147 additions and 0 deletions
+21
View File
@@ -77,6 +77,10 @@
#include "Publishers/RawAirData.hpp"
#endif // CONFIG_UAVCANNODE_RAW_AIR_DATA
#if defined(CONFIG_UAVCANNODE_RAW_IMU)
#include "Publishers/RawIMU.hpp"
#endif // CONFIG_UAVCANNODE_RAW_IMU
#if defined(CONFIG_UAVCANNODE_SAFETY_BUTTON)
#include "Publishers/SafetyButton.hpp"
#endif // CONFIG_UAVCANNODE_SAFETY_BUTTON
@@ -391,6 +395,16 @@ int UavcanNode::init(uavcan::NodeID node_id, UAVCAN_DRIVER::BusEvent &bus_events
_publisher_list.add(new RawAirData(this, _node));
#endif // CONFIG_UAVCANNODE_RAW_AIR_DATA
#if defined(CONFIG_UAVCANNODE_RAW_IMU)
int32_t cannode_pub_raw_imu = 0;
param_get(param_find("CANNODE_PUB_IMU"), &cannode_pub_raw_imu);
if (cannode_pub_raw_imu == 1) {
_publisher_list.add(new RawIMU(this, _node));
}
#endif // CONFIG_UAVCANNODE_RAW_IMU
#if defined(CONFIG_UAVCANNODE_RTK_DATA)
_publisher_list.add(new RelPosHeadingPub(this, _node));
@@ -688,6 +702,13 @@ void UavcanNode::PrintInfo()
printf("\n");
// UAVCAN Time
printf("UAVCAN Time:\n");
printf("\tMonotonic time: %llu\n", _node.getMonotonicTime().toUSec());
printf("\tUtc time: %llu\n", _node.getUtcTime().toUSec());
printf("\n");
// CAN driver status
for (unsigned i = 0; i < _node.getDispatcher().getCanIOManager().getCanDriver().getNumIfaces(); i++) {
printf("CAN%u status:\n", unsigned(i + 1));