Prefer no-squelch rtl_fm startup profile for Morse

This commit is contained in:
Smittix
2026-02-26 12:28:53 +00:00
parent 4560ec1800
commit 99db7f1faf
2 changed files with 7 additions and 6 deletions
+5 -4
View File
@@ -306,17 +306,18 @@ def start_morse() -> Response:
can_try_direct_sampling = bool(sdr_device.sdr_type == SDRType.RTL_SDR and freq < 24.0)
if can_try_direct_sampling:
# Prefer direct2 with explicit squelch-off, then retry with safer variants
# if the command starts but never emits PCM.
# Cross-platform note: some rtl_fm builds treat "-l 0" as hard squelch and
# emit no PCM. Try the no-"-l" form first, then legacy variants.
command_attempts = [
{'use_direct_sampling': True, 'force_squelch_off': True},
{'use_direct_sampling': True, 'force_squelch_off': False},
{'use_direct_sampling': True, 'force_squelch_off': True},
{'use_direct_sampling': False, 'force_squelch_off': False},
{'use_direct_sampling': False, 'force_squelch_off': True},
]
else:
command_attempts = [
{'use_direct_sampling': False, 'force_squelch_off': True},
{'use_direct_sampling': False, 'force_squelch_off': False},
{'use_direct_sampling': False, 'force_squelch_off': True},
]
rtl_process: subprocess.Popen | None = None
+2 -2
View File
@@ -379,9 +379,9 @@ class TestMorseLifecycleRoutes:
assert start_resp.get_json()['status'] == 'started'
assert len(popen_cmds) >= 2
assert '-E' in popen_cmds[0] and 'direct2' in popen_cmds[0]
assert '-l' in popen_cmds[0]
assert '-l' not in popen_cmds[0]
assert '-E' in popen_cmds[1] and 'direct2' in popen_cmds[1]
assert '-l' not in popen_cmds[1]
assert '-l' in popen_cmds[1]
stop_resp = client.post('/morse/stop')
assert stop_resp.status_code == 200