diff --git a/src/dmr_csbk.c b/src/dmr_csbk.c index bdb784a..5dc7ae4 100644 --- a/src/dmr_csbk.c +++ b/src/dmr_csbk.c @@ -486,10 +486,10 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 { dmr_reset_blocks (opts, state); //reset all block gathering since we are tuning away //reset some strings - sprintf (state->call_string[0], "%s", " "); //21 spaces - sprintf (state->call_string[1], "%s", " "); //21 spaces - sprintf (state->active_channel[0], "%s", ""); - sprintf (state->active_channel[1], "%s", ""); + sprintf (state->call_string[state->currentslot], "%s", " "); //21 spaces + sprintf (state->active_channel[state->currentslot], "%s", ""); + state->last_vc_sync_time = 0; + state->last_cc_sync_time = time(NULL); opts->p25_is_tuned = 0; state->p25_vc_freq[0] = state->p25_vc_freq[1] = 0; if (opts->setmod_bw != 0 ) SetModulation(opts->rigctl_sockfd, opts->setmod_bw); @@ -502,10 +502,10 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 #ifdef USE_RTLSDR dmr_reset_blocks (opts, state); //reset all block gathering since we are tuning away //reset some strings - sprintf (state->call_string[0], "%s", " "); //21 spaces - sprintf (state->call_string[1], "%s", " "); //21 spaces - sprintf (state->active_channel[0], "%s", ""); - sprintf (state->active_channel[1], "%s", ""); + sprintf (state->call_string[state->currentslot], "%s", " "); //21 spaces + sprintf (state->active_channel[state->currentslot], "%s", ""); + state->last_cc_sync_time = time(NULL); + state->last_vc_sync_time = 0; opts->p25_is_tuned = 0; state->p25_vc_freq[0] = state->p25_vc_freq[1] = 0; rtl_dev_tune (opts, state->p25_cc_freq); diff --git a/src/dsd_ncurses.c b/src/dsd_ncurses.c index 286b13e..6b05283 100644 --- a/src/dsd_ncurses.c +++ b/src/dsd_ncurses.c @@ -2516,6 +2516,9 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) printw ( "[%d] \n", (48000*opts->wav_interpolator)/state->samplesPerSymbol); printw ("| Decoding: [%s] ", opts->output_name); if (opts->aggressive_framesync == 0) printw ("CRC/(RAS) "); + //debug -- troubleshoot voice tuning after grant on DMR CC, subsequent grant may not tune because tuner isn't available + if (opts->p25_trunk == 1 && opts->p25_is_tuned == 1) printw ("Tuner Locked "); + if (opts->p25_trunk == 1 && opts->p25_is_tuned == 0) printw ("Tuner Available "); printw ("\n"); printw ("| In Level: [%02d%%] \n", level);