diff --git a/src/platforms/posix/drivers/barosim/baro.cpp b/src/platforms/posix/drivers/barosim/baro.cpp index f7ea4f6949..a70e394213 100644 --- a/src/platforms/posix/drivers/barosim/baro.cpp +++ b/src/platforms/posix/drivers/barosim/baro.cpp @@ -640,7 +640,7 @@ BAROSIM::collect() report.error_count = perf_event_count(_comms_errors); /* read the most recent measurement - read offset/size are hardcoded in the interface */ - ret = _interface->dev_read(0, (void *)&baro_report, 0); + ret = _interface->dev_read(0, (void *)&baro_report, sizeof(baro_report)); if (ret < 0) { perf_count(_comms_errors); perf_end(_sample_perf); diff --git a/src/platforms/posix/drivers/barosim/baro_sim.cpp b/src/platforms/posix/drivers/barosim/baro_sim.cpp index 8b64962207..8e66dc3ac6 100644 --- a/src/platforms/posix/drivers/barosim/baro_sim.cpp +++ b/src/platforms/posix/drivers/barosim/baro_sim.cpp @@ -127,7 +127,7 @@ BARO_SIM::dev_read(unsigned offset, void *data, unsigned count) /* read the most recent measurement */ uint8_t cmd = 0; - int ret = transfer(&cmd, 1, static_cast(data), 3); + int ret = transfer(&cmd, 1, static_cast(data), count); /* if (ret == PX4_OK) { @@ -208,7 +208,7 @@ BARO_SIM::transfer(const uint8_t *send, unsigned send_len, if (recv_len == 0) { PX4_DEBUG("BARO_SIM measurement requested"); } - else if (send_len != 1 || send[0] != 0 || recv_len != 3) { + else if (send_len != 1 || send[0] != 0 ) { PX4_WARN("BARO_SIM::transfer invalid param %u %u %u", send_len, send[0], recv_len); return 1; }