From d5d84d598e965033946d32bb3fd37a6774fb6a56 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Fri, 22 Dec 2023 18:05:33 -0500 Subject: [PATCH] DMR - Fix Data Header Padding Octet Count(try 2); --- src/dmr_block.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dmr_block.c b/src/dmr_block.c index 56153ab..6ec1156 100644 --- a/src/dmr_block.c +++ b/src/dmr_block.c @@ -29,7 +29,8 @@ void dmr_dheader (dsd_opts * opts, dsd_state * state, uint8_t dheader[], uint8_t uint8_t ab = (uint8_t)ConvertBitIntoBytes(&dheader_bits[2], 2); //appended blocks uint8_t dpf = (uint8_t)ConvertBitIntoBytes(&dheader_bits[4], 4); //data packet format uint8_t sap = (uint8_t)ConvertBitIntoBytes(&dheader_bits[8], 4); //service access point - uint8_t poc = (uint8_t)ConvertBitIntoBytes(&dheader_bits[12], 4); //padding octets + uint8_t mpoc = dheader_bits[3]; //most significant bit of the 5-bit Pad Octet Count + uint8_t poc = (uint8_t)ConvertBitIntoBytes(&dheader_bits[12], 4) + (mpoc << 4); //padding octets UNUSED(ab); uint32_t target = (uint32_t)ConvertBitIntoBytes(&dheader_bits[16], 24); //destination llid