diff --git a/Conf.cpp b/Conf.cpp index 32387c4..eaf7263 100644 --- a/Conf.cpp +++ b/Conf.cpp @@ -183,7 +183,8 @@ m_fmCallsignHighLevel(80.0F), m_fmCallsignLowLevel(40.0F), m_fmCallsignAtStart(true), m_fmCallsignAtEnd(true), -m_fmAck("K"), +m_fmRFAck("K"), +m_fmNetAck("N"), m_fmAckSpeed(20U), m_fmAckFrequency(1750U), m_fmAckDelay(1000U), @@ -712,12 +713,17 @@ bool CConf::read() m_fmCallsignAtStart = ::atoi(value) == 1; else if (::strcmp(key, "CallsignAtEnd") == 0) m_fmCallsignAtEnd = ::atoi(value) == 1; - else if (::strcmp(key, "Ack") == 0) { - // Convert the ack to upper case - for (unsigned int i = 0U; value[i] != 0; i++) - value[i] = ::toupper(value[i]); - m_fmAck = value; - } else if (::strcmp(key, "AckSpeed") == 0) + else if (::strcmp(key, "RFAck") == 0) { + // Convert the ack to upper case + for (unsigned int i = 0U; value[i] != 0; i++) + value[i] = ::toupper(value[i]); + m_fmRFAck = value; + } else if (::strcmp(key, "NetAck") == 0) { + // Convert the ack to upper case + for (unsigned int i = 0U; value[i] != 0; i++) + value[i] = ::toupper(value[i]); + m_fmNetAck = value; + } else if (::strcmp(key, "AckSpeed") == 0) m_fmAckSpeed = (unsigned int)::atoi(value); else if (::strcmp(key, "AckFrequency") == 0) m_fmAckFrequency = (unsigned int)::atoi(value); @@ -1529,9 +1535,14 @@ bool CConf::getFMCallsignAtEnd() const return m_fmCallsignAtEnd; } -std::string CConf::getFMAck() const +std::string CConf::getFMRFAck() const { - return m_fmAck; + return m_fmRFAck; +} + +std::string CConf::getFMNetAck() const +{ + return m_fmNetAck; } unsigned int CConf::getFMAckSpeed() const diff --git a/Conf.h b/Conf.h index b8817f7..2460cb9 100644 --- a/Conf.h +++ b/Conf.h @@ -181,7 +181,8 @@ public: float getFMCallsignLowLevel() const; bool getFMCallsignAtStart() const; bool getFMCallsignAtEnd() const; - std::string getFMAck() const; + std::string getFMRFAck() const; + std::string getFMNetAck() const; unsigned int getFMAckSpeed() const; unsigned int getFMAckFrequency() const; unsigned int getFMAckDelay() const; @@ -440,7 +441,8 @@ private: float m_fmCallsignLowLevel; bool m_fmCallsignAtStart; bool m_fmCallsignAtEnd; - std::string m_fmAck; + std::string m_fmRFAck; + std::string m_fmNetAck; unsigned int m_fmAckSpeed; unsigned int m_fmAckFrequency; unsigned int m_fmAckDelay; diff --git a/MMDVM.ini b/MMDVM.ini index d7c7aa0..f7c73bc 100644 --- a/MMDVM.ini +++ b/MMDVM.ini @@ -151,7 +151,8 @@ CallsignHighLevel=80 CallsignLowLevel=40 CallsignAtStart=1 CallsignAtEnd=1 -Ack=K +RFAck=K +NetAck=N AckSpeed=20 AckFrequency=1750 AckDelay=1000 diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index 0ea37be..9693309 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -616,7 +616,8 @@ int CMMDVMHost::run() float callsignLowLevel = m_conf.getFMCallsignLowLevel(); bool callsignAtStart = m_conf.getFMCallsignAtStart(); bool callsignAtEnd = m_conf.getFMCallsignAtEnd(); - std::string ack = m_conf.getFMCallsign(); + std::string rfAck = m_conf.getFMRFAck(); + std::string netAck = m_conf.getFMNetAck(); unsigned int ackSpeed = m_conf.getFMAckSpeed(); unsigned int ackFrequency = m_conf.getFMAckFrequency(); unsigned int ackDelay = m_conf.getFMAckDelay(); @@ -639,7 +640,8 @@ int CMMDVMHost::run() LogInfo(" Callsign Low Level: %.1f%%", callsignLowLevel); LogInfo(" Callsign At Start: %s", callsignAtStart ? "yes" : "no"); LogInfo(" Callsign At End: %s", callsignAtEnd ? "yes" : "no"); - LogInfo(" Ack: %s", ack.c_str()); + LogInfo(" RF Ack: %s", rfAck.c_str()); + LogInfo(" Net Ack: %s", netAck.c_str()); LogInfo(" Ack Speed: %uWPM", ackSpeed); LogInfo(" Ack Frequency: %uHz", ackFrequency); LogInfo(" Ack Delay: %ums", ackDelay); @@ -653,7 +655,7 @@ int CMMDVMHost::run() LogInfo(" Hang Time: %us", hangTime); m_modem->setFMCallsignParams(callsign, callsignSpeed, callsignFrequency, callsignTime, callsignHoldoff, callsignHighLevel, callsignLowLevel, callsignAtStart, callsignAtEnd); - m_modem->setFMAckParams(ack, ackSpeed, ackFrequency, ackDelay, ackLevel); + m_modem->setFMAckParams(rfAck, ackSpeed, ackFrequency, ackDelay, ackLevel); m_modem->setFMMiscParams(timeout, timeoutLevel, ctcssFrequency, ctcssThreshold, ctcssLevel, kerchunkTime, hangTime); }