better make code sections configurable for old usb-support branch;

usb-support
Bryan Biedenkapp 3 years ago
parent 2afbc624c5
commit b0972b9543

@ -144,4 +144,8 @@ const uint8_t BIT_MASK_TABLE[] = { 0x80U, 0x40U, 0x20U, 0x10U, 0x08U, 0x04U, 0x0
#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 _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]) >> (7 - ((i) & 7))) #define _READ_BIT(p, i) ((p[(i) >> 3] & BIT_MASK_TABLE[(i) & 7]) >> (7 - ((i) & 7)))
#if !defined(ENABLE_DMR) && !defined(ENABLE_P25) && !defined(ENABLE_NXDN)
#error "No protocol support compiled in? Must enable at least one: ENABLE_DMR, ENABLE_P25 and/or ENABLE_NXDN."
#endif
#endif // __DEFINES_H__ #endif // __DEFINES_H__

@ -66,6 +66,7 @@ bool m_dcd = false;
uint8_t m_control; uint8_t m_control;
/** DMR BS */ /** DMR BS */
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmr::DMRIdleRX dmrIdleRX; dmr::DMRIdleRX dmrIdleRX;
dmr::DMRRX dmrRX; dmr::DMRRX dmrRX;
@ -75,19 +76,30 @@ dmr::DMRTX dmrTX;
/** DMR MS-DMO */ /** DMR MS-DMO */
dmr::DMRDMORX dmrDMORX; dmr::DMRDMORX dmrDMORX;
dmr::DMRDMOTX dmrDMOTX; dmr::DMRDMOTX dmrDMOTX;
#endif
/** P25 */ /** P25 */
#if defined(ENABLE_P25)
p25::P25RX p25RX; p25::P25RX p25RX;
p25::P25TX p25TX; p25::P25TX p25TX;
#endif
/** NXDN */ /** NXDN */
#if defined(ENABLE_NXDN)
nxdn::NXDNRX nxdnRX; nxdn::NXDNRX nxdnRX;
nxdn::NXDNTX nxdnTX; nxdn::NXDNTX nxdnTX;
#endif
/** Calibration */ /** Calibration */
#if defined(ENABLE_DMR)
dmr::CalDMR calDMR; dmr::CalDMR calDMR;
#endif
#if defined(ENABLE_P25)
p25::CalP25 calP25; p25::CalP25 calP25;
#endif
#if defined(ENABLE_NXDN)
nxdn::CalNXDN calNXDN; nxdn::CalNXDN calNXDN;
#endif
CalRSSI calRSSI; CalRSSI calRSSI;
/** CW */ /** CW */
@ -113,6 +125,7 @@ void loop()
io.process(); io.process();
// The following is for transmitting // The following is for transmitting
#if defined(ENABLE_DMR)
if (m_dmrEnable && m_modemState == STATE_DMR) { if (m_dmrEnable && m_modemState == STATE_DMR) {
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_duplex) if (m_duplex)
@ -121,25 +134,36 @@ void loop()
dmrDMOTX.process(); dmrDMOTX.process();
#else #else
dmrDMOTX.process(); dmrDMOTX.process();
#endif #endif // defined(DUPLEX)
} }
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
if (m_p25Enable && m_modemState == STATE_P25) if (m_p25Enable && m_modemState == STATE_P25)
p25TX.process(); p25TX.process();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
if (m_nxdnEnable && m_modemState == STATE_NXDN) if (m_nxdnEnable && m_modemState == STATE_NXDN)
nxdnTX.process(); nxdnTX.process();
#endif // defined(ENABLE_NXDN)
#if defined(ENABLE_DMR)
if (m_modemState == STATE_DMR_DMO_CAL_1K || m_modemState == STATE_DMR_CAL_1K || if (m_modemState == STATE_DMR_DMO_CAL_1K || m_modemState == STATE_DMR_CAL_1K ||
m_modemState == STATE_DMR_LF_CAL || m_modemState == STATE_DMR_CAL || m_modemState == STATE_DMR_LF_CAL || m_modemState == STATE_DMR_CAL ||
m_modemState == STATE_INT_CAL) m_modemState == STATE_INT_CAL)
calDMR.process(); calDMR.process();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
if (m_modemState == STATE_P25_CAL_1K || m_modemState == STATE_P25_CAL) if (m_modemState == STATE_P25_CAL_1K || m_modemState == STATE_P25_CAL)
calP25.process(); calP25.process();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
if (m_modemState == STATE_NXDN_CAL) if (m_modemState == STATE_NXDN_CAL)
calNXDN.process(); calNXDN.process();
#endif // defined(ENABLE_NXDN)
if (m_modemState == STATE_RSSI_CAL) if (m_modemState == STATE_RSSI_CAL)
calRSSI.process(); calRSSI.process();

@ -110,28 +110,40 @@ extern SerialPort serial;
extern IO io; extern IO io;
/** DMR BS */ /** DMR BS */
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
extern dmr::DMRIdleRX dmrIdleRX; extern dmr::DMRIdleRX dmrIdleRX;
extern dmr::DMRRX dmrRX; extern dmr::DMRRX dmrRX;
#endif #endif // defined(DUPLEX)
extern dmr::DMRTX dmrTX; extern dmr::DMRTX dmrTX;
/** DMR MS-DMO */ /** DMR MS-DMO */
extern dmr::DMRDMORX dmrDMORX; extern dmr::DMRDMORX dmrDMORX;
extern dmr::DMRDMOTX dmrDMOTX; extern dmr::DMRDMOTX dmrDMOTX;
#endif // defined(ENABLE_DMR)
/** P25 BS */ /** P25 BS */
#if defined(ENABLE_P25)
extern p25::P25RX p25RX; extern p25::P25RX p25RX;
extern p25::P25TX p25TX; extern p25::P25TX p25TX;
#endif // defined(ENABLE_P25)
/** NXDN BS */ /** NXDN BS */
#if defined(ENABLE_NXDN)
extern nxdn::NXDNRX nxdnRX; extern nxdn::NXDNRX nxdnRX;
extern nxdn::NXDNTX nxdnTX; extern nxdn::NXDNTX nxdnTX;
#endif // defined(ENABLE_NXDN)
/** Calibration */ /** Calibration */
#if defined(ENABLE_DMR)
extern dmr::CalDMR calDMR; extern dmr::CalDMR calDMR;
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
extern p25::CalP25 calP25; extern p25::CalP25 calP25;
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
extern nxdn::CalNXDN calNXDN; extern nxdn::CalNXDN calNXDN;
#endif // defined(ENABLE_NXDN)
extern CalRSSI calRSSI; extern CalRSSI calRSSI;
/** CW */ /** CW */

@ -145,6 +145,7 @@ void IO::process()
m_rxBuffer.get(bit, control); m_rxBuffer.get(bit, control);
if (m_modemState == STATE_DMR) { if (m_modemState == STATE_DMR) {
#if defined(ENABLE_DMR)
/** Digital Mobile Radio */ /** Digital Mobile Radio */
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_duplex) { if (m_duplex) {
@ -157,15 +158,20 @@ void IO::process()
dmrDMORX.databit(bit); dmrDMORX.databit(bit);
#else #else
dmrDMORX.databit(bit); dmrDMORX.databit(bit);
#endif #endif // defined(DUPLEX)
#endif // defined(ENABLE_DMR)
} }
else if (m_modemState == STATE_P25) { else if (m_modemState == STATE_P25) {
#if defined(ENABLE_P25)
/** Project 25 */ /** Project 25 */
p25RX.databit(bit); p25RX.databit(bit);
#endif // defined(ENABLE_P25)
} }
else if (m_modemState == STATE_NXDN) { else if (m_modemState == STATE_NXDN) {
#if defined(ENABLE_NXDN)
/** Next Generation Digital Narrowband */ /** Next Generation Digital Narrowband */
nxdnRX.databit(bit); nxdnRX.databit(bit);
#endif // defined(ENABLE_NXDN)
} }
} }
} }

