Modem running inside the server for the first time.

This commit is contained in:
Pedro 2023-11-07 11:36:49 +01:00
parent 760585f9a6
commit 61636fe473
4 changed files with 22 additions and 9 deletions

View file

@ -41,12 +41,11 @@ class DATA:
log = structlog.get_logger("DATA") log = structlog.get_logger("DATA")
def __init__(self) -> None: def __init__(self, config) -> None:
self.stats = stats.stats() self.stats = stats.stats()
# Initial call sign. Will be overwritten later self.mycallsign = config['STATION']['mycall']
self.mycallsign = Station.mycallsign
self.dxcallsign = Station.dxcallsign self.dxcallsign = Station.dxcallsign
self.data_queue_transmit = DATA_QUEUE_TRANSMIT self.data_queue_transmit = DATA_QUEUE_TRANSMIT
@ -3218,7 +3217,7 @@ class DATA:
if not ARQ.arq_session: if not ARQ.arq_session:
Modem.modem_state = "IDLE" Modem.modem_state = "IDLE"
self.dxcallsign = b"AA0AA-0" self.dxcallsign = b"AA0AA-0"
self.mycallsign = Station.mycallsign self.mycallsign = self.mycallsign
self.session_id = bytes(1) self.session_id = bytes(1)
ARQ.arq_session_state = "disconnected" ARQ.arq_session_state = "disconnected"

View file

@ -217,10 +217,10 @@ log.info(
) )
# start data handler # start data handler
data_handler.DATA() data_handler.DATA(conf.config)
# start modem # start modem
modem = modem.RF() modem = modem.RF(conf.config)
# start mesh protocol only if enabled # start mesh protocol only if enabled
if MeshParam.enable_protocol: if MeshParam.enable_protocol:

View file

@ -61,11 +61,19 @@ class RF:
log = structlog.get_logger("RF") log = structlog.get_logger("RF")
def __init__(self) -> None: def __init__(self, config) -> None:
""" """ """ """
self.sampler_avg = 0 self.sampler_avg = 0
self.buffer_avg = 0 self.buffer_avg = 0
self.config = config
self.audio_input_device = config['AUDIO']['rx']
self.audio_output_device = config['AUDIO']['tx']
self.rx_audio_level = config['AUDIO']['rxaudiolevel']
self.tx_audio_level = config['AUDIO']['txaudiolevel']
self.AUDIO_SAMPLE_RATE_RX = 48000 self.AUDIO_SAMPLE_RATE_RX = 48000
self.AUDIO_SAMPLE_RATE_TX = 48000 self.AUDIO_SAMPLE_RATE_TX = 48000
self.MODEM_SAMPLE_RATE = codec2.api.FREEDV_FS_8000 self.MODEM_SAMPLE_RATE = codec2.api.FREEDV_FS_8000
@ -185,7 +193,7 @@ class RF:
channels=1, channels=1,
dtype="int16", dtype="int16",
callback=self.callback, callback=self.callback,
device=(AudioParam.audio_input_device, AudioParam.audio_output_device), device=(self.audio_input_device, self.audio_output_device),
samplerate=self.AUDIO_SAMPLE_RATE_RX, samplerate=self.AUDIO_SAMPLE_RATE_RX,
blocksize=4800, blocksize=4800,
) )
@ -459,7 +467,7 @@ class RF:
# self.log.debug("[MDM] callback") # self.log.debug("[MDM] callback")
x = np.frombuffer(data_in48k, dtype=np.int16) x = np.frombuffer(data_in48k, dtype=np.int16)
x = self.resampler.resample48_to_8(x) x = self.resampler.resample48_to_8(x)
x = set_audio_volume(x, AudioParam.rx_audio_level) x = set_audio_volume(x, self.rx_audio_level)
# audio recording for debugging purposes # audio recording for debugging purposes
if AudioParam.audio_record: if AudioParam.audio_record:

View file

@ -4,6 +4,8 @@ import os
import serial_ports import serial_ports
from config import CONFIG from config import CONFIG
import audio import audio
import data_handler
import modem
app = Flask(__name__) app = Flask(__name__)
sock = Sock(app) sock = Sock(app)
@ -33,6 +35,10 @@ def api_response(data, status = 'ok'):
set_config() set_config()
# start modem
d = data_handler.DATA(app.config_manager.config)
m = modem.RF(app.config_manager.config)
## REST API ## REST API
@app.route('/', methods=['GET']) @app.route('/', methods=['GET'])
def index(): def index():