aboutsummaryrefslogtreecommitdiff
path: root/src/modules/uavcan/sensors/sensor_bridge.cpp
diff options
context:
space:
mode:
authorPavel Kirienko <pavel.kirienko@gmail.com>2014-08-24 00:06:47 +0400
committerPavel Kirienko <pavel.kirienko@gmail.com>2014-08-24 00:06:47 +0400
commite9da8303161a1e1f012b7c5d770249c3d606fcbf (patch)
treec85cfd68be91c746661d64056c27a20377811b9b /src/modules/uavcan/sensors/sensor_bridge.cpp
parent0f124963d4f0c07afa94d96b779a0d28b0fbd66f (diff)
downloadpx4-firmware-e9da8303161a1e1f012b7c5d770249c3d606fcbf.tar.gz
px4-firmware-e9da8303161a1e1f012b7c5d770249c3d606fcbf.tar.bz2
px4-firmware-e9da8303161a1e1f012b7c5d770249c3d606fcbf.zip
UAVCAN: initializing all bridges by default
Diffstat (limited to 'src/modules/uavcan/sensors/sensor_bridge.cpp')
-rw-r--r--src/modules/uavcan/sensors/sensor_bridge.cpp24
1 files changed, 4 insertions, 20 deletions
diff --git a/src/modules/uavcan/sensors/sensor_bridge.cpp b/src/modules/uavcan/sensors/sensor_bridge.cpp
index 05d589b58..a69514d77 100644
--- a/src/modules/uavcan/sensors/sensor_bridge.cpp
+++ b/src/modules/uavcan/sensors/sensor_bridge.cpp
@@ -45,27 +45,11 @@
/*
* IUavcanSensorBridge
*/
-IUavcanSensorBridge* IUavcanSensorBridge::make(uavcan::INode &node, const char *bridge_name)
+void IUavcanSensorBridge::make_all(uavcan::INode &node, List<IUavcanSensorBridge*> &list)
{
- /*
- * TODO: make a linked list of known implementations at startup?
- */
- if (!std::strncmp(UavcanGnssBridge::NAME, bridge_name, MAX_NAME_LEN)) {
- return new UavcanGnssBridge(node);
- } else if (!std::strncmp(UavcanMagnetometerBridge::NAME, bridge_name, MAX_NAME_LEN)) {
- return new UavcanMagnetometerBridge(node);
- } else if (!std::strncmp(UavcanBarometerBridge::NAME, bridge_name, MAX_NAME_LEN)) {
- return new UavcanBarometerBridge(node);
- } else {
- return nullptr;
- }
-}
-
-void IUavcanSensorBridge::print_known_names(const char *prefix)
-{
- printf("%s%s\n", prefix, UavcanGnssBridge::NAME);
- printf("%s%s\n", prefix, UavcanMagnetometerBridge::NAME);
- printf("%s%s\n", prefix, UavcanBarometerBridge::NAME);
+ list.add(new UavcanBarometerBridge(node));
+ list.add(new UavcanMagnetometerBridge(node));
+ list.add(new UavcanGnssBridge(node));
}
/*