mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
Get rid of the DATA_QUEUE_TRANSMIT (there is still the MODEM_TRANSMIT_QUEUE)
This commit is contained in:
parent
645b159d73
commit
3fd2c402af
|
@ -7,7 +7,6 @@ import threading
|
|||
import structlog
|
||||
from modem_frametypes import FRAME_TYPE as FR_TYPE
|
||||
import event_manager
|
||||
from queues import DATA_QUEUE_RECEIVED, DATA_QUEUE_TRANSMIT, MODEM_TRANSMIT_QUEUE
|
||||
from data_frame_factory import DataFrameFactory
|
||||
|
||||
#from deprecated_data_handler_broadcasts import BROADCAST
|
||||
|
@ -49,7 +48,7 @@ class DISPATCHER():
|
|||
FR_TYPE.FEC_WAKEUP.value: {"class": FrameHandler, "name": "FEC WAKEUP"},
|
||||
}
|
||||
|
||||
def __init__(self, config, event_queue, states, data_q_rx):
|
||||
def __init__(self, config, event_queue, states, data_q_rx, modem_tx_q):
|
||||
self.log = structlog.get_logger("frame_dispatcher")
|
||||
|
||||
self.log.info("loading frame dispatcher.....\n")
|
||||
|
@ -60,8 +59,8 @@ class DISPATCHER():
|
|||
self._initialize_handlers(config, event_queue, states)
|
||||
#self._initialize_dispatchers()
|
||||
|
||||
self.data_queue_transmit = DATA_QUEUE_TRANSMIT
|
||||
self.data_queue_received = data_q_rx
|
||||
self.modem_transmit_queue = modem_tx_q
|
||||
|
||||
self.arq_sessions = []
|
||||
|
||||
|
@ -81,19 +80,10 @@ class DISPATCHER():
|
|||
|
||||
self.event_manager = event_manager.EventManager([event_queue])
|
||||
|
||||
|
||||
|
||||
def start(self):
|
||||
"""Starts worker threads for transmit and receive operations."""
|
||||
threading.Thread(target=self.worker_transmit, name="Transmit Worker", daemon=True).start()
|
||||
threading.Thread(target=self.worker_receive, name="Receive Worker", daemon=True).start()
|
||||
|
||||
def worker_transmit(self) -> None:
|
||||
"""Dispatch incoming UI instructions for transmitting operations"""
|
||||
while True:
|
||||
command = self.data_queue_transmit.get()
|
||||
command.run(self.event_queue, MODEM_TRANSMIT_QUEUE)
|
||||
|
||||
def worker_receive(self) -> None:
|
||||
"""Queue received data for processing"""
|
||||
while True:
|
||||
|
@ -122,7 +112,7 @@ class DISPATCHER():
|
|||
self.config,
|
||||
self.states,
|
||||
self.event_manager,
|
||||
MODEM_TRANSMIT_QUEUE,
|
||||
self.modem_transmit_queue,
|
||||
self.arq_sessions)
|
||||
|
||||
handler.handle(deconstructed_frame, snr, offset, freedv, bytes_per_frame)
|
||||
|
|
|
@ -22,7 +22,7 @@ import sounddevice as sd
|
|||
import structlog
|
||||
import tci
|
||||
import cw
|
||||
from queues import MODEM_TRANSMIT_QUEUE, RIGCTLD_COMMAND_QUEUE
|
||||
from queues import RIGCTLD_COMMAND_QUEUE
|
||||
import audio
|
||||
import event_manager
|
||||
from modem_frametypes import FRAME_TYPE
|
||||
|
@ -89,7 +89,7 @@ class RF:
|
|||
# Make sure our resampler will work
|
||||
assert (self.AUDIO_SAMPLE_RATE_RX / self.MODEM_SAMPLE_RATE) == codec2.api.FDMDV_OS_48 # type: ignore
|
||||
|
||||
self.modem_transmit_queue = MODEM_TRANSMIT_QUEUE
|
||||
self.modem_transmit_queue = queue.Queue()
|
||||
self.modem_received_queue = queue.Queue()
|
||||
|
||||
self.audio_received_queue = queue.Queue()
|
||||
|
@ -112,7 +112,7 @@ class RF:
|
|||
self.event_manager)
|
||||
|
||||
self.beacon = beacon.Beacon(self.config, self.states, event_queue,
|
||||
self.log, MODEM_TRANSMIT_QUEUE)
|
||||
self.log, self.modem_transmit_queue)
|
||||
|
||||
# --------------------------------------------------------------------------------------------------------
|
||||
def tci_tx_callback(self) -> None:
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
import time
|
||||
import helpers
|
||||
from codec2 import FREEDV_MODE
|
||||
from queues import MODEM_TRANSMIT_QUEUE
|
||||
from modem_frametypes import FRAME_TYPE as FR_TYPE
|
||||
|
||||
from protocol_arq import ARQ
|
||||
|
|
|
@ -6,9 +6,6 @@ import queue
|
|||
DATA_QUEUE_TRANSMIT = queue.Queue()
|
||||
DATA_QUEUE_RECEIVED = queue.Queue()
|
||||
|
||||
# Initialize FIFO queue to store received frames
|
||||
MODEM_TRANSMIT_QUEUE = queue.Queue()
|
||||
|
||||
# Initialize FIFO queue to store received frames
|
||||
MESH_RECEIVED_QUEUE = queue.Queue()
|
||||
MESH_QUEUE_TRANSMIT = queue.Queue()
|
||||
|
|
|
@ -18,8 +18,6 @@ import command_feq
|
|||
import command_test
|
||||
import command_arq_raw
|
||||
|
||||
from queues import DATA_QUEUE_TRANSMIT as tx_cmd_queue
|
||||
|
||||
app = Flask(__name__)
|
||||
CORS(app)
|
||||
CORS(app, resources={r"/*": {"origins": "*"}})
|
||||
|
@ -56,7 +54,7 @@ app.modem_service = queue.Queue() # start / stop modem service
|
|||
app.state_manager = state_manager.StateManager(app.state_queue)
|
||||
|
||||
# start service manager
|
||||
service_manager.SM(app)
|
||||
app.service_manager = service_manager.SM(app)
|
||||
|
||||
# start modem service
|
||||
app.modem_service.put("start")
|
||||
|
@ -85,7 +83,7 @@ def validate(req, param, validator, isRequired = True):
|
|||
# Takes a transmit command and puts it in the transmit command queue
|
||||
def enqueue_tx_command(cmd_class, params = {}):
|
||||
command = cmd_class(app.config_manager.read(), app.logger, app.state_manager, app.modem_events, params)
|
||||
tx_cmd_queue.put(command)
|
||||
command.run(app.modem_events, app.service_manager.modem.modem_transmit_queue)
|
||||
app.logger.info(f"Command {command.get_name()} enqueued.")
|
||||
|
||||
## REST API
|
||||
|
|
|
@ -84,7 +84,8 @@ class SM:
|
|||
self.frame_dispatcher = frame_dispatcher.DISPATCHER(self.config,
|
||||
self.modem_events,
|
||||
self.states,
|
||||
self.modem.data_queue_received)
|
||||
self.modem.data_queue_received,
|
||||
self.modem.modem_transmit_queue)
|
||||
self.frame_dispatcher.start()
|
||||
|
||||
self.states.set("is_modem_running", True)
|
||||
|
@ -107,3 +108,4 @@ class SM:
|
|||
self.log.info("tested audio devices", result=audio_test)
|
||||
|
||||
return audio_test
|
||||
|
Loading…
Reference in a new issue