mirror of
https://github.com/g4klx/MMDVM.git
synced 2026-10-11 14:24:11 +02:00
Add FM EOT
This commit is contained in:
@@ -411,6 +411,8 @@ void CFM::kerchunkRFState(bool validSignal)
|
||||
m_ackMinTimer.stop();
|
||||
m_callsignTimer.stop();
|
||||
m_statusTimer.stop();
|
||||
|
||||
serial.writeFMEOT();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -423,6 +425,8 @@ void CFM::relayingRFState(bool validSignal)
|
||||
m_ackMinTimer.stop();
|
||||
m_timeoutTimer.stop();
|
||||
m_timeoutTone.start();
|
||||
|
||||
serial.writeFMEOT();
|
||||
}
|
||||
} else {
|
||||
DEBUG1("State to RELAYING_WAIT_RF");
|
||||
@@ -574,10 +578,13 @@ void CFM::hangState(bool validRFSignal, bool validExtSignal)
|
||||
m_hangTimer.stop();
|
||||
m_statusTimer.stop();
|
||||
|
||||
serial.writeFMEOT();
|
||||
|
||||
if (m_callsignAtEnd)
|
||||
sendCallsign();
|
||||
|
||||
m_callsignTimer.stop();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+19
-1
@@ -71,6 +71,7 @@ const uint8_t MMDVM_FM_PARAMS3 = 0x62U;
|
||||
const uint8_t MMDVM_FM_PARAMS4 = 0x63U;
|
||||
const uint8_t MMDVM_FM_DATA = 0x65U;
|
||||
const uint8_t MMDVM_FM_STATUS = 0x66U;
|
||||
const uint8_t MMDVM_FM_EOT = 0x67U;
|
||||
|
||||
const uint8_t MMDVM_ACK = 0x70U;
|
||||
const uint8_t MMDVM_NAK = 0x7FU;
|
||||
@@ -1286,7 +1287,24 @@ void CSerialPort::writeFMStatus(uint8_t status)
|
||||
reply[2U] = MMDVM_FM_STATUS;
|
||||
reply[3U] = status;
|
||||
|
||||
writeInt(1U, reply, 4);
|
||||
writeInt(1U, reply, 4Us);
|
||||
}
|
||||
|
||||
void CSerialPort::writeFMEOT()
|
||||
{
|
||||
if (m_modemState != STATE_FM && m_modemState != STATE_IDLE)
|
||||
return;
|
||||
|
||||
if (!m_fmEnable)
|
||||
return;
|
||||
|
||||
uint8_t reply[10U];
|
||||
|
||||
reply[0U] = MMDVM_FRAME_START;
|
||||
reply[1U] = 4U;
|
||||
reply[2U] = MMDVM_FM_EOT;
|
||||
|
||||
writeInt(1U, reply, 3U);
|
||||
}
|
||||
|
||||
void CSerialPort::writeCalData(const uint8_t* data, uint8_t length)
|
||||
|
||||
@@ -52,6 +52,7 @@ public:
|
||||
|
||||
void writeFMData(const uint8_t* data, uint8_t length);
|
||||
void writeFMStatus(uint8_t status);
|
||||
void writeFMEOT();
|
||||
|
||||
void writeCalData(const uint8_t* data, uint8_t length);
|
||||
void writeRSSIData(const uint8_t* data, uint8_t length);
|
||||
|
||||
Reference in New Issue
Block a user