mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-23 00:35:53 +08:00
Set the FICH on received network data.
This commit is contained in:
@@ -171,7 +171,9 @@ bool CDStarControl::writeModem(unsigned char *data)
|
|||||||
|
|
||||||
m_rfHeader = header;
|
m_rfHeader = header;
|
||||||
|
|
||||||
m_holdoffTimer.stop();
|
if (m_netState == RS_NET_IDLE)
|
||||||
|
m_holdoffTimer.stop();
|
||||||
|
|
||||||
m_ackTimer.stop();
|
m_ackTimer.stop();
|
||||||
|
|
||||||
m_rfBits = 1U;
|
m_rfBits = 1U;
|
||||||
|
|||||||
@@ -77,11 +77,13 @@ bool CYSFControl::writeModem(unsigned char *data)
|
|||||||
if (fi == YSF_FI_TERMINATOR)
|
if (fi == YSF_FI_TERMINATOR)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (m_netState == RS_NET_IDLE)
|
||||||
|
m_holdoffTimer.stop();
|
||||||
|
|
||||||
m_rfFrames = 0U;
|
m_rfFrames = 0U;
|
||||||
m_rfErrs = 0U;
|
m_rfErrs = 0U;
|
||||||
m_rfBits = 1U;
|
m_rfBits = 1U;
|
||||||
m_rfTimeoutTimer.start();
|
m_rfTimeoutTimer.start();
|
||||||
m_holdoffTimer.stop();
|
|
||||||
m_payload.reset();
|
m_payload.reset();
|
||||||
m_rfState = RS_RF_AUDIO;
|
m_rfState = RS_RF_AUDIO;
|
||||||
#if defined(DUMP_YSF)
|
#if defined(DUMP_YSF)
|
||||||
@@ -352,6 +354,15 @@ void CYSFControl::writeNetwork()
|
|||||||
|
|
||||||
m_netFrames++;
|
m_netFrames++;
|
||||||
|
|
||||||
|
CYSFFICH fich;
|
||||||
|
bool valid = fich.decode(data + 2U);
|
||||||
|
if (valid) {
|
||||||
|
// XXX Should set the downlink callsign
|
||||||
|
fich.setVoIP(true);
|
||||||
|
fich.setMR(YSF_MR_NOT_BUSY);
|
||||||
|
fich.encode(data + 2U);
|
||||||
|
}
|
||||||
|
|
||||||
writeQueueNet(data);
|
writeQueueNet(data);
|
||||||
|
|
||||||
if (data[0U] == TAG_EOT) {
|
if (data[0U] == TAG_EOT) {
|
||||||
|
|||||||
Reference in New Issue
Block a user