FreeDATA/modem/command_arq_raw.py

24 lines
762 B
Python
Raw Normal View History

2023-12-05 14:40:04 +00:00
import queue
from command import TxCommand
import api_validations
2023-12-05 14:40:04 +00:00
import base64
from queue import Queue
from arq_session_iss import ARQSessionISS
class ARQRawCommand(TxCommand):
def set_params_from_api(self, apiParams):
self.dxcall = apiParams['dxcall']
if not api_validations.validate_freedata_callsign(self.dxcall):
self.dxcall = f"{self.dxcall}-0"
2023-12-05 14:40:04 +00:00
self.data = base64.b64decode(apiParams['data'])
2023-12-05 14:40:04 +00:00
def run(self, event_queue: Queue, tx_frame_queue: Queue):
self.emit_event(event_queue)
self.logger.info(self.log_message())
2023-12-05 14:40:04 +00:00
iss = ARQSessionISS(self.config, tx_frame_queue, self.dxcall, self.data)
self.state_manager.register_arq_iss_session(iss)
iss.run()
return iss