Change the sampling poistion and rate for the RSSI.

This commit is contained in:
Jonathan Naylor 2016-08-08 21:43:00 +01:00
parent eafc329cc9
commit 8c96a48b2b
3 changed files with 11 additions and 11 deletions

View File

@ -125,7 +125,7 @@ bool CDMRSlotRX::processSample(q15_t sample)
} else {
#if defined(SEND_RSSI_DATA)
// Grab the RSSI data near the centre of the frame
if (m_state == DMRRXS_VOICE && m_dataPtr == m_syncPtr && m_rssiCount == 0U)
if (m_state == DMRRXS_VOICE && m_dataPtr == m_syncPtr && m_rssiCount == 2U)
m_rssi = io.getRSSIValue();
#endif
uint16_t min = m_syncPtr - 1U;
@ -206,8 +206,8 @@ bool CDMRSlotRX::processSample(q15_t sample)
// Voice sync
DEBUG5("DMRSlotRX: voice sync found slot/pos/centre/threshold", m_slot ? 2U : 1U, m_syncPtr, centre, threshold);
#if defined(SEND_RSSI_DATA)
// Send RSSI data approximately every 0.5 seconds
if (m_rssiCount == 0U) {
// Send RSSI data approximately every second
if (m_rssiCount == 2U) {
frame[34U] = (m_rssi >> 8) & 0xFFU;
frame[35U] = (m_rssi >> 0) & 0xFFU;
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 3U);
@ -216,7 +216,7 @@ bool CDMRSlotRX::processSample(q15_t sample)
}
m_rssiCount++;
if (m_rssiCount >= 8U)
if (m_rssiCount >= 16U)
m_rssiCount = 0U;
#else
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);
@ -242,8 +242,8 @@ bool CDMRSlotRX::processSample(q15_t sample)
frame[0U] = ++m_n;
}
#if defined(SEND_RSSI_DATA)
// Send RSSI data approximately every 0.5 seconds
if (m_rssiCount == 0U) {
// Send RSSI data approximately every second
if (m_rssiCount == 2U) {
frame[34U] = (m_rssi >> 8) & 0xFFU;
frame[35U] = (m_rssi >> 0) & 0xFFU;
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 3U);
@ -252,7 +252,7 @@ bool CDMRSlotRX::processSample(q15_t sample)
}
m_rssiCount++;
if (m_rssiCount >= 8U)
if (m_rssiCount >= 16U)
m_rssiCount = 0U;
#else
serial.writeDMRData(m_slot, frame, DMR_FRAME_LENGTH_BYTES + 1U);

View File

@ -464,7 +464,7 @@ void CDStarRX::processData(bool bit)
}
#if defined(SEND_RSSI_DATA)
// Send RSSI data every 0.5 seconds
// Send RSSI data every second
if (m_rssiCount == 0U) {
uint16_t rssi = io.getRSSIValue();
m_rxBuffer[12U] = (rssi >> 8) & 0xFFU;
@ -475,7 +475,7 @@ void CDStarRX::processData(bool bit)
}
m_rssiCount++;
if (m_rssiCount >= 25U)
if (m_rssiCount >= 50U)
m_rssiCount = 0U;
#else
serial.writeDStarData(m_rxBuffer, DSTAR_DATA_LENGTH_BYTES);

View File

@ -237,7 +237,7 @@ void CYSFRX::processData(q15_t sample)
m_outBuffer[0U] = m_lostCount == (MAX_SYNC_FRAMES - 1U) ? 0x01U : 0x00U;
#if defined(SEND_RSSI_DATA)
// Send RSSI data every 0.5 seconds
// Send RSSI data every second
if (m_rssiCount == 0U) {
uint16_t rssi = io.getRSSIValue();
m_outBuffer[121U] = (rssi >> 8) & 0xFFU;
@ -248,7 +248,7 @@ void CYSFRX::processData(q15_t sample)
}
m_rssiCount++;
if (m_rssiCount >= 5U)
if (m_rssiCount >= 10U)
m_rssiCount = 0U;
#else
serial.writeYSFData(m_outBuffer, YSF_FRAME_LENGTH_BYTES + 1U);