From 19864225f674b975db4a0a22c17d68a88127cbf4 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Sat, 5 Apr 2025 07:18:03 -0400 Subject: [PATCH] DMR: Fix Hytera Enhanced Not Muting Properly (OR SVC OPT enc bit); --- src/dmr_flco.c | 2 ++ src/dmr_pi.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/dmr_flco.c b/src/dmr_flco.c index 5e7bd87..9824cac 100644 --- a/src/dmr_flco.c +++ b/src/dmr_flco.c @@ -329,12 +329,14 @@ void dmr_flco (dsd_opts * opts, dsd_state * state, uint8_t lc_bits[], uint32_t C { if (slot == 0) { + state->dmr_so |= 0x40; //OR the enc bit onto the SO state->payload_algid = alg; state->payload_keyid = key; state->payload_mi = mi; } else { + state->dmr_soR |= 0x40; //OR the enc bit onto the SO state->payload_algidR = alg; state->payload_keyidR = key; state->payload_miR = mi; diff --git a/src/dmr_pi.c b/src/dmr_pi.c index 0821116..72dc278 100644 --- a/src/dmr_pi.c +++ b/src/dmr_pi.c @@ -30,6 +30,7 @@ void dmr_pi (dsd_opts * opts, dsd_state * state, uint8_t PI_BYTE[], uint32_t CRC { if (state->currentslot == 0) { + state->dmr_so |= 0x40; //OR the enc bit onto the SO state->payload_algid = PI_BYTE[0]; state->payload_keyid = PI_BYTE[2]; state->payload_mi = ((unsigned long long int)PI_BYTE[3] << 32ULL) | ((unsigned long long int)PI_BYTE[4] << 24) | @@ -37,6 +38,7 @@ void dmr_pi (dsd_opts * opts, dsd_state * state, uint8_t PI_BYTE[], uint32_t CRC } else { + state->dmr_soR |= 0x40; //OR the enc bit onto the SO state->payload_algidR = PI_BYTE[0]; state->payload_keyidR = PI_BYTE[2]; state->payload_miR = ((unsigned long long int)PI_BYTE[3] << 32ULL) | ((unsigned long long int)PI_BYTE[4] << 24) |