diff --git a/src/dsd_main.c b/src/dsd_main.c index 0db437d..6708662 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -1360,6 +1360,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 } #endif diff --git a/src/edacs-fme.c b/src/edacs-fme.c index 87454f0..69095c3 100644 --- a/src/edacs-fme.c +++ b/src/edacs-fme.c @@ -612,6 +612,11 @@ void edacs(dsd_opts * opts, dsd_state * state) else fprintf (stderr, " Digital"); + //disable 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) + command = 0; + #endif //this is working now with the new import setup if (opts->p25_trunk == 1 && (strcmp(mode, "DE") != 0) && (strcmp(mode, "B") != 0) ) //DE is digital encrypted, B is block diff --git a/src/rtl_sdr_fm.cpp b/src/rtl_sdr_fm.cpp index 62f860f..4d2c256 100644 --- a/src/rtl_sdr_fm.cpp +++ b/src/rtl_sdr_fm.cpp @@ -1130,7 +1130,11 @@ 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 return (sr); }