From 0f2f6ccc80c07e8a2657918dbf70c86d634b970b Mon Sep 17 00:00:00 2001 From: Hwurzburg Date: Mon, 12 Jul 2021 14:03:44 -0500 Subject: [PATCH] AP_HAL_ChibiOS: add Link Quality reporting to RC protocols --- libraries/AP_HAL_ChibiOS/RCInput.cpp | 1 + libraries/AP_HAL_ChibiOS/RCInput.h | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/AP_HAL_ChibiOS/RCInput.cpp b/libraries/AP_HAL_ChibiOS/RCInput.cpp index a12e60730c..dcaa8e674c 100644 --- a/libraries/AP_HAL_ChibiOS/RCInput.cpp +++ b/libraries/AP_HAL_ChibiOS/RCInput.cpp @@ -180,6 +180,7 @@ void RCInput::_timer_tick(void) _num_channels = MIN(_num_channels, RC_INPUT_MAX_CHANNELS); rcprot.read(_rc_values, _num_channels); _rssi = rcprot.get_RSSI(); + _rx_link_quality = rcprot.get_rx_link_quality(); #ifndef HAL_NO_UARTDRIVER rc_protocol = rcprot.protocol_name(); #endif diff --git a/libraries/AP_HAL_ChibiOS/RCInput.h b/libraries/AP_HAL_ChibiOS/RCInput.h index 1751ea842d..6a35ab0598 100644 --- a/libraries/AP_HAL_ChibiOS/RCInput.h +++ b/libraries/AP_HAL_ChibiOS/RCInput.h @@ -52,7 +52,9 @@ public: int16_t get_rssi(void) override { return _rssi; } - + int16_t get_rx_link_quality(void) override { + return _rx_link_quality; + } const char *protocol() const override { return last_protocol; } void _timer_tick(void); @@ -65,6 +67,7 @@ private: uint8_t _num_channels; Semaphore rcin_mutex; int16_t _rssi = -1; + int16_t _rx_link_quality = -1; uint32_t _rcin_timestamp_last_signal; bool _init; const char *last_protocol;