mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
renamed "modem" to "freedata-server"
This commit is contained in:
parent
8ea8cb30ce
commit
efe8bb3aec
91 changed files with 90 additions and 147 deletions
2
.github/workflows/build_appimage_bundle.yml
vendored
2
.github/workflows/build_appimage_bundle.yml
vendored
|
@ -33,7 +33,7 @@ jobs:
|
|||
pip install -r requirements.txt
|
||||
|
||||
- name: Build binaries
|
||||
working-directory: modem
|
||||
working-directory: freedata-server
|
||||
run: |
|
||||
python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server
|
||||
|
||||
|
|
4
.github/workflows/build_nsis_bundle.yml
vendored
4
.github/workflows/build_nsis_bundle.yml
vendored
|
@ -34,10 +34,10 @@ jobs:
|
|||
fileName: " hamlib-w64-*.zip"
|
||||
latest: true
|
||||
extract: true
|
||||
out-file-path: "modem/lib/hamlib/"
|
||||
out-file-path: "freedata-server/lib/hamlib/"
|
||||
|
||||
- name: Build binaries
|
||||
working-directory: modem
|
||||
working-directory: freedata-server
|
||||
run: |
|
||||
python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server
|
||||
|
||||
|
|
20
.github/workflows/build_server.yml
vendored
20
.github/workflows/build_server.yml
vendored
|
@ -62,26 +62,26 @@ jobs:
|
|||
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
|
||||
|
||||
- name: Build binaries
|
||||
working-directory: modem
|
||||
working-directory: freedata-server
|
||||
run: |
|
||||
python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server
|
||||
|
||||
#- name: Download Portaudio binaries Linux macOS
|
||||
# if: ${{!startsWith(matrix.os, 'windows')}}
|
||||
# working-directory: modem
|
||||
# working-directory: freedata-server
|
||||
# run: |
|
||||
# if ! test -d "server.dist/modem/_sounddevice_data"; then
|
||||
# git clone https://github.com/spatialaudio/portaudio-binaries dist/modem/_sounddevice_data/portaudio-binaries
|
||||
# if ! test -d "server.dist/freedata-server/_sounddevice_data"; then
|
||||
# git clone https://github.com/spatialaudio/portaudio-binaries dist/freedata-server/_sounddevice_data/portaudio-binaries
|
||||
# fi
|
||||
|
||||
#- name: Download Portaudio binaries Windows
|
||||
# if: ${{startsWith(matrix.os, 'windows')}}
|
||||
# working-directory: modem
|
||||
# working-directory: freedata-server
|
||||
# run: |
|
||||
# if(Test-Path -Path "server.dist/modem/_sounddevice_data"){
|
||||
# if(Test-Path -Path "server.dist/freedata-server/_sounddevice_data"){
|
||||
# echo "sounddevice folder already exists"
|
||||
# } else {
|
||||
# git clone https://github.com/spatialaudio/portaudio-binaries dist/modem/_sounddevice_data/portaudio-binaries
|
||||
# git clone https://github.com/spatialaudio/portaudio-binaries dist/freedata-server/_sounddevice_data/portaudio-binaries
|
||||
# }
|
||||
|
||||
- name: LIST ALL FILES
|
||||
|
@ -99,7 +99,7 @@ jobs:
|
|||
with:
|
||||
type: 'zip'
|
||||
filename: '${{ matrix.zip_name }}.zip'
|
||||
directory: ./modem/server.dist
|
||||
directory: ./freedata-server/server.dist
|
||||
path: .
|
||||
# exclusions: '*.git* /*node_modules/* .editorconfig'
|
||||
|
||||
|
@ -110,14 +110,14 @@ jobs:
|
|||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: '${{ matrix.zip_name }}'
|
||||
path: ./modem/server.dist/${{ matrix.zip_name }}.zip
|
||||
path: ./freedata-server/server.dist/${{ matrix.zip_name }}.zip
|
||||
|
||||
- name: Release Modem
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
with:
|
||||
draft: true
|
||||
files: ./modem/server.dist/${{ matrix.zip_name }}.zip
|
||||
files: ./freedata-server/server.dist/${{ matrix.zip_name }}.zip
|
||||
|
||||
- name: LIST ALL FILES
|
||||
run: ls -R
|
||||
|
|
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1,5 +1,5 @@
|
|||
# possible installation of codec2 within modem
|
||||
modem/codec2
|
||||
# possible installation of codec2 within freedata-server
|
||||
freedata-server/codec2
|
||||
|
||||
# temporary test artifacts
|
||||
**/build
|
||||
|
|
|
@ -49,7 +49,7 @@ class ARQSession:
|
|||
self.config = config
|
||||
|
||||
self.event_manager: EventManager = modem.event_manager
|
||||
#self.states = modem.states
|
||||
#self.states = freedata-server.states
|
||||
self.states = state_manager
|
||||
self.states.setARQ(True)
|
||||
|
|
@ -419,7 +419,7 @@ class OFDM_CONFIG(ctypes.Structure):
|
|||
("timing_mx_thresh", ctypes.c_float), # Threshold for timing metrics
|
||||
("nc", ctypes.c_int), # Number of carriers
|
||||
("ns", ctypes.c_int), # Number of Symbol frames
|
||||
("np", ctypes.c_int), # Number of modem frames per packet
|
||||
("np", ctypes.c_int), # Number of freedata-server frames per packet
|
||||
("bps", ctypes.c_int), # Bits per Symbol
|
||||
("txtbits", ctypes.c_int), # Number of auxiliary data bits
|
||||
("nuwbits", ctypes.c_int), # Number of unique word bits
|
|
@ -7,8 +7,8 @@ class BeaconCommand(TxCommand):
|
|||
return self.frame_factory.build_beacon(beacon_state)
|
||||
|
||||
|
||||
#def transmit(self, modem):
|
||||
# super().transmit(modem)
|
||||
#def transmit(self, freedata-server):
|
||||
# super().transmit(freedata-server)
|
||||
# if self.config['MODEM']['enable_morse_identifier']:
|
||||
# mycall = f"{self.config['STATION']['mycall']}-{self.config['STATION']['myssid']}"
|
||||
# modem.transmit_morse("morse", 1, 0, mycall)
|
||||
# freedata-server.transmit_morse("morse", 1, 0, mycall)
|
|
@ -160,7 +160,7 @@ class Demodulator():
|
|||
nbytes = codec2.api.freedv_rawdatarx(
|
||||
freedv, bytes_out, audiobuffer.buffer.ctypes
|
||||
)
|
||||
# get current modem states and write to list
|
||||
# get current freedata-server states and write to list
|
||||
# 1 trial
|
||||
# 2 sync
|
||||
# 3 trial sync
|
||||
|
@ -171,7 +171,7 @@ class Demodulator():
|
|||
if rx_status not in [0]:
|
||||
self.is_codec2_traffic_counter = self.is_codec2_traffic_cooldown
|
||||
self.log.debug(
|
||||
"[MDM] [demod_audio] modem state", mode=mode_name, rx_status=rx_status,
|
||||
"[MDM] [demod_audio] freedata-server state", mode=mode_name, rx_status=rx_status,
|
||||
sync_flag=codec2.api.rx_sync_flags_to_text[rx_status]
|
||||
)
|
||||
|
|
@ -82,19 +82,19 @@ class EventManager:
|
|||
self.broadcast(event)
|
||||
|
||||
def modem_started(self):
|
||||
event = {"modem": "started"}
|
||||
event = {"freedata-server": "started"}
|
||||
self.broadcast(event)
|
||||
|
||||
def modem_restarted(self):
|
||||
event = {"modem": "restarted"}
|
||||
event = {"freedata-server": "restarted"}
|
||||
self.broadcast(event)
|
||||
|
||||
def modem_stopped(self):
|
||||
event = {"modem": "stopped"}
|
||||
event = {"freedata-server": "stopped"}
|
||||
self.broadcast(event)
|
||||
|
||||
def modem_failed(self):
|
||||
event = {"modem": "failed"}
|
||||
event = {"freedata-server": "failed"}
|
||||
self.broadcast(event)
|
||||
|
||||
def freedata_message_db_change(self):
|
|
@ -109,7 +109,7 @@ class RF:
|
|||
|
||||
def stop_modem(self):
|
||||
try:
|
||||
# let's stop the modem service
|
||||
# let's stop the freedata-server service
|
||||
self.service_queue.put("stop")
|
||||
# simulate audio class active state for reducing cli output
|
||||
# self.stream = lambda: None
|
||||
|
@ -117,7 +117,7 @@ class RF:
|
|||
# self.stream.stop
|
||||
|
||||
except Exception:
|
||||
self.log.error("[MDM] Error stopping modem")
|
||||
self.log.error("[MDM] Error stopping freedata-server")
|
||||
|
||||
def init_audio(self):
|
||||
self.log.info(f"[MDM] init: get audio devices", input_device=self.audio_input_device,
|
|
@ -41,7 +41,7 @@ class ScheduleManager:
|
|||
# wait some time
|
||||
threading.Event().wait(timeout=10)
|
||||
|
||||
# get actual modem instance
|
||||
# get actual freedata-server instance
|
||||
self.modem = modem
|
||||
|
||||
self.running = True # Set the running flag to True
|
|
@ -132,11 +132,11 @@ def get_serial_devices():
|
|||
devices = serial_ports.get_ports()
|
||||
return api_response(devices)
|
||||
|
||||
@app.route('/modem/state', methods=['GET'])
|
||||
@app.route('/freedata-server/state', methods=['GET'])
|
||||
def get_modem_state():
|
||||
return api_response(app.state_manager.sendState())
|
||||
|
||||
@app.route('/modem/cqcqcq', methods=['POST', 'GET'])
|
||||
@app.route('/freedata-server/cqcqcq', methods=['POST', 'GET'])
|
||||
def post_cqcqcq():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for triggering a CQ via POST"})
|
||||
|
@ -145,7 +145,7 @@ def post_cqcqcq():
|
|||
enqueue_tx_command(command_cq.CQCommand)
|
||||
return api_ok()
|
||||
|
||||
@app.route('/modem/beacon', methods=['POST'])
|
||||
@app.route('/freedata-server/beacon', methods=['POST'])
|
||||
def post_beacon():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for controlling BEACON STATE via POST"})
|
||||
|
@ -165,7 +165,7 @@ def post_beacon():
|
|||
|
||||
return api_response(request.json)
|
||||
|
||||
@app.route('/modem/ping_ping', methods=['POST'])
|
||||
@app.route('/freedata-server/ping_ping', methods=['POST'])
|
||||
def post_ping():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for controlling PING via POST"})
|
||||
|
@ -175,7 +175,7 @@ def post_ping():
|
|||
enqueue_tx_command(command_ping.PingCommand, request.json)
|
||||
return api_ok()
|
||||
|
||||
@app.route('/modem/send_test_frame', methods=['POST'])
|
||||
@app.route('/freedata-server/send_test_frame', methods=['POST'])
|
||||
def post_send_test_frame():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for triggering a TEST_FRAME via POST"})
|
||||
|
@ -184,7 +184,7 @@ def post_send_test_frame():
|
|||
enqueue_tx_command(command_test.TestCommand)
|
||||
return api_ok()
|
||||
|
||||
@app.route('/modem/fec_transmit', methods=['POST'])
|
||||
@app.route('/freedata-server/fec_transmit', methods=['POST'])
|
||||
def post_send_fec_frame():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for triggering a FEC frame via POST"})
|
||||
|
@ -193,7 +193,7 @@ def post_send_fec_frame():
|
|||
enqueue_tx_command(command_feq.FecCommand, request.json)
|
||||
return api_ok()
|
||||
|
||||
@app.route('/modem/fec_is_writing', methods=['POST'])
|
||||
@app.route('/freedata-server/fec_is_writing', methods=['POST'])
|
||||
def post_send_fec_is_writing():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for triggering a IS WRITING frame via POST"})
|
||||
|
@ -202,18 +202,18 @@ def post_send_fec_is_writing():
|
|||
#server_commands.modem_fec_is_writing(request.json)
|
||||
return 'Not implemented yet'
|
||||
|
||||
@app.route('/modem/start', methods=['POST'])
|
||||
@app.route('/freedata-server/start', methods=['POST'])
|
||||
def post_modem_start():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for STARTING modem via POST"})
|
||||
return api_response({"info": "endpoint for STARTING freedata-server via POST"})
|
||||
print("start received...")
|
||||
app.modem_service.put("start")
|
||||
return api_response(request.json)
|
||||
|
||||
@app.route('/modem/stop', methods=['POST'])
|
||||
@app.route('/freedata-server/stop', methods=['POST'])
|
||||
def post_modem_stop():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for STOPPING modem via POST"})
|
||||
return api_response({"info": "endpoint for STOPPING freedata-server via POST"})
|
||||
print("stop received...")
|
||||
|
||||
app.modem_service.put("stop")
|
||||
|
@ -223,7 +223,7 @@ def post_modem_stop():
|
|||
def get_modem_version():
|
||||
return api_response({"version": app.MODEM_VERSION})
|
||||
|
||||
@app.route('/modem/send_arq_raw', methods=['POST'])
|
||||
@app.route('/freedata-server/send_arq_raw', methods=['POST'])
|
||||
def post_modem_send_raw():
|
||||
if request.method not in ['POST']:
|
||||
return api_response({"info": "endpoint for SENDING RAW DATA via POST"})
|
||||
|
@ -235,7 +235,7 @@ def post_modem_send_raw():
|
|||
return api_response(request.json)
|
||||
else:
|
||||
api_abort('Error executing command...', 500)
|
||||
@app.route('/modem/stop_transmission', methods=['POST'])
|
||||
@app.route('/freedata-server/stop_transmission', methods=['POST'])
|
||||
def post_modem_send_raw_stop():
|
||||
|
||||
if request.method not in ['POST']:
|
||||
|
@ -341,7 +341,7 @@ def stop_server():
|
|||
audio.sd._terminate()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
print("Error stopping modem")
|
||||
print("Error stopping freedata-server")
|
||||
time.sleep(1)
|
||||
print('Server shutdown...')
|
||||
print("------------------------------------------")
|
||||
|
@ -354,12 +354,12 @@ def main():
|
|||
config_file = set_config()
|
||||
app.config_manager = CONFIG(config_file)
|
||||
|
||||
# start modem
|
||||
# start freedata-server
|
||||
app.p2p_data_queue = queue.Queue() # queue which holds processing data of p2p connections
|
||||
app.state_queue = queue.Queue() # queue which holds latest states
|
||||
app.modem_events = queue.Queue() # queue which holds latest events
|
||||
app.modem_fft = queue.Queue() # queue which holds latest fft data
|
||||
app.modem_service = queue.Queue() # start / stop modem service
|
||||
app.modem_service = queue.Queue() # start / stop freedata-server service
|
||||
app.event_manager = event_manager.EventManager([app.modem_events]) # TODO remove the app.modem_event custom queue
|
||||
# init state manager
|
||||
app.state_manager = state_manager.StateManager(app.state_queue)
|
||||
|
@ -368,7 +368,7 @@ def main():
|
|||
# start service manager
|
||||
app.service_manager = service_manager.SM(app)
|
||||
|
||||
# start modem service
|
||||
# start freedata-server service
|
||||
app.modem_service.put("start")
|
||||
# initialize database default values
|
||||
DatabaseManager(app.event_manager).initialize_default_values()
|
|
@ -62,7 +62,7 @@ class SM:
|
|||
self.event_manager.modem_restarted()
|
||||
|
||||
else:
|
||||
self.log.warning("[SVC] modem command processing failed", cmd=cmd, state=self.state_manager.is_modem_running)
|
||||
self.log.warning("[SVC] freedata-server command processing failed", cmd=cmd, state=self.state_manager.is_modem_running)
|
||||
|
||||
|
||||
def start_modem(self):
|
||||
|
@ -72,7 +72,7 @@ class SM:
|
|||
return False
|
||||
|
||||
if self.state_manager.is_modem_running:
|
||||
self.log.warning("modem already running")
|
||||
self.log.warning("freedata-server already running")
|
||||
return False
|
||||
|
||||
|
||||
|
@ -80,12 +80,12 @@ class SM:
|
|||
audio_test = self.test_audio()
|
||||
|
||||
if False in audio_test or None in audio_test or self.state_manager.is_modem_running:
|
||||
self.log.warning("starting modem failed", input_test=audio_test[0], output_test=audio_test[1])
|
||||
self.log.warning("starting freedata-server failed", input_test=audio_test[0], output_test=audio_test[1])
|
||||
self.state_manager.set("is_modem_running", False)
|
||||
self.event_manager.modem_failed()
|
||||
return False
|
||||
|
||||
self.log.info("starting modem....")
|
||||
self.log.info("starting freedata-server....")
|
||||
self.modem = modem.RF(self.config, self.event_manager, self.modem_fft, self.modem_service, self.state_manager, self.app.radio_manager)
|
||||
|
||||
self.frame_dispatcher = frame_dispatcher.DISPATCHER(self.config,
|
||||
|
@ -102,7 +102,7 @@ class SM:
|
|||
return True
|
||||
|
||||
def stop_modem(self):
|
||||
self.log.info("stopping modem....")
|
||||
self.log.info("stopping freedata-server....")
|
||||
del self.modem
|
||||
self.modem = False
|
||||
self.state_manager.set("is_modem_running", False)
|
|
@ -9,7 +9,7 @@ class StateManager:
|
|||
self.newstate = None
|
||||
self.last = time.time()
|
||||
|
||||
# modem related states
|
||||
# freedata-server related states
|
||||
# not every state is needed to publish, yet
|
||||
# TODO can we reduce them?
|
||||
self.channel_busy_slot = [False, False, False, False, False]
|
|
@ -1,52 +0,0 @@
|
|||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
|
||||
block_cipher = None
|
||||
|
||||
# DAEMON --------------------------------------------------
|
||||
server_a = Analysis(['server.py'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=[],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
noarchive=False)
|
||||
server_pyz = PYZ(server_a.pure, server_a.zipped_data,
|
||||
cipher=block_cipher)
|
||||
|
||||
server_exe = EXE(server_pyz,
|
||||
server_a.scripts,
|
||||
[],
|
||||
exclude_binaries=True,
|
||||
name='freedata-server',
|
||||
bundle_identifier='app.freedata.freedata-server',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
console=True,
|
||||
disable_windowed_traceback=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None )
|
||||
|
||||
# add lib folder to system path. We only need to do this once
|
||||
server_a.datas += Tree('lib', prefix='lib')
|
||||
# daemon_a.datas += Tree('./codec2', prefix='codec2')
|
||||
|
||||
|
||||
|
||||
coll = COLLECT(server_exe,
|
||||
server_a.binaries,
|
||||
server_a.zipfiles,
|
||||
server_a.datas,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
name='modem')
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,5 +0,0 @@
|
|||
# PyAudio
|
||||
|
||||
## downloaded from
|
||||
|
||||
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
|
6
setup.py
6
setup.py
|
@ -23,12 +23,12 @@ setup(
|
|||
license='GPL3.0',
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'freedata-server=modem.server:main', # Points to the main() function in server.py
|
||||
'freedata-server=freedata-server.server:main', # Points to the main() function in server.py
|
||||
],
|
||||
},
|
||||
include_package_data=True, # Ensure non-python files are included if specified
|
||||
package_data={
|
||||
# Include all files under any directory within the 'modem' package
|
||||
'modem': ['lib/**/*'], # Recursive include for all files in 'lib' and its subdirectories
|
||||
# Include all files under any directory within the 'freedata-server' package
|
||||
'freedata-server': ['lib/**/*'], # Recursive include for all files in 'lib' and its subdirectories
|
||||
},
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import sys
|
||||
import time
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
|
||||
import unittest
|
||||
import unittest.mock
|
||||
|
@ -58,7 +58,7 @@ class TestARQSession(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
config_manager = CONFIG('modem/config.ini.example')
|
||||
config_manager = CONFIG('freedata-server/config.ini.example')
|
||||
cls.config = config_manager.read()
|
||||
cls.logger = structlog.get_logger("TESTS")
|
||||
cls.frame_factory = DataFrameFactory(cls.config)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import sys
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
import unittest
|
||||
import config
|
||||
|
||||
|
@ -7,13 +7,13 @@ class TestConfigMethods(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.config = config.CONFIG('modem/config.ini.example')
|
||||
cls.config = config.CONFIG('freedata-server/config.ini.example')
|
||||
|
||||
def test_config_exists(self):
|
||||
c = config.CONFIG('modem/config.ini.example')
|
||||
c = config.CONFIG('freedata-server/config.ini.example')
|
||||
self.assertTrue(c.config_exists())
|
||||
|
||||
#c = config.CONFIG('modem/nonexistant')
|
||||
#c = config.CONFIG('freedata-server/nonexistant')
|
||||
#self.assertFalse(c.config_exists())
|
||||
|
||||
def test_read(self):
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import sys
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
|
||||
import unittest
|
||||
from config import CONFIG
|
||||
|
@ -12,7 +12,7 @@ class TestDataFrameFactory(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
config_manager = CONFIG('modem/config.ini.example')
|
||||
config_manager = CONFIG('freedata-server/config.ini.example')
|
||||
config = config_manager.read()
|
||||
cls.factory = DataFrameFactory(config)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import sys
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
|
||||
import unittest
|
||||
import queue
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import sys
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
import numpy as np
|
||||
|
||||
import unittest
|
||||
|
@ -17,7 +17,7 @@ class TestDataFrameFactory(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
config_manager = CONFIG('modem/config.ini.example')
|
||||
config_manager = CONFIG('freedata-server/config.ini.example')
|
||||
cls.config = config_manager.read()
|
||||
|
||||
cls.event_queue = queue.Queue()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import sys
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
import numpy as np
|
||||
|
||||
import unittest
|
||||
|
@ -14,7 +14,7 @@ class TestDataFrameFactory(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
config_manager = CONFIG('modem/config.ini.example')
|
||||
config_manager = CONFIG('freedata-server/config.ini.example')
|
||||
cls.config = config_manager.read()
|
||||
|
||||
cls.event_queue = queue.Queue()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import sys
|
||||
import time
|
||||
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
|
||||
import unittest
|
||||
import unittest.mock
|
||||
|
@ -59,7 +59,7 @@ class TestMessageProtocol(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
config_manager = CONFIG('modem/config.ini.example')
|
||||
config_manager = CONFIG('freedata-server/config.ini.example')
|
||||
cls.config = config_manager.read()
|
||||
cls.logger = structlog.get_logger("TESTS")
|
||||
cls.frame_factory = DataFrameFactory(cls.config)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import sys
|
||||
import time
|
||||
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
|
||||
import unittest
|
||||
import unittest.mock
|
||||
|
@ -58,7 +58,7 @@ class TestP2PConnectionSession(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
config_manager = CONFIG('modem/config.ini.example')
|
||||
config_manager = CONFIG('freedata-server/config.ini.example')
|
||||
cls.config = config_manager.read()
|
||||
cls.logger = structlog.get_logger("TESTS")
|
||||
cls.frame_factory = DataFrameFactory(cls.config)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import sys
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
|
||||
import unittest
|
||||
from config import CONFIG
|
||||
|
@ -18,7 +18,7 @@ class TestProtocols(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
config_manager = CONFIG('modem/config.ini.example')
|
||||
config_manager = CONFIG('freedata-server/config.ini.example')
|
||||
cls.config = config_manager.read()
|
||||
|
||||
cls.state_manager_queue = queue.Queue()
|
||||
|
@ -34,7 +34,7 @@ class TestProtocols(unittest.TestCase):
|
|||
modem.TESTMODE = True
|
||||
frame_handler.TESTMODE = True
|
||||
|
||||
#cls.modem.start_modem()
|
||||
#cls.freedata-server.start_modem()
|
||||
cls.frame_dispatcher = DISPATCHER(cls.config,
|
||||
cls.event_manager,
|
||||
cls.state_manager,
|
||||
|
@ -53,7 +53,7 @@ class TestProtocols(unittest.TestCase):
|
|||
# Run ping command
|
||||
api_params = { "dxcall": "AA1AAA-1"}
|
||||
ping_cmd = PingCommand(self.config, self.state_manager, self.event_manager, api_params)
|
||||
#ping_cmd.run(self.event_queue, self.modem)
|
||||
#ping_cmd.run(self.event_queue, self.freedata-server)
|
||||
frame = ping_cmd.test(self.event_queue)
|
||||
# Shortcut the transmit queue directly to the frame dispatcher
|
||||
self.shortcutTransmission(frame)
|
||||
|
@ -69,7 +69,7 @@ class TestProtocols(unittest.TestCase):
|
|||
|
||||
api_params = {}
|
||||
cmd = CQCommand(self.config, self.state_manager, self.event_manager, api_params)
|
||||
#cmd.run(self.event_queue, self.modem)
|
||||
#cmd.run(self.event_queue, self.freedata-server)
|
||||
frame = cmd.test(self.event_queue)
|
||||
|
||||
self.shortcutTransmission(frame)
|
||||
|
|
|
@ -13,10 +13,10 @@ class TestIntegration(unittest.TestCase):
|
|||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
#cmd = "flask --app modem/server run"
|
||||
cmd = "python3 modem/server.py"
|
||||
#cmd = "flask --app freedata-server/server run"
|
||||
cmd = "python3 freedata-server/server.py"
|
||||
my_env = os.environ.copy()
|
||||
my_env["FREEDATA_CONFIG"] = "modem/config.ini.example"
|
||||
my_env["FREEDATA_CONFIG"] = "freedata-server/config.ini.example"
|
||||
cls.process = Popen(shlex.split(cmd), stdin=PIPE, env=my_env)
|
||||
time.sleep(1)
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ def create_hmac_salts(dxcallsign: str, mycallsign: str, num_tokens: int):
|
|||
for _ in range(len(token_array)):
|
||||
file.write(token_array[_] + '\n')
|
||||
|
||||
print("files created - place them in modem/hmac folder and share the file with the remote station")
|
||||
print("files created - place them in freedata-server/hmac folder and share the file with the remote station")
|
||||
|
||||
except Exception:
|
||||
print("error creating hmac file")
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
"""
|
||||
|
||||
FreeDATA % python3.11 tools/custom_mode_tests/create_custom_ofdm_mod.py | ./modem/lib/codec2/build_osx/src/freedv_data_raw_rx --vv --framesperburst 1 DATAC1 - /dev/null
|
||||
FreeDATA % python3.11 tools/custom_mode_tests/create_custom_ofdm_mod.py | ./freedata-server/lib/codec2/build_osx/src/freedv_data_raw_rx --vv --framesperburst 1 DATAC1 - /dev/null
|
||||
|
||||
|
||||
"""
|
||||
import sys
|
||||
sys.path.append('modem')
|
||||
sys.path.append('freedata-server')
|
||||
import numpy as np
|
||||
|
||||
modem_path = '/../../modem'
|
||||
modem_path = '/../../freedata-server'
|
||||
if modem_path not in sys.path:
|
||||
sys.path.append(modem_path)
|
||||
|
||||
|
||||
|
||||
#import modem.codec2 as codec2
|
||||
#import freedata-server.codec2 as codec2
|
||||
from codec2 import *
|
||||
import threading
|
||||
import modulator as modulator
|
||||
|
@ -50,7 +50,7 @@ def demod(txbuffer):
|
|||
nbytes = api.freedv_rawdatarx(
|
||||
freedv, bytes_out, audiobuffer.buffer.ctypes
|
||||
)
|
||||
# get current modem states and write to list
|
||||
# get current freedata-server states and write to list
|
||||
# 1 trial
|
||||
# 2 sync
|
||||
# 3 trial sync
|
||||
|
|
|
@ -5,7 +5,7 @@ deprecated_daemon.py
|
|||
|
||||
Author: DJ2LS, January 2022
|
||||
|
||||
daemon for providing basic information for the modem like audio or serial devices
|
||||
daemon for providing basic information for the freedata-server like audio or serial devices
|
||||
|
||||
"""
|
||||
# pylint: disable=invalid-name, line-too-long, c-extension-no-member
|
||||
|
@ -92,7 +92,7 @@ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
|
|||
#pass
|
||||
print(jsondata.get("routing_table"))
|
||||
|
||||
if jsondata.get('freedata') == "modem-message":
|
||||
if jsondata.get('freedata') == "freedata-server-message":
|
||||
log.info(jsondata)
|
||||
|
||||
if jsondata.get('ping') == "acknowledge":
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# FREEDATA_CONFIG=modem/config.ini flask --app modem/server run
|
||||
FREEDATA_CONFIG=modem/config.ini python3 modem/server.py
|
||||
# FREEDATA_CONFIG=freedata-server/config.ini flask --app freedata-server/server run
|
||||
FREEDATA_CONFIG=freedata-server/config.ini python3 freedata-server/server.py
|
||||
|
|
Loading…
Reference in a new issue