Fix for missing POCSAG start tone

This commit is contained in:
Andy CA6JAU 2018-07-20 14:17:33 -04:00
parent db3649827f
commit 4821d0e959
4 changed files with 12 additions and 2 deletions

View File

@ -102,7 +102,7 @@ void loop()
if (m_nxdnEnable && m_modemState == STATE_NXDN) if (m_nxdnEnable && m_modemState == STATE_NXDN)
nxdnTX.process(); nxdnTX.process();
if (m_pocsagEnable && m_modemState == STATE_POCSAG) if (m_pocsagEnable && (m_modemState == STATE_POCSAG || pocsagTX.busy()))
pocsagTX.process(); pocsagTX.process();
if (m_modemState == STATE_DSTARCAL) if (m_modemState == STATE_DSTARCAL)

View File

@ -99,7 +99,7 @@ void loop()
if (m_nxdnEnable && m_modemState == STATE_NXDN) if (m_nxdnEnable && m_modemState == STATE_NXDN)
nxdnTX.process(); nxdnTX.process();
if (m_pocsagEnable && m_modemState == STATE_POCSAG) if (m_pocsagEnable && (m_modemState == STATE_POCSAG || pocsagTX.busy()))
pocsagTX.process(); pocsagTX.process();
if (m_modemState == STATE_DSTARCAL) if (m_modemState == STATE_DSTARCAL)

View File

@ -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) uint8_t CPOCSAGTX::writeData(const uint8_t* data, uint8_t length)
{ {
if (length != POCSAG_FRAME_LENGTH_BYTES) if (length != POCSAG_FRAME_LENGTH_BYTES)

View File

@ -35,6 +35,8 @@ public:
uint8_t getSpace() const; uint8_t getSpace() const;
bool busy();
private: private:
CSerialRB m_buffer; CSerialRB m_buffer;
arm_fir_instance_q15 m_modFilter; arm_fir_instance_q15 m_modFilter;