From f369d645b1a5819eea058a2cb0ce210103d74967 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Sun, 29 Jan 2023 16:09:44 -0500 Subject: [PATCH] DMR FLCO - Check PF First; --- src/dmr_flco.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/dmr_flco.c b/src/dmr_flco.c index 38b5f35..3e0bcd6 100644 --- a/src/dmr_flco.c +++ b/src/dmr_flco.c @@ -42,6 +42,17 @@ void dmr_flco (dsd_opts * opts, dsd_state * state, uint8_t lc_bits[], uint32_t C target = (uint32_t)ConvertBitIntoBytes(&lc_bits[24], 24); //Target or Talk Group source = (uint32_t)ConvertBitIntoBytes(&lc_bits[48], 24); + //check protect flag + if (pf == 1) + { + if (type == 1) fprintf (stderr, "%s \n", KRED); + if (type == 2) fprintf (stderr, "%s \n", KRED); + if (type == 3) fprintf (stderr, "%s", KRED); + fprintf (stderr, " SLOT %d", state->currentslot+1); + fprintf (stderr, " Protected LC "); + goto END_FLCO; + } + //look for Cap+ on VLC header, then set source and/or rest channel appropriately if (IrrecoverableErrors == 0 && type == 1 && fid == 0x10 && (flco == 0x04 || flco == 0x07) ) //0x07 appears to be a cap+ txi private call { @@ -340,11 +351,11 @@ void dmr_flco (dsd_opts * opts, dsd_state * state, uint8_t lc_bits[], uint32_t C } END_FLCO: - if (unk == 1) + if (unk == 1 || pf == 1) { fprintf(stderr, " FLCO=0x%02X FID=0x%02X SVC=0x%02X ", flco, fid, so); fprintf (stderr, "%s", KNRM); - } + } if(IrrecoverableErrors != 0) {