diff --git a/src/lib/drivers/rangefinder/PX4Rangefinder.cpp b/src/lib/drivers/rangefinder/PX4Rangefinder.cpp index 382fc863ed..9a9c94b658 100644 --- a/src/lib/drivers/rangefinder/PX4Rangefinder.cpp +++ b/src/lib/drivers/rangefinder/PX4Rangefinder.cpp @@ -69,7 +69,7 @@ void PX4Rangefinder::set_orientation(const uint8_t device_orientation) } -void PX4Rangefinder::update(const hrt_abstime ×tamp_sample, const float distance, const int8_t quality, const float (&quat)[4]) +void PX4Rangefinder::update(const hrt_abstime ×tamp_sample, const float distance, const int8_t quality, const float *q, uint8_t q_len) { distance_sensor_s &report = _distance_sensor_pub.get(); report.timestamp = timestamp_sample; @@ -84,7 +84,7 @@ void PX4Rangefinder::update(const hrt_abstime ×tamp_sample, const float dis } // Update the quaternion in the sample update - memcpy(report.q, quat, sizeof(float) * 4); + memcpy(report.q, q, sizeof(float) * q_len); _distance_sensor_pub.update(); } diff --git a/src/lib/drivers/rangefinder/PX4Rangefinder.hpp b/src/lib/drivers/rangefinder/PX4Rangefinder.hpp index 5b36299826..140444149e 100644 --- a/src/lib/drivers/rangefinder/PX4Rangefinder.hpp +++ b/src/lib/drivers/rangefinder/PX4Rangefinder.hpp @@ -63,7 +63,7 @@ public: void set_mode(const uint8_t mode) { _distance_sensor_pub.get().mode = mode; } // update with quaterion sensor orientation with respect to the vehicle body frame - void update(const hrt_abstime ×tamp_sample, const float distance, const int8_t quality = -1, const float (&quat)[4] = {1.0, 0.0, 0.0, 0.0}); + void update(const hrt_abstime ×tamp_sample, const float distance, const int8_t quality = -1, const float *q = nullptr, uint8_t q_len = 4); int get_instance() { return _distance_sensor_pub.get_instance(); }; uint32_t get_device_id() { return _distance_sensor_pub.get().device_id; };