@ -198,13 +198,20 @@ void SerialPort::process()
break; break;
case CMD_CAL_DATA: case CMD_CAL_DATA:
err = RSN_NAK;
#if defined(ENABLE_DMR)
if (m_modemState == STATE_DMR_DMO_CAL_1K || m_modemState == STATE_DMR_CAL_1K || if (m_modemState == STATE_DMR_DMO_CAL_1K || m_modemState == STATE_DMR_CAL_1K ||
m_modemState == STATE_DMR_LF_CAL || m_modemState == STATE_DMR_CAL) m_modemState == STATE_DMR_LF_CAL || m_modemState == STATE_DMR_CAL)
err = calDMR.write(m_buffer + 3U, m_len - 3U); err = calDMR.write(m_buffer + 3U, m_len - 3U);
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
if (m_modemState == STATE_P25_CAL_1K || m_modemState == STATE_P25_CAL) if (m_modemState == STATE_P25_CAL_1K || m_modemState == STATE_P25_CAL)
err = calP25.write(m_buffer + 3U, m_len - 3U); err = calP25.write(m_buffer + 3U, m_len - 3U);
#endif // defined(ENABLE_P25)
#if defined(ENABLE_P25)
if (m_modemState == STATE_NXDN_CAL) if (m_modemState == STATE_NXDN_CAL)
err = calNXDN.write(m_buffer + 3U, m_len - 3U); err = calNXDN.write(m_buffer + 3U, m_len - 3U);
#endif // defined(ENABLE_P25)
if (err == RSN_OK) if (err == RSN_OK)
{ {
sendACK(); sendACK();
@ -249,6 +256,7 @@ void SerialPort::process()
/** Digital Mobile Radio */ /** Digital Mobile Radio */
case CMD_DMR_DATA1: case CMD_DMR_DATA1:
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_dmrEnable) { if (m_dmrEnable) {
if (m_modemState == STATE_IDLE || m_modemState == STATE_DMR) { if (m_modemState == STATE_IDLE || m_modemState == STATE_DMR) {
@ -266,10 +274,15 @@ void SerialPort::process()
} }
#else #else
sendNAK(RSN_INVALID_REQUEST); sendNAK(RSN_INVALID_REQUEST);
#endif #endif // defined(DUPLEX)
#else
DEBUG2("SerialPort: process() received invalid DMR data", err);
sendNAK(err);
#endif // defined(ENABLE_DMR)
break; break;
case CMD_DMR_DATA2: case CMD_DMR_DATA2:
#if defined(ENABLE_DMR)
if (m_dmrEnable) { if (m_dmrEnable) {
if (m_modemState == STATE_IDLE || m_modemState == STATE_DMR) { if (m_modemState == STATE_IDLE || m_modemState == STATE_DMR) {
#if defined(DUPLEX) #if defined(DUPLEX)
@ -279,9 +292,12 @@ void SerialPort::process()
err = dmrDMOTX.writeData(m_buffer + 3U, m_len - 3U); err = dmrDMOTX.writeData(m_buffer + 3U, m_len - 3U);
#else #else
err = dmrDMOTX.writeData(m_buffer + 3U, m_len - 3U); err = dmrDMOTX.writeData(m_buffer + 3U, m_len - 3U);
#endif #endif // defined(DUPLEX)
} }
} }
#else
err = RSN_NAK;
#endif // defined(ENABLE_DMR)
if (err == RSN_OK) { if (err == RSN_OK) {
if (m_modemState == STATE_IDLE) if (m_modemState == STATE_IDLE)
setMode(STATE_DMR); setMode(STATE_DMR);
@ -293,6 +309,7 @@ void SerialPort::process()
break; break;
case CMD_DMR_START: case CMD_DMR_START:
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_dmrEnable) { if (m_dmrEnable) {
err = RSN_INVALID_DMR_START; err = RSN_INVALID_DMR_START;
@ -315,10 +332,14 @@ void SerialPort::process()
} }
#else #else
sendNAK(RSN_INVALID_REQUEST); sendNAK(RSN_INVALID_REQUEST);
#endif #endif // defined(DUPLEX)
#else
sendNAK(RSN_INVALID_REQUEST);
#endif // defined(ENABLE_DMR)
break; break;
case CMD_DMR_SHORTLC: case CMD_DMR_SHORTLC:
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_dmrEnable) if (m_dmrEnable)
err = dmrTX.writeShortLC(m_buffer + 3U, m_len - 3U); err = dmrTX.writeShortLC(m_buffer + 3U, m_len - 3U);
@ -328,10 +349,14 @@ void SerialPort::process()
} }
#else #else
sendNAK(RSN_INVALID_REQUEST); sendNAK(RSN_INVALID_REQUEST);
#endif #endif // defined(DUPLEX)
#else
sendNAK(RSN_INVALID_REQUEST);
#endif // defined(ENABLE_DMR)
break; break;
case CMD_DMR_ABORT: case CMD_DMR_ABORT:
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_dmrEnable) if (m_dmrEnable)
err = dmrTX.writeAbort(m_buffer + 3U, m_len - 3U); err = dmrTX.writeAbort(m_buffer + 3U, m_len - 3U);
@ -341,10 +366,14 @@ void SerialPort::process()
} }
#else #else
sendNAK(RSN_INVALID_REQUEST); sendNAK(RSN_INVALID_REQUEST);
#endif #endif // defined(DUPLEX)
#else
sendNAK(RSN_INVALID_REQUEST);
#endif // defined(ENABLE_DMR)
break; break;
case CMD_DMR_CACH_AT_CTRL: case CMD_DMR_CACH_AT_CTRL:
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_dmrEnable) { if (m_dmrEnable) {
err = RSN_INVALID_REQUEST; err = RSN_INVALID_REQUEST;
@ -359,11 +388,15 @@ void SerialPort::process()
} }
#else #else
sendNAK(RSN_INVALID_REQUEST); sendNAK(RSN_INVALID_REQUEST);
#endif #endif // defined(DUPLEX)
#else
sendNAK(RSN_INVALID_REQUEST);
#endif // defined(ENABLE_DMR)
break; break;
/** Project 25 */ /** Project 25 */
case CMD_P25_DATA: case CMD_P25_DATA:
#if defined(ENABLE_P25)
if (m_p25Enable) { if (m_p25Enable) {
if (m_modemState == STATE_IDLE || m_modemState == STATE_P25) if (m_modemState == STATE_IDLE || m_modemState == STATE_P25)
err = p25TX.writeData(m_buffer + 3U, m_len - 3U); err = p25TX.writeData(m_buffer + 3U, m_len - 3U);
@ -376,17 +409,25 @@ void SerialPort::process()
DEBUG2("SerialPort: process(): Received invalid P25 data", err); DEBUG2("SerialPort: process(): Received invalid P25 data", err);
sendNAK(err); sendNAK(err);
} }
#else
sendNAK(RSN_INVALID_REQUEST);
#endif // defined(ENABLE_P25)
break; break;
case CMD_P25_CLEAR: case CMD_P25_CLEAR:
#if defined(ENABLE_P25)
if (m_p25Enable) { if (m_p25Enable) {
if (m_modemState == STATE_IDLE || m_modemState == STATE_P25) if (m_modemState == STATE_IDLE || m_modemState == STATE_P25)
p25TX.clear(); p25TX.clear();
} }
#else
sendNAK(RSN_INVALID_REQUEST);
#endif // defined(ENABLE_P25)
break; break;
/** Next Generation Digital Narrowband */ /** Next Generation Digital Narrowband */
case CMD_NXDN_DATA: case CMD_NXDN_DATA:
#if defined(ENABLE_NXDN)
if (m_nxdnEnable) { if (m_nxdnEnable) {
if (m_modemState == STATE_IDLE || m_modemState == STATE_NXDN) if (m_modemState == STATE_IDLE || m_modemState == STATE_NXDN)
err = nxdnTX.writeData(m_buffer + 3U, m_len - 3U); err = nxdnTX.writeData(m_buffer + 3U, m_len - 3U);
@ -399,6 +440,9 @@ void SerialPort::process()
DEBUG2("SerialPort: process(): Received invalid NXDN data", err); DEBUG2("SerialPort: process(): Received invalid NXDN data", err);
sendNAK(err); sendNAK(err);
} }
#else
sendNAK(RSN_INVALID_REQUEST);
#endif // defined(ENABLE_NXDN)
break; break;
default: default:
@ -922,6 +966,7 @@ void SerialPort::getStatus()
reply[6U] = 0U; reply[6U] = 0U;
#if defined(ENABLE_DMR)
if (m_dmrEnable) { if (m_dmrEnable) {
#if defined(DUPLEX) #if defined(DUPLEX)
if (m_duplex) { if (m_duplex) {
@ -934,23 +979,35 @@ void SerialPort::getStatus()
#else #else
reply[7U] = 10U; reply[7U] = 10U;
reply[8U] = dmrDMOTX.getSpace(); reply[8U] = dmrDMOTX.getSpace();
#endif #endif // defined(DUPLEX)
} else { } else {
reply[7U] = 0U; reply[7U] = 0U;
reply[8U] = 0U; reply[8U] = 0U;
} }
#else
reply[7U] = 0U;
reply[8U] = 0U;
#endif // defined(ENABLE_DMR)
reply[9U] = 0U; reply[9U] = 0U;
#if defined(ENABLE_P25)
if (m_p25Enable) if (m_p25Enable)
reply[10U] = p25TX.getSpace(); reply[10U] = p25TX.getSpace();
else else
reply[10U] = 0U; reply[10U] = 0U;
#else
reply[10U] = 0U;
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
if (m_nxdnEnable) if (m_nxdnEnable)
reply[11U] = nxdnTX.getSpace(); reply[11U] = nxdnTX.getSpace();
else else
reply[11U] = 0U; reply[11U] = 0U;
#else
reply[11U] = 0U;
#endif // defined(ENABLE_NXDN)
writeInt(1U, reply, 12); writeInt(1U, reply, 12);
} }
@ -1089,20 +1146,28 @@ uint8_t SerialPort::setConfig(const uint8_t* data, uint8_t length)
io.setDeviations(dmrTXLevel, p25TXLevel, nxdnTXLevel); io.setDeviations(dmrTXLevel, p25TXLevel, nxdnTXLevel);
#if defined(ENABLE_P25)
p25TX.setPreambleCount(fdmaPreamble); p25TX.setPreambleCount(fdmaPreamble);
#endif // defined(ENABLE_P25)
#if defined(ENABLE_DMR)
dmrDMOTX.setPreambleCount(fdmaPreamble); dmrDMOTX.setPreambleCount(fdmaPreamble);
#endif // defined(ENABLE_DMR)
//nxdnTX.setPreambleCount(fdmaPreamble); //nxdnTX.setPreambleCount(fdmaPreamble);
#if defined(ENABLE_P25)
p25RX.setNAC(nac); p25RX.setNAC(nac);
#endif // defined(ENABLE_P25)
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrTX.setColorCode(colorCode); dmrTX.setColorCode(colorCode);
dmrRX.setColorCode(colorCode); dmrRX.setColorCode(colorCode);
dmrRX.setRxDelay(dmrRxDelay); dmrRX.setRxDelay(dmrRxDelay);
dmrIdleRX.setColorCode(colorCode); dmrIdleRX.setColorCode(colorCode);
#endif #endif // defined(DUPLEX)
dmrDMORX.setColorCode(colorCode); dmrDMORX.setColorCode(colorCode);
#endif // defined(ENABLE_DMR)
if (m_modemState != STATE_IDLE && isCalState(m_modemState)) { if (m_modemState != STATE_IDLE && isCalState(m_modemState)) {
io.updateCal(calRelativeState(m_modemState)); io.updateCal(calRelativeState(m_modemState));
@ -1149,116 +1214,176 @@ void SerialPort::setMode(DVM_STATE modemState)
switch (modemState) { switch (modemState) {
case STATE_DMR: case STATE_DMR:
DEBUG1("SerialPort: setMode(): mode set to DMR"); DEBUG1("SerialPort: setMode(): mode set to DMR");
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_P25: case STATE_P25:
DEBUG1("SerialPort: setMode(): mode set to P25"); DEBUG1("SerialPort: setMode(): mode set to P25");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_NXDN: case STATE_NXDN:
DEBUG1("SerialPort: setMode(): mode set to NXDN"); DEBUG1("SerialPort: setMode(): mode set to NXDN");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_DMR_CAL: case STATE_DMR_CAL:
DEBUG1("SerialPort: setMode(): mode set to DMR Calibrate"); DEBUG1("SerialPort: setMode(): mode set to DMR Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_P25_CAL: case STATE_P25_CAL:
DEBUG1("SerialPort: setMode(): mode set to P25 Calibrate"); DEBUG1("SerialPort: setMode(): mode set to P25 Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_NXDN_CAL: case STATE_NXDN_CAL:
DEBUG1("SerialPort: setMode(): mode set to NXDN Calibrate"); DEBUG1("SerialPort: setMode(): mode set to NXDN Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_RSSI_CAL: case STATE_RSSI_CAL:
DEBUG1("SerialPort: setMode(): mode set to RSSI Calibrate"); DEBUG1("SerialPort: setMode(): mode set to RSSI Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_DMR_LF_CAL: case STATE_DMR_LF_CAL:
DEBUG1("SerialPort: setMode(): mode set to DMR 80Hz Calibrate"); DEBUG1("SerialPort: setMode(): mode set to DMR 80Hz Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_DMR_CAL_1K: case STATE_DMR_CAL_1K:
DEBUG1("SerialPort: setMode(): mode set to DMR BS 1031Hz Calibrate"); DEBUG1("SerialPort: setMode(): mode set to DMR BS 1031Hz Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_DMR_DMO_CAL_1K: case STATE_DMR_DMO_CAL_1K:
DEBUG1("SerialPort: setMode(): mode set to DMR MS 1031Hz Calibrate"); DEBUG1("SerialPort: setMode(): mode set to DMR MS 1031Hz Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
case STATE_P25_CAL_1K: case STATE_P25_CAL_1K:
DEBUG1("SerialPort: setMode(): mode set to P25 1011Hz Calibrate"); DEBUG1("SerialPort: setMode(): mode set to P25 1011Hz Calibrate");
#if defined(ENABLE_DMR)
#if defined(DUPLEX) #if defined(DUPLEX)
dmrIdleRX.reset(); dmrIdleRX.reset();
dmrRX.reset(); dmrRX.reset();
#endif #endif // defined(DUPLEX)
dmrDMORX.reset(); dmrDMORX.reset();
#endif // defined(ENABLE_DMR)
#if defined(ENABLE_P25)
p25RX.reset(); p25RX.reset();
#endif // defined(ENABLE_P25)
#if defined(ENABLE_NXDN)
nxdnRX.reset(); nxdnRX.reset();
#endif // defined(ENABLE_NXDN)
cwIdTX.reset(); cwIdTX.reset();
break; break;
default: default:

@ -34,6 +34,8 @@
using namespace dmr; using namespace dmr;
#if defined(ENABLE_DMR)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -289,3 +291,5 @@ uint8_t CalDMR::write(const uint8_t* data, uint8_t length)
return RSN_OK; return RSN_OK;
} }
#endif // defined(ENABLE_DMR)

@ -35,6 +35,8 @@
#include "Defines.h" #include "Defines.h"
#include "dmr/DMRDefines.h" #include "dmr/DMRDefines.h"
#if defined(ENABLE_DMR)
namespace dmr namespace dmr
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -87,4 +89,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // defined(ENABLE_DMR)
#endif // __CAL_DMR_H__ #endif // __CAL_DMR_H__

@ -36,6 +36,8 @@
using namespace dmr; using namespace dmr;
#if defined(ENABLE_DMR)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -380,3 +382,4 @@ void DMRDMORX::writeRSSIData(uint8_t* frame)
#endif #endif
} }
#endif // defined(ENABLE_DMR)

@ -35,6 +35,8 @@
#include "Defines.h" #include "Defines.h"
#include "dmr/DMRDefines.h" #include "dmr/DMRDefines.h"
#if defined(ENABLE_DMR)
namespace dmr namespace dmr
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -100,4 +102,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // defined(ENABLE_DMR)
#endif // __DMR_DMO_RX_H__ #endif // __DMR_DMO_RX_H__

@ -35,6 +35,8 @@
using namespace dmr; using namespace dmr;
#if defined(ENABLE_DMR)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -175,3 +177,5 @@ void DMRDMOTX::writeByte(uint8_t c)
io.write(&bit, 1); io.write(&bit, 1);
} }
} }
#endif // defined(ENABLE_DMR)

@ -37,6 +37,8 @@
#include "dmr/DMRDefines.h" #include "dmr/DMRDefines.h"
#include "SerialBuffer.h" #include "SerialBuffer.h"
#if defined(ENABLE_DMR)
namespace dmr namespace dmr
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -82,4 +84,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // defined(ENABLE_DMR)
#endif // __DMR_DMO_TX_H__ #endif // __DMR_DMO_TX_H__

@ -35,7 +35,7 @@
using namespace dmr; using namespace dmr;
#if defined(DUPLEX) #if defined(ENABLE_DMR) && defined(DUPLEX)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
@ -185,4 +185,4 @@ void DMRIdleRX::bitsToBytes(uint16_t start, uint8_t count, uint8_t* buffer)
} }
} }
#endif // DUPLEX #endif // defined(ENABLE_DMR) && defined(DUPLEX)

