diff --git a/Defines.h b/Defines.h index 542bac1..13ffcba 100644 --- a/Defines.h +++ b/Defines.h @@ -35,7 +35,7 @@ enum RPT_RF_STATE { RS_RF_LISTENING, RS_RF_LATE_ENTRY, RS_RF_AUDIO, - RS_RF_DATA, + RS_RF_DATA }; enum RPT_NET_STATE { diff --git a/YSFControl.cpp b/YSFControl.cpp index 3a533f9..8b5cb78 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -186,6 +186,8 @@ bool CYSFControl::writeModem(unsigned char *data) } else if (valid) { CSync::addYSFSync(data + 2U); + unsigned char bn = fich.getBN(); + unsigned char bt = fich.getBT(); unsigned char fn = fich.getFN(); unsigned char ft = fich.getFT(); unsigned char dt = fich.getDT(); @@ -212,6 +214,7 @@ bool CYSFControl::writeModem(unsigned char *data) break; case YSF_DT_DATA_FR_MODE: + LogDebug("YSF, RF data FICH B=%u/%u F=%u/%u", bn, bt, fn, ft); valid = m_rfPayload.processDataFRModeData(data + 2U, fn); break; @@ -430,10 +433,12 @@ void CYSFControl::writeNetwork() CYSFFICH fich; bool valid = fich.decode(data + 35U); if (valid) { + unsigned char bn = fich.getBN(); + unsigned char bt = fich.getBT(); unsigned char dt = fich.getDT(); unsigned char fn = fich.getFN(); - unsigned char fi = fich.getFI(); unsigned char ft = fich.getFT(); + unsigned char fi = fich.getFI(); // Set the downlink callsign switch (fi) { @@ -463,6 +468,7 @@ void CYSFControl::writeNetwork() break; case YSF_DT_DATA_FR_MODE: + LogDebug("YSF, Network data FICH B=%u/%u F=%u/%u", bn, bt, fn, ft); m_netPayload.processDataFRModeData(data + 35U, fn, gateway); break; diff --git a/YSFFICH.cpp b/YSFFICH.cpp index bc90117..a8b1ae1 100644 --- a/YSFFICH.cpp +++ b/YSFFICH.cpp @@ -169,6 +169,16 @@ unsigned char CYSFFICH::getCM() const return (m_fich[0U] >> 2) & 0x03U; } +unsigned char CYSFFICH::getBN() const +{ + return m_fich[0U] & 0x03U; +} + +unsigned char CYSFFICH::getBT() const +{ + return (m_fich[1U] >> 6) & 0x03U; +} + unsigned char CYSFFICH::getFN() const { return (m_fich[1U] >> 3) & 0x07U; diff --git a/YSFFICH.h b/YSFFICH.h index 33c35d0..534e6f6 100644 --- a/YSFFICH.h +++ b/YSFFICH.h @@ -30,6 +30,8 @@ public: unsigned char getFI() const; unsigned char getCM() const; + unsigned char getBN() const; + unsigned char getBT() const; unsigned char getFN() const; unsigned char getFT() const; unsigned char getDT() const;