From 4821d0e95907723c5ab2cce15d15709099bbca5d Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Fri, 20 Jul 2018 14:17:33 -0400 Subject: [PATCH] Fix for missing POCSAG start tone --- MMDVM.cpp | 2 +- MMDVM.ino | 2 +- POCSAGTX.cpp | 8 ++++++++ POCSAGTX.h | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/MMDVM.cpp b/MMDVM.cpp index 639a068..6fd894c 100644 --- a/MMDVM.cpp +++ b/MMDVM.cpp @@ -102,7 +102,7 @@ void loop() if (m_nxdnEnable && m_modemState == STATE_NXDN) nxdnTX.process(); - if (m_pocsagEnable && m_modemState == STATE_POCSAG) + if (m_pocsagEnable && (m_modemState == STATE_POCSAG || pocsagTX.busy())) pocsagTX.process(); if (m_modemState == STATE_DSTARCAL) diff --git a/MMDVM.ino b/MMDVM.ino index ff317eb..ff392e1 100644 --- a/MMDVM.ino +++ b/MMDVM.ino @@ -99,7 +99,7 @@ void loop() if (m_nxdnEnable && m_modemState == STATE_NXDN) nxdnTX.process(); - if (m_pocsagEnable && m_modemState == STATE_POCSAG) + if (m_pocsagEnable && (m_modemState == STATE_POCSAG || pocsagTX.busy())) pocsagTX.process(); if (m_modemState == STATE_DSTARCAL) diff --git a/POCSAGTX.cpp b/POCSAGTX.cpp index 8306410..32df9cc 100644 --- a/POCSAGTX.cpp +++ b/POCSAGTX.cpp @@ -87,6 +87,14 @@ void CPOCSAGTX::process() } } +bool CPOCSAGTX::busy() +{ + if (m_poLen > 0U) + return true; + else + return false; +} + uint8_t CPOCSAGTX::writeData(const uint8_t* data, uint8_t length) { if (length != POCSAG_FRAME_LENGTH_BYTES) diff --git a/POCSAGTX.h b/POCSAGTX.h index ea41b7f..8cd75f7 100644 --- a/POCSAGTX.h +++ b/POCSAGTX.h @@ -35,6 +35,8 @@ public: uint8_t getSpace() const; + bool busy(); + private: CSerialRB m_buffer; arm_fir_instance_q15 m_modFilter;