Cap+ FLC/CSBK Tweaks;

This commit is contained in:
lwvmobile
2023-01-17 02:08:25 -05:00
parent 4eb44b3c67
commit 7ca8cb421c
2 changed files with 6 additions and 5 deletions

View File

@@ -655,8 +655,8 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8
fprintf (stderr, "%s", KYEL);
uint8_t fl = (uint8_t)ConvertBitIntoBytes(&cs_pdu_bits[16], 2);
uint8_t ts = cs_pdu_bits[18]; //accurate?
uint8_t res = cs_pdu_bits[19];//unknown??
uint8_t ts = cs_pdu_bits[18]; //accurate?
uint8_t res = cs_pdu_bits[19]; //unknown??
uint8_t rest_channel = (uint8_t)ConvertBitIntoBytes(&cs_pdu_bits[20], 4);
uint8_t ch[8]; //one bit per channel
@@ -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++;

View File

@@ -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 ");