mirror of https://github.com/g4klx/MMDVMHost
Merge 8d639c2be5 into 3f65200d7d
This commit is contained in:
commit
e7493fe193
|
|
@ -693,6 +693,10 @@ int CMMDVMHost::run()
|
|||
} else if (m_mode == MODE_DSTAR) {
|
||||
m_dstar->writeModem(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DSTAR");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("D-Star modem data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -720,12 +724,20 @@ int CMMDVMHost::run()
|
|||
if (ret) {
|
||||
m_modem->writeDMRStart(true);
|
||||
m_dmrTXTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DMR duplex");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
bool ret = m_dmr->writeModemSlot1(data, len);
|
||||
if (ret) {
|
||||
dmrBeaconDurationTimer.stop();
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DMR T1");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
if (m_duplex)
|
||||
m_dmrTXTimer.start();
|
||||
}
|
||||
|
|
@ -757,12 +769,20 @@ int CMMDVMHost::run()
|
|||
if (ret) {
|
||||
m_modem->writeDMRStart(true);
|
||||
m_dmrTXTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DMR Duplex T2");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
bool ret = m_dmr->writeModemSlot2(data, len);
|
||||
if (ret) {
|
||||
dmrBeaconDurationTimer.stop();
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DMR T2");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
if (m_duplex)
|
||||
m_dmrTXTimer.start();
|
||||
}
|
||||
|
|
@ -783,6 +803,10 @@ int CMMDVMHost::run()
|
|||
} else if (m_mode == MODE_YSF) {
|
||||
m_ysf->writeModem(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_YSF");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("System Fusion modem data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -799,6 +823,10 @@ int CMMDVMHost::run()
|
|||
} else if (m_mode == MODE_P25) {
|
||||
m_p25->writeModem(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_P25");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("P25 modem data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -815,6 +843,10 @@ int CMMDVMHost::run()
|
|||
} else if (m_mode == MODE_NXDN) {
|
||||
m_nxdn->writeModem(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_NXDN");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("NXDN modem data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -841,6 +873,10 @@ int CMMDVMHost::run()
|
|||
if (m_mode == MODE_DSTAR) {
|
||||
m_modem->writeDStarData(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DMR T2");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("D-Star data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -865,6 +901,10 @@ int CMMDVMHost::run()
|
|||
m_modem->writeDMRData1(data, len);
|
||||
dmrBeaconDurationTimer.stop();
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DMR T2");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("DMR data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -883,6 +923,10 @@ int CMMDVMHost::run()
|
|||
if (m_duplex) {
|
||||
m_modem->writeDMRStart(true);
|
||||
m_dmrTXTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_DMR T2");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
}
|
||||
m_modem->writeDMRData2(data, len);
|
||||
dmrBeaconDurationTimer.stop();
|
||||
|
|
@ -906,6 +950,10 @@ int CMMDVMHost::run()
|
|||
if (m_mode == MODE_YSF) {
|
||||
m_modem->writeYSFData(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_YSF");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("System Fusion data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -925,6 +973,10 @@ int CMMDVMHost::run()
|
|||
if (m_mode == MODE_P25) {
|
||||
m_modem->writeP25Data(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_P25");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("P25 data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -944,6 +996,10 @@ int CMMDVMHost::run()
|
|||
if (m_mode == MODE_NXDN) {
|
||||
m_modem->writeNXDNData(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_NXDN");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("NXDN data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -963,6 +1019,10 @@ int CMMDVMHost::run()
|
|||
if (m_mode == MODE_POCSAG) {
|
||||
m_modem->writePOCSAGData(data, len);
|
||||
m_modeTimer.start();
|
||||
if (m_conf.getCWIdEnabled() && !m_cwIdTimer.isRunning()) {
|
||||
LogDebug("starting CW ID timer - MODE_POCSAG");
|
||||
m_cwIdTimer.start();
|
||||
}
|
||||
} else if (m_mode != MODE_LOCKOUT) {
|
||||
LogWarning("POCSAG data received when in mode %u", m_mode);
|
||||
}
|
||||
|
|
@ -1029,12 +1089,14 @@ int CMMDVMHost::run()
|
|||
m_cwIdTimer.clock(ms);
|
||||
if (m_cwIdTimer.isRunning() && m_cwIdTimer.hasExpired()) {
|
||||
if (!m_modem->hasTX()){
|
||||
LogDebug("sending CW ID");
|
||||
LogMessage("Sending CW ID");
|
||||
setMode(MODE_IDLE);
|
||||
m_display->writeCW();
|
||||
m_modem->sendCWId(m_cwCallsign);
|
||||
|
||||
m_cwIdTimer.setTimeout(m_cwIdTime);
|
||||
m_cwIdTimer.start();
|
||||
//m_cwIdTimer.start();
|
||||
m_cwIdTimer.stop();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1093,6 +1155,11 @@ int CMMDVMHost::run()
|
|||
CThread::sleep(5U);
|
||||
}
|
||||
|
||||
// ID one last time in case there's been a transmission since the last ID.
|
||||
if (m_conf.getCWIdEnabled() && m_cwIdTimer.isRunning()) {
|
||||
m_modem->sendCWId(m_callsign);
|
||||
}
|
||||
|
||||
setMode(MODE_QUIT);
|
||||
|
||||
m_modem->close();
|
||||
|
|
@ -1613,7 +1680,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_ump->setMode(MODE_DSTAR);
|
||||
m_mode = MODE_DSTAR;
|
||||
m_modeTimer.start();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
createLockFile("D-Star");
|
||||
break;
|
||||
|
||||
|
|
@ -1651,7 +1718,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
}
|
||||
m_mode = MODE_DMR;
|
||||
m_modeTimer.start();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
createLockFile("DMR");
|
||||
break;
|
||||
|
||||
|
|
@ -1685,7 +1752,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_ump->setMode(MODE_YSF);
|
||||
m_mode = MODE_YSF;
|
||||
m_modeTimer.start();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
createLockFile("System Fusion");
|
||||
break;
|
||||
|
||||
|
|
@ -1719,7 +1786,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_ump->setMode(MODE_P25);
|
||||
m_mode = MODE_P25;
|
||||
m_modeTimer.start();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
createLockFile("P25");
|
||||
break;
|
||||
|
||||
|
|
@ -1753,7 +1820,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_ump->setMode(MODE_NXDN);
|
||||
m_mode = MODE_NXDN;
|
||||
m_modeTimer.start();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
createLockFile("NXDN");
|
||||
break;
|
||||
|
||||
|
|
@ -1787,7 +1854,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_ump->setMode(MODE_POCSAG);
|
||||
m_mode = MODE_POCSAG;
|
||||
m_modeTimer.start();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
createLockFile("POCSAG");
|
||||
break;
|
||||
|
||||
|
|
@ -1864,7 +1931,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_display->setLockout();
|
||||
m_mode = MODE_LOCKOUT;
|
||||
m_modeTimer.stop();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
removeLockFile();
|
||||
break;
|
||||
|
||||
|
|
@ -1903,7 +1970,7 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_display->setError("MODEM");
|
||||
m_mode = MODE_ERROR;
|
||||
m_modeTimer.stop();
|
||||
m_cwIdTimer.stop();
|
||||
//m_cwIdTimer.stop();
|
||||
removeLockFile();
|
||||
break;
|
||||
|
||||
|
|
@ -1944,8 +2011,10 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||
m_cwIdTimer.setTimeout(m_cwIdTime);
|
||||
m_cwIdTimer.start();
|
||||
} else {
|
||||
m_cwIdTimer.setTimeout(m_cwIdTime / 4U);
|
||||
m_cwIdTimer.start();
|
||||
if (m_mode != MODE_IDLE) {
|
||||
m_cwIdTimer.setTimeout(m_cwIdTime);
|
||||
//m_cwIdTimer.start();
|
||||
}
|
||||
}
|
||||
m_display->setIdle();
|
||||
if (mode == MODE_QUIT)
|
||||
|
|
|
|||
16
OLED.cpp
16
OLED.cpp
|
|
@ -646,8 +646,8 @@ void COLED::writeCWInt()
|
|||
{
|
||||
m_display.clearDisplay();
|
||||
|
||||
m_display.setCursor(0,30);
|
||||
m_display.setTextSize(3);
|
||||
m_display.setCursor(10,30);
|
||||
m_display.setTextSize(1);
|
||||
m_display.print("CW TX");
|
||||
|
||||
m_display.setTextSize(1);
|
||||
|
|
@ -660,11 +660,15 @@ void COLED::clearCWInt()
|
|||
{
|
||||
m_display.clearDisplay();
|
||||
|
||||
m_display.setCursor(0,30);
|
||||
m_display.setTextSize(3);
|
||||
m_display.print("Idle");
|
||||
//m_display.setCursor(0,30);
|
||||
//m_display.setTextSize(3);
|
||||
//m_display.print("Idle");
|
||||
|
||||
m_display.setTextSize(1);
|
||||
//m_display.setTextSize(1);
|
||||
//m_display.display();
|
||||
//m_display.startscrollleft(0x02,0x0f);
|
||||
|
||||
OLED_statusbar();
|
||||
m_display.display();
|
||||
if (m_displayScroll)
|
||||
m_display.startscrollleft(0x02,0x0f);
|
||||
|
|
|
|||
Loading…
Reference in New Issue