From 20882d5100adf838bcc97f347edca3a76b84e3c0 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Sun, 9 Jul 2023 01:25:14 -0400 Subject: [PATCH] whoops actually fix the PDU confirmed last block problem; --- src/p25/data/DataBlock.cpp | 5 ++--- src/p25/packet/Data.cpp | 5 ----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/p25/data/DataBlock.cpp b/src/p25/data/DataBlock.cpp index 4f9a9f51..1e477a12 100644 --- a/src/p25/data/DataBlock.cpp +++ b/src/p25/data/DataBlock.cpp @@ -91,10 +91,9 @@ bool DataBlock::decode(const uint8_t* data, const DataHeader header) return false; } - // determine the number of user data bytes + // determine if this is the last data block uint32_t count = P25_PDU_CONFIRMED_DATA_LENGTH_BYTES; - if ((m_serialNo == (header.getBlocksToFollow() - 1) && header.getBlocksToFollow() > 1) || - (m_headerSap == PDU_SAP_EXT_ADDR && m_serialNo == 0U)) { + if (m_serialNo == (header.getBlocksToFollow() - 1) && header.getBlocksToFollow() > 1) { m_lastBlock = true; } else { if (header.getBlocksToFollow() <= 1) { diff --git a/src/p25/packet/Data.cpp b/src/p25/packet/Data.cpp index 76899d4c..b35d83a8 100644 --- a/src/p25/packet/Data.cpp +++ b/src/p25/packet/Data.cpp @@ -226,11 +226,6 @@ bool Data::process(uint8_t* data, uint32_t len) if (ret) { if (m_rfDataHeader.getSAP() == PDU_SAP_EXT_ADDR && m_rfDataHeader.getFormat() == PDU_FMT_CONFIRMED && m_rfData[i].getSerialNo() == 0U) { - // bryanb: HACK - workaround for some vendors setting lastBlock to true when it shouldn't be - if (blocksToFollow > 1 && m_rfData[i].getLastBlock()) { - m_rfData[i].setLastBlock(false); - } - LogMessage(LOG_RF, P25_PDU_STR ", block %u, fmt = $%02X, lastBlock = %u, sap = $%02X, llId = %u", m_rfData[i].getSerialNo(), m_rfData[i].getFormat(), m_rfData[i].getLastBlock(), m_rfData[i].getSAP(), m_rfData[i].getLLId()); m_rfSecondHeader.reset();