diff --git a/src/lib/DriverFramework b/src/lib/DriverFramework index 0010ee4798..d1ab15894a 160000 --- a/src/lib/DriverFramework +++ b/src/lib/DriverFramework @@ -1 +1 @@ -Subproject commit 0010ee479899d9971fdb55d832fcdbcdf36e39bb +Subproject commit d1ab15894a147ecd9fce021f17dd591b352e126c diff --git a/src/platforms/posix/drivers/df_lsm9ds1_wrapper/df_lsm9ds1_wrapper.cpp b/src/platforms/posix/drivers/df_lsm9ds1_wrapper/df_lsm9ds1_wrapper.cpp index cef0cdd7b8..490423f976 100644 --- a/src/platforms/posix/drivers/df_lsm9ds1_wrapper/df_lsm9ds1_wrapper.cpp +++ b/src/platforms/posix/drivers/df_lsm9ds1_wrapper/df_lsm9ds1_wrapper.cpp @@ -597,12 +597,6 @@ int DfLsm9ds1Wrapper::_publish(struct imu_sensor_data &data) vec_integrated_unused, integral_dt_unused); - // If we are not receiving the last sample from the FIFO buffer yet, let's stop here - // and wait for more packets. - if (!data.is_last_fifo_sample) { - return 0; - } - // The driver empties the FIFO buffer at 1kHz, however we only need to publish at 250Hz. // Therefore, only publish every forth time. ++_publish_count; @@ -700,6 +694,7 @@ int DfLsm9ds1Wrapper::_publish(struct imu_sensor_data &data) // TODO: when is this ever blocked? if (!(m_pub_blocked)) { + if (_gyro_topic != nullptr) { orb_publish(ORB_ID(sensor_gyro), _gyro_topic, &gyro_report); }