From ecfe5dfb183bf9a2df1d1c802857318b7b561150 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 9 Aug 2016 06:24:13 +0100 Subject: [PATCH] Use the correct bytes for the RSSI. --- DMRSlot.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DMRSlot.cpp b/DMRSlot.cpp index fb5b824..f14f2ea 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -122,10 +122,10 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len) } // Have we got RSSI bytes on the end? - if (len > (DMR_FRAME_LENGTH_BYTES + 2U) && m_rssiMultiplier != 0) { + if (len == (DMR_FRAME_LENGTH_BYTES + 4U) && m_rssiMultiplier != 0) { uint16_t rssi = 0U; - rssi |= (data[33U] << 8) & 0xFF00U; - rssi |= (data[34U] << 0) & 0x00FFU; + rssi |= (data[35U] << 8) & 0xFF00U; + rssi |= (data[36U] << 0) & 0x00FFU; m_rssi = (rssi - m_rssiOffset) / m_rssiMultiplier; LogDebug("DMR Slot %u, raw RSSI: %u, reported RSSI: %d", m_slotNo, rssi, m_rssi); }