|
|
|
|
@ -216,6 +216,9 @@ void ModemV24::clock(uint32_t ms)
|
|
|
|
|
bool p25Enable = (m_buffer[3U] & 0x08U) == 0x08U;
|
|
|
|
|
bool nxdnEnable = (m_buffer[3U] & 0x10U) == 0x10U;
|
|
|
|
|
|
|
|
|
|
// Flag indicating if free space is being reported in 16-byte blocks instead of LDUs
|
|
|
|
|
bool spaceInBlocks = (m_buffer[3U] & 0x80) == 0x80;
|
|
|
|
|
|
|
|
|
|
m_modemState = (DVM_STATE)m_buffer[4U];
|
|
|
|
|
|
|
|
|
|
m_tx = (m_buffer[5U] & 0x01U) == 0x01U;
|
|
|
|
|
@ -282,12 +285,21 @@ void ModemV24::clock(uint32_t ms)
|
|
|
|
|
|
|
|
|
|
m_cd = (m_buffer[5U] & 0x40U) == 0x40U;
|
|
|
|
|
|
|
|
|
|
// spaces from the modem are returned in "logical" frame count, not raw byte size
|
|
|
|
|
// DMR and NXDN space are always 0U since the board doesn't support them
|
|
|
|
|
m_dmrSpace1 = 0U;
|
|
|
|
|
m_dmrSpace2 = 0U;
|
|
|
|
|
m_p25Space = m_buffer[10U] * (P25DEF::P25_LDU_FRAME_LENGTH_BYTES);//(P25DEF::P25_PDU_FRAME_LENGTH_BYTES);
|
|
|
|
|
m_nxdnSpace = 0U;
|
|
|
|
|
|
|
|
|
|
// P25 free space can be reported as 16-byte blocks or frames based on the flag above
|
|
|
|
|
if (spaceInBlocks)
|
|
|
|
|
{
|
|
|
|
|
m_p25Space = m_buffer[10U] * 16U;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_p25Space = m_buffer[10U] * (P25DEF::P25_LDU_FRAME_LENGTH_BYTES);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (m_dumpModemStatus) {
|
|
|
|
|
LogDebug(LOG_MODEM, "ModemV24::clock(), CMD_GET_STATUS, isHotspot = %u, dmr = %u / %u, p25 = %u / %u, nxdn = %u / %u, modemState = %u, tx = %u, adcOverflow = %u, rxOverflow = %u, txOverflow = %u, dacOverflow = %u, dmrSpace1 = %u, dmrSpace2 = %u, p25Space = %u, nxdnSpace = %u",
|
|
|
|
|
m_isHotspot, dmrEnable, m_dmrEnabled, p25Enable, m_p25Enabled, nxdnEnable, m_nxdnEnabled, m_modemState, m_tx, adcOverflow, rxOverflow, txOverflow, dacOverflow, m_dmrSpace1, m_dmrSpace2, m_p25Space, m_nxdnSpace);
|
|
|
|
|
|