From 5b6e46cef3723b804cddb6771572d2e5260b2dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= Date: Tue, 27 Feb 2024 20:33:07 +0100 Subject: [PATCH] Print RSSI from AGC in interactive RX mode --- src/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index 436993b..821188c 100644 --- a/src/main.c +++ b/src/main.c @@ -83,6 +83,7 @@ static int dma_ch_tx_cos = -1; static queue_t iq_queue; static int gap = 0; +static int agc = 0; #define PSU_PIN 23 @@ -574,7 +575,6 @@ static void rf_rx(void) int lpQa3 = 0; int64_t dcI = 0, dcQ = 0; - int agc = 0; while (true) { if (multicore_fifo_rvalid()) { @@ -798,10 +798,12 @@ static void do_rx(int rx_pin, int bias_pin, float freq, char mode) fwrite(block, sizeof block, 1, stdout); fflush(stdout); } else { + float rssi = 10.0f * log10f(powf((float)agc / (float)INT_MAX, 2)); + for (int i = 0; i < IQ_BLOCK_LEN / 2; i += 8) { int I = block[i * 2]; int Q = block[i * 2 + 1]; - printf("%2i %12i %12i ", gap, I, Q); + printf("%+4i %+4.0f %12i %12i ", gap, rssi, I, Q); plot_IQ(I, Q); putchar('\n'); }