diff --git a/routes/sensor.py b/routes/sensor.py
index e5a719e..a60210c 100644
--- a/routes/sensor.py
+++ b/routes/sensor.py
@@ -18,8 +18,8 @@ from utils.validation import (
validate_frequency, validate_device_index, validate_gain, validate_ppm,
validate_rtl_tcp_host, validate_rtl_tcp_port
)
-from utils.sse import format_sse
-from utils.event_pipeline import process_event
+from utils.sse import format_sse
+from utils.event_pipeline import process_event
from utils.process import safe_terminate, register_process, unregister_process
from utils.sdr import SDRFactory, SDRType
@@ -45,6 +45,21 @@ def stream_sensor_output(process: subprocess.Popen[bytes]) -> None:
data['type'] = 'sensor'
app_module.sensor_queue.put(data)
+ # Push scope event when signal level data is present
+ rssi = data.get('rssi')
+ snr = data.get('snr')
+ noise = data.get('noise')
+ if rssi is not None or snr is not None:
+ try:
+ app_module.sensor_queue.put_nowait({
+ 'type': 'scope',
+ 'rssi': rssi if rssi is not None else 0,
+ 'snr': snr if snr is not None else 0,
+ 'noise': noise if noise is not None else 0,
+ })
+ except queue.Full:
+ pass
+
# Log if enabled
if app_module.logging_enabled:
try:
@@ -158,6 +173,9 @@ def start_sensor() -> Response:
full_cmd = ' '.join(cmd)
logger.info(f"Running: {full_cmd}")
+ # Add signal level metadata so the frontend scope can display RSSI/SNR
+ cmd.extend(['-M', 'level'])
+
try:
app_module.sensor_process = subprocess.Popen(
cmd,
@@ -232,13 +250,13 @@ def stream_sensor() -> Response:
while True:
try:
- msg = app_module.sensor_queue.get(timeout=1)
- last_keepalive = time.time()
- try:
- process_event('sensor', msg, msg.get('type'))
- except Exception:
- pass
- yield format_sse(msg)
+ msg = app_module.sensor_queue.get(timeout=1)
+ last_keepalive = time.time()
+ try:
+ process_event('sensor', msg, msg.get('type'))
+ except Exception:
+ pass
+ yield format_sse(msg)
except queue.Empty:
now = time.time()
if now - last_keepalive >= keepalive_interval:
diff --git a/templates/index.html b/templates/index.html
index e0bab5d..a2772b4 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -2200,10 +2200,6 @@