mirror of https://github.com/g4klx/MMDVM.git
Simplify the state change.
This commit is contained in:
parent
9ccbb842bf
commit
ff7a9fdd4e
131
SerialPort.cpp
131
SerialPort.cpp
|
@ -385,157 +385,74 @@ void CSerialPort::setMode(MMDVM_STATE modemState)
|
||||||
switch (modemState) {
|
switch (modemState) {
|
||||||
case STATE_DMR:
|
case STATE_DMR:
|
||||||
DEBUG1("Mode set to DMR");
|
DEBUG1("Mode set to DMR");
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_DSTAR:
|
case STATE_DSTAR:
|
||||||
DEBUG1("Mode set to D-Star");
|
DEBUG1("Mode set to D-Star");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_YSF:
|
case STATE_YSF:
|
||||||
DEBUG1("Mode set to System Fusion");
|
DEBUG1("Mode set to System Fusion");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_P25:
|
case STATE_P25:
|
||||||
DEBUG1("Mode set to P25");
|
DEBUG1("Mode set to P25");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_NXDN:
|
case STATE_NXDN:
|
||||||
DEBUG1("Mode set to NXDN");
|
DEBUG1("Mode set to NXDN");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_POCSAG:
|
case STATE_POCSAG:
|
||||||
DEBUG1("Mode set to POCSAG");
|
DEBUG1("Mode set to POCSAG");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_DSTARCAL:
|
case STATE_DSTARCAL:
|
||||||
DEBUG1("Mode set to D-Star Calibrate");
|
DEBUG1("Mode set to D-Star Calibrate");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_DMRCAL:
|
case STATE_DMRCAL:
|
||||||
DEBUG1("Mode set to DMR Calibrate");
|
DEBUG1("Mode set to DMR Calibrate");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_RSSICAL:
|
case STATE_RSSICAL:
|
||||||
DEBUG1("Mode set to RSSI Calibrate");
|
DEBUG1("Mode set to RSSI Calibrate");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_LFCAL:
|
case STATE_LFCAL:
|
||||||
DEBUG1("Mode set to 80 Hz Calibrate");
|
DEBUG1("Mode set to 80 Hz Calibrate");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_DMRCAL1K:
|
case STATE_DMRCAL1K:
|
||||||
DEBUG1("Mode set to DMR BS 1031 Hz Calibrate");
|
DEBUG1("Mode set to DMR BS 1031 Hz Calibrate");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_P25CAL1K:
|
case STATE_P25CAL1K:
|
||||||
DEBUG1("Mode set to P25 1011 Hz Calibrate");
|
DEBUG1("Mode set to P25 1011 Hz Calibrate");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_DMRDMO1K:
|
case STATE_DMRDMO1K:
|
||||||
DEBUG1("Mode set to DMR MS 1031 Hz Calibrate");
|
DEBUG1("Mode set to DMR MS 1031 Hz Calibrate");
|
||||||
dmrIdleRX.reset();
|
|
||||||
dmrDMORX.reset();
|
|
||||||
dmrRX.reset();
|
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
break;
|
||||||
case STATE_NXDNCAL1K:
|
case STATE_NXDNCAL1K:
|
||||||
DEBUG1("Mode set to NXDN 1031 Hz Calibrate");
|
DEBUG1("Mode set to NXDN 1031 Hz Calibrate");
|
||||||
|
break;
|
||||||
|
case STATE_POCSAGCAL:
|
||||||
|
DEBUG1("Mode set to POCSAG Calibrate");
|
||||||
|
break;
|
||||||
|
default: // STATE_IDLE
|
||||||
|
DEBUG1("Mode set to Idle");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (modemState != STATE_DSTAR)
|
||||||
|
dstarRX.reset();
|
||||||
|
|
||||||
|
if (modemState != STATE_DMR) {
|
||||||
dmrIdleRX.reset();
|
dmrIdleRX.reset();
|
||||||
dmrDMORX.reset();
|
dmrDMORX.reset();
|
||||||
dmrRX.reset();
|
dmrRX.reset();
|
||||||
dstarRX.reset();
|
|
||||||
ysfRX.reset();
|
|
||||||
p25RX.reset();
|
|
||||||
nxdnRX.reset();
|
|
||||||
cwIdTX.reset();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
DEBUG1("Mode set to Idle");
|
|
||||||
// STATE_IDLE
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (modemState != STATE_YSF)
|
||||||
|
ysfRX.reset();
|
||||||
|
|
||||||
|
if (modemState != STATE_P25)
|
||||||
|
p25RX.reset();
|
||||||
|
|
||||||
|
if (modemState != STATE_NXDN)
|
||||||
|
nxdnRX.reset();
|
||||||
|
|
||||||
|
cwIdTX.reset();
|
||||||
|
|
||||||
m_modemState = modemState;
|
m_modemState = modemState;
|
||||||
|
|
||||||
io.setMode();
|
io.setMode();
|
||||||
|
|
Loading…
Reference in New Issue