Make sure dBm is not truncated when RSSI < 99
This commit is contained in:
parent
f5e3427cd8
commit
19d234a627
|
@ -1184,8 +1184,10 @@ void CDStarControl::sendAck()
|
|||
|
||||
char text[40U];
|
||||
if (m_ackMessage == DSTAR_ACK_RSSI && m_rssi != 0) {
|
||||
if (status == LS_LINKED_DEXTRA || status == LS_LINKED_DPLUS || status == LS_LINKED_DCS || status == LS_LINKED_CCS || status == LS_LINKED_LOOPBACK)
|
||||
if (status == LS_LINKED_DEXTRA || status == LS_LINKED_DPLUS || status == LS_LINKED_DCS || status == LS_LINKED_CCS || status == LS_LINKED_LOOPBACK) {
|
||||
CUtils::removeChar(reflector, ' ');//remove space from reflector so all nicely fits onto 20 chars in case rssi < 99dBm
|
||||
::sprintf(text, "%-8.8s %.1f%% -%udBm ", reflector, float(m_rfErrs * 100U) / float(m_rfBits), m_aveRSSI / m_rssiCount);
|
||||
}
|
||||
else
|
||||
::sprintf(text, "BER:%.1f%% -%udBm ", float(m_rfErrs * 100U) / float(m_rfBits), m_aveRSSI / m_rssiCount);
|
||||
}
|
||||
|
@ -1248,8 +1250,10 @@ void CDStarControl::sendError()
|
|||
|
||||
char text[40U];
|
||||
if (m_ackMessage == DSTAR_ACK_RSSI && m_rssi != 0) {
|
||||
if (status == LS_LINKED_DEXTRA || status == LS_LINKED_DPLUS || status == LS_LINKED_DCS || status == LS_LINKED_CCS || status == LS_LINKED_LOOPBACK)
|
||||
if (status == LS_LINKED_DEXTRA || status == LS_LINKED_DPLUS || status == LS_LINKED_DCS || status == LS_LINKED_CCS || status == LS_LINKED_LOOPBACK) {
|
||||
CUtils::removeChar(reflector, ' ');//remove space from reflector so all nicely fits onto 20 chars in case rssi < 99dBm
|
||||
::sprintf(text, "%-8.8s %.1f%% -%udBm ", reflector, float(m_rfErrs * 100U) / float(m_rfBits), m_aveRSSI / m_rssiCount);
|
||||
}
|
||||
else
|
||||
::sprintf(text, "BER:%.1f%% -%udBm ", float(m_rfErrs * 100U) / float(m_rfBits), m_aveRSSI / m_rssiCount);
|
||||
}
|
||||
|
|
14
Utils.cpp
14
Utils.cpp
|
@ -144,3 +144,17 @@ void CUtils::bitsToByteLE(const bool* bits, unsigned char& byte)
|
|||
byte |= bits[6U] ? 0x40U : 0x00U;
|
||||
byte |= bits[7U] ? 0x80U : 0x00U;
|
||||
}
|
||||
|
||||
void CUtils::removeChar(unsigned char * haystack, char needdle)
|
||||
{
|
||||
unsigned int i = 0;
|
||||
unsigned int j = 0;
|
||||
|
||||
while (haystack[i] != '\0') {
|
||||
if (haystack[i] != needdle)
|
||||
haystack[j++] = haystack[i];
|
||||
i++;
|
||||
}
|
||||
|
||||
haystack[j] = '\0';
|
||||
}
|
Loading…
Reference in New Issue