Add a new simple FM mode for gatewaying.
This commit is contained in:
parent
efb3a24872
commit
ded46ebb60
8
Conf.cpp
8
Conf.cpp
|
@ -217,6 +217,7 @@ m_fmCTCSSLevel(2.0F),
|
|||
m_fmKerchunkTime(0U),
|
||||
m_fmHangTime(7U),
|
||||
m_fmAccessMode(1U),
|
||||
m_fmSimpleMode(false),
|
||||
m_fmCOSInvert(false),
|
||||
m_fmNoiseSquelch(false),
|
||||
m_fmSquelchHighThreshold(30U),
|
||||
|
@ -868,6 +869,8 @@ bool CConf::read()
|
|||
m_fmHangTime = (unsigned int)::atoi(value);
|
||||
else if (::strcmp(key, "AccessMode") == 0)
|
||||
m_fmAccessMode = ::atoi(value);
|
||||
else if (::strcmp(key, "SimpleMode") == 0)
|
||||
m_fmSimpleMode = ::atoi(value) == 1;
|
||||
else if (::strcmp(key, "COSInvert") == 0)
|
||||
m_fmCOSInvert = ::atoi(value) == 1;
|
||||
else if (::strcmp(key, "NoiseSquelch") == 0)
|
||||
|
@ -1896,6 +1899,11 @@ unsigned int CConf::getFMAccessMode() const
|
|||
return m_fmAccessMode;
|
||||
}
|
||||
|
||||
bool CConf::getFMSimpleMode() const
|
||||
{
|
||||
return m_fmSimpleMode;
|
||||
}
|
||||
|
||||
bool CConf::getFMCOSInvert() const
|
||||
{
|
||||
return m_fmCOSInvert;
|
||||
|
|
2
Conf.h
2
Conf.h
|
@ -220,6 +220,7 @@ public:
|
|||
unsigned int getFMKerchunkTime() const;
|
||||
unsigned int getFMHangTime() const;
|
||||
unsigned int getFMAccessMode() const;
|
||||
bool getFMSimpleMode() const;
|
||||
bool getFMCOSInvert() const;
|
||||
bool getFMNoiseSquelch() const;
|
||||
unsigned int getFMSquelchHighThreshold() const;
|
||||
|
@ -537,6 +538,7 @@ private:
|
|||
unsigned int m_fmKerchunkTime;
|
||||
unsigned int m_fmHangTime;
|
||||
unsigned int m_fmAccessMode;
|
||||
bool m_fmSimpleMode;
|
||||
bool m_fmCOSInvert;
|
||||
bool m_fmNoiseSquelch;
|
||||
unsigned int m_fmSquelchHighThreshold;
|
||||
|
|
|
@ -193,6 +193,8 @@ HangTime=7
|
|||
# 2 - CTCSS only access with COS
|
||||
# 3 - CTCSS only access with COS to start, then carrier access with COS
|
||||
AccessMode=1
|
||||
# SimpleMode=1 to remove almost all of the logic control
|
||||
SimpleMode=0
|
||||
COSInvert=0
|
||||
NoiseSquelch=0
|
||||
SquelchThreshold=30
|
||||
|
|
|
@ -1518,6 +1518,7 @@ bool CMMDVMHost::createModem()
|
|||
unsigned int kerchunkTime = m_conf.getFMKerchunkTime();
|
||||
unsigned int hangTime = m_conf.getFMHangTime();
|
||||
unsigned int accessMode = m_conf.getFMAccessMode();
|
||||
bool simpleMode = m_conf.getFMSimpleMode();
|
||||
bool cosInvert = m_conf.getFMCOSInvert();
|
||||
bool noiseSquelch = m_conf.getFMNoiseSquelch();
|
||||
unsigned int squelchHighThreshold = m_conf.getFMSquelchHighThreshold();
|
||||
|
@ -1552,6 +1553,7 @@ bool CMMDVMHost::createModem()
|
|||
LogInfo(" Kerchunk Time: %us", kerchunkTime);
|
||||
LogInfo(" Hang Time: %us", hangTime);
|
||||
LogInfo(" Access Mode: %u", accessMode);
|
||||
LogInfo(" Simple Mode: %s", simpleMode ? "yes" : "no");
|
||||
LogInfo(" COS Invert: %s", cosInvert ? "yes" : "no");
|
||||
|
||||
LogInfo(" Noise Squelch: %s", noiseSquelch ? "yes" : "no");
|
||||
|
@ -1566,7 +1568,7 @@ bool CMMDVMHost::createModem()
|
|||
|
||||
m_modem->setFMCallsignParams(callsign, callsignSpeed, callsignFrequency, callsignTime, callsignHoldoff, callsignHighLevel, callsignLowLevel, callsignAtStart, callsignAtEnd, callsignAtLatch);
|
||||
m_modem->setFMAckParams(rfAck, ackSpeed, ackFrequency, ackMinTime, ackDelay, ackLevel);
|
||||
m_modem->setFMMiscParams(timeout, timeoutLevel, ctcssFrequency, ctcssHighThreshold, ctcssLowThreshold, ctcssLevel, kerchunkTime, hangTime, accessMode, cosInvert, noiseSquelch, squelchHighThreshold, squelchLowThreshold, rfAudioBoost, maxDevLevel);
|
||||
m_modem->setFMMiscParams(timeout, timeoutLevel, ctcssFrequency, ctcssHighThreshold, ctcssLowThreshold, ctcssLevel, kerchunkTime, hangTime, accessMode, simpleMode, cosInvert, noiseSquelch, squelchHighThreshold, squelchLowThreshold, rfAudioBoost, maxDevLevel);
|
||||
|
||||
if (m_conf.getFMNetworkEnabled()) {
|
||||
std::string extAck = m_conf.getFMExtAck();
|
||||
|
|
|
@ -244,6 +244,7 @@ m_fmCtcssLevel(10.0F),
|
|||
m_fmKerchunkTime(0U),
|
||||
m_fmHangTime(5U),
|
||||
m_fmAccessMode(1U),
|
||||
m_fmSimpleMode(false),
|
||||
m_fmCOSInvert(false),
|
||||
m_fmNoiseSquelch(false),
|
||||
m_fmSquelchHighThreshold(30U),
|
||||
|
@ -2667,7 +2668,7 @@ void CModem::setFMAckParams(const std::string& rfAck, unsigned int ackSpeed, uns
|
|||
m_fmAckLevel = ackLevel;
|
||||
}
|
||||
|
||||
void CModem::setFMMiscParams(unsigned int timeout, float timeoutLevel, float ctcssFrequency, unsigned int ctcssHighThreshold, unsigned int ctcssLowThreshold, float ctcssLevel, unsigned int kerchunkTime, unsigned int hangTime, unsigned int accessMode, bool cosInvert, bool noiseSquelch, unsigned int squelchHighThreshold, unsigned int squelchLowThreshold, unsigned int rfAudioBoost, float maxDevLevel)
|
||||
void CModem::setFMMiscParams(unsigned int timeout, float timeoutLevel, float ctcssFrequency, unsigned int ctcssHighThreshold, unsigned int ctcssLowThreshold, float ctcssLevel, unsigned int kerchunkTime, unsigned int hangTime, unsigned int accessMode, bool simpleMode, bool cosInvert, bool noiseSquelch, unsigned int squelchHighThreshold, unsigned int squelchLowThreshold, unsigned int rfAudioBoost, float maxDevLevel)
|
||||
{
|
||||
m_fmTimeout = timeout;
|
||||
m_fmTimeoutLevel = timeoutLevel;
|
||||
|
@ -2682,6 +2683,7 @@ void CModem::setFMMiscParams(unsigned int timeout, float timeoutLevel, float ctc
|
|||
m_fmHangTime = hangTime;
|
||||
|
||||
m_fmAccessMode = accessMode;
|
||||
m_fmSimpleMode = simpleMode;
|
||||
m_fmCOSInvert = cosInvert;
|
||||
|
||||
m_fmNoiseSquelch = noiseSquelch;
|
||||
|
@ -2834,6 +2836,8 @@ bool CModem::setFMMiscParams()
|
|||
buffer[10U] = m_fmHangTime;
|
||||
|
||||
buffer[11U] = m_fmAccessMode & 0x0FU;
|
||||
if (m_fmSimpleMode)
|
||||
buffer[11U] |= 0x20U;
|
||||
if (m_fmNoiseSquelch)
|
||||
buffer[11U] |= 0x40U;
|
||||
if (m_fmCOSInvert)
|
||||
|
|
3
Modem.h
3
Modem.h
|
@ -59,7 +59,7 @@ public:
|
|||
|
||||
void setFMCallsignParams(const std::string& callsign, unsigned int callsignSpeed, unsigned int callsignFrequency, unsigned int callsignTime, unsigned int callsignHoldoff, float callsignHighLevel, float callsignLowLevel, bool callsignAtStart, bool callsignAtEnd, bool callsignAtLatch);
|
||||
void setFMAckParams(const std::string& rfAck, unsigned int ackSpeed, unsigned int ackFrequency, unsigned int ackMinTime, unsigned int ackDelay, float ackLevel);
|
||||
void setFMMiscParams(unsigned int timeout, float timeoutLevel, float ctcssFrequency, unsigned int ctcssHighThreshold, unsigned int ctcssLowThreshold, float ctcssLevel, unsigned int kerchunkTime, unsigned int hangTime, unsigned int accessMode, bool cosInvert, bool noiseSquelch, unsigned int squelchHighThreshold, unsigned int squelchLowThreshold, unsigned int rfAudioBoost, float maxDevLevel);
|
||||
void setFMMiscParams(unsigned int timeout, float timeoutLevel, float ctcssFrequency, unsigned int ctcssHighThreshold, unsigned int ctcssLowThreshold, float ctcssLevel, unsigned int kerchunkTime, unsigned int hangTime, unsigned int accessMode, bool simpleMode, bool cosInvert, bool noiseSquelch, unsigned int squelchHighThreshold, unsigned int squelchLowThreshold, unsigned int rfAudioBoost, float maxDevLevel);
|
||||
void setFMExtParams(const std::string& ack, unsigned int audioBoost);
|
||||
|
||||
bool open();
|
||||
|
@ -268,6 +268,7 @@ private:
|
|||
unsigned int m_fmKerchunkTime;
|
||||
unsigned int m_fmHangTime;
|
||||
unsigned int m_fmAccessMode;
|
||||
bool m_fmSimpleMode;
|
||||
bool m_fmCOSInvert;
|
||||
bool m_fmNoiseSquelch;
|
||||
unsigned int m_fmSquelchHighThreshold;
|
||||
|
|
Loading…
Reference in a new issue