@ -34,7 +34,7 @@
#include "Defines.h" #include "Defines.h"
#include "dmr/DMRDefines.h" #include "dmr/DMRDefines.h"
#if defined(DUPLEX) #if defined(ENABLE_DMR) && defined(DUPLEX)
namespace dmr namespace dmr
{ {
@ -77,6 +77,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // DUPLEX #endif // defined(ENABLE_DMR) && defined(DUPLEX)
#endif // __DMR_IDLE_RX_H__ #endif // __DMR_IDLE_RX_H__

@ -34,7 +34,7 @@
using namespace dmr; using namespace dmr;
#if defined(DUPLEX) #if defined(ENABLE_DMR) && defined(DUPLEX)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Public Class Members // Public Class Members
@ -106,4 +106,4 @@ void DMRRX::setRxDelay(uint8_t delay)
m_slot2RX.setRxDelay(delay); m_slot2RX.setRxDelay(delay);
} }
#endif // DUPLEX #endif // defined(ENABLE_DMR) && defined(DUPLEX)

@ -35,7 +35,7 @@
#include "Defines.h" #include "Defines.h"
#include "dmr/DMRSlotRX.h" #include "dmr/DMRSlotRX.h"
#if defined(DUPLEX) #if defined(ENABLE_DMR) && defined(DUPLEX)
namespace dmr namespace dmr
{ {
@ -66,6 +66,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // DUPLEX #endif // defined(ENABLE_DMR) && defined(DUPLEX)
#endif // __DMR_RX_H__ #endif // __DMR_RX_H__

@ -36,7 +36,7 @@
using namespace dmr; using namespace dmr;
#if defined(DUPLEX) #if defined(ENABLE_DMR) && defined(DUPLEX)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
@ -417,4 +417,4 @@ void DMRSlotRX::writeRSSIData(uint8_t* frame)
#endif #endif
} }
#endif // DUPLEX #endif // defined(ENABLE_DMR) && defined(DUPLEX)

@ -35,7 +35,7 @@
#include "Defines.h" #include "Defines.h"
#include "dmr/DMRDefines.h" #include "dmr/DMRDefines.h"
#if defined(DUPLEX) #if defined(ENABLE_DMR) && defined(DUPLEX)
namespace dmr namespace dmr
{ {
@ -110,6 +110,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // DUPLEX #endif // defined(ENABLE_DMR) && defined(DUPLEX)
#endif // __DMR_SLOT_RX_H__ #endif // __DMR_SLOT_RX_H__

@ -32,6 +32,8 @@
using namespace dmr; using namespace dmr;
#if defined(ENABLE_DMR)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -334,3 +336,5 @@ uint32_t DMRSlotType::getSyndrome1987(uint32_t pattern) const
return pattern; return pattern;
} }
#endif // defined(ENABLE_DMR)

@ -32,6 +32,8 @@
#include "Defines.h" #include "Defines.h"
#if defined(ENABLE_DMR)
namespace dmr namespace dmr
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -57,4 +59,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // defined(ENABLE_DMR)
#endif // __DMR_SLOT_TYPE_H__ #endif // __DMR_SLOT_TYPE_H__

@ -35,6 +35,8 @@
using namespace dmr; using namespace dmr;
#if defined(ENABLE_DMR)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -523,3 +525,5 @@ void DMRTX::writeByte(uint8_t c, uint8_t control)
io.write(&bit, 1, &controlToWrite); io.write(&bit, 1, &controlToWrite);
} }
} }
#endif // defined(ENABLE_DMR)

