From 8def0df2ae841b9937523f97af57debed683ce7b Mon Sep 17 00:00:00 2001 From: Steve Pinkham Date: Sun, 12 Jul 2026 12:31:16 -0400 Subject: [PATCH] fix: send_arq_raw busy check compared a threading.Event, not the ARQ state POST /modem/send_arq_raw returned 503 Modem Busy on every request: is_modem_busy is a threading.Event and the object is always truthy. Use getARQ() like the beacon, message send and CQ handler do. Note for later readers: is_set() would be inverted, since setARQ(True) clears the event. getARQ() == True means busy. --- freedata_server/api/modem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/freedata_server/api/modem.py b/freedata_server/api/modem.py index 6df878af..53a68b28 100644 --- a/freedata_server/api/modem.py +++ b/freedata_server/api/modem.py @@ -453,7 +453,7 @@ async def post_arq_raw( """ if not ctx.state_manager.is_modem_running: api_abort("Modem not running.", 503) - if ctx.state_manager.is_modem_busy: + if ctx.state_manager.getARQ(): api_abort("Modem Busy.", 503) dxcall = payload.get("dxcall") data_type = payload.get("type")