From f503c4732c6fe6b896447de6e28d65526f2cc370 Mon Sep 17 00:00:00 2001 From: OA6DXV Date: Sun, 16 Mar 2025 16:44:52 -0500 Subject: [PATCH] Added configurable stats update interval --- src/output.cpp | 4 ++-- src/rtl_airband.cpp | 5 +++++ src/rtl_airband.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/output.cpp b/src/output.cpp index 31d9134..26678f4 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -835,8 +835,8 @@ void write_stats_file(timeval *last_stats_write) { timeval current_time; gettimeofday(¤t_time, NULL); - static const double STATS_FILE_TIMING = 15.0; - if (!do_exit && delta_sec(last_stats_write, ¤t_time) < STATS_FILE_TIMING) { + extern int stats_update_interval; + if (!do_exit && delta_sec(last_stats_write, ¤t_time) < stats_update_interval ) { return; } diff --git a/src/rtl_airband.cpp b/src/rtl_airband.cpp index 9c06a52..3444e14 100644 --- a/src/rtl_airband.cpp +++ b/src/rtl_airband.cpp @@ -82,6 +82,7 @@ bool log_scan_activity = false; char *stats_filepath = NULL; size_t fft_size_log = DEFAULT_FFT_SIZE_LOG; size_t fft_size = 1 << fft_size_log; +int stats_update_interval = 15; // Stats update every 15 seconf by default #ifdef NFM float alpha = exp(-1.0f/(WAVE_RATE * 2e-4)); @@ -846,6 +847,10 @@ int main(int argc, char* argv[]) { log_scan_activity = true; if(root.exists("stats_filepath")) stats_filepath = strdup(root["stats_filepath"]); + if (root.exists("stats_update_interval")) { + stats_update_interval = (int)root["stats_update_interval"]; + } + #ifdef NFM if(root.exists("tau")) alpha = ((int)root["tau"] == 0 ? 0.0f : exp(-1.0f/(WAVE_RATE * 1e-6 * (int)root["tau"]))); diff --git a/src/rtl_airband.h b/src/rtl_airband.h index 3f0da97..ee7b66b 100644 --- a/src/rtl_airband.h +++ b/src/rtl_airband.h @@ -348,6 +348,7 @@ extern volatile int do_exit, device_opened; extern float alpha; extern device_t *devices; extern mixer_t *mixers; +extern int stats_update_interval; // util.cpp int atomic_inc(volatile int *pv);