added queue timeouts

pull/746/head
DJ2LS 2024-07-19 11:37:13 +02:00
parent 2bb65c4d4b
commit 28c9f824d1
2 changed files with 8 additions and 1 deletions

View File

@ -59,6 +59,8 @@ class DISPATCHER():
self.states = states
self.event_manager = event_manager
self.stop_event = threading.Event()
self._initialize_handlers(config, states)
self.modem = modem
@ -66,6 +68,7 @@ class DISPATCHER():
self.arq_sessions = []
def _initialize_handlers(self, config, states):
"""Initializes various data handlers."""
@ -75,9 +78,12 @@ class DISPATCHER():
"""Starts worker threads for transmit and receive operations."""
threading.Thread(target=self.worker_receive, name="Receive Worker", daemon=True).start()
def stop(self):
self.stop_event.set()
def worker_receive(self) -> None:
"""Queue received data for processing"""
while True:
while not self.stop_event.is_set():
try:
data = self.data_queue_received.get(timeout=1)
if data:

View File

@ -125,6 +125,7 @@ class SM:
self.modem = False
self.state_manager.set("is_modem_running", False)
self.schedule_manager.stop()
self.frame_dispatcher.stop()
self.event_manager.modem_stopped()
def test_audio(self):
try: