From 166bbbbc7289d4d054d9a78e64e22ec0997c0dc5 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Mon, 5 Feb 2024 23:24:59 -0500 Subject: [PATCH] DMR - P_Clear wait by trunk hangtime; RC PDU tweak; --- src/dmr_csbk.c | 3 ++- src/dmr_le.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dmr_csbk.c b/src/dmr_csbk.c index 7cc5d3b..477711f 100644 --- a/src/dmr_csbk.c +++ b/src/dmr_csbk.c @@ -409,7 +409,8 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 if (state->currentslot == 1 && state->tg_hold == state->lasttgR && state->tg_hold != 0) clear = 5; //make sure we aren't sent back immediately by an p_clear condition upon first tuning (i.e., random ENC LO, or end of Data Call) - if ( time(NULL)-state->last_t3_tune_time < 1) clear = 0; //one second should be an optimal time, not too short, but not too long + //one second default on hangtime should be an optimal time, but let it be user configurable with hangtime option + if ( time(NULL)-state->last_t3_tune_time < opts->trunk_hangtime) clear = 0; //initial line break fprintf (stderr, "\n"); diff --git a/src/dmr_le.c b/src/dmr_le.c index 11359cf..293ff66 100644 --- a/src/dmr_le.c +++ b/src/dmr_le.c @@ -323,7 +323,7 @@ void dmr_sbrc (dsd_opts * opts, dsd_state * state, uint8_t power) } if (irr_err == 0) { - if (sbrc_hex == 0) ; //NULL, do nothing + if (sbrc_hex == 0 && crc7_okay == 0) ; //NULL Single Burst, do nothing (changed to allow the 0 value of RC below to trigger) //else if (placeholder for future conditions) // {