@ -37,6 +37,8 @@
#include "dmr/DMRDefines.h" #include "dmr/DMRDefines.h"
#include "SerialBuffer.h" #include "SerialBuffer.h"
#if defined(ENABLE_DMR)
namespace dmr namespace dmr
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -135,4 +137,6 @@ namespace dmr
}; };
} // namespace dmr } // namespace dmr
#endif // defined(ENABLE_DMR)
#endif // __DMR_TX_H__ #endif // __DMR_TX_H__

@ -33,6 +33,8 @@
using namespace nxdn; using namespace nxdn;
#if defined(ENABLE_NXDN)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -138,3 +140,5 @@ uint8_t CalNXDN::write(const uint8_t* data, uint16_t length)
return RSN_OK; return RSN_OK;
} }
#endif // defined(ENABLE_NXDN)

@ -35,6 +35,8 @@
#include "Defines.h" #include "Defines.h"
#include "nxdn/NXDNDefines.h" #include "nxdn/NXDNDefines.h"
#if defined(ENABLE_NXDN)
namespace nxdn namespace nxdn
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -70,4 +72,6 @@ namespace nxdn
}; };
} // namespace nxdn } // namespace nxdn
#endif // defined(ENABLE_NXDN)
#endif // __CAL_NXDN_H__ #endif // __CAL_NXDN_H__

