Merge branch 'master' into FM
This commit is contained in:
commit
da0f1a6a76
|
@ -2040,6 +2040,18 @@ void CMMDVMHost::remoteControl()
|
||||||
}
|
}
|
||||||
m_pocsag->sendPage(ric, text);
|
m_pocsag->sendPage(ric, text);
|
||||||
}
|
}
|
||||||
|
case RCD_CW:
|
||||||
|
setMode(MODE_IDLE); // Force the modem to go idle so that we can send the CW text.
|
||||||
|
if (!m_modem->hasTX()){
|
||||||
|
std::string cwtext;
|
||||||
|
for (unsigned int i = 0U; i < m_remoteControl->getArgCount(); i++) {
|
||||||
|
if (i > 0U)
|
||||||
|
cwtext += " ";
|
||||||
|
cwtext += m_remoteControl->getArgString(i);
|
||||||
|
}
|
||||||
|
m_display->writeCW();
|
||||||
|
m_modem->sendCWId(cwtext);
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ const unsigned int SET_MODE_ARGS = 2U;
|
||||||
const unsigned int ENABLE_ARGS = 2U;
|
const unsigned int ENABLE_ARGS = 2U;
|
||||||
const unsigned int DISABLE_ARGS = 2U;
|
const unsigned int DISABLE_ARGS = 2U;
|
||||||
const unsigned int PAGE_ARGS = 3U;
|
const unsigned int PAGE_ARGS = 3U;
|
||||||
|
const unsigned int CW_ARGS = 2U;
|
||||||
|
|
||||||
const unsigned int BUFFER_LENGTH = 100U;
|
const unsigned int BUFFER_LENGTH = 100U;
|
||||||
|
|
||||||
|
@ -117,7 +118,10 @@ REMOTE_COMMAND CRemoteControl::getCommand()
|
||||||
} else if (m_args.at(0U) == "page" && m_args.size() >= PAGE_ARGS) {
|
} else if (m_args.at(0U) == "page" && m_args.size() >= PAGE_ARGS) {
|
||||||
// Page command is in the form of "page <ric> <message>"
|
// Page command is in the form of "page <ric> <message>"
|
||||||
m_command = RCD_PAGE;
|
m_command = RCD_PAGE;
|
||||||
}
|
} else if (m_args.at(0U) == "cw" && m_args.size() >= CW_ARGS) {
|
||||||
|
// CW command is in the form of "cw <message>"
|
||||||
|
m_command = RCD_CW;
|
||||||
|
}
|
||||||
|
|
||||||
if (m_command == RCD_NONE) {
|
if (m_command == RCD_NONE) {
|
||||||
m_args.clear();
|
m_args.clear();
|
||||||
|
@ -143,6 +147,8 @@ unsigned int CRemoteControl::getArgCount() const
|
||||||
return m_args.size() - SET_MODE_ARGS;
|
return m_args.size() - SET_MODE_ARGS;
|
||||||
case RCD_PAGE:
|
case RCD_PAGE:
|
||||||
return m_args.size() - 1U;
|
return m_args.size() - 1U;
|
||||||
|
case RCD_CW:
|
||||||
|
return m_args.size() - 1U;
|
||||||
default:
|
default:
|
||||||
return 0U;
|
return 0U;
|
||||||
}
|
}
|
||||||
|
@ -163,6 +169,9 @@ std::string CRemoteControl::getArgString(unsigned int n) const
|
||||||
case RCD_PAGE:
|
case RCD_PAGE:
|
||||||
n += 1U;
|
n += 1U;
|
||||||
break;
|
break;
|
||||||
|
case RCD_CW:
|
||||||
|
n += 1U;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,8 @@ enum REMOTE_COMMAND {
|
||||||
RCD_DISABLE_P25,
|
RCD_DISABLE_P25,
|
||||||
RCD_DISABLE_NXDN,
|
RCD_DISABLE_NXDN,
|
||||||
RCD_DISABLE_FM,
|
RCD_DISABLE_FM,
|
||||||
RCD_PAGE
|
RCD_PAGE,
|
||||||
|
RCD_CW
|
||||||
};
|
};
|
||||||
|
|
||||||
class CRemoteControl {
|
class CRemoteControl {
|
||||||
|
|
Loading…
Reference in a new issue