diff --git a/modem/arq_session_irs.py b/modem/arq_session_irs.py index 4d928126..92d97809 100644 --- a/modem/arq_session_irs.py +++ b/modem/arq_session_irs.py @@ -90,7 +90,7 @@ class ARQSessionIRS(arq_session.ARQSession): self.dxcall, self.version, self.snr[0]) - self.launch_transmit_and_wait(ack_frame, self.TIMEOUT_CONNECT, mode=FREEDV_MODE.datac13) + self.launch_transmit_and_wait(ack_frame, self.TIMEOUT_CONNECT, mode=FREEDV_MODE.signalling) self.set_state(self.STATE_OPEN_ACK_SENT) def send_info_ack(self, info_frame): @@ -104,7 +104,7 @@ class ARQSessionIRS(arq_session.ARQSession): info_ack = self.frame_factory.build_arq_session_info_ack( self.id, self.total_crc, self.snr[0], self.speed_level, self.frames_per_burst) - self.launch_transmit_and_wait(info_ack, self.TIMEOUT_CONNECT, mode=FREEDV_MODE.datac13) + self.launch_transmit_and_wait(info_ack, self.TIMEOUT_CONNECT, mode=FREEDV_MODE.signalling) self.set_state(self.STATE_INFO_ACK_SENT) def send_burst_nack(self): diff --git a/modem/arq_session_iss.py b/modem/arq_session_iss.py index d8f0aae1..65644d41 100644 --- a/modem/arq_session_iss.py +++ b/modem/arq_session_iss.py @@ -71,7 +71,7 @@ class ARQSessionISS(arq_session.ARQSession): def start(self): session_open_frame = self.frame_factory.build_arq_session_open(self.dxcall, self.id) - self.launch_twr(session_open_frame, self.TIMEOUT_CONNECT_ACK, self.RETRIES_CONNECT, mode=FREEDV_MODE.datac13) + self.launch_twr(session_open_frame, self.TIMEOUT_CONNECT_ACK, self.RETRIES_CONNECT, mode=FREEDV_MODE.signalling) self.set_state(self.STATE_OPEN_SENT) def set_speed_and_frames_per_burst(self, frame): @@ -84,7 +84,7 @@ class ARQSessionISS(arq_session.ARQSession): info_frame = self.frame_factory.build_arq_session_info(self.id, len(self.data), helpers.get_crc_32(self.data), self.snr[0]) - self.launch_twr(info_frame, self.TIMEOUT_CONNECT_ACK, self.RETRIES_CONNECT, mode=FREEDV_MODE.datac13) + self.launch_twr(info_frame, self.TIMEOUT_CONNECT_ACK, self.RETRIES_CONNECT, mode=FREEDV_MODE.signalling) self.set_state(self.STATE_INFO_SENT) def send_data(self, irs_frame): diff --git a/modem/codec2.py b/modem/codec2.py index d3585ad1..56610e68 100644 --- a/modem/codec2.py +++ b/modem/codec2.py @@ -24,8 +24,7 @@ class FREEDV_MODE(Enum): """ Enumeration for codec2 modes and names """ - sig0 = 19 - sig1 = 19 + signalling = 19 datac0 = 14 datac1 = 10 datac3 = 12 diff --git a/modem/command.py b/modem/command.py index 337f107d..89bf692d 100644 --- a/modem/command.py +++ b/modem/command.py @@ -30,11 +30,7 @@ class TxCommand(): pass def get_tx_mode(self): - return ( - FREEDV_MODE.fsk_ldpc_0.value - if self.config['MODEM']['enable_fsk'] - else FREEDV_MODE.sig0.value - ) + return FREEDV_MODE.signalling def make_modem_queue_item(self, mode, repeat, repeat_delay, frame): return { diff --git a/modem/modem.py b/modem/modem.py index ffae9dbe..6f55a13b 100644 --- a/modem/modem.py +++ b/modem/modem.py @@ -14,7 +14,6 @@ import ctypes import queue import threading import time -from collections import deque import codec2 import numpy as np import sounddevice as sd @@ -47,8 +46,6 @@ class RF: self.tx_audio_level = config['AUDIO']['tx_audio_level'] self.enable_audio_auto_tune = config['AUDIO']['enable_auto_tune'] - #Dynamically enable FFT data stream when a client connects to FFT web socket - self.enable_fft_stream = False self.tx_delay = config['MODEM']['tx_delay'] self.radiocontrol = config['RADIO']['control'] @@ -272,11 +269,12 @@ class RF: self.demodulator.reset_data_sync() # get freedv instance by mode mode_transition = { - codec2.FREEDV_MODE.datac0.value: self.freedv_datac0_tx, - codec2.FREEDV_MODE.datac1.value: self.freedv_datac1_tx, - codec2.FREEDV_MODE.datac3.value: self.freedv_datac3_tx, - codec2.FREEDV_MODE.datac4.value: self.freedv_datac4_tx, - codec2.FREEDV_MODE.datac13.value: self.freedv_datac13_tx, + codec2.FREEDV_MODE.signalling: self.freedv_datac13_tx, + codec2.FREEDV_MODE.datac0: self.freedv_datac0_tx, + codec2.FREEDV_MODE.datac1: self.freedv_datac1_tx, + codec2.FREEDV_MODE.datac3: self.freedv_datac3_tx, + codec2.FREEDV_MODE.datac4: self.freedv_datac4_tx, + codec2.FREEDV_MODE.datac13: self.freedv_datac13_tx, } if mode in mode_transition: freedv = mode_transition[mode] @@ -711,18 +709,12 @@ class RF: # When our channel busy counter reaches 0, toggle state to False if self.channel_busy_delay == 0: self.states.set("channel_busy", False) - if (self.enable_fft_stream): # erase queue if greater than 10 - if self.fft_queue.qsize() >= 10: - self.fft_queue = queue.Queue() - self.fft_queue.put(dfftlist[:315]) # 315 --> bandwidth 3200 + if self.fft_queue.qsize() >= 10: + self.fft_queue = queue.Queue() + self.fft_queue.put(dfftlist[:315]) # 315 --> bandwidth 3200 except Exception as err: self.log.error(f"[MDM] calculate_fft: Exception: {err}") self.log.debug("[MDM] Setting fft=0") # else 0 self.fft_queue.put([0]) - - def set_FFT_stream(self, enable: bool): - # Set config boolean regarding wheter it should sent FFT data to queue - self.enable_fft_stream = enable - diff --git a/modem/server.py b/modem/server.py index 0caf5a18..c83ac98e 100644 --- a/modem/server.py +++ b/modem/server.py @@ -240,9 +240,6 @@ def sock_events(sock): @sock.route('/fft') def sock_fft(sock): - if len(wsm.fft_client_list) == 0: - app.modem_service.put("fft:true") - print("Streaming data to FFT socket since a client is connected") wsm.handle_connection(sock, wsm.fft_client_list, app.modem_fft) @sock.route('/states') diff --git a/modem/service_manager.py b/modem/service_manager.py index 02485543..642a142f 100644 --- a/modem/service_manager.py +++ b/modem/service_manager.py @@ -17,7 +17,6 @@ class SM: self.config = self.app.config_manager.read() self.modem_events = app.modem_events self.modem_fft = app.modem_fft - self.enable_fft_stream = False self.modem_service = app.modem_service self.states = app.state_manager @@ -49,14 +48,6 @@ class SM: threading.Event().wait(0.5) if self.start_modem(): self.modem_events.put(json.dumps({"freedata": "modem-event", "event": "restart"})) - elif cmd in ['fft:true']: - # Tell modem it should put FFT data in the queue - self.modem.set_FFT_stream(True) - self.enable_fft_stream=True - elif cmd in ['fft:false']: - # Tell modem it should not put FFT data in the queue - self.modem.set_FFT_stream(False) - self.enable_fft_stream=False else: self.log.warning("[SVC] modem command processing failed", cmd=cmd, state=self.states.is_modem_running) @@ -88,7 +79,6 @@ class SM: self.frame_dispatcher.start() self.states.set("is_modem_running", True) - self.modem.set_FFT_stream(self.enable_fft_stream) self.modem.start_modem() return True