only advertise range topic of px4flow board if it is the primary range device (#5390)

this allows selecting another range device such as a lidar by starting that app first
This commit is contained in:
Nicolas de Palezieux 2016-08-26 14:28:46 +02:00 committed by Lorenz Meier
parent a1627fad9a
commit ebce93f338

View File

@ -245,11 +245,16 @@ PX4FLOW::init()
/* get a publish handle on the range finder topic */
struct distance_sensor_s ds_report = {};
_distance_sensor_topic = orb_advertise_multi(ORB_ID(distance_sensor), &ds_report,
&_orb_class_instance, ORB_PRIO_HIGH);
if (_class_instance == CLASS_DEVICE_PRIMARY) {
_distance_sensor_topic = orb_advertise_multi(ORB_ID(distance_sensor), &ds_report,
&_orb_class_instance, ORB_PRIO_HIGH);
if (_distance_sensor_topic == nullptr) {
DEVICE_LOG("failed to create distance_sensor object. Did you start uOrb?");
if (_distance_sensor_topic == nullptr) {
DEVICE_LOG("failed to create distance_sensor object. Did you start uOrb?");
}
} else {
DEVICE_LOG("not primary range device, not advertising");
}
ret = OK;