@ -34,6 +34,8 @@
using namespace nxdn; using namespace nxdn;
#if defined(ENABLE_NXDN)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -196,3 +198,5 @@ bool NXDNRX::correlateSync(bool first)
return false; return false;
} }
#endif // defined(ENABLE_NXDN)

@ -34,6 +34,7 @@
#include "Defines.h" #include "Defines.h"
#include "nxdn/NXDNDefines.h" #include "nxdn/NXDNDefines.h"
#if defined(ENABLE_NXDN)
namespace nxdn namespace nxdn
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -81,5 +82,6 @@ namespace nxdn
bool correlateSync(bool first = false); bool correlateSync(bool first = false);
}; };
} // namespace nxdn } // namespace nxdn
#endif // defined(ENABLE_NXDN)
#endif // __NXDN_RX_H__ #endif // __NXDN_RX_H__

@ -35,6 +35,8 @@
using namespace nxdn; using namespace nxdn;
#if defined(ENABLE_NXDN)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Public Class Members // Public Class Members
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -241,3 +243,5 @@ void NXDNTX::writeSilence()
io.write(&bit, 1); io.write(&bit, 1);
} }
} }
#endif // defined(ENABLE_NXDN)

@ -35,6 +35,8 @@
#include "Defines.h" #include "Defines.h"
#include "SerialBuffer.h" #include "SerialBuffer.h"
#if defined(ENABLE_NXDN)
namespace nxdn namespace nxdn
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -100,4 +102,6 @@ namespace nxdn
}; };
} // namespace nxdn } // namespace nxdn
#endif // defined(ENABLE_NXDN)
#endif // __NXDN_TX_H__ #endif // __NXDN_TX_H__

