Remove unneeded RSSI code for non DMR protocols.
This commit is contained in:
parent
25cfff3ada
commit
fd7931310e
|
@ -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<std::string>& 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<std::string>& 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);
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
class CDStarControl {
|
||||
public:
|
||||
CDStarControl(const std::string& callsign, const std::string& module, bool selfOnly, const std::vector<std::string>& 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<std::string>& 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();
|
||||
|
|
|
@ -293,8 +293,6 @@ int CMMDVMHost::run()
|
|||
std::string module = m_conf.getDStarModule();
|
||||
bool selfOnly = m_conf.getDStarSelfOnly();
|
||||
std::vector<std::string> 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);
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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<unsigned char> m_queue;
|
||||
RPT_RF_STATE m_rfState;
|
||||
RPT_NET_STATE m_netState;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue