From 47613fefa07a8ccdffec3d903453f54acfef52e8 Mon Sep 17 00:00:00 2001 From: Michael Schaeuble Date: Wed, 8 Jun 2016 10:37:14 +0200 Subject: [PATCH] Don't advertise garbage, apply same fix from #4735 --- .../df_ms5607_wrapper/df_ms5607_wrapper.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/platforms/posix/drivers/df_ms5607_wrapper/df_ms5607_wrapper.cpp b/src/platforms/posix/drivers/df_ms5607_wrapper/df_ms5607_wrapper.cpp index 51fbb8a160..9c36f3cab4 100644 --- a/src/platforms/posix/drivers/df_ms5607_wrapper/df_ms5607_wrapper.cpp +++ b/src/platforms/posix/drivers/df_ms5607_wrapper/df_ms5607_wrapper.cpp @@ -112,16 +112,6 @@ DfMS5607Wrapper::~DfMS5607Wrapper() int DfMS5607Wrapper::start() { - // TODO: don't publish garbage here - baro_report baro_report = {}; - _baro_topic = orb_advertise_multi(ORB_ID(sensor_baro), &baro_report, - &_baro_orb_class_instance, ORB_PRIO_DEFAULT); - - if (_baro_topic == nullptr) { - PX4_ERR("sensor_baro advert fail"); - return -1; - } - /* Init device and start sensor. */ int ret = init(); @@ -194,7 +184,11 @@ int DfMS5607Wrapper::_publish(struct baro_sensor_data &data) // TODO: when is this ever blocked? if (!(m_pub_blocked)) { - if (_baro_topic != nullptr) { + 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); } }