From d063a1da1e0e949a4e3ffb37e8a57adfe630c1af Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sun, 19 Sep 2021 14:25:12 +0100 Subject: [PATCH] Change the EOT handling on TX. --- M17TX.cpp | 29 +---------------------------- M17TX.h | 4 +--- SerialPort.cpp | 6 +++--- Version.h | 2 +- 4 files changed, 6 insertions(+), 35 deletions(-) diff --git a/M17TX.cpp b/M17TX.cpp index 7002aae..eb19833 100644 --- a/M17TX.cpp +++ b/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]; diff --git a/M17TX.h b/M17TX.h index e9e8788..850fcf1 100644 --- a/M17TX.h +++ b/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(); diff --git a/SerialPort.cpp b/SerialPort.cpp index bde5a4d..b8514b6 100644 --- a/SerialPort.cpp +++ b/SerialPort.cpp @@ -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) diff --git a/Version.h b/Version.h index 28fabf2..1fe51b9 100644 --- a/Version.h +++ b/Version.h @@ -19,7 +19,7 @@ #if !defined(VERSION_H) #define VERSION_H -#define VERSION "20210906" +#define VERSION "20210919" #endif