mirror of
https://github.com/g4klx/MMDVM_HS.git
synced 2026-01-20 15:30:21 +01:00
Fix POCSAG cal TX on/off
This commit is contained in:
parent
b7a6edef6d
commit
5932cc227b
|
|
@ -121,11 +121,8 @@ void loop()
|
|||
if (m_nxdnEnable && m_modemState == STATE_NXDN)
|
||||
nxdnTX.process();
|
||||
|
||||
if (m_pocsagEnable && (m_modemState == STATE_POCSAG || pocsagTX.busy())) {
|
||||
if (m_calState == STATE_POCSAGCAL)
|
||||
pocsagTX.setCal(true);
|
||||
if (m_pocsagEnable && (m_modemState == STATE_POCSAG || pocsagTX.busy()))
|
||||
pocsagTX.process();
|
||||
}
|
||||
|
||||
if (m_calState == STATE_DMRCAL || m_calState == STATE_DMRDMO1K || m_calState == STATE_INTCAL)
|
||||
calDMR.process();
|
||||
|
|
|
|||
16
POCSAGTX.cpp
16
POCSAGTX.cpp
|
|
@ -87,8 +87,8 @@ bool CPOCSAGTX::busy()
|
|||
|
||||
uint8_t CPOCSAGTX::writeData(const uint8_t* data, uint8_t length)
|
||||
{
|
||||
//if (length != POCSAG_FRAME_LENGTH_BYTES)
|
||||
//return 4U;
|
||||
if (length != POCSAG_FRAME_LENGTH_BYTES)
|
||||
return 4U;
|
||||
|
||||
uint16_t space = m_buffer.getSpace();
|
||||
if (space < POCSAG_FRAME_LENGTH_BYTES)
|
||||
|
|
@ -128,9 +128,17 @@ uint8_t CPOCSAGTX::getSpace() const
|
|||
return m_buffer.getSpace() / POCSAG_FRAME_LENGTH_BYTES;
|
||||
}
|
||||
|
||||
void CPOCSAGTX::setCal(bool start)
|
||||
uint8_t CPOCSAGTX::setCal(const uint8_t* data, uint8_t length)
|
||||
{
|
||||
m_cal = start ? true : false;
|
||||
if (length != 1U)
|
||||
return 4U;
|
||||
|
||||
m_cal = data[0U] == 1U;
|
||||
|
||||
if (!m_cal)
|
||||
io.ifConf(STATE_POCSAG, true);
|
||||
|
||||
return 0U;
|
||||
}
|
||||
|
||||
void CPOCSAGTX::createCal()
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public:
|
|||
|
||||
void setTXDelay(uint8_t delay);
|
||||
|
||||
void setCal(bool);
|
||||
uint8_t setCal(const uint8_t* data, uint8_t length);
|
||||
|
||||
void createCal();
|
||||
|
||||
|
|
|
|||
|
|
@ -294,8 +294,9 @@ uint8_t CSerialPort::setConfig(const uint8_t* data, uint8_t length)
|
|||
m_pocsagEnable = true;
|
||||
m_modemState = STATE_POCSAG;
|
||||
m_calState = modemState;
|
||||
if (m_firstCal)
|
||||
io.updateCal();
|
||||
//if (m_firstCal)
|
||||
// io.updateCal();
|
||||
io.ifConf(STATE_POCSAG, true);
|
||||
}
|
||||
else {
|
||||
m_modemState = modemState;
|
||||
|
|
@ -329,7 +330,7 @@ uint8_t CSerialPort::setConfig(const uint8_t* data, uint8_t length)
|
|||
|
||||
io.setLoDevYSF(ysfLoDev);
|
||||
|
||||
if (!m_firstCal || (modemState != STATE_DMRCAL && modemState != STATE_DMRDMO1K && modemState != STATE_RSSICAL && modemState != STATE_INTCAL)) {
|
||||
if (!m_firstCal || (modemState != STATE_DMRCAL && modemState != STATE_DMRDMO1K && modemState != STATE_RSSICAL && modemState != STATE_INTCAL && modemState != STATE_POCSAGCAL)) {
|
||||
if(m_dstarEnable)
|
||||
io.ifConf(STATE_DSTAR, true);
|
||||
else if(m_dmrEnable)
|
||||
|
|
@ -391,8 +392,8 @@ uint8_t CSerialPort::setMode(const uint8_t* data, uint8_t length)
|
|||
m_pocsagEnable = true;
|
||||
tmpState = STATE_POCSAG;
|
||||
m_calState = modemState;
|
||||
if (m_firstCal)
|
||||
io.updateCal();
|
||||
//if (m_firstCal)
|
||||
// io.updateCal();
|
||||
}
|
||||
else {
|
||||
tmpState = modemState;
|
||||
|
|
@ -606,7 +607,7 @@ void CSerialPort::process()
|
|||
if (m_calState == STATE_DMRCAL || m_calState == STATE_DMRDMO1K) {
|
||||
err = calDMR.write(m_buffer + 3U, m_len - 3U);
|
||||
} else if (m_calState == STATE_POCSAGCAL) {
|
||||
err = pocsagTX.writeData(m_buffer + 3U, m_len - 3U);
|
||||
err = pocsagTX.setCal(m_buffer + 3U, m_len - 3U);
|
||||
} else if (m_calState == STATE_RSSICAL || m_calState == STATE_INTCAL) {
|
||||
err = 0U;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue