Commit graph

449 commits

Author SHA1 Message Date
DJ2LS
2de4d32cbb WIP ARQ - speed level fix 2023-12-16 14:38:58 +01:00
DJ2LS
0d3ec7aa4b WIP ARQ - enable audio decoding of signalling 2023-12-16 14:36:14 +01:00
DJ2LS
a7b02a400f WIP ARQ - audio fix 2023-12-16 14:31:57 +01:00
DJ2LS
00e46c02ef WIP ARQ - modem stuff ... a bit weird 2023-12-16 14:29:47 +01:00
DJ2LS
6f7166201f WIP ARQ - fixed tests 2023-12-16 12:54:16 +01:00
DJ2LS
681bc5703f WIP ARQ - moved calculate_fft to audio 2023-12-16 11:05:53 +01:00
DJ2LS
7394e8b31b WIP ARQ - removed fsk 2023-12-16 10:35:06 +01:00
DJ2LS
b3519eef56 WIP ARQ - removed sig0/1 2023-12-16 10:32:07 +01:00
DJ2LS
ad6f913aab WIP ARQ - cleanup and fixes 2023-12-16 10:28:30 +01:00
Pedro
30996c03b6 Eliminate modem TX queues and change transmit() to a blocking call 2023-12-16 00:51:57 +01:00
Pedro
1640f6c66e Eliminate the modem modoutqueue 2023-12-15 18:25:01 +01:00
DJ2LS
8b7f7c47aa WIP ARQ - more fixes 2023-12-15 17:01:03 +01:00
DJ2LS
4d59311f66 WIP ARQ - more fixes 2023-12-15 16:40:05 +01:00
DJ2LS
a970f96165 WIP ARQ - more fixes 2023-12-15 16:22:38 +01:00
DJ2LS
b5268ec4f0 WIP ARQ - more fixes 2023-12-15 14:58:53 +01:00
DJ2LS
22e98a816f WIP ARQ - more fixes 2023-12-15 14:56:35 +01:00
DJ2LS
c4dbe0caef WIP ARQ - cleanup and modem fix 2023-12-15 14:41:11 +01:00
DJ2LS
16f37677d5 WIP ARQ - speed level 2023-12-14 22:53:32 +01:00
Pedro
b42c40dd78 ARQ WIP 2023-12-14 17:57:58 +01:00
Pedro
a3d05f3521 Improve ARQ setting of failed state 2023-12-14 17:41:57 +01:00
Pedro
fd33ccbe1e Correct end of transfer on ISS side 2023-12-14 17:33:43 +01:00
Pedro
0014462c63 ARQ refactor with explicit states 2023-12-14 17:29:04 +01:00
DJ2LS
3bb9dd3991 WIP ARQ - WIP data ack nack 2023-12-14 09:19:46 +01:00
DJ2LS
62ea8fa9b2 WIP ARQ - changed frame types, introduced data ack nack 2023-12-14 09:07:46 +01:00
DJ2LS
cefd1b3efc WIP ARQ - cleanup 2023-12-13 23:53:39 +01:00
DJ2LS
4b87d95670 WIP ARQ - decrease speed level after two attempts --> WIP! 2023-12-13 23:37:40 +01:00
DJ2LS
864589b647 WIP ARQ - moved old data to cementry 2023-12-13 23:37:00 +01:00
DJ2LS
e357c6a1dc WIP ARQ - final crc check 2023-12-13 23:07:06 +01:00
DJ2LS
463c8c3829 WIP ARQ - introduced additional info state 2023-12-13 22:25:22 +01:00
Pedro
9bbdaa055a ARQ progress 2023-12-13 18:27:55 +01:00
Pedro
c98b37db96 ARQ progress 2023-12-13 16:56:11 +01:00
Pedro
bef2e80acc Successful ARQ v2 transfer for the 1st time 2023-12-13 15:35:16 +01:00
Pedro
ba846013e8 ARQ progress 2023-12-13 14:59:22 +01:00
Pedro
ed469ee035 ARQ WIP 2023-12-13 14:33:09 +01:00
Pedro
48260f2c09 ARQ WIP 2023-12-13 11:51:54 +01:00
Pedro
4eec0b969a Change overflow exception 2023-12-13 10:05:14 +01:00
Pedro
d17878b123 ARQ WIP - Burst Frame tests ok 2023-12-13 09:56:58 +01:00
Pedro
227bc40a00 ARQ WIP - Fix data factory tests! 2023-12-13 09:24:43 +01:00
Pedro
4c3b3d79af ARQ WIP 2023-12-12 22:33:17 +01:00
Pedro
e839453806 ARQ WIP 2023-12-12 22:05:32 +01:00
Pedro
8f1894da50 ARQ WIP 2023-12-12 21:33:57 +01:00
Pedro
18534a87aa ARQ WIP 2023-12-12 21:20:03 +01:00
Pedro
d35860cc54 ARQ WIP 2023-12-12 20:46:22 +01:00
Pedro
2189f99918 WIP ARQ 2023-12-12 20:22:34 +01:00
DJ2LS
69c5050060 WIP ARQ 2023-12-12 09:46:22 +01:00
DJ2LS
a30d42f11b WIP ARQ 2023-12-12 09:43:03 +01:00
DJ2LS
2e02186ea6 changed freq_offset to frequency_offset for equal naming 2023-12-12 09:41:08 +01:00
Pedro
cefaea2369 WIP ARQ 2023-12-11 19:02:50 +01:00
DJ2LS
edfe2f3064 WIP adding arq data frame 2023-12-10 14:58:49 +01:00
DJ2LS
5b89ab5e53 WIP adding arq data frame 2023-12-10 14:38:19 +01:00
DJ2LS
17504e194c WIP adding arq data frame 2023-12-10 09:59:02 +01:00
DJ2LS
e3bca5bdc7 WIP adding arq data frame 2023-12-09 14:16:53 +01:00
DJ2LS
73f6bba630 WIP adding arq data frame 2023-12-09 13:31:19 +01:00
DJ2LS
f28e47f441 WIP adding arq data frame 2023-12-09 13:28:32 +01:00
DJ2LS
9b820f6562 WIP adding arq data frame 2023-12-09 12:31:08 +01:00
DJ2LS
5842519e2a WIP adding arq data frame 2023-12-08 11:42:38 +01:00
DJ2LS
71ad71d0bf renamed deprecated files so its clear which are new and old 2023-12-08 11:08:02 +01:00
DJ2LS
14a6dab29e better naming for ARQ session / connection 2023-12-08 10:25:26 +01:00
Pedro
a290c854d5 ARQ WIP 2023-12-06 11:59:35 +01:00
Pedro
c689b93ee1 Improve ARQ tests and log messages 2023-12-06 11:47:47 +01:00
Pedro
0b35d393f5 Add frame loss probability to arq tests 2023-12-06 11:33:25 +01:00
Pedro
462e4162c4 Progress on ARQ TDD 2023-12-05 19:12:21 +01:00
Pedro
bf89828c75 ARQ WIP 2023-12-05 19:01:48 +01:00
Pedro
1fab9f8e53 ARQ WIP 2023-12-05 18:50:39 +01:00
Pedro
000702740f WIP ARQ 2023-12-05 15:40:19 +01:00
Pedro
5a58ef97bb Add first protocol test for ping - ping ack 2023-12-04 15:04:14 +01:00
Pedro
6877e950ad Just use structlog on Command classes 2023-12-04 11:54:03 +01:00
Pedro
1917ec077d Remove some unused global queues 2023-12-04 11:36:50 +01:00
Pedro
0aa3b7c249 Use the specified params on making a modem queue item 2023-12-04 11:34:31 +01:00
Pedro
3fd2c402af Get rid of the DATA_QUEUE_TRANSMIT (there is still the MODEM_TRANSMIT_QUEUE) 2023-12-04 11:05:45 +01:00
Mashintime
ce12679f2d Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-12-03 22:48:09 -05:00
Mashintime
fbc4e807cf Explorer tweaks 2023-12-03 13:16:09 -05:00
Pedro
1e787d8c82 Fix the CQFrameHandler base class. 2023-12-03 15:30:30 +01:00
Pedro
efb1a8e61b Move reset_data_sync() to Demodulator 2023-12-03 15:05:44 +01:00
DJ2LS
b29c539d5f saving thoughts regarding to processing arq commands... 2023-12-03 14:11:43 +01:00
DJ2LS
e7f8dc73e0 fixed typo 2023-12-03 10:42:54 +01:00
DJ2LS
dc17d4c034 fixed typo 2023-12-03 10:41:20 +01:00
DJ2LS
f01cc38e64 moved frame activity to frame handler 2023-12-03 10:40:31 +01:00
DJ2LS
7a88875309 changed super class 2023-12-01 19:54:46 +01:00
DJ2LS
6829a9df85 ensure callsign in correct format 2023-12-01 19:54:07 +01:00
DJ2LS
97bc309bb6 fixed activities list, disabled heard stations again 2023-12-01 17:02:42 +01:00
DJ2LS
75dfa4d28a adjusted activities for rx'ed frames 2023-12-01 16:57:59 +01:00
DJ2LS
72658837c9 added activities list 2023-12-01 16:39:52 +01:00
Mashintime
b960dea9c2 GUI scatter 2023-11-30 21:12:04 -05:00
Mashintime
b7b51ad469 PTT updates 2023-11-30 16:50:10 -05:00
DJ2LS
02062e3e18 some more frame porting 2023-11-30 20:35:07 +01:00
Pedro
ca1257bab7 Remove comments about old data_queue_received format 2023-11-30 10:55:51 +01:00
Pedro
4d0bef497b Deliver frequency offset info to frame handler 2023-11-30 10:54:37 +01:00
Pedro
16786d4a7e Switch to new frame dispatcher process data with new class based frame handlers. 2023-11-30 09:24:36 +01:00
Pedro
32e1aa7edb Improve frame handler event broadcast 2023-11-30 08:44:18 +01:00
Pedro
63273b7f02 Add PingFrameHandler 2023-11-30 00:15:16 +01:00
Pedro
f4b00ce68a Add inheritance based frame handling on rx 2023-11-29 22:53:50 +01:00
Pedro
b901b8efaa Handle exception on frame deconstruction 2023-11-29 21:30:09 +01:00
Pedro
bf4855aa63 Fix ping receive handling 2023-11-29 19:09:01 +01:00
Pedro
06e79e627e Fix beacon rx handling 2023-11-29 18:51:30 +01:00
Pedro
6020b69527 Fix received CQ handling. Ping receive still broken. 2023-11-29 18:25:32 +01:00
Pedro
2dbf6883a0 Add previously forgotten Demodulator 2023-11-29 18:24:42 +01:00
Pedro
d5a1a74f1a Separate demodulation code 2023-11-29 17:35:23 +01:00
Mashintime
f044b64ace Audio dbfs support 2023-11-28 17:46:55 -05:00
Mashintime
bf31ca5891 Busy slot states 2023-11-28 17:29:01 -05:00
DJ2LS
99e6c86220 implemented some arq commands 2023-11-28 20:43:41 +01:00
DJ2LS
27e05d2d8e added more arq frames 2023-11-28 20:34:33 +01:00
DJ2LS
618bf3ae4b some code adjustments 2023-11-28 20:00:39 +01:00
Pedro
f5415ce7cd Improve DataFrameFactory and tests 2023-11-27 23:08:00 +01:00
Pedro
5202a93676 Delete old ping tx code 2023-11-26 23:00:55 +01:00
DJ2LS
e398eaa413 Merge remote-tracking branch 'origin/develop' into develop 2023-11-26 22:36:40 +01:00
DJ2LS
018add39d2 trying to fix a error without testing it... 2023-11-26 22:36:35 +01:00
Pedro
8f2f464846 Move Beacon from data_handler_broadcasts to modem 2023-11-26 22:24:09 +01:00
Pedro
ff0e4c25a2 Improve beacon 2023-11-26 21:51:43 +01:00
Mashintime
eb0cf4a4a1 Radio mode handling in state data 2023-11-26 13:54:28 -05:00
Mashintime
d2eb4ffd09 Missed a variable 2023-11-26 12:24:19 -05:00
Mashintime
12e5d2ff7a Fix dynamic control of FFT data stream 2023-11-26 12:22:22 -05:00
Pedro
1db9d1fca6 Refactor beacon 2023-11-26 15:45:41 +01:00
Pedro
0f10d73a61 Refactor beacon 2023-11-26 15:23:20 +01:00
Pedro
851cef2b9b Small code improvements 2023-11-26 14:51:58 +01:00
Pedro
c164faae21 Fix "send test frame" 2023-11-26 14:25:14 +01:00
Pedro
766342a866 Fix Command log message 2023-11-26 13:11:45 +01:00
Pedro
e3e486b5fc Fix PingCommand 2023-11-26 12:53:28 +01:00
Pedro
e0bd7c5e09 Fix several errors to get server to start again. 2023-11-26 12:45:51 +01:00
DJ2LS
9872b52741 first attempt using frame deconstructor 2023-11-26 11:41:37 +01:00
DJ2LS
8883616e67 first attempt using frame templates 2023-11-26 10:33:06 +01:00
DJ2LS
b5ee39b2d2 first attempt using frame templates 2023-11-26 10:25:13 +01:00
Pedro
8670646ca7 Implement more commands and remove old code 2023-11-26 00:11:39 +01:00
Pedro
dea132203b Make modem transmit queue item format more explicit 2023-11-25 23:39:35 +01:00
Pedro
cf50e69e3a Implement fec and fec wake up frames 2023-11-25 23:22:31 +01:00
Pedro
f96c566223 Move codec2 functions to codec2 interface 2023-11-25 23:14:49 +01:00
Pedro
bfaa284837 WIP 2023-11-25 19:05:42 +01:00
Pedro
e8a2a5d12a WIP 2023-11-25 18:21:41 +01:00
Pedro
395e505b84 Work in progress 2023-11-24 10:46:51 +01:00
DJ2LS
dbd1cf1d98 first prototype of registering arq session 2023-11-23 23:10:53 +01:00
Pedro
5bb25c3d45 Refactoring of tx commands - WIP 2023-11-23 16:59:53 +01:00
Pedro
5c34ef40da Add DataFrameFactory with the different frame types 2023-11-23 16:11:47 +01:00
DJ2LS
1cf6d5914a test with frame dispatcher 2023-11-23 10:14:11 +01:00
Mashintime
22e2f2f08a Enable fft when client connects to fft ws 2023-11-23 01:02:56 -05:00
Mashintime
28e7694545 Fix websockets not sending data 2023-11-23 01:01:29 -05:00
Pedro
a5ebf2d0fc Improve threading.Event() usage on transmission 2023-11-22 21:54:50 +01:00
Pedro
8dfae3b35a Remove beacon state handling from data transmission queue 2023-11-22 18:07:30 +01:00
Pedro
06dd1637cd Set beacon directly on modem state 2023-11-22 18:05:31 +01:00
Pedro
8c2c6a8ce0 Explicit args on modem primitive methods. API error format. 2023-11-22 14:57:51 +01:00
Pedro
eda5580f83 Isolate websocket management 2023-11-22 12:04:07 +01:00
DJ2LS
9d96e1ee37 adjusted pyinstaller conf 2023-11-20 16:02:22 +01:00
DJ2LS
e2c615b4ed first test running tests in github actions 2023-11-20 15:50:48 +01:00
DJ2LS
083a98263b adjusted arq classes 2023-11-20 09:00:07 +01:00
DJ2LS
670a1703de move some functions to a helper file 2023-11-20 07:39:54 +01:00
DJ2LS
5426cb3a1b first test with CQ ... setting handling still bad 2023-11-19 23:17:43 +01:00
DJ2LS
81f6ce4636 more work on ARQ modules.. 2023-11-19 22:44:16 +01:00
DJ2LS
b1d8810bcf splitting ARQ into subclasses 2023-11-19 22:12:30 +01:00
DJ2LS
d94399e07c moved arq stuff to own module... 2023-11-19 17:09:47 +01:00
DJ2LS
d8ce1d456f splitted data handler... broken! 2023-11-19 14:56:29 +01:00
DJ2LS
442a041952 attempt fixing some callsign related stuff...aaargh 2023-11-19 14:03:48 +01:00
DJ2LS
225af9e8b5 fixed explorer publishing 2023-11-19 12:31:56 +01:00
DJ2LS
129b7f6029 fixed receiving qrv 2023-11-19 10:22:38 +01:00
DJ2LS
6670f36ad8 read config after hot reload 2023-11-19 09:56:00 +01:00
Mashintime
e1bb03f4d9 Go Go CQ CQ 2023-11-19 02:34:43 -05:00
Mashintime
a804ff94af More work on ping and beacons 2023-11-19 02:30:47 -05:00
Mashintime
96efa8fb25 Add snr to dispatcher 2023-11-19 02:29:40 -05:00
Mashintime
36e71f44f7 Fix up beacons 2023-11-18 23:06:03 -05:00
Mashintime
50b92d813e Use correct format for mycallsign 2023-11-18 17:55:05 -05:00
Mashintime
7c73e131a5 Some rig control work 2023-11-18 17:50:40 -05:00
Pedro
fec578b1d7 Fix invalid mycallsign decoding (it is now a string and not a byte array) 2023-11-18 18:43:52 +01:00
Pedro
4a650e66c1 Fix ping API endpoint and caller 2023-11-18 18:14:23 +01:00
Pedro
477c93570c Fix config.ini.example settings 2023-11-18 18:06:40 +01:00
Mashintime
3b33ce9a62 Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-11-18 12:05:28 -05:00
Mashintime
daa8604c7b Fix a few cfg items in modem.py 2023-11-18 11:55:49 -05:00
DJ2LS
05a7bcfa42 fixed default config 2023-11-18 17:27:26 +01:00
Pedro
befdb15f41 Change config.ini.example to match config changes 2023-11-18 17:00:09 +01:00
Pedro
4f7972b546 Simplify and fix broken settings. 2023-11-18 16:59:19 +01:00
Pedro
c6871dbf52 More progress.. 2023-11-18 16:58:21 +01:00
Mashintime
b837c0f854 Delay initial explorer report incase of bugs/issues 2023-11-18 03:49:32 -05:00
Mashintime
dc843276c2 get_crc, check if input is not bytes 2023-11-18 03:28:43 -05:00
DJ2LS
07e6c33e89 and another global has been eliminated.. 2023-11-17 23:33:30 +01:00
DJ2LS
108851fb78 and another global has been eliminated.. 2023-11-17 23:07:24 +01:00
DJ2LS
5121cb5a14 and another global has been eliminated.. 2023-11-17 23:05:41 +01:00
DJ2LS
145ac1533a Merge remote-tracking branch 'origin/develop' into develop 2023-11-17 22:45:20 +01:00
DJ2LS
0489db4292 and another global has been eliminated.. 2023-11-17 22:45:10 +01:00
Mashintime
d84dc12fb0 Fix config errors 2023-11-17 16:36:12 -05:00
Mashintime
f2befd29f2 Add support for /modem/state rest 2023-11-17 16:35:52 -05:00
Mashintime
5cc05d26e7 Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-11-17 16:05:09 -05:00
DJ2LS
cbe05caea2 and another global has been eliminated.. 2023-11-17 20:03:03 +01:00
DJ2LS
f912841f5a and another global has been eliminated.. 2023-11-17 18:20:51 +01:00
Mashintime
c684cd58e0 Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-11-17 06:54:26 -05:00
DJ2LS
6682bf360a and another global has been eliminated.. 2023-11-17 11:07:29 +01:00
DJ2LS
27209ff843 and another global has been eliminated.. 2023-11-17 10:58:07 +01:00
DJ2LS
d7755b147a and another global has been eliminated.. 2023-11-17 10:37:50 +01:00
DJ2LS
4e14eeecb7 and another global has been eliminated.. 2023-11-17 10:22:45 +01:00
DJ2LS
ee709b32ef reducing another global... 2023-11-17 09:53:51 +01:00
Mashintime
4318902f5a Send state on new connection instead of fixed period 2023-11-16 20:39:04 -05:00
Mashintime
c19586369e Send state messages semi-frequently even if there's no changes 2023-11-15 17:34:26 -05:00
Mashintime
0916ef4ce7 Fix audio test error message 2023-11-15 16:33:49 -05:00
Pedro
924871859f Fix identification of audio devices 2023-11-15 21:14:56 +01:00
Pedro
af80565acd Improve value error exception message 2023-11-15 17:06:51 +01:00
Pedro
1ed281e7c4 Convert and validate server side config data 2023-11-15 16:49:16 +01:00
DJ2LS
03738bcb8f attempt with disabled portaudio termination 2023-11-14 19:35:11 +01:00
DJ2LS
d74dda0bc5 config fixes and adjustments 2023-11-14 19:26:11 +01:00
DJ2LS
9d8c736917 websocket non blocking multi client support 2023-11-14 15:01:01 +01:00
DJ2LS
4af574cd43 fixed explorer publishing 2023-11-13 22:54:57 +01:00
DJ2LS
237318b268 fixed explorer publishing 2023-11-13 22:35:54 +01:00
DJ2LS
c47ef5fa47 Merge remote-tracking branch 'origin/develop' into develop 2023-11-13 20:26:36 +01:00
DJ2LS
fa73706af5 some more reducing of globals.. 2023-11-13 20:26:27 +01:00
Mashintime
e04b5e4a89 Update default modem port to 5000 2023-11-13 14:04:15 -05:00