diff --git a/src/drivers/distance_sensor/pga460/pga460.cpp b/src/drivers/distance_sensor/pga460/pga460.cpp index ce4e17df2d7697f7952321ad1edc2d581d66726c..1dd716a20a0289e2945d377b3180aac8cba7448b 100644 --- a/src/drivers/distance_sensor/pga460/pga460.cpp +++ b/src/drivers/distance_sensor/pga460/pga460.cpp @@ -665,11 +665,17 @@ int PGA460::read_threshold_registers() } } -void PGA460::request_results() +int PGA460::request_results() { uint8_t buf_tx[2] = {SYNCBYTE, UMR}; - ::write(_fd, &buf_tx[0], sizeof(buf_tx)); + int ret = ::write(_fd, &buf_tx[0], sizeof(buf_tx)); usleep(10000); + + if(ret < 0) { + return PX4_ERROR; + } + + return PX4_OK; } void PGA460::run() diff --git a/src/drivers/distance_sensor/pga460/pga460.h b/src/drivers/distance_sensor/pga460/pga460.h index 1e056e5fb681e3e0ffc5ce70ca55fa85b76a628c..19806f20d60e35b3ca810d2e9ef52f683b549cac 100644 --- a/src/drivers/distance_sensor/pga460/pga460.h +++ b/src/drivers/distance_sensor/pga460/pga460.h @@ -354,7 +354,7 @@ private: /** * @brief Measurement is read from UART RX buffer and published to the uORB distance sensor topic. */ - void request_results(); + int request_results(); /** * @brief Checks the measurement from last report and sets the range distance mode (long range , short range).