aboutsummaryrefslogtreecommitdiff
path: root/src/modules/uavcan/sensors/sensor_bridge.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/uavcan/sensors/sensor_bridge.hpp')
-rw-r--r--src/modules/uavcan/sensors/sensor_bridge.hpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/modules/uavcan/sensors/sensor_bridge.hpp b/src/modules/uavcan/sensors/sensor_bridge.hpp
index a13d0ab35..1316f7ecc 100644
--- a/src/modules/uavcan/sensors/sensor_bridge.hpp
+++ b/src/modules/uavcan/sensors/sensor_bridge.hpp
@@ -69,6 +69,11 @@ public:
virtual unsigned get_num_redundant_channels() const = 0;
/**
+ * Prints current status in a human readable format to stdout.
+ */
+ virtual void print_status() const = 0;
+
+ /**
* Sensor bridge factory.
* Creates a bridge object by its ASCII name, e.g. "gnss", "mag".
* @return nullptr if such bridge can't be created.
@@ -84,7 +89,7 @@ class UavcanCDevSensorBridgeBase : public IUavcanSensorBridge, public device::CD
{
struct Channel
{
- int redunancy_channel_id = -1;
+ int node_id = -1;
orb_id_t orb_id = nullptr;
orb_advert_t orb_advert = -1;
int class_instance = -1;
@@ -112,13 +117,15 @@ protected:
/**
* Sends one measurement into appropriate ORB topic.
* New redundancy channels will be registered automatically.
- * @param redundancy_channel_id Redundant sensor identifier (e.g. UAVCAN Node ID)
- * @param report ORB message object
+ * @param node_id Sensor's Node ID
+ * @param report Pointer to ORB message object
*/
- void publish(const int redundancy_channel_id, const void *report);
+ void publish(const int node_id, const void *report);
public:
virtual ~UavcanCDevSensorBridgeBase();
unsigned get_num_redundant_channels() const override;
+
+ void print_status() const override;
};