From 9f03bbc8a1d620421df74625c18d87ff2aff8aca Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Tue, 17 Jan 2023 02:08:21 -0500 Subject: [PATCH] Cap+ FLC/CSBK Tweaks; --- src/dmr_csbk.c | 3 ++- src/dmr_flco.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/dmr_csbk.c b/src/dmr_csbk.c index 853dcae..8b8ecb3 100644 --- a/src/dmr_csbk.c +++ b/src/dmr_csbk.c @@ -695,7 +695,8 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 if (ch[i] != 0) { tg = (uint8_t)ConvertBitIntoBytes(&cs_pdu_bits[k*8+32], 8); - fprintf (stderr, " %03d ", tg); + if (tg != 0) fprintf (stderr, " %03d ", tg); + else fprintf (stderr, "Priv "); //observed 000s for TG value seem to appear during a Cap+ Private TXI call //add values to trunking tg/channel potentials t_tg[i] = tg; k++; diff --git a/src/dmr_flco.c b/src/dmr_flco.c index e0ef026..c263592 100644 --- a/src/dmr_flco.c +++ b/src/dmr_flco.c @@ -42,7 +42,7 @@ void dmr_flco (dsd_opts * opts, dsd_state * state, uint8_t lc_bits[], uint32_t C source = (uint32_t)ConvertBitIntoBytes(&lc_bits[48], 24); //look for Cap+ on VLC header, then set source and/or rest channel appropriately - if (type == 1 && fid == 0x10 && flco == 0x04) + if (type == 1 && fid == 0x10 && (flco == 0x04 || flco == 0x07) ) //0x07 appears to be a cap+ txi private call { is_cap_plus = 1; capsite = (uint8_t)ConvertBitIntoBytes(&lc_bits[48], 4); //can't verify, just speculating @@ -164,7 +164,7 @@ void dmr_flco (dsd_opts * opts, dsd_state * state, uint8_t lc_bits[], uint32_t C fprintf(stderr, "TGT=%u SRC=%u ", target, source); if (opts->payload == 1) fprintf(stderr, "FLCO=0x%02X FID=0x%02X SVC=0x%02X ", flco, fid, so); - if (flco == 3) //UU_V_Ch_Usr + if (flco == 0x3 || flco == 0x7 || flco == 0x23) //UU_V_Ch_Usr, Cap+ Private TXI call (VLC), or Cap+ Private TXI call (EMB) { sprintf (state->call_string[slot], " Private"); fprintf (stderr, "Private ");