diff --git a/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.c b/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.c index 1b2b356..824df43 100644 --- a/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.c +++ b/DSP_API/SmartSDR_Interface/smartsdr_dsp_api.c @@ -312,6 +312,8 @@ uint32 register_mode(void) output(ANSI_CYAN "FreeDV: SUCCESS, closed config file %s\n", cfg_file); } + tc_sendSmartSDRcommand("sub slice all", FALSE, NULL); + return SUCCESS; } diff --git a/DSP_API/SmartSDR_Interface/status_processor.c b/DSP_API/SmartSDR_Interface/status_processor.c index efc8f4e..871845c 100644 --- a/DSP_API/SmartSDR_Interface/status_processor.c +++ b/DSP_API/SmartSDR_Interface/status_processor.c @@ -49,6 +49,7 @@ static void _handle_status(char* string) char* start = strtok_r(string,"|",&save); start = strtok_r(NULL,"|",&save); + // first let's look for a slice status -- these are most important if (strncmp(start, "slice", strlen("slice")) == 0) { @@ -77,7 +78,13 @@ static void _handle_status(char* string) if (strncmp(smode,"FDV",3) == 0) { // we are now in FDV mode - output(ANSI_MAGENTA "slice %d is now in FDV mode\n",slc); + output(ANSI_MAGENTA "slice %d is now in FDV mode - sendig commands\n",slc); + + char cmd[512] = {0}; + sprintf(cmd, "slice s %d digu_offset=1500", slc); + tc_sendSmartSDRcommand(cmd, FALSE, NULL); + sprintf(cmd, "audio client 0 slice %d gain 90", slc); + tc_sendSmartSDRcommand(cmd, FALSE, NULL); } else {