diff --git a/DStarControl.cpp b/DStarControl.cpp index 483c504..6a3cdde 100644 --- a/DStarControl.cpp +++ b/DStarControl.cpp @@ -36,7 +36,7 @@ bool CallsignCompare(const std::string& arg, const unsigned char* my) // #define DUMP_DSTAR -CDStarControl::CDStarControl(const std::string& callsign, const std::string& module, bool selfOnly, const std::vector& blackList, CDStarNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, int rssiMultiplier, int rssiOffset) : +CDStarControl::CDStarControl(const std::string& callsign, const std::string& module, bool selfOnly, const std::vector& blackList, CDStarNetwork* network, CDisplay* display, unsigned int timeout, bool duplex) : m_callsign(NULL), m_gateway(NULL), m_selfOnly(selfOnly), @@ -70,8 +70,6 @@ m_rfErrs(0U), m_netErrs(0U), m_lastFrame(NULL), m_lastFrameValid(false), -m_rssiMultiplier(rssiMultiplier), -m_rssiOffset(rssiOffset), m_fp(NULL) { assert(display != NULL); @@ -123,16 +121,6 @@ bool CDStarControl::writeModem(unsigned char *data, unsigned int len) return false; } - // Have we got RSSI bytes on the end? - if (len == (DSTAR_FRAME_LENGTH_BYTES + 3U) && m_rssiMultiplier != 0) { - uint16_t raw = 0U; - raw |= (data[35U] << 8) & 0xFF00U; - raw |= (data[36U] << 0) & 0x00FFU; - int rssi = (raw - m_rssiOffset) / m_rssiMultiplier; - unsigned char m_rssi = (rssi >= 0) ? rssi : -rssi; - LogDebug("D-Star, raw RSSI: %u, reported RSSI: -%u dBm", raw, m_rssi); - } - if (type == TAG_HEADER) { CDStarHeader header(data + 1U); diff --git a/DStarControl.h b/DStarControl.h index 8437c2b..0654ce9 100644 --- a/DStarControl.h +++ b/DStarControl.h @@ -36,7 +36,7 @@ class CDStarControl { public: - CDStarControl(const std::string& callsign, const std::string& module, bool selfOnly, const std::vector& blackList, CDStarNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, int rssiMultiplier, int rssiOffset); + CDStarControl(const std::string& callsign, const std::string& module, bool selfOnly, const std::vector& blackList, CDStarNetwork* network, CDisplay* display, unsigned int timeout, bool duplex); ~CDStarControl(); bool writeModem(unsigned char* data, unsigned int len); @@ -79,8 +79,6 @@ private: unsigned int m_netErrs; unsigned char* m_lastFrame; bool m_lastFrameValid; - int m_rssiMultiplier; - int m_rssiOffset; FILE* m_fp; void writeNetwork(); diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index ac72699..a54a8ae 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -293,8 +293,6 @@ int CMMDVMHost::run() std::string module = m_conf.getDStarModule(); bool selfOnly = m_conf.getDStarSelfOnly(); std::vector blackList = m_conf.getDStarBlackList(); - int rssiMultiplier = m_conf.getModemRSSIMultiplier(); - int rssiOffset = m_conf.getModemRSSIOffset(); LogInfo("D-Star Parameters"); LogInfo(" Module: %s", module.c_str()); @@ -303,12 +301,7 @@ int CMMDVMHost::run() if (blackList.size() > 0U) LogInfo(" Black List: %u", blackList.size()); - if (rssiMultiplier != 0) { - LogInfo(" RSSI Multiplier: %d", rssiMultiplier); - LogInfo(" RSSI Offset: %d", rssiOffset); - } - - dstar = new CDStarControl(m_callsign, module, selfOnly, blackList, m_dstarNetwork, m_display, m_timeout, m_duplex, rssiMultiplier, rssiOffset); + dstar = new CDStarControl(m_callsign, module, selfOnly, blackList, m_dstarNetwork, m_display, m_timeout, m_duplex); } CDMRControl* dmr = NULL; @@ -395,35 +388,21 @@ int CMMDVMHost::run() CYSFControl* ysf = NULL; if (m_ysfEnabled) { bool remoteGateway = m_conf.getFusionRemoteGateway(); - int rssiMultiplier = m_conf.getModemRSSIMultiplier(); - int rssiOffset = m_conf.getModemRSSIOffset(); LogInfo("YSF Parameters"); LogInfo(" Remote Gateway: %s", remoteGateway ? "yes" : "no"); - if (rssiMultiplier != 0) { - LogInfo(" RSSI Multiplier: %d", rssiMultiplier); - LogInfo(" RSSI Offset: %d", rssiOffset); - } - - ysf = new CYSFControl(m_callsign, m_ysfNetwork, m_display, m_timeout, m_duplex, remoteGateway, rssiMultiplier, rssiOffset); + ysf = new CYSFControl(m_callsign, m_ysfNetwork, m_display, m_timeout, m_duplex, remoteGateway); } CP25Control* p25 = NULL; if (m_p25Enabled) { unsigned int nac = m_conf.getP25NAC(); - int rssiMultiplier = m_conf.getModemRSSIMultiplier(); - int rssiOffset = m_conf.getModemRSSIOffset(); LogInfo("P25 Parameters"); LogInfo(" NAC: $%03X", nac); - if (rssiMultiplier != 0) { - LogInfo(" RSSI Multiplier: %d", rssiMultiplier); - LogInfo(" RSSI Offset: %d", rssiOffset); - } - - p25 = new CP25Control(nac, m_p25Network, m_display, m_timeout, m_duplex, lookup, rssiMultiplier, rssiOffset); + p25 = new CP25Control(nac, m_p25Network, m_display, m_timeout, m_duplex, lookup); } setMode(MODE_IDLE); diff --git a/P25Control.cpp b/P25Control.cpp index b8237dd..d295c2d 100644 --- a/P25Control.cpp +++ b/P25Control.cpp @@ -35,14 +35,12 @@ const unsigned char BIT_MASK_TABLE[] = {0x80U, 0x40U, 0x20U, 0x10U, 0x08U, 0x04U #define WRITE_BIT(p,i,b) p[(i)>>3] = (b) ? (p[(i)>>3] | BIT_MASK_TABLE[(i)&7]) : (p[(i)>>3] & ~BIT_MASK_TABLE[(i)&7]) #define READ_BIT(p,i) (p[(i)>>3] & BIT_MASK_TABLE[(i)&7]) -CP25Control::CP25Control(unsigned int nac, CP25Network* network, CDisplay* display, unsigned int timeout, bool duplex, CDMRLookup* lookup, int rssiMultiplier, int rssiOffset) : +CP25Control::CP25Control(unsigned int nac, CP25Network* network, CDisplay* display, unsigned int timeout, bool duplex, CDMRLookup* lookup) : m_nac(nac), m_network(network), m_display(display), m_duplex(duplex), m_lookup(lookup), -m_rssiMultiplier(rssiMultiplier), -m_rssiOffset(rssiOffset), m_queue(1000U, "P25 Control"), m_rfState(RS_RF_LISTENING), m_netState(RS_NET_IDLE), diff --git a/P25Control.h b/P25Control.h index a737d04..6d05818 100644 --- a/P25Control.h +++ b/P25Control.h @@ -35,7 +35,7 @@ class CP25Control { public: - CP25Control(unsigned int nac, CP25Network* network, CDisplay* display, unsigned int timeout, bool duplex, CDMRLookup* lookup, int rssiMultiplier, int rssiOffset); + CP25Control(unsigned int nac, CP25Network* network, CDisplay* display, unsigned int timeout, bool duplex, CDMRLookup* lookup); ~CP25Control(); bool writeModem(unsigned char* data, unsigned int len); @@ -50,8 +50,6 @@ private: CDisplay* m_display; bool m_duplex; CDMRLookup* m_lookup; - int m_rssiMultiplier; - int m_rssiOffset; CRingBuffer m_queue; RPT_RF_STATE m_rfState; RPT_NET_STATE m_netState; diff --git a/YSFControl.cpp b/YSFControl.cpp index ac32e11..c0a3ea7 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -24,7 +24,7 @@ // #define DUMP_YSF -CYSFControl::CYSFControl(const std::string& callsign, CYSFNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway, int rssiMultiplier, int rssiOffset) : +CYSFControl::CYSFControl(const std::string& callsign, CYSFNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway) : m_callsign(NULL), m_network(network), m_display(display), @@ -56,8 +56,6 @@ m_lastMR(YSF_MR_NOT_BUSY), m_netN(0U), m_rfPayload(), m_netPayload(), -m_rssiMultiplier(rssiMultiplier), -m_rssiOffset(rssiOffset), m_fp(NULL) { assert(display != NULL); @@ -104,16 +102,6 @@ bool CYSFControl::writeModem(unsigned char *data, unsigned int len) if (type == TAG_LOST) return false; - // Have we got RSSI bytes on the end? - if (len == (YSF_FRAME_LENGTH_BYTES + 4U) && m_rssiMultiplier != 0) { - uint16_t raw = 0U; - raw |= (data[35U] << 8) & 0xFF00U; - raw |= (data[36U] << 0) & 0x00FFU; - int rssi = (raw - m_rssiOffset) / m_rssiMultiplier; - unsigned char m_rssi = (rssi >= 0) ? rssi : -rssi; - LogDebug("YSF, raw RSSI: %u, reported RSSI: -%u dBm", raw, m_rssi); - } - CYSFFICH fich; bool valid = fich.decode(data + 2U); diff --git a/YSFControl.h b/YSFControl.h index 6f59010..62020ef 100644 --- a/YSFControl.h +++ b/YSFControl.h @@ -33,7 +33,7 @@ class CYSFControl { public: - CYSFControl(const std::string& callsign, CYSFNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway, int rssiMultiplier, int rssiOffset); + CYSFControl(const std::string& callsign, CYSFNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway); ~CYSFControl(); bool writeModem(unsigned char* data, unsigned int len); @@ -74,8 +74,6 @@ private: unsigned char m_netN; CYSFPayload m_rfPayload; CYSFPayload m_netPayload; - int m_rssiMultiplier; - int m_rssiOffset; FILE* m_fp; void writeQueueRF(const unsigned char* data);