mirror of https://github.com/g4klx/MMDVM.git
Change the EOT handling on TX.
This commit is contained in:
parent
6a4dad4c44
commit
d063a1da1e
29
M17TX.cpp
29
M17TX.cpp
|
@ -114,7 +114,7 @@ void CM17TX::process()
|
|||
}
|
||||
}
|
||||
|
||||
uint8_t CM17TX::writeLinkSetup(const uint8_t* data, uint8_t length)
|
||||
uint8_t CM17TX::writeData(const uint8_t* data, uint8_t length)
|
||||
{
|
||||
if (length != (M17_FRAME_LENGTH_BYTES + 1U))
|
||||
return 4U;
|
||||
|
@ -129,33 +129,6 @@ uint8_t CM17TX::writeLinkSetup(const uint8_t* data, uint8_t length)
|
|||
return 0U;
|
||||
}
|
||||
|
||||
uint8_t CM17TX::writeStream(const uint8_t* data, uint8_t length)
|
||||
{
|
||||
if (length != (M17_FRAME_LENGTH_BYTES + 1U))
|
||||
return 4U;
|
||||
|
||||
uint16_t space = m_buffer.getSpace();
|
||||
if (space < M17_FRAME_LENGTH_BYTES)
|
||||
return 5U;
|
||||
|
||||
for (uint8_t i = 0U; i < M17_FRAME_LENGTH_BYTES; i++)
|
||||
m_buffer.put(data[i + 1U]);
|
||||
|
||||
return 0U;
|
||||
}
|
||||
|
||||
uint8_t CM17TX::writeEOT()
|
||||
{
|
||||
uint16_t space = m_buffer.getSpace();
|
||||
if (space < M17_SYNC_LENGTH_BYTES)
|
||||
return 5U;
|
||||
|
||||
for (uint8_t i = 0U; i < M17_SYNC_LENGTH_BYTES; i++)
|
||||
m_buffer.put(M17_EOF_SYNC_BYTES[i]);
|
||||
|
||||
return 0U;
|
||||
}
|
||||
|
||||
void CM17TX::writeByte(uint8_t c)
|
||||
{
|
||||
q15_t inBuffer[4U];
|
||||
|
|
4
M17TX.h
4
M17TX.h
|
@ -29,9 +29,7 @@ class CM17TX {
|
|||
public:
|
||||
CM17TX();
|
||||
|
||||
uint8_t writeLinkSetup(const uint8_t* data, uint8_t length);
|
||||
uint8_t writeStream(const uint8_t* data, uint8_t length);
|
||||
uint8_t writeEOT();
|
||||
uint8_t writeData(const uint8_t* data, uint8_t length);
|
||||
|
||||
void process();
|
||||
|
||||
|
|
|
@ -1307,7 +1307,7 @@ void CSerialPort::processMessage(uint8_t type, const uint8_t* buffer, uint16_t l
|
|||
case MMDVM_M17_LINK_SETUP:
|
||||
if (m_m17Enable) {
|
||||
if (m_modemState == STATE_IDLE || m_modemState == STATE_M17)
|
||||
err = m17TX.writeLinkSetup(buffer, length);
|
||||
err = m17TX.writeData(buffer, length);
|
||||
}
|
||||
if (err == 0U) {
|
||||
if (m_modemState == STATE_IDLE)
|
||||
|
@ -1321,7 +1321,7 @@ void CSerialPort::processMessage(uint8_t type, const uint8_t* buffer, uint16_t l
|
|||
case MMDVM_M17_STREAM:
|
||||
if (m_m17Enable) {
|
||||
if (m_modemState == STATE_IDLE || m_modemState == STATE_M17)
|
||||
err = m17TX.writeStream(buffer, length);
|
||||
err = m17TX.writeData(buffer, length);
|
||||
}
|
||||
if (err == 0U) {
|
||||
if (m_modemState == STATE_IDLE)
|
||||
|
@ -1335,7 +1335,7 @@ void CSerialPort::processMessage(uint8_t type, const uint8_t* buffer, uint16_t l
|
|||
case MMDVM_M17_EOT:
|
||||
if (m_m17Enable) {
|
||||
if (m_modemState == STATE_IDLE || m_modemState == STATE_M17)
|
||||
err = m17TX.writeEOT();
|
||||
err = m17TX.writeData(buffer, length);
|
||||
}
|
||||
if (err == 0U) {
|
||||
if (m_modemState == STATE_IDLE)
|
||||
|
|
Loading…
Reference in New Issue