From 055d83fc7e1e73ea0a1e72e6209be7b3d1c11934 Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Thu, 9 Mar 2017 21:10:11 -0300 Subject: [PATCH] Adding RSSI support for YSF --- YSFRX.cpp | 15 ++++++++++++++- YSFRX.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/YSFRX.cpp b/YSFRX.cpp index 5079cd4..23388c0 100644 --- a/YSFRX.cpp +++ b/YSFRX.cpp @@ -117,7 +117,7 @@ void CYSFRX::processData(bool bit) } else { m_outBuffer[0U] = m_lostCount == (MAX_SYNC_FRAMES - 1U) ? 0x01U : 0x00U; - serial.writeYSFData(m_outBuffer, YSF_FRAME_LENGTH_BYTES + 1U); + writeRSSIData(m_outBuffer); // Start the next frame ::memset(m_outBuffer, 0x00U, YSF_FRAME_LENGTH_BYTES + 3U); @@ -126,3 +126,16 @@ void CYSFRX::processData(bool bit) } } +void CYSFRX::writeRSSIData(uint8_t* data) +{ +#if defined(SEND_RSSI_DATA) + uint16_t rssi = io.readRSSI(); + + data[121U] = (rssi >> 8) & 0xFFU; + data[122U] = (rssi >> 0) & 0xFFU; + + serial.writeYSFData(data, YSF_FRAME_LENGTH_BYTES + 3U); +#else + serial.writeYSFData(data, YSF_FRAME_LENGTH_BYTES + 1U); +#endif +} diff --git a/YSFRX.h b/YSFRX.h index 0cee0af..b65e382 100644 --- a/YSFRX.h +++ b/YSFRX.h @@ -46,6 +46,8 @@ private: void processNone(bool bit); void processData(bool bit); + void writeRSSIData(uint8_t* data); + }; #endif