Commit graph

788 commits

Author SHA1 Message Date
Paul Kronenwetter ea1fa38ecc Create get_audio_devices list from set.
This eliminates duplicates without a lot of gyrations.
2022-09-19 19:05:35 -04: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 f8c72d2b6b upload app bundle artifacts and version increment 2022-09-12 09:16:28 +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 c9bcfcbc04 added on air time measurement for easier time debugging 2022-09-08 10:19:07 +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
dj2ls 073f26ace8 hotfix for #240 and failing GitHub action 2022-09-04 19:45:15 +02:00
DJ2LS 6e079bcdb9
Merge pull request #237 from DJ2LS/update_github_action
Update GithubAction
2022-07-14 08:54:46 +02:00
DJ2LS a4af8f37e2 GithubAction build test 2022-07-06 15:40:57 +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 805b85dadf Correct typo from errant paste. 2022-06-24 15:22:16 -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 ac6ec55c5c Bump module to 0.4.3-alpha 2022-06-20 20:11:07 -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 e190ac3569 Merge remote-tracking branch 'origin/main' into tests_N2KIQ_202206 2022-06-19 10:09:13 -04:00
Paul Kronenwetter 4a8f9ce6d0 Correct merge omission 2022-06-19 08:47:56 -04:00
Paul Kronenwetter 8a5eea4dd5
Make log_handler a little more flexible. (#215) 2022-06-19 12:33:37 +00:00
Paul Kronenwetter 8242f61309
Add FRAME_TYPE enum to static (#216)
* Add FRAME_TYPE enum to static

* Add SESSION_ to three values.
2022-06-19 12:33:10 +00: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 c15b11fe7b Fix tests and tnc after merge. 2022-06-15 19:42:12 -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 2d5ebd5846 Minor reworking of the source Pythonness. 2022-06-15 19:40:14 -04:00
DJ2LS f58bc10b89 mkfifo test prototype
First partially working prototype for testing the full tnc with mkfifo named pipes.
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 866388b625 Remove excess newlines. 2022-06-15 19:37:55 -04:00
Paul Kronenwetter 7d163ac189 Remove excess trailing spaces. 2022-06-15 19:37:55 -04:00
Paul Kronenwetter c0c1518fd0 Another round of formatting changes.
Implement class-level logging in places.
2022-06-15 19:37:08 -04:00
Paul Kronenwetter bea8679cef Prefer double- over single-quote.
Other minor fixes.
2022-06-15 19:35:21 -04:00
DJ2LS 0b3c293480 and some more typos and whitespace correction.. 2022-06-15 19:34:29 -04:00
DJ2LS 8a66555e8b Accepted some Sourcery solutions 2022-06-15 19:31:00 -04:00
DJ2LS 520f32aac2 Second run reducing number of problems 2022-06-15 19:29:01 -04:00
DJ2LS c71369aa44 First run reducing number of problems 2022-06-15 19:27:26 -04:00
dj2ls debe742081 audio tuning level hotfix 2022-06-15 15:03:54 +02: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 3618792598 increased version information and updated npm packages 2022-06-09 21:47:11 +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 647fd2d6ca Adjust get_logger names. 2022-05-31 20:35:35 -04:00
Paul Kronenwetter b44c60fa32 Add flexibility to log_handler. 2022-05-31 20:34:22 -04:00
Paul Kronenwetter 2be89b5b20 Change sock per PR comments. 2022-05-31 19:45:37 -04:00
Paul Kronenwetter eeb8532651 Change modem from PR comments. 2022-05-31 19:45:25 -04: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 d04a306be8 Revert "Simplify option handling."
This reverts commit 800099ab62.
2022-05-30 16:33:36 -04:00
Paul Kronenwetter 4af1280e0a Remove unreachable code. 2022-05-30 16:01:25 -04:00
Paul Kronenwetter 800099ab62 Simplify option handling. 2022-05-30 14:48:46 -04:00
Paul Kronenwetter 13fca45fc1 Format tnc directory with black. 2022-05-30 13:47:51 -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 bc6db3950f Suppress expected exceptions.
Fixes issue #196.
2022-05-29 09:47:11 -04:00
Paul Kronenwetter 99586c6d19 Fix for IndexError related to SSID extraction. 2022-05-29 09:43:17 -04:00
Paul Kronenwetter b0742e114a Correct usage of tempbuffer list. 2022-05-29 08:42:38 -04:00
Paul Kronenwetter e4ad7bbb1b Remove extra assignment. 2022-05-28 15:43:25 -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
Paul Kronenwetter 87ebea6c52 Remove annoying debug message. 2022-05-23 21:22:54 -04:00
Paul Kronenwetter 9c28021c51 Remove copy/paste comment that didn't fit. 2022-05-23 18:06:33 -04:00
DJ2LS e05bc262ad and some more typos and whitespace correction.. 2022-05-23 14:26:14 +02:00
DJ2LS 7a530175f8 Accepted some Sourcery solutions 2022-05-23 14:02:22 +02:00
DJ2LS 1bab085ca8 Merge remote-tracking branch 'origin/pep8_improvements' into pep8_improvements 2022-05-23 13:12:24 +02:00
DJ2LS d992fd8dc0 Second run reducing number of problems 2022-05-23 13:11:16 +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
Paul Kronenwetter a19bf69f40 Minor reworking of the source Pythonness. 2022-05-22 16:29:49 -04:00
Paul Kronenwetter bcdc7193a5 Collapse repeated code to a loop.
Add function return types. Start using FREEDV_MODE enum in places where
a raw number or string were used.
2022-05-22 15:58:05 -04:00
Paul Kronenwetter e0f96ffabe Refactor FIFO callback. 2022-05-22 14:20:03 -04:00
Paul Kronenwetter 9ad1e22470 Fix bandwidth spelling for hamlib. 2022-05-22 13:05:47 -04:00
Paul Kronenwetter 6eafb081a1 Refactor audio demodulation routines.
Reformatted file & sorted imports per PEP8.
2022-05-22 12:38:56 -04:00
dj2ls b62aa05dbe removed nested state check 2022-05-20 14:38:43 +02:00
dj2ls 0db0fcc27e changed clip range for snr to -128/128 instead of 0/255
This possibly fixes the SNR problem, but needs to be tested carefully as we had a reason for using np.clip()
2022-05-20 09:26:01 +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
dj2ls 2f767a0cf3 fixed #139 2022-05-19 16:48:21 +02:00
dj2ls 3eca209b85 hamlib typo 2022-05-19 07:19:51 +02:00
Paul Kronenwetter 8e92504a45
Fix for issue #181.
Typo of `HAMLIB_RGICTLD_IP` was fixed on the wrong branch.
2022-05-18 22:14:47 +00: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 921627d0b8 updated version information 2022-04-16 16:29:19 +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
Jörg adbaa8e6f3 keep uncoded SSID 0 - 63 and changed to fixed binary code word length 6 2022-04-14 15:27:03 +02:00
Jörg 7c4ccac6a0 added helper functions for en/decoding 8 byte upper case call [A-Z,0-9] in 6 byte code word with 6 bits per sign
can even do longer or shorter en/decoding using bytes_length parameter for other purpose
could be extendet for lower case letters, not implemented to save performance
2022-04-14 12:41:58 +02:00
DB1UJ a25b5f01c1
added author, typo 2022-04-14 10:26:48 +02:00
DB1UJ 9542d32c8a
added 6 byte grid coding in 26 bit
added encode and decode maidenhead grid square QTH locator as capital letter into 4 byte (only 26 bit used)
2022-04-14 08:44:09 +02: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 b132122d08 bug fixes & gui improvements
fixed tnc not listening to default SSIDs ( here we need to adjust the GUI for supporting changing SSIDs ). Also improved the chat interface a little bit - we have now separated control buttons instead of within a message.
2022-04-10 11:37:09 +02: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 b6cf6e7c17 optimized FSK mode and chat 2022-04-03 15:26:24 +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 4da5327bb0 clean closing of app
problem occured because of parent-child relationship
2022-03-31 11:53:57 +02:00
dj2ls 860865004a updated build action 2022-03-30 21:40:29 +02:00
dj2ls d2f6c7a062 fixed audio device selection 2022-03-30 21:32:25 +02:00
dj2ls a65a677f49 updated sounddevice setup routine
this possible fixes -9998 channel errors
2022-03-30 17:53:35 +02:00
dj2ls 9937ea56ad updated libcodec2.dll 2022-03-30 17:21:01 +02:00
dj2ls 16f23d2f1d new chat release 2022-03-29 22:24:35 +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 3d24d47ee5 first test with FSK_LDPC
highly experimental, not working yet
2022-03-20 14:51:30 +01:00
dj2ls 4b296a48df added tuning range selector 2022-03-19 12:42:10 +01:00
dj2ls f4759bb11d updated codec2 precompiled binaries 2022-03-19 12:41:02 +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 cc46b13982 updated version information 2022-03-11 21:03:25 +01:00
dj2ls 8ef4b5c372 updated hamlib connection methods 2022-03-11 20:52:19 +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 d0f6686899 optimized audio processing
moved from queue to deque, decode only when not transmitting.
2022-03-08 21:00:43 +01:00
dj2ls d57e291912 fixed logger path for macOS 2022-03-08 09:18:18 +01:00
dj2ls 958991aff8 added command responses
every network command will be acknowleded now
2022-03-08 08:44:19 +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 03bfdd54e4 report error when libcodec2 not loaded
this should help us if we want figuring out what causes libcodec2 loading errors on different distribution and operating system
2022-03-03 20:09:54 +01:00
dj2ls a358560c9f updated build action
new day ...
2022-02-25 09:28:42 +01:00
dj2ls 2e66d3d836 hotfix for callsigns without missing ssid 2022-02-24 22:04:38 +01:00
dj2ls 757d66ccb3 improved logging
gui is now creating logfiles as well / renamed daemon and tnc binaries to freedata-daemon and freedata-tnc to avoid problems when trying to kill them / smaller gui adjustements
2022-02-24 10:13:00 +01:00
dj2ls 0fa38a9835 rigcontrol disabled hotfix
this reduces ammount of pushed commands to tnc
2022-02-23 12:39:24 +01:00
dj2ls ca9a5140a2 updated version information inside tnc
and some changes for our github actions as well...
2022-02-23 08:12:24 +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 f021105beb v0.0.1-alpha 2022-02-22 11:30:55 +01:00
dj2ls 84eb027241 path update for log files 2022-02-21 17:58:44 +01:00
dj2ls f293722cda hotfix
I shouldnt use || ...
2022-02-21 17:28:42 +01:00
dj2ls d52ddd272e updated electron build process
lets see if github action can handle this...
2022-02-21 17:25:33 +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 6bc67362c1 force close if sock in use 2022-02-19 21:30:52 +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 2836072dc5 moved one step back
this multiprocessing stuff is weird on windows..
2022-02-17 20:45:20 +01:00
dj2ls 017574cb09 fixed a windows multoprocessing part 2022-02-17 20:28:47 +01:00
dj2ls 2d3a3735ec fixed multiprocessing issue with audio devices
usage of data manager between multiprocessing communication
2022-02-17 16:52:11 +01:00
dj2ls 406518503a fix multiprocessing support on windows 2022-02-17 14:25:22 +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 1a45753c84 fixed audio updating
not sure if this was necessary. Makes no sense
2022-02-17 10:29:02 +01:00
dj2ls efc700b1f7 possible fix for #132
it seems, pyaudio isnt terminated correctly. running it within a subprocess which will be closed after execution, pyaudio seems to be terminated and not causing a problem anymore on raspberry pi. Yay
2022-02-17 10:11:12 +01:00
dj2ls 7a93f0a824 fixed callsign detection and default config 2022-02-17 08:32:19 +01:00
dj2ls 7729ea447f added first mac workflow
a first test...
2022-02-16 16:47:01 +01:00
dj2ls a66f25a14f added libcodec2 for macOS 2022-02-16 16:24:22 +01:00
dj2ls 30bbf75521 fixed unclean closing
closing application now by signals closes #133
2022-02-16 09:11:32 +01:00
dj2ls 699adb7860 added mingw libs 2022-02-15 19:05:02 +01:00
dj2ls a39fc9fb0d removed old lib folder 2022-02-15 19:02:05 +01:00
dj2ls 7eb86c2dc3 changed included folders for pyinstaller 2022-02-15 18:16:46 +01:00
dj2ls d155232c74 updated libcodec2 2022-02-15 18:11:07 +01:00
dj2ls d21532d0b5 busy detection & updated github action 2022-02-15 18:10:14 +01:00
dj2ls 196b18393f hamlib/settings
re-enabled hamlib thread, added a settings menu, updated package.json file
2022-02-10 14:38:55 +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 92cf30225e updated libsearch
added precompiled libcodec2 version for 64bit / 32bit / armv7 (raspberry pi). Also updated library search which is now much more flexible and (hopefully) less confusing.
2022-02-04 16:24:04 +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 5d3bb69e0a better rigctld error handling 2022-01-23 08:38:02 +01:00
dj2ls 77adabf450 mod out locking state
an attempt with a locking state for the mod_out queue so we can process audio only, if we finished filling our mod_out queue. Possibly this solves the problems #99 #127
2022-01-23 07:10:04 +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 805a8450c5 socket non-block design
new design for non blocking network socket. Sock is now streaming status information without need for requesting it.
2022-01-20 20:38:56 +01:00
dj2ls 10d3d5c53e support for different ways controlling the radio
#121 direct, rigctl (for windows), rigctld. Highly experimental. Just to save data.
2022-01-18 19:38:05 +01:00
dj2ls cd757f3ca3 updated hamlib linux binaries
hopefully this is a portable version...
2022-01-16 18:01:47 +01:00
dj2ls 2157130f69 changed build action
tnc and daemon now in subdirectory which is not build as single application for easier debugging.
2022-01-16 17:57:31 +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 6c519c5e8d hamlib cleanup 2022-01-15 17:06:02 +01:00
dj2ls 414c50e435 changed codec2 search path
this isnt working on different OS. We need to find a way fixing this for windows within a pyinstaller environment
2022-01-14 10:56:07 +01:00
dj2ls 0c39eb340f additional library loading
it seems CDLL and LibraryLoader of ctpys lib are different on OSes #76
2022-01-12 09:11:23 +01:00
dj2ls a49844011c updated search path 2022-01-12 08:01:43 +01:00
dj2ls 28c9c673fa detect app path when running in pyinstaller
pyinstaller creates a temporary app environment
2022-01-12 07:27:42 +01:00
dj2ls 5804d62036 updated lib search pathes 2022-01-11 22:16:14 +01:00
dj2ls 2f146ec4a3 windows adjustements 2022-01-11 16:53:35 +01:00
dj2ls 284daf0258 hamlib test 2022-01-11 14:57:11 +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 4b6397c0ab small gui changes
closes #104
2022-01-10 09:06:08 +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 0a9b7febfe fixed message transfer 2022-01-07 18:25:38 +01:00
dj2ls c6bec0e074 import sys 2022-01-07 18:02:15 +01:00
dj2ls d99187837f added hamlib windows bin
and smaller adjustements to rigctl path selection
2022-01-07 17:42:11 +01:00
dj2ls d5ddb95644 typos...
and also a hidden windows test ;-)
2022-01-07 16:58:45 +01:00
dj2ls 306f202c5e avoid buffer overflow #106
this is not a solution, but increases app stability beacuse we are going to a void a buffer overflow. Maybe we need to think about a mode preseelction before transmission starts
2022-01-07 13:13:18 +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
dj2ls 92087da49f arq class and fifo queue processing
moved to a much more clear app design. Huge change, so problems and bugs are no surprise.
2022-01-07 11:25:28 +01:00
dj2ls 63d73b63f3 small network improvements
tests with fifo queue where not that successfull. This is a part we need to look later on closes #107 and closes #105
2022-01-06 22:15:14 +01:00
dj2ls 982569fa1a moved callsign and grid to daemon settings
closes #101
2022-01-05 14:15:59 +01:00
dj2ls fcc5bec25a colored progressbar
closes #100
2022-01-05 13:03:29 +01:00
dj2ls 2896514517 fixed hamlib ptt
thanks @frspin, I tested it with hamlib 4.3 and it seems to be working
2022-01-05 12:01:32 +01:00
DJ2LS 71be19ecc4
Merge branch 'main' into ls-hamlib-test 2022-01-05 11:54:31 +01:00
dj2ls 3a072a63a6 removed buffer management for N>1 frames per burst
I decided removing this from the code and keeping everything simple for N=1 frames per burst. N>1 frames per burst need a completely rethinking of buffer management.
2022-01-05 11:38:39 +01:00
dj2ls 6a4fe14377 more debugging and buffer changes
fixed a buffer allocation which could cause problems somewhen later for N>1 frames per burst.
2022-01-05 10:59:09 +01:00
dj2ls d0d1011745 switched from Bytes to kBytes
we can save 1Byte in data channel opener. Now enough space for big data...
2022-01-05 10:04:54 +01:00
dj2ls f93415d0b8 test and ARQ improvements
preparation for possible N>1 frames per burst
2022-01-04 23:02:29 +01:00
dj2ls 013b494279 fixed ctest for arq 2022-01-04 16:34:20 +01:00
dj2ls c9ba8811c2 typo 2022-01-04 14:53:54 +01:00
dj2ls 16deb1df6d improved logging 2022-01-04 14:45:30 +01:00
dj2ls 6bcbfaf6ed auto mode optimization
first working....
2022-01-04 14:30:51 +01:00
dj2ls ea89a9e22b auto mode optimization
...in other words...gear shifting...
2022-01-04 14:16:50 +01:00
dj2ls eed50a6f0c fixed ack frame 2022-01-04 13:12:31 +01:00
dj2ls 7837e4de0f fixed class function 2022-01-04 13:10:59 +01:00
dj2ls 8ea5c0de3f preparing for mode gear shifting 2022-01-04 13:09:15 +01:00
dj2ls 5895fc1a8e send a frame NACK
if crc fails we send a frame NACK and TX is going into idle state
2022-01-04 12:11:21 +01:00
dj2ls 2bf2f8b3ff cleanup, stopping transmission, modem timing...
I changed some parts which are R&D as well
2022-01-04 11:55:55 +01:00
dj2ls ff668ee2b9 smaller fixes and tooltip update 2022-01-03 00:41:32 +01:00
dj2ls 1f6c53ecf0 improved rx stats 2022-01-03 00:27:05 +01:00
dj2ls 891e9c1a8e updated rx stats 2022-01-02 23:42:56 +01:00
dj2ls 991a7e3ed0 first test with rx stats 2022-01-02 12:35:00 +01:00
dj2ls 8620a6e04b changed BOF and EOF 2022-01-02 10:39:49 +01:00
dj2ls 84faef84e0 fixed timeouts 2022-01-02 10:35:30 +01:00
dj2ls 94d251c162 type definition for functions 2022-01-02 09:51:37 +01:00
dj2ls a6816f8597 moved byte calculation before compression 2022-01-02 09:45:34 +01:00
dj2ls 0f5f5fe719 added compression
lets see how it performs
2021-12-30 12:41:41 +01:00
dj2ls 442d2f3a51 first version ARQv2 2021-12-29 20:54:54 +01:00
dj2ls 033dbf08fb first version ARQv2 2021-12-29 20:54:22 +01:00
dj2ls b7c0d657ef Revert "first version ARQv2"
This reverts commit cc0475d8ad.
2021-12-29 20:53:11 +01:00
dj2ls cc0475d8ad first version ARQv2 2021-12-29 20:42:27 +01:00
dj2ls 4b429f7c66 import time
forgot this line....
2021-12-28 21:37:38 +01:00
dj2ls 77e1194b22 added timer
uploaded for IW2DHW
2021-12-28 21:36:14 +01:00
dj2ls ddd5c97780 updated comment 2021-12-28 17:35:53 +01:00
dj2ls 8cc4c33f0c uploaded hamlib test
@drowe67 this is the file where I try to implement libhamlib directly
2021-12-28 17:27:26 +01:00
dj2ls e4d36e5f21 first rigctl fallback thanks Franco 2021-12-28 17:05:48 +01:00
dj2ls 8d1ec8c403 updated search path for Suse 2021-12-27 17:00:00 +01:00
dj2ls c80e6288ce disabled setting radio to USB
this causes problems #96 and its not hardly needed atm
2021-12-27 16:38:08 +01:00
dj2ls 66a39b5368 fix audio device selection
#96
2021-12-27 15:28:58 +01:00
dj2ls 3d7390c962 not sure what happend... 2021-12-27 13:33:53 +01:00
dj2ls 3c09b1d5e1 removed BER
not needed
2021-12-27 13:25:31 +01:00
dj2ls ad5fbfde00 forgot hamlib parameters
Ooops
2021-12-27 13:23:23 +01:00
dj2ls ddc949c7ac advanced hamlib settings
added support for more settings
2021-12-27 12:30:43 +01:00
dj2ls 3501b4f952 waiting for buffer
it seems we need to wait a little bit for our modulation data. There are some moments where audio output is stuck a little bit. Maybe python is sometimes faster than the buffer allocation or its a threading problem
2021-12-26 18:41:43 +01:00
dj2ls 88a0628b53 removed compression, incread callsign set time
okay, this needs to be tested some more...
2021-12-26 17:52:05 +01:00
dj2ls f35ad7e591 added data compression
reduced data size about 30%
2021-12-26 17:27:40 +01:00
dj2ls b0448ee7ce decreased data frame header size
reduced header size 10%
2021-12-26 17:04:59 +01:00
dj2ls 0f72cb8f8a small waterfall improvement 2021-12-26 16:50:31 +01:00
dj2ls d741778306 data channel speed improvements
and some code cleanup as well
2021-12-26 16:16:25 +01:00
dj2ls d001f29609 changed order of starting fft and hamlib thread
avoiding runtime errors
2021-12-26 15:43:47 +01:00
dj2ls 50235a76e2 fixed parameter int/str conersion
this caused hamlib to crash in a weird way
2021-12-26 15:42:50 +01:00
dj2ls ca7227d7da hamlib improvements
own function for every data type
2021-12-26 15:25:35 +01:00
dj2ls 9d869fb698 changed getting ptt state
getting ptt now via own function
2021-12-26 10:43:55 +01:00
dj2ls 71453bf390 playing around with hamlib
still problems with PTT type for RTS
2021-12-26 10:22:02 +01:00
dj2ls a408a561cb tests with repeating a frame
we have problems here...
2021-12-26 10:06:07 +01:00
dj2ls 29bd4f6af0 updated hamlib handling 2021-12-26 09:55:20 +01:00
dj2ls c5d8f5a259 changed deviceid to devicename
this improves readability
2021-12-26 09:20:58 +01:00
dj2ls 4410ada112 updated codec2 lib 2021-12-26 09:06:16 +01:00
dj2ls 6e6e403617 removed channel_state
it seems we don't need this. Lets simplify everythin a little bit
2021-12-25 18:17:02 +01:00
dj2ls 4b73f9c19f start of modem rewriting 2021-12-25 17:05:38 +01:00
DJ2LS de979506f4
Merge branch 'main' into dr-resampler 2021-12-23 10:16:49 +01:00
dj2ls f99daf6800 updated tnc modem code for testing TX and RX in same callback 2021-12-22 12:48:49 +01:00
drowe67 8a0caf7f43 added thread locking to audio buffer to fix corner case 2021-12-21 08:27:13 +10:30
dj2ls 0ecaeaa2bb removed audioop support
we want to test only the new buffer. Not sure if this is currently working
2021-12-20 18:59:29 +01:00
dj2ls 3a6ddad8d4 bug fix 2021-12-20 18:35:59 +01:00
dj2ls 6bd1f418e5 system status
closes #88 #90 #83
2021-12-20 18:05:00 +01:00
dj2ls b54463965a code cleanup
this isn't the right place for doing tnc changes, but before I forget to change it...
2021-12-20 16:21:09 +01:00
dj2ls e8283b5db0 integrated multimode callback test & FIFO queue to tnc
this is a first test to see how it performs
2021-12-20 15:38:43 +01:00
dj2ls 3f33bc9ee3 updated codec2 lib path 2021-12-20 12:43:32 +01:00
drowe67 84bf1970dd first pass callback model rx working 2021-12-20 09:36:39 +10:30
dj2ls b0dfa666bf updated tnc modem with latest test results
lets see how the results perform within the TNC environment
2021-12-19 20:31:53 +01:00
dj2ls 72b653b188 preparation for ARQ test
added a directory 003_highsnr_stdio_arq for working on ARQ tests
2021-12-19 19:45:08 +01:00
dj2ls 8159e9b1ab moved codec2 to tnc folder
preparation for migration to codec2 module for the entire TNC
2021-12-19 15:14:52 +01:00
dj2ls 5c4667d97d beacon mode
a first working beacon mode so we can use it for first real hf tests....
2021-12-06 20:16:14 +01:00
dj2ls 4afaf2cc04 modem typo 2021-12-05 20:14:28 +01:00
dj2ls 82ddb6a297 modem tests
updated the modem and codec2 integration. However, this is the old modem. Maybe we need to stay at this point. Lets see how this version performs...hmpf...
2021-12-05 20:11:38 +01:00
dj2ls 0c1225c65e updated hamlib error handling 2021-11-28 12:17:51 +01:00
dj2ls 6f9a34b0d6 hamlib compatibility
improved hamlib compatibility between v 3 and v 4.
2021-11-26 19:14:11 +01:00
dj2ls fa01bd2bd1 fixed logging typo 2021-11-24 19:22:26 +01:00
dj2ls 93c12d642d updated Hamlib integration
moved back to system integration. It seems we need to have a look at the hamlib library pathes on linux distributions. They differ from version to version
2021-11-24 19:16:09 +01:00
DJ2LS 9e51eaa52f hamlib exception
hamlib search order now working for openSUSE
2021-11-20 10:20:30 +01:00
DJ2LS 9dcf98e229 datachannel attempt fix 2021-11-19 17:47:25 +01:00
DJ2LS 5218eb3909 chat message test 2021-11-19 17:30:17 +01:00
DJ2LS 279fe7929f logging improvements
..and also a sample rate conversion test...
2021-11-19 14:52:58 +01:00
DJ2LS 1f0540daab updated path name to codec2 2021-11-18 21:41:39 +01:00
DJ2LS 4d187b91da updated hamlib folder 2021-11-18 21:01:13 +01:00
DJ2LS 3eedefc284 new logging type 2021-11-18 20:49:32 +01:00
DJ2LS bf6a36f094
Delete libcodec2.dll 2021-11-18 19:48:29 +01:00
DJ2LS 8fe1ff5138
Delete tnc/hamlib directory 2021-11-18 19:43:30 +01:00
DJ2LS f1bf2f6b51
Delete tnc/pyaudio/windows directory 2021-11-18 19:43:19 +01:00
DJ2LS 8c2891b682 new folder structure 2021-11-18 19:42:51 +01:00