Commit graph

322 commits

Author SHA1 Message Date
dj2ls
d365255a95 arq cleanup after sending close frames 2022-10-06 11:47:19 +02:00
dj2ls
d865edcfe7 removed delay between repeated frames 2022-10-06 11:36:14 +02:00
dj2ls
47f6e54b6d first working arq transmission with session id 2022-10-06 11:35:12 +02:00
dj2ls
1db840e1f4 attempt to fix rx data 2022-10-06 11:21:36 +02:00
dj2ls
7a682219cc several pep improvements 2022-10-05 20:27:38 +02:00
dj2ls
3d044189ac move to session id instead of crc 2022-10-05 19:24:50 +02:00
dj2ls
0bc136099c 4 carrier test 2022-09-16 17:28:00 +02:00
dj2ls
c0588f758a 3 carrier test 2022-09-16 17:07:58 +02:00
dj2ls
dba7f63de8 cleanup and improved logging 2022-09-08 15:47:23 +02:00
dj2ls
b3595fb033 cleanup and improved logging 2022-09-08 15:36:53 +02:00
dj2ls
f19381a6e5 first working SNR measured data channel 2022-09-08 15:21:45 +02:00
dj2ls
5f18c7a37b first test with SNR measurement on initial opening a data channel 2022-09-08 14:54:39 +02:00
dj2ls
cb37f39b66 increased connection attempts and reduced interval time 2022-09-08 11:18:50 +02:00
dj2ls
1924189bdc minor fix with different channel constellation 2022-09-08 10:18:47 +02:00
dj2ls
863444c010 change buffer size via gui, some small buffer improvements 2022-09-05 11:54:50 +02:00
dj2ls
42560fda6f buffer size as startup argment for tnc. Not yet changeable via GUI 2022-09-05 10:47:03 +02:00
dj2ls
830b62583b first version with RX_BUFFER as queue #233 2022-09-05 10:37:50 +02:00
dj2ls
dbffd1f01d removed mode 255 from mode list 2022-09-05 09:04:35 +02:00
Paul Kronenwetter
c84a4a29a1 Remove unused received_mycall_crc 2022-07-04 17:27:35 -04:00
Paul Kronenwetter
cd00eaa851 Restore Python 3.6 compatibility 2022-07-04 17:18:10 -04:00
Paul Kronenwetter
4a50c9c9d0 Remove compression factor calculation.
This is done in arq_transmit and should not be needed here.
2022-07-03 14:06:01 -04:00
Paul Kronenwetter
7f649f98df Extract queues from data_handler and modem.
Eliminates a cyclical import identified by pylint.
2022-07-03 13:41:06 -04:00
Paul Kronenwetter
9b7056a774 Misc additions. 2022-07-02 16:20:51 -04:00
Paul Kronenwetter
953e981e18 Avoid setting global / class state for unrelated frame. 2022-07-02 16:20:14 -04:00
Paul Kronenwetter
06c11e0537 Remove unnecessary callsign checks.
Add notes.
2022-07-02 16:19:33 -04:00
Paul Kronenwetter
ee82cfe967 Use dispatcher for command and received frame handling. 2022-07-02 16:14:05 -04:00
Paul Kronenwetter
5619a71340 Add information to sock logs.
Minor formatting changes.
Other minor log changes.
2022-06-24 14:55:59 -04:00
Paul Kronenwetter
5922c722ad
Merge branch 'main' into refactor_N2KIQ_data_enums 2022-06-24 10:03:42 -04:00
Paul Kronenwetter
1d760d61af Rename ACK to BURST_ACK. 2022-06-24 09:48:50 -04:00
Paul Kronenwetter
efc9950090 Remove manual mode. 2022-06-24 09:42:13 -04:00
Paul Kronenwetter
62cfdea72b Add FREEDV_MODE enum usage in test frame. 2022-06-24 09:39:56 -04:00
Paul Kronenwetter
d16e98f4cd Remove datac0 from high/low bandwidth mode lists.
Datac0 causes frame CRC errors, removing from mode lists.
Shorten codec2.FREEDV_MODE by import alias.
Use FREEDV_MODE enum in logs for easier debugging.
Minor reformatting.
2022-06-24 09:22:46 -04:00
Paul Kronenwetter
275e017a05 Restore a section errantly removed. 2022-06-23 18:16:32 -04:00
Paul Kronenwetter
4a23984360 Remove allmodes (255) option from TNC.
First attempt.
2022-06-21 18:47:18 -04:00
Paul Kronenwetter
55e229c62a Use FRAME_TYPE enum instead of plain int.
Update FRAME_TYPE enum for missing items.
2022-06-21 18:33:55 -04:00
Paul Kronenwetter
1deed67bfb
Merge pull request #219 from DJ2LS/issue_218_fix_with_test
Issue 218 fix with test
2022-06-20 20:02:14 -04:00
Paul Kronenwetter
9cb2cebddd Merge remote-tracking branch 'origin/main' into issue_205_ping_no_call 2022-06-19 17:11:21 -04:00
Paul Kronenwetter
71bc562189 Fix for issue #218. 2022-06-19 16:45:06 -04:00
Paul Kronenwetter
4a8f9ce6d0 Correct merge omission 2022-06-19 08:47:56 -04:00
Paul Kronenwetter
292754af2d Initial cut of fix for issue #206. 2022-06-17 19:48:47 -04:00
Paul Kronenwetter
f1b4f33eed Merge branch 'main' into tests_N2KIQ_202206 2022-06-17 06:45:03 -04:00
Paul Kronenwetter
b8ac18bc54
Merge branch 'main' into bugfix_issue_207 2022-06-15 20:06:31 -04:00
Paul Kronenwetter
f695e6e2af Collapse repeated code to a function.
Add function parameter and return types.
Move logging to a class variable.
Extended use of FREEDV_MODE enum.
Moved TESTING check to arq_cleanup.
2022-06-15 19:40:14 -04:00
Paul Kronenwetter
38f468adce Various refactorings.
Type hints, trailing backslash, range usage, etc.
2022-06-15 19:40:11 -04:00
Paul Kronenwetter
7d163ac189 Remove excess trailing spaces. 2022-06-15 19:37:55 -04:00
dj2ls
f758e10a35 removed static.INFO fields 2022-06-15 10:54:34 +02:00
dj2ls
5a2023b2c0 updated arq session state 2022-06-15 10:40:54 +02:00
dj2ls
a19a6c13c1 added qrv info toast 2022-06-09 21:31:12 +02:00
dj2ls
1909087c6b file transfer now working 2022-06-09 14:11:39 +02:00
dj2ls
a4df21c0a2 further changes of gui 2022-06-07 11:31:59 +02:00
dj2ls
8e4a3f4d33 first change of gui 2022-06-07 10:08:15 +02:00
dj2ls
0c0e8dd8ca use uuid and mycallsign within class 2022-06-06 21:07:41 +02:00
dj2ls
79f1f8e9b2 added simple message identifier 2022-06-06 20:50:36 +02:00
dj2ls
acd8b345c1 reduced message information 2022-06-06 20:44:35 +02:00
dj2ls
6613142fce updated messages 2022-06-06 20:31:15 +02:00
Paul Kronenwetter
4fd8c4932a Fix for issue #207.
Add a few debugging logs.
2022-06-05 14:09:38 -04:00
DJ2LS
d159a5140d first change of info fields 2022-06-05 19:11:09 +02:00
Paul Kronenwetter
8cc1e721b6 Make argument name more useful.
Also fix a missed bandwith -> bandwidth typo fix.
2022-05-30 16:40:58 -04:00
Paul Kronenwetter
ae3fafde8d Implement send_data_to_socket_queue.
Implements capability requested in issue 200.
Remove similar duplicated code in `arq_data_received`, `arq_transmit`,
`frame_nack_received`, `arq_open_data_channel`, `received_ping_ack`,
`received_beacon` and `received_qrv`.
2022-05-30 11:41:24 -04:00
Paul Kronenwetter
b0742e114a Correct usage of tempbuffer list. 2022-05-29 08:42:38 -04:00
Paul Kronenwetter
6a565ffe41 Merge branch 'main' into refactor_N2KIQ-202205-2 2022-05-28 11:52:05 -04:00
DJ2LS
1fa8f0f2ae smaller changes... 2022-05-28 14:31:58 +02:00
DJ2LS
adf800b822 changed bandwith typo --> this could break some things.. 2022-05-28 14:08:33 +02:00
Paul Kronenwetter
2fa9aead44 Another round of formatting changes.
Implement class-level logging in places.
2022-05-27 22:17:15 -04:00
Paul Kronenwetter
98c1030c24 Incorporate some changes from pep8_improvements.
Simplify structlog calls.
Other refactoring.
2022-05-25 21:23:30 -04:00
Paul Kronenwetter
08202bbaec Prefer double- over single-quote.
Other minor fixes.
2022-05-25 18:27:33 -04:00
DJ2LS
e05bc262ad and some more typos and whitespace correction.. 2022-05-23 14:26:14 +02:00
DJ2LS
507e3a5b06
Merge branch 'main' into pep8_improvements 2022-05-23 09:46:42 +02:00
DJ2LS
b6face744b First run reducing number of problems 2022-05-23 09:37:24 +02:00
Paul Kronenwetter
a456ff54f7 Use min/max for speed_level adjustments.
Rearranged more comments.
2022-05-22 22:13:43 -04:00
Paul Kronenwetter
ee1305a2dc Bandwidth spelling. 2022-05-22 21:11:40 -04:00
Paul Kronenwetter
2c0728770c Collapse repeated code to a function.
Add function parameter and return types.
Move logging to a class variable.
Extended use of FREEDV_MODE enum.
Moved TESTING check to arq_cleanup.
2022-05-22 20:54:12 -04:00
dj2ls
b62aa05dbe removed nested state check 2022-05-20 14:38:43 +02:00
dj2ls
5317c8081a fixed speed level 2022-05-19 22:37:27 +02:00
dj2ls
1f66f54f5f first attempt of fixing #189 2022-05-19 22:15:24 +02:00
Paul Kronenwetter
8a5e290a30 Various refactorings.
Type hints, trailing backslash, range usage, etc.
2022-05-15 11:07:56 -04:00
Paul Kronenwetter
3a70b87e21 Remove excess newlines. 2022-05-15 11:06:14 -04:00
Paul Kronenwetter
9753735c40 Remove excess trailing spaces. 2022-05-15 11:06:07 -04:00
Paul Kronenwetter
6e17caf3cf Making check_callsign evaluation more consistent. 2022-05-03 20:08:26 -04:00
Paul Kronenwetter
bcc15287c9
Corrects issue #173 fix
I didn't look carefully enough at `helpers.check_callsign` to see that it returns a list. The first element of the list is `True`/`False`.
2022-05-02 00:39:27 +00:00
Paul Kronenwetter
0e43f65bc2 Add function docstring to received_session_close. 2022-05-01 11:41:40 -04:00
Paul Kronenwetter
d2e38b77eb Implements another TODO from #173 .
Corrects previous fix as well.
2022-05-01 11:34:31 -04:00
Paul Kronenwetter
7b4f75f66c Implements TODO from #173 . 2022-05-01 11:07:54 -04:00
dj2ls
0e8e3d1b67 fixed file transfer for 24bit crc 2022-05-01 11:19:59 +02:00
dj2ls
ffff256623 arq disconnect improvement
this should fix and closes #173
2022-04-30 13:03:24 +02:00
Paul Kronenwetter
e4b901adad Adding callsign for ID after stop transmission. 2022-04-24 18:43:50 -04:00
Paul Kronenwetter
aefee60bad Initial attempt to fix issue #179. 2022-04-24 13:30:43 -04:00
dj2ls
107daa1b47 increased disconnect bursts
lets see if this improves
#173
2022-04-24 16:11:36 +02:00
dj2ls
57e4af83af first test with 24bit crc
moved from 16bit crc to 24bit crc...First test for ping and file transfer seems to be working... This has been too easy... 🤔
2022-04-19 11:09:11 +02:00
dj2ls
a90abb122f enable/disable cq response
Enable and disable CQ response via GUI. Also moved settings to settings modal - with a small redesign. Auto updater still WIP
2022-04-18 17:17:53 +02:00
dj2ls
88149830df first test with 6bit gridsquare encoding
same for grid as call - we should think about saving the callsign and gridsquare as string and not as bytes. Also increased disconnect burst number where a toggle loop occured...
2022-04-17 22:30:15 +02:00
dj2ls
53af74f757 first test with 6bit callsign encoding
seems to work, but we have to redesign the way how we handle callsigns. This is really confusing...
2022-04-17 22:16:13 +02:00
dj2ls
2daafd183a removed some info lines 2022-04-16 16:28:04 +02:00
Paul Kronenwetter
62b939fbc9 Replaced sleep with helpers.wait in transmit_qrv. 2022-04-15 19:59:12 -04:00
Paul Kronenwetter
9f9b5e98e2 Remove errant inclusion of NOCALL ping logging. 2022-04-15 15:24:12 -04:00
Paul Kronenwetter
82935dcaae Proof of concept automatic response to CQ.
Uses new QRV frame rather than new BREPLY frame. Also changes CQ
behavior to send only one frame instead of 3.
NOTE: This implementation will respond *three* times to previous release
software (v0.3.3-alpha.3 and earlier).
2022-04-15 15:17:14 -04:00
Paul Kronenwetter
08faa53f26 WIP: Proof of concept using BEACON and new BREPLY frames. 2022-04-15 14:41:20 -04:00
Paul Kronenwetter
195310dda1 Removing unneeded code.
Bytearray fills with zero upon allocation.
2022-04-15 11:26:53 -04:00
Paul Kronenwetter
802185b31a Removing commented frequency_offset code. 2022-04-15 11:03:14 -04:00
Paul Kronenwetter
02bc780dce Remove frequency_offset from received_ping. 2022-04-15 09:01:33 -04:00
DJ2LS
faefd84ae5 Revert "black code formatting"
This reverts commit 92cfa367f3.
2022-04-11 11:10:32 +02:00
dj2ls
92cfa367f3 black code formatting 2022-04-11 11:03:54 +02:00
Paul Kronenwetter
8e8a2c8432
Merge branch 'DJ2LS:main' into correct_typos 2022-04-10 17:32:50 -04:00
Paul Kronenwetter
ec490376a6 Additional corrections. 2022-04-10 17:31:49 -04:00
Paul Kronenwetter
cdefbb841f Better handle check_callsign changes. 2022-04-10 16:45:05 -04:00
Paul Kronenwetter
4358dd9c8a Correcting some typos. 2022-04-10 13:20:58 -04:00
dj2ls
c89e4beebf fixed audio device list
audio device list not complete when init after multiprocessing init. #153
2022-04-08 11:35:13 +02:00
dj2ls
500c657099 extended status message
now we are able viewing a unique transmission status within chat messages. One step closer to a better way of handling status
2022-04-07 11:19:29 +02:00
dj2ls
a2552be843 repeat frame ack and fixed repeat transmission from gui 2022-04-06 10:15:14 +02:00
dj2ls
47aff1a9f6 fix file transfer issue
closes #151
2022-04-05 11:29:20 +02:00
dj2ls
8f3f046655 improved logging and chat 2022-04-02 18:40:12 +02:00
dj2ls
04f6c49ac5 audio tuning and chat optimisation
closes #117
2022-04-02 14:54:43 +02:00
dj2ls
3f35a01b94 adjust volume level on TX 2022-03-31 21:13:30 +02:00
dj2ls
d3ee911186 enable/disable fsk mode 2022-03-31 12:45:44 +02:00
dj2ls
15217b2521 moved to sounddevice
changed audio library, changed ssid behavior, minor chat changed
2022-03-24 20:49:13 +01:00
dj2ls
4b296a48df added tuning range selector 2022-03-19 12:42:10 +01:00
dj2ls
fed075451a first release of chat
several bug fixes
2022-03-14 20:21:15 +01:00
dj2ls
f5f7060672 different changes
network fixes, chat fixes, gui fixes...
2022-03-12 15:06:49 +01:00
dj2ls
52a7714fd3 hotfix for data handler
forgot numpy import...Ooops
2022-03-11 21:52:44 +01:00
dj2ls
f190afa94a additional arq session state information 2022-03-11 20:38:28 +01:00
dj2ls
52310ffd4e moved beacon into own thread
this should avoid blocking states caused by the beacon
2022-03-10 20:46:34 +01:00
dj2ls
7134361267 improved rigctld network integration 2022-03-06 17:23:04 +01:00
dj2ls
1519c22358 connection mode, documentation, ...
changes in all areas
2022-03-04 16:50:32 +01:00
dj2ls
a358560c9f updated build action
new day ...
2022-02-25 09:28:42 +01:00
dj2ls
326391ccd8 moved to native bootstrap-icon usage
also introduced a speed level field for tnc_state
2022-02-22 21:05:48 +01:00
dj2ls
25392303e4 increased callsign length and added ssid
this now more compatible to VARA to avoid confusion. Callsign length now 7 char + 1 ssid
2022-02-21 12:20:36 +01:00
dj2ls
34cf0a4b05 cleanup 2022-02-19 20:45:57 +01:00
dj2ls
879ba00137 search for chunk from end
according to the last commit we are now searching for data chunks from the end of the existing data. If a data chunk exists twice or more in our already received data, only the last one will be replaced
2022-02-18 10:04:00 +01:00
dj2ls
6e0796f5a0 protocol adjustment
if we are loosing a burst ACK because of fading signals or bad conditions or just because - combined with a changing speed level -  theres now a good chance we are not loosing the entire data frame because of a corrupted CRC, anymore. We are now searching in already received data, if our new (smaller) data chunk already exists. If so, we are stripping the entire data to this position and adding our new data chunk. If not, it seems we received new data the regulary way. However, this could cause problems if we have a too small data entropie. We might also check if we have an increased NACK counter or if a data chunk exists, twice or more -  in a further step
2022-02-18 09:58:49 +01:00
dj2ls
a8d1d576ad sending twice before lowering speed-level
possible this helps avoiding a problem with lost burst ACK
2022-02-17 12:30:38 +01:00
dj2ls
7a93f0a824 fixed callsign detection and default config 2022-02-17 08:32:19 +01:00
dj2ls
30bbf75521 fixed unclean closing
closing application now by signals closes #133
2022-02-16 09:11:32 +01:00
dj2ls
35d95bbb14 500hz mode, protocol improvements....
...and a lot of different changes. Also deactivated single mode transmission. This needs to be optimised another day...Time is the missing ressource...
2022-02-08 15:27:34 +01:00
dj2ls
8384bf8d12 protocol/network/gui/..
changed protocol so IRS is now the speed-level master / send ptt state via network / introduced no rig mode / disable scatter and waterfall in gui and tnc/ increased network chunk size / ...
2022-02-02 21:12:16 +01:00
dj2ls
3835e19c4a updated command stack
also fixed a problem with receiving data within GUI #129
2022-01-30 14:16:08 +01:00
dj2ls
459e39daea updated socket commands and changed rx buffer behavior
..and some other changes to the gui so its compatible again with the latest socket commands. The rx buffer has now a unique id, and new structure. Also all messages and files will be saved to the same buffer. All commands which will be sent to the tnc or dameon are now written in lowercase
2022-01-28 20:07:39 +01:00
dj2ls
1e109da2e4 rigctld port fix and stuck in re opening data channel
data channel stuck in opening process when opening datachannel failed
2022-01-24 23:29:34 +01:00
dj2ls
43aa469633 hotfix for rigctld
fixing wrong ip and improved error handling so rigctld is hopefully not crashing for the early testers out there
2022-01-24 22:01:01 +01:00
dj2ls
5bdd6c569e increased CRC
increased crc for callsigns to CRC16 and for data to CRC32
2022-01-24 19:42:59 +01:00
dj2ls
2c57923c11 new daemon
non blocking and multi client support also attempt of fixing #129
2022-01-22 20:39:37 +01:00
dj2ls
19cbaa0f11 buffer overflow counter
count while an ongoing file transfer #106
2022-01-15 20:17:19 +01:00
dj2ls
a4eeea8a03 decode only if needed
this should reduce cpu load when in idle state and reduce it also when sending in specific mode. This is not yet working for AUTO mode selection. #106
2022-01-15 19:23:28 +01:00
dj2ls
cc3145fc1d fix stop transmission 2022-01-10 18:11:21 +01:00
dj2ls
53aefc0f80 send end of transmission frame
closes #113
2022-01-10 18:09:38 +01:00
dj2ls
0baa544bf0 handle data sent twice
if the ACK frame doesnt receive its destination and data will be resent, we can handle this now.
2022-01-10 17:01:33 +01:00
dj2ls
ec83c16856 increase speed level on burst ack
also stay longer in slow modes
2022-01-10 12:14:40 +01:00
dj2ls
4ea42d5dba introduced speed levels
speed level will increase/decrease stepwise by  a %2 check of retries per burst closes #112
2022-01-10 08:46:45 +01:00
dj2ls
bc1b01c340 fixed message transfer 2022-01-07 18:26:01 +01:00
dj2ls
e81795b45b waiting while transmission 2022-01-07 12:55:03 +01:00
dj2ls
64922fee9e arq fixes 2022-01-07 11:44:35 +01:00