@ -32,6 +32,8 @@
using namespace p25; using namespace p25;
#if defined(ENABLE_P25)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -143,3 +145,5 @@ uint8_t CalP25::write(const uint8_t* data, uint8_t length)
return RSN_OK; return RSN_OK;
} }
#endif // defined(ENABLE_P25)

@ -33,6 +33,8 @@
#include "Defines.h" #include "Defines.h"
#include "p25/P25Defines.h" #include "p25/P25Defines.h"
#if defined(ENABLE_P25)
namespace p25 namespace p25
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -67,4 +69,6 @@ namespace p25
}; };
} // namespace p25 } // namespace p25
#endif // defined(ENABLE_P25)
#endif // __CAL_P25_H__ #endif // __CAL_P25_H__

@ -35,6 +35,8 @@
using namespace p25; using namespace p25;
#if defined(ENABLE_P25)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Constants // Constants
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -461,3 +463,5 @@ bool P25RX::decodeNid()
return false; return false;
} }
#endif // defined(ENABLE_P25)

@ -35,6 +35,8 @@
#include "Defines.h" #include "Defines.h"
#include "p25/P25Defines.h" #include "p25/P25Defines.h"
#if defined(ENABLE_P25)
namespace p25 namespace p25
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -98,4 +100,6 @@ namespace p25
}; };
} // namespace p25 } // namespace p25
#endif // defined(ENABLE_P25)
#endif // __P25_RX_H__ #endif // __P25_RX_H__

@ -35,6 +35,8 @@
using namespace p25; using namespace p25;
#if defined(ENABLE_P25)
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Public Class Members // Public Class Members
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -270,3 +272,5 @@ void P25TX::writeSilence()
io.write(&bit, 1); io.write(&bit, 1);
} }
} }
#endif // defined(ENABLE_P25)

@ -35,6 +35,8 @@
#include "Defines.h" #include "Defines.h"
#include "SerialBuffer.h" #include "SerialBuffer.h"
#if defined(ENABLE_P25)
namespace p25 namespace p25
{ {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -103,4 +105,6 @@ namespace p25
}; };
} // namespace p25 } // namespace p25
#endif // defined(ENABLE_P25)
#endif // __P25_TX_H__ #endif // __P25_TX_H__

Loading…
Cancel
Save

Powered by TurnKey Linux.