From a3b8839897c573870c5bc2bd98a6b7bec597edef Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Tue, 21 Feb 2023 13:55:15 -0500 Subject: [PATCH] Minor Cap+ and XPT Fix; --- src/dmr_csbk.c | 15 ++++++++------- src/dsd_main.c | 2 +- src/dsd_ncurses.c | 7 +++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/dmr_csbk.c b/src/dmr_csbk.c index 8bfb1fe..8408347 100644 --- a/src/dmr_csbk.c +++ b/src/dmr_csbk.c @@ -788,7 +788,8 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 } //end private/data call check - if (fl != 2) + // if (fl != 2) + if (fl == 1 || fl == 3) { fprintf (stderr, "\n "); @@ -900,7 +901,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 memset (state->cap_plus_csbk_bits, 0, sizeof(state->cap_plus_csbk_bits)); state->cap_plus_block_num = 0; - } //fl != 2 + } //if (fl == 1 || fl == 3) } //opcode == 0x3E } //fid == 0x10 @@ -1119,7 +1120,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 } //without priority, this will tune the first one it finds (if group isn't blocked) - if (t_tg[j+(xpt_seq*6)] != 0 && state->p25_cc_freq != 0 && opts->p25_trunk == 1 && (strcmp(mode, "B") != 0) && (strcmp(mode, "DE") != 0)) + if (t_tg[j+(xpt_seq*6)+1] != 0 && state->p25_cc_freq != 0 && opts->p25_trunk == 1 && (strcmp(mode, "B") != 0) && (strcmp(mode, "DE") != 0)) { if (state->trunk_chan_map[j+(xpt_seq*6)+1] != 0) //if we have a valid frequency { @@ -1128,7 +1129,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 { if (opts->setmod_bw != 0 ) SetModulation(opts->rigctl_sockfd, opts->setmod_bw); SetFreq(opts->rigctl_sockfd, state->trunk_chan_map[j+(xpt_seq*6)+1]); - state->p25_vc_freq[0] = state->p25_vc_freq[1] = state->trunk_chan_map[j+1]; + state->p25_vc_freq[0] = state->p25_vc_freq[1] = state->trunk_chan_map[j+(xpt_seq*6)+1]; opts->p25_is_tuned = 1; //set to 1 to set as currently tuned so we don't keep tuning nonstop dmr_reset_blocks (opts, state); //reset all block gathering since we are tuning away j = 11; //break loop @@ -1138,7 +1139,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 else if (opts->audio_in_type == 3) { rtl_udp_tune (opts, state, state->trunk_chan_map[j+(xpt_seq*6)+1]); - state->p25_vc_freq[0] = state->p25_vc_freq[1] = state->trunk_chan_map[j+1]; + state->p25_vc_freq[0] = state->p25_vc_freq[1] = state->trunk_chan_map[j+(xpt_seq*6)+1]; opts->p25_is_tuned = 1; dmr_reset_blocks (opts, state); //reset all block gathering since we are tuning away j = 11; //break loop @@ -1160,7 +1161,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 //and if calls occur on the home repeater, it'll be too busy with those to go to the free repeater //DSD-FME doesn't have any sort of TG priority, so its first come first served, just block or allow - } + } //end 0x0A //XPT Site Information - Adj Site Info if (csbk_o == 0x0B) @@ -1217,7 +1218,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 sprintf (state->dmr_branding_sub, "XPT "); - } + } //end 0x0B } //end Hytera XPT section diff --git a/src/dsd_main.c b/src/dsd_main.c index f2a3a89..ef5dedf 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -52,7 +52,7 @@ char * FM_banner[9] = { " ██║ ██║ ╚═══██╗██║ ██║   ██╔══╝ ██║╚██╔╝██║██╔══╝ ", " ██████╔╝██████╔╝██████╔╝   ██║ ██║ ╚═╝ ██║███████╗", " ╚═════╝ ╚═════╝ ╚═════╝    ╚═╝ ╚═╝ ╚═╝╚══════╝", - " 'Lite' Edition v2.0.0-36-g2f644f5 Windows 32-bit RC4 " + " 'Lite' Edition v2.0.0-37-g6e4a373 Windows 32-bit RC4 " }; int comp (const void *a, const void *b) diff --git a/src/dsd_ncurses.c b/src/dsd_ncurses.c index fb5690e..9bced6b 100644 --- a/src/dsd_ncurses.c +++ b/src/dsd_ncurses.c @@ -2061,7 +2061,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) if (opts->ncurses_compact == 1) { printw ("------------------------------------------------------------------------------\n"); - printw ("| Digital Speech Decoder: Florida Man Edition - Win32 %s \n", "v2.0.0-36-g2f644f5 RC4"); + printw ("| Digital Speech Decoder: Florida Man Edition - Win32 %s \n", "v2.0.0-37-g6e4a373 RC4"); } if (opts->ncurses_compact == 0) { @@ -2073,7 +2073,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) if (i == 2) printw (" 'q' to Quit "); if (i == 4) printw (" MBElib %s", versionstr); if (i == 5) printw (" %s ", "Win32 RC4"); //printw (" %s \n", GIT_TAG); - if (i == 6) printw (" %s \n", "v2.0.0-36-g2f644f5"); //printw (" %s \n", GIT_TAG); + if (i == 6) printw (" %s \n", "v2.0.0-37-g6e4a373"); //printw (" %s \n", GIT_TAG); else printw ("\n"); } attroff(COLOR_PAIR(6)); //6 @@ -2777,7 +2777,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) // Tuned Frequency Display if (state->p25_vc_freq[0] != 0) { - attron(COLOR_PAIR(5)); + attron(COLOR_PAIR(4)); printw ("Frequency: [%.06lf] MHz ", (double)state->p25_vc_freq[0]/1000000); } if (state->carrier == 1) attron(COLOR_PAIR(3)); @@ -2785,7 +2785,6 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) printw ("\n"); } - printw ("\n"); } // end if not MS } //end DMR BS Types