Fixuo M17 BER, RSSI, and Text JSON.

This commit is contained in:
Jonathan Naylor
2023-06-16 15:07:17 +01:00
parent ac076a7a23
commit 3b89c3f94d
2 changed files with 10 additions and 7 deletions

View File

@@ -177,7 +177,8 @@ bool CM17Control::writeModem(unsigned char* data, unsigned int len)
m_aveRSSI += m_rssi; m_aveRSSI += m_rssi;
m_rssiCountTotal++; m_rssiCountTotal++;
writeJSONRSSI(); m_rssiAccum += m_rssi;
m_rssiCountTotal++;
} }
unsigned char temp[M17_FRAME_LENGTH_BYTES]; unsigned char temp[M17_FRAME_LENGTH_BYTES];
@@ -352,6 +353,7 @@ bool CM17Control::writeModem(unsigned char* data, unsigned int len)
if (m_rfTextBits == 0x11U || m_rfTextBits == 0x33U || m_rfTextBits == 0x77U || m_rfTextBits == 0xFFU) { if (m_rfTextBits == 0x11U || m_rfTextBits == 0x33U || m_rfTextBits == 0x77U || m_rfTextBits == 0xFFU) {
LogMessage("M17, text Data: \"%s\"", m_rfText); LogMessage("M17, text Data: \"%s\"", m_rfText);
writeJSONText(m_rfText);
m_rfTextBits = 0x00U; m_rfTextBits = 0x00U;
} }
} }
@@ -390,6 +392,9 @@ bool CM17Control::writeModem(unsigned char* data, unsigned int len)
m_bitsCount += 272U; m_bitsCount += 272U;
writeJSONBER(); writeJSONBER();
m_display->writeM17RSSI(m_rssi);
writeJSONRSSI();
float ber = float(m_rfErrs) / float(m_rfBits); float ber = float(m_rfErrs) / float(m_rfBits);
m_display->writeM17BER(ber); m_display->writeM17BER(ber);
@@ -694,6 +699,7 @@ void CM17Control::writeNetwork()
if (m_netTextBits == 0x11U || m_netTextBits == 0x33U || m_netTextBits == 0x77U || m_netTextBits == 0xFFU) { if (m_netTextBits == 0x11U || m_netTextBits == 0x33U || m_netTextBits == 0x77U || m_netTextBits == 0xFFU) {
LogMessage("M17, text Data: \"%s\"", m_netText); LogMessage("M17, text Data: \"%s\"", m_netText);
writeJSONText(m_netText);
m_netTextBits = 0x00U; m_netTextBits = 0x00U;
} }
} }
@@ -1035,9 +1041,6 @@ void CM17Control::enable(bool enabled)
void CM17Control::writeJSONRSSI() void CM17Control::writeJSONRSSI()
{ {
m_rssiAccum += m_rssi;
m_rssiCountTotal++;
if (m_rssiCountTotal >= RSSI_COUNT) { if (m_rssiCountTotal >= RSSI_COUNT) {
nlohmann::json json; nlohmann::json json;
@@ -1070,7 +1073,7 @@ void CM17Control::writeJSONBER()
} }
} }
void CM17Control::writeJSONText(const unsigned char* text) void CM17Control::writeJSONText(const char* text)
{ {
assert(text != NULL); assert(text != NULL);
@@ -1079,7 +1082,7 @@ void CM17Control::writeJSONText(const unsigned char* text)
json["timestamp"] = CUtils::createTimestamp(); json["timestamp"] = CUtils::createTimestamp();
json["mode"] = "M17"; json["mode"] = "M17";
json["value"] = std::string((char*)text); json["value"] = std::string(text);
WriteJSON("Text", json); WriteJSON("Text", json);
} }

View File

@@ -115,7 +115,7 @@ private:
void writeJSONRSSI(); void writeJSONRSSI();
void writeJSONBER(); void writeJSONBER();
void writeJSONText(const unsigned char* text); void writeJSONText(const char* text);
void writeJSONRF(const char* action, RPT_RF_STATE state, const std::string& source, const std::string& dest); void writeJSONRF(const char* action, RPT_RF_STATE state, const std::string& source, const std::string& dest);
void writeJSONRF(const char* action, float duration, float ber); void writeJSONRF(const char* action, float duration, float ber);