From a89581446f6ed3a442285905c9cd9e1b925663ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= <mordae@anilinux.org>
Date: Sat, 27 Jan 2024 20:01:39 +0100
Subject: [PATCH] Fix delta, stats print
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jan Hamal Dvořák <mordae@anilinux.org>
---
 src/main.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/main.c b/src/main.c
index a974051..03ec651 100644
--- a/src/main.c
+++ b/src/main.c
@@ -453,8 +453,8 @@ static void rf_rx(void)
 			dma_channel_start(rx_dma);
 
 		int delta = ~dma_hw->ch[rx_dma].transfer_count - prev_transfers;
-		delta_avg = (delta_avg * 1023 + delta * 1024) / 1024;
-		int delta_netto = delta_avg / 1024;
+		delta_avg = (delta_avg * 1023 + delta * 256) / 1024;
+		int delta_netto = delta_avg / 256;
 
 		if (delta_netto == (prev_delta_netto - 1)) {
 			delta_netto = prev_delta_netto;
@@ -762,8 +762,8 @@ static void command(const char *cmd)
 
 			float rssi_rel = st.rssi_raw / st.rssi_max;
 
-			printf("%5.1f dB (%4u) [%5u %+7i] %+5.1f ", 10.0f * log10f(rssi_rel),
-			       (unsigned)sqrt(st.rssi_raw), st.sample_rate,
+			printf("%5.1f dB (%5.0f) [%5u %+7i] %+5.1f ", 10.0f * log10f(rssi_rel),
+			       sqrtf(st.rssi_raw), st.sample_rate,
 			       (abs(st.frequency) > (int)(st.sample_rate / 2)) ? 0 : st.frequency,
 			       180.0f * st.angle / (float)INT_MAX);