From 58e90298eb5925f686ff1616e6590d53f34a8b32 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Wed, 9 Aug 2023 20:55:29 -0400 Subject: [PATCH] Add M17 CAN Value to Ncurses; Misc; --- include/dsd.h | 1 + src/dsd_main.c | 6 ++++++ src/dsd_ncurses.c | 20 +++++++++----------- src/m17.c | 1 + 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/include/dsd.h b/include/dsd.h index 00ba309..a7955fd 100644 --- a/include/dsd.h +++ b/include/dsd.h @@ -770,6 +770,7 @@ typedef struct unsigned long long int m17_dst; unsigned long long int m17_src; + uint8_t m17_can; char m17_dst_csd[20]; char m17_src_csd[20]; diff --git a/src/dsd_main.c b/src/dsd_main.c index 9a71258..3852e82 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -484,6 +484,7 @@ if(opts->frame_m17 == 1) //&& opts->audio_in_type == 5 state->m17_dst = 0; state->m17_src = 0; + state->m17_can = 0; memset(state->m17_dst_csd, 0, sizeof(state->m17_dst_csd)); memset(state->m17_src_csd, 0, sizeof(state->m17_src_csd)); sprintf (state->m17_dst_str, "%s", ""); @@ -1140,6 +1141,7 @@ initState (dsd_state * state) state->m17_dst = 0; state->m17_src = 0; + state->m17_can = 0; memset(state->m17_dst_csd, 0, sizeof(state->m17_dst_csd)); memset(state->m17_src_csd, 0, sizeof(state->m17_src_csd)); sprintf (state->m17_dst_str, "%s", ""); @@ -1528,6 +1530,10 @@ main (int argc, char **argv) #endif fprintf (stderr,"MBElib Version: %s\n", versionstr); + #ifdef USE_CODEC2 + fprintf (stderr,"CODEC2 Support Enabled\n"); + #endif + initOpts (&opts); initState (&state); diff --git a/src/dsd_ncurses.c b/src/dsd_ncurses.c index 9add35e..5318965 100644 --- a/src/dsd_ncurses.c +++ b/src/dsd_ncurses.c @@ -2235,7 +2235,8 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) printw("%s", FM_bannerN[i]); if (i == 1) printw (" ESC to Menu"); if (i == 2) printw (" 'q' to Quit "); - if (i == 4) printw (" MBElib %s", versionstr); + if (i == 4 && opts->frame_m17 == 0) printw (" MBElib %s", versionstr); + if (i == 4 && opts->frame_m17 == 1) printw (" CODEC2"); #ifdef AERO_BUILD if (i == 5) printw (" %s ", "Aero Build"); if (i == 6) printw (" AW (WIP) \n"); @@ -2482,14 +2483,13 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) { printw ("| "); - printw ("M17 - "); + printw ("M17: "); //insert data type and frame information if (state->m17_str_dt == 0) printw("Reserved"); if (state->m17_str_dt == 1) printw("Data "); if (state->m17_str_dt == 2) printw("Voice (3200) "); if (state->m17_str_dt == 3) printw("Voice (1600) + Data"); - printw (" "); printw ("\n"); printw ("| "); @@ -2500,11 +2500,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) else if (state->m17_dst != 0 && state->m17_dst >= 0xEE6B28000000) printw("RESERVED (%012llx) ", state->m17_dst); else - { - // for (i = 0; i < 9; i++) - // printw ("%c", state->m17_dst_csd[i]); printw("%s", state->m17_dst_str); - } printw ("\n"); printw ("| "); @@ -2513,15 +2509,17 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) if (state->m17_src != 0 && state->m17_src >= 0xEE6B28000000) printw("RESERVED (%012llx)", state->m17_src); else - { - // for (i = 0; i < 9; i++) - // printw ("%c", state->m17_src_csd[i]); printw("%s", state->m17_src_str); - } + printw ("\n"); printw ("| "); + printw ("CAN: %02d ", state->m17_can); + + printw ("\n"); + printw ("| "); + //fill in any extra info, like Meta (IV, etc) if (state->m17_enc == 2) diff --git a/src/m17.c b/src/m17.c index ab1cc7c..b2143a2 100644 --- a/src/m17.c +++ b/src/m17.c @@ -146,6 +146,7 @@ void M17decodeLSF(dsd_state * state) state->m17_str_dt = lsf_dt; state->m17_dst = lsf_dst; state->m17_src = lsf_src; + state->m17_can = lsf_cn; fprintf (stderr, "\n");