diff --git a/src/dsd_main.c b/src/dsd_main.c index 9b202d6..0defb59 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -1369,12 +1369,12 @@ liveScanner (dsd_opts * opts, dsd_state * state) { open_rtlsdr_stream(opts); opts->rtl_started = 1; //set here so ncurses terminal doesn't attempt to open it again - #ifdef __arm__ - fprintf (stderr, "WARNING: RMS Function is Disabled on ARM Devices (Raspberry Pi) due to High CPU use. \n"); - fprintf (stderr, "RMS/Squelch Functionality for NXDN, dPMR, EDACS Analog, M17 and Raw Audio Monitor are unavailable and these modes will not function properly. \n"); - if (opts->monitor_input_audio == 1) opts->monitor_input_audio = 0; - opts->rtl_squelch_level = 0; - #endif + // #ifdef __arm__ + // fprintf (stderr, "WARNING: RMS Function is Disabled on ARM Devices (Raspberry Pi) due to High CPU use. \n"); + // fprintf (stderr, "RMS/Squelch Functionality for NXDN, dPMR, EDACS Analog, M17 and Raw Audio Monitor are unavailable and these modes will not function properly. \n"); + // if (opts->monitor_input_audio == 1) opts->monitor_input_audio = 0; + // opts->rtl_squelch_level = 0; + // #endif } #endif diff --git a/src/edacs-fme.c b/src/edacs-fme.c index ab984cd..9ffd458 100644 --- a/src/edacs-fme.c +++ b/src/edacs-fme.c @@ -642,10 +642,10 @@ void edacs(dsd_opts * opts, dsd_state * state) fprintf (stderr, " Digital"); //skip analog calls on RTL Input on ARM devices due to High CPU usage from RTL RMS function - #ifdef __arm__ - if (command == 0xEE && opts->audio_in_type == 3) - goto ENDPV; - #endif + // #ifdef __arm__ + // if (command == 0xEE && opts->audio_in_type == 3) + // goto ENDPV; + // #endif //skip analog calls on UDP Audio Output if (command == 0xEE && opts->audio_out_type == 8) diff --git a/src/rtl_sdr_fm.cpp b/src/rtl_sdr_fm.cpp index 4d2c256..54400e7 100644 --- a/src/rtl_sdr_fm.cpp +++ b/src/rtl_sdr_fm.cpp @@ -1130,11 +1130,15 @@ void rtl_dev_tune(dsd_opts * opts, long int frequency) long int rtl_return_rms() { long int sr = 0; - #ifdef __arm__ - sr = 100; - #else - sr = rms(demod.lowpassed, demod.lp_len, 1); - #endif + // #ifdef __arm__ + // sr = 100; + // #else + //debug -- on main machine, lp_len is around 6420, so this probably contributes to very high CPU usage + // fprintf (stderr, "LP_LEN: %d \n", demod.lp_len); + //I've found that just using a sample size of 160 will give us a good approximation without killing the CPU + // sr = rms(demod.lowpassed, demod.lp_len, 1); + sr = rms(demod.lowpassed, 160, 1); //I wonder what a reasonable value would be for #2 (input len) there + // #endif return (sr); }