Fix a bug and add a second Icom D-Star fast data mode identifier.

This commit is contained in:
Jonathan Naylor
2018-11-12 13:27:15 +00:00
parent 3362e29b62
commit 18398efe97
2 changed files with 13 additions and 6 deletions

View File

@@ -342,7 +342,10 @@ bool CDStarControl::writeModem(unsigned char *data, unsigned int len)
if (CUtils::compare(data + 1U, DSTAR_KENWOOD_DATA_MODE_BYTES, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
LogMessage("D-Star, switching to data mode (Kenwood)");
m_rfState = RS_RF_DATA;
} else if (CUtils::compare(data + 1U, DSTAR_ICOM_DATA_MODE_BYTES, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
} else if (CUtils::compare(data + 1U, DSTAR_ICOM_DATA_MODE_BYTES1, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
LogMessage("D-Star, switching to data mode (Icom)");
m_rfState = RS_RF_DATA;
} else if (CUtils::compare(data + 1U, DSTAR_ICOM_DATA_MODE_BYTES2, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
LogMessage("D-Star, switching to data mode (Icom)");
m_rfState = RS_RF_DATA;
}
@@ -698,10 +701,13 @@ void CDStarControl::writeNetwork()
if (m_netState == RS_NET_AUDIO && m_netFrames < 21U) {
if (CUtils::compare(data + 2U, DSTAR_KENWOOD_DATA_MODE_BYTES, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
LogMessage("D-Star, switching to data mode (Kenwood)");
m_rfState = RS_RF_DATA;
} else if (CUtils::compare(data + 2U, DSTAR_ICOM_DATA_MODE_BYTES, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
m_netState = RS_NET_DATA;
} else if (CUtils::compare(data + 2U, DSTAR_ICOM_DATA_MODE_BYTES1, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
LogMessage("D-Star, switching to data mode (Icom)");
m_rfState = RS_RF_DATA;
m_netState = RS_NET_DATA;
} else if (CUtils::compare(data + 2U, DSTAR_ICOM_DATA_MODE_BYTES2, DSTAR_VOICE_FRAME_LENGTH_BYTES) < 5U) {
LogMessage("D-Star, switching to data mode (Icom)");
m_netState = RS_NET_DATA;
}
}