diff --git a/src/dsd_main.c b/src/dsd_main.c index c01aba4..b38cb52 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -1305,6 +1305,12 @@ if (opts->audio_in_type == 1) 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 0f727be..fc267ff 100644 --- a/src/edacs-fme.c +++ b/src/edacs-fme.c @@ -604,6 +604,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 ce90127..99abd75 100644 --- a/src/rtl_sdr_fm.cpp +++ b/src/rtl_sdr_fm.cpp @@ -1117,7 +1117,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); }