diff --git a/src/platforms/posix/drivers/df_bmp280_wrapper/df_bmp280_wrapper.cpp b/src/platforms/posix/drivers/df_bmp280_wrapper/df_bmp280_wrapper.cpp index 124de2a0e3..b773a225a2 100644 --- a/src/platforms/posix/drivers/df_bmp280_wrapper/df_bmp280_wrapper.cpp +++ b/src/platforms/posix/drivers/df_bmp280_wrapper/df_bmp280_wrapper.cpp @@ -190,6 +190,7 @@ int DfBmp280Wrapper::_publish(struct baro_sensor_data &data) if (_baro_topic == nullptr) { _baro_topic = orb_advertise_multi(ORB_ID(sensor_baro), &baro_report, &_baro_orb_class_instance, ORB_PRIO_DEFAULT); + } else { orb_publish(ORB_ID(sensor_baro), _baro_topic, &baro_report); } diff --git a/src/platforms/posix/drivers/df_isl29501_wrapper/df_isl29501_wrapper.cpp b/src/platforms/posix/drivers/df_isl29501_wrapper/df_isl29501_wrapper.cpp index 43198be6d8..3aa4fb88e2 100644 --- a/src/platforms/posix/drivers/df_isl29501_wrapper/df_isl29501_wrapper.cpp +++ b/src/platforms/posix/drivers/df_isl29501_wrapper/df_isl29501_wrapper.cpp @@ -172,6 +172,7 @@ int DfISL29501Wrapper::_publish(struct range_sensor_data &data) if (_range_topic == nullptr) { _range_topic = orb_advertise_multi(ORB_ID(distance_sensor), &d, &_orb_class_instance, ORB_PRIO_DEFAULT); + } else { orb_publish(ORB_ID(distance_sensor), _range_topic, &d); } diff --git a/src/platforms/posix/drivers/df_trone_wrapper/df_trone_wrapper.cpp b/src/platforms/posix/drivers/df_trone_wrapper/df_trone_wrapper.cpp index 1abade2e8f..af90241849 100644 --- a/src/platforms/posix/drivers/df_trone_wrapper/df_trone_wrapper.cpp +++ b/src/platforms/posix/drivers/df_trone_wrapper/df_trone_wrapper.cpp @@ -175,6 +175,7 @@ int DfTROneWrapper::_publish(struct range_sensor_data &data) if (_range_topic == nullptr) { _range_topic = orb_advertise_multi(ORB_ID(distance_sensor), &d, &_orb_class_instance, ORB_PRIO_DEFAULT); + } else { orb_publish(ORB_ID(distance_sensor), _range_topic, &d); }