From 54745130c227463de0da04d23a7c9961ade09520 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Wed, 27 Oct 2021 21:28:43 +0100 Subject: [PATCH] Add the transmit function. --- CalM17.cpp | 16 +++++++++++++++- CalM17.h | 3 +++ SerialPort.cpp | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CalM17.cpp b/CalM17.cpp index 5d4b1f82..4c567f2e 100644 --- a/CalM17.cpp +++ b/CalM17.cpp @@ -33,7 +33,8 @@ const uint8_t PREAMBLE[] = {0x00U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U, 0x77U}; -CCalM17::CCalM17() +CCalM17::CCalM17() : +m_transmit(false) { } @@ -41,6 +42,9 @@ void CCalM17::process() { m17TX.process(); + if (!m_transmit) + return; + uint16_t space = m17TX.getSpace(); if (space < 2U) return; @@ -48,5 +52,15 @@ void CCalM17::process() m17TX.writeData(PREAMBLE, M17_FRAME_LENGTH_BYTES + 1U); } +uint8_t CCalM17::write(const uint8_t* data, uint16_t length) +{ + if (length != 1U) + return 4U; + + m_transmit = data[0U] == 1U; + + return 0U; +} + #endif diff --git a/CalM17.h b/CalM17.h index 47c47e14..bf8257ea 100644 --- a/CalM17.h +++ b/CalM17.h @@ -31,7 +31,10 @@ class CCalM17 { void process(); + uint8_t write(const uint8_t* data, uint16_t length); + private: + bool m_transmit; }; #endif diff --git a/SerialPort.cpp b/SerialPort.cpp index 477db942..d552efa2 100644 --- a/SerialPort.cpp +++ b/SerialPort.cpp @@ -1109,7 +1109,7 @@ void CSerialPort::processMessage(uint8_t type, const uint8_t* buffer, uint16_t l #endif #if defined(MODE_M17) if (m_modemState == STATE_M17CAL) - err = 0U; + err = calM17.write(buffer, length); #endif #if defined(MODE_POCSAG) if (m_modemState == STATE_POCSAGCAL)