diff options
author | Pavel Kirienko <pavel.kirienko@gmail.com> | 2014-08-24 00:06:47 +0400 |
---|---|---|
committer | Pavel Kirienko <pavel.kirienko@gmail.com> | 2014-08-24 00:06:47 +0400 |
commit | e9da8303161a1e1f012b7c5d770249c3d606fcbf (patch) | |
tree | c85cfd68be91c746661d64056c27a20377811b9b /src/modules/uavcan/sensors/sensor_bridge.cpp | |
parent | 0f124963d4f0c07afa94d96b779a0d28b0fbd66f (diff) | |
download | px4-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.cpp | 24 |
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)); } /* |