mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 23:45:49 +08:00
X25 cleanups.
This commit is contained in:
@@ -45,7 +45,7 @@ bool CAX25Control::writeModem(unsigned char *data, unsigned int len)
|
|||||||
if (!m_enabled)
|
if (!m_enabled)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
unsigned char type = data[0U];
|
CUtils::dump(1U, "AX.25 raw packet", data, len);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -623,8 +623,12 @@ int CMMDVMHost::run()
|
|||||||
pocsagTimer.start();
|
pocsagTimer.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_ax25Enabled)
|
if (m_ax25Enabled) {
|
||||||
|
LogInfo("AX.25 RF Parameters");
|
||||||
|
LogInfo(" RXOnly: yes");
|
||||||
|
|
||||||
m_ax25 = new CAX25Control(m_ax25Network);
|
m_ax25 = new CAX25Control(m_ax25Network);
|
||||||
|
}
|
||||||
|
|
||||||
bool remoteControlEnabled = m_conf.getRemoteControlEnabled();
|
bool remoteControlEnabled = m_conf.getRemoteControlEnabled();
|
||||||
if (remoteControlEnabled) {
|
if (remoteControlEnabled) {
|
||||||
@@ -1616,7 +1620,6 @@ void CMMDVMHost::readParams()
|
|||||||
LogInfo(" AX.25: %s", m_ax25Enabled ? "enabled" : "disabled");
|
LogInfo(" AX.25: %s", m_ax25Enabled ? "enabled" : "disabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX AX.25 enabled/disabled
|
|
||||||
void CMMDVMHost::setMode(unsigned char mode)
|
void CMMDVMHost::setMode(unsigned char mode)
|
||||||
{
|
{
|
||||||
assert(m_modem != NULL);
|
assert(m_modem != NULL);
|
||||||
@@ -1636,6 +1639,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(true);
|
m_dstar->enable(true);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1648,6 +1653,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
m_modem->setMode(MODE_DSTAR);
|
m_modem->setMode(MODE_DSTAR);
|
||||||
if (m_ump != NULL)
|
if (m_ump != NULL)
|
||||||
m_ump->setMode(MODE_DSTAR);
|
m_ump->setMode(MODE_DSTAR);
|
||||||
@@ -1670,6 +1677,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1682,6 +1691,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
m_modem->setMode(MODE_DMR);
|
m_modem->setMode(MODE_DMR);
|
||||||
if (m_ump != NULL)
|
if (m_ump != NULL)
|
||||||
m_ump->setMode(MODE_DMR);
|
m_ump->setMode(MODE_DMR);
|
||||||
@@ -1708,6 +1719,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1720,6 +1733,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
m_modem->setMode(MODE_YSF);
|
m_modem->setMode(MODE_YSF);
|
||||||
if (m_ump != NULL)
|
if (m_ump != NULL)
|
||||||
m_ump->setMode(MODE_YSF);
|
m_ump->setMode(MODE_YSF);
|
||||||
@@ -1742,6 +1757,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1754,6 +1771,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
m_modem->setMode(MODE_P25);
|
m_modem->setMode(MODE_P25);
|
||||||
if (m_ump != NULL)
|
if (m_ump != NULL)
|
||||||
m_ump->setMode(MODE_P25);
|
m_ump->setMode(MODE_P25);
|
||||||
@@ -1776,6 +1795,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(true);
|
m_nxdnNetwork->enable(true);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1788,6 +1809,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(true);
|
m_nxdn->enable(true);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
m_modem->setMode(MODE_NXDN);
|
m_modem->setMode(MODE_NXDN);
|
||||||
if (m_ump != NULL)
|
if (m_ump != NULL)
|
||||||
m_ump->setMode(MODE_NXDN);
|
m_ump->setMode(MODE_NXDN);
|
||||||
@@ -1810,6 +1833,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(true);
|
m_pocsagNetwork->enable(true);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1822,6 +1847,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(true);
|
m_pocsag->enable(true);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
m_modem->setMode(MODE_POCSAG);
|
m_modem->setMode(MODE_POCSAG);
|
||||||
if (m_ump != NULL)
|
if (m_ump != NULL)
|
||||||
m_ump->setMode(MODE_POCSAG);
|
m_ump->setMode(MODE_POCSAG);
|
||||||
@@ -1844,6 +1871,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(true);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1856,6 +1885,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(true);
|
||||||
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
||||||
m_modem->writeDMRStart(false);
|
m_modem->writeDMRStart(false);
|
||||||
m_dmrTXTimer.stop();
|
m_dmrTXTimer.stop();
|
||||||
@@ -1882,6 +1913,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1894,6 +1927,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
||||||
m_modem->writeDMRStart(false);
|
m_modem->writeDMRStart(false);
|
||||||
m_dmrTXTimer.stop();
|
m_dmrTXTimer.stop();
|
||||||
@@ -1922,6 +1957,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(false);
|
m_nxdnNetwork->enable(false);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(false);
|
m_pocsagNetwork->enable(false);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(false);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(false);
|
m_dstar->enable(false);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1934,6 +1971,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(false);
|
m_nxdn->enable(false);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(false);
|
m_pocsag->enable(false);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(false);
|
||||||
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
||||||
m_modem->writeDMRStart(false);
|
m_modem->writeDMRStart(false);
|
||||||
m_dmrTXTimer.stop();
|
m_dmrTXTimer.stop();
|
||||||
@@ -1960,6 +1999,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdnNetwork->enable(true);
|
m_nxdnNetwork->enable(true);
|
||||||
if (m_pocsagNetwork != NULL)
|
if (m_pocsagNetwork != NULL)
|
||||||
m_pocsagNetwork->enable(true);
|
m_pocsagNetwork->enable(true);
|
||||||
|
if (m_ax25Network != NULL)
|
||||||
|
m_ax25Network->enable(true);
|
||||||
if (m_dstar != NULL)
|
if (m_dstar != NULL)
|
||||||
m_dstar->enable(true);
|
m_dstar->enable(true);
|
||||||
if (m_dmr != NULL)
|
if (m_dmr != NULL)
|
||||||
@@ -1972,6 +2013,8 @@ void CMMDVMHost::setMode(unsigned char mode)
|
|||||||
m_nxdn->enable(true);
|
m_nxdn->enable(true);
|
||||||
if (m_pocsag != NULL)
|
if (m_pocsag != NULL)
|
||||||
m_pocsag->enable(true);
|
m_pocsag->enable(true);
|
||||||
|
if (m_ax25 != NULL)
|
||||||
|
m_ax25->enable(true);
|
||||||
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
if (m_mode == MODE_DMR && m_duplex && m_modem->hasTX()) {
|
||||||
m_modem->writeDMRStart(false);
|
m_modem->writeDMRStart(false);
|
||||||
m_dmrTXTimer.stop();
|
m_dmrTXTimer.stop();
|
||||||
@@ -2120,18 +2163,20 @@ void CMMDVMHost::remoteControl()
|
|||||||
}
|
}
|
||||||
m_pocsag->sendPage(ric, text);
|
m_pocsag->sendPage(ric, text);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case RCD_CW:
|
case RCD_CW:
|
||||||
setMode(MODE_IDLE); // Force the modem to go idle so that we can send the CW text.
|
setMode(MODE_IDLE); // Force the modem to go idle so that we can send the CW text.
|
||||||
if (!m_modem->hasTX()){
|
if (!m_modem->hasTX()) {
|
||||||
std::string cwtext;
|
std::string cwtext;
|
||||||
for (unsigned int i = 0U; i < m_remoteControl->getArgCount(); i++) {
|
for (unsigned int i = 0U; i < m_remoteControl->getArgCount(); i++) {
|
||||||
if (i > 0U)
|
if (i > 0U)
|
||||||
cwtext += " ";
|
cwtext += " ";
|
||||||
cwtext += m_remoteControl->getArgString(i);
|
cwtext += m_remoteControl->getArgString(i);
|
||||||
}
|
}
|
||||||
m_display->writeCW();
|
m_display->writeCW();
|
||||||
m_modem->sendCWId(cwtext);
|
m_modem->sendCWId(cwtext);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -594,10 +594,7 @@ void CModem::clock(unsigned int ms)
|
|||||||
if (m_trace)
|
if (m_trace)
|
||||||
CUtils::dump(1U, "RX AX.25 Data", m_buffer, m_length);
|
CUtils::dump(1U, "RX AX.25 Data", m_buffer, m_length);
|
||||||
|
|
||||||
unsigned char data = m_length - 2U;
|
unsigned char data = m_length - 3U;
|
||||||
m_rxAX25Data.addData(&data, 1U);
|
|
||||||
|
|
||||||
data = TAG_DATA;
|
|
||||||
m_rxAX25Data.addData(&data, 1U);
|
m_rxAX25Data.addData(&data, 1U);
|
||||||
|
|
||||||
m_rxAX25Data.addData(m_buffer + 3U, m_length - 3U);
|
m_rxAX25Data.addData(m_buffer + 3U, m_length - 3U);
|
||||||
|
|||||||
Reference in New Issue
Block a user