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

View file

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

View file

@ -61,11 +61,19 @@ class RF:
log = structlog.get_logger("RF")
def __init__(self) -> None:
def __init__(self, config) -> None:
""" """
self.sampler_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_TX = 48000
self.MODEM_SAMPLE_RATE = codec2.api.FREEDV_FS_8000
@ -185,7 +193,7 @@ class RF:
channels=1,
dtype="int16",
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,
blocksize=4800,
)
@ -459,7 +467,7 @@ class RF:
# self.log.debug("[MDM] callback")
x = np.frombuffer(data_in48k, dtype=np.int16)
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
if AudioParam.audio_record:

View file

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