Commit graph

258 commits

Author SHA1 Message Date
dj2ls cdb12861a5 fix with enable/disable sig0/1 2022-10-10 09:46:29 +02:00
dj2ls b0e3d2286e enable sig modes only when needed 2022-10-10 09:00:45 +02:00
dj2ls 56ee05186c improved codec2 mode init 2022-10-05 23:02:45 +02:00
dj2ls 2ed79df2be improved codec2 mode init 2022-10-05 22:42:48 +02:00
dj2ls c9bcfcbc04 added on air time measurement for easier time debugging 2022-09-08 10:19:07 +02: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
dj2ls debe742081 audio tuning level hotfix 2022-06-15 15:03:54 +02:00
Paul Kronenwetter eeb8532651 Change modem from PR comments. 2022-05-31 19:45:25 -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 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
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
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 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 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
dj2ls 107daa1b47 increased disconnect bursts
lets see if this improves
#173
2022-04-24 16:11:36 +02:00
dj2ls 2daafd183a removed some info lines 2022-04-16 16:28:04 +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
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 a2552be843 repeat frame ack and fixed repeat transmission from gui 2022-04-06 10:15:14 +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 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 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 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 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 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 1519c22358 connection mode, documentation, ...
changes in all areas
2022-03-04 16:50:32 +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 406518503a fix multiprocessing support on windows 2022-02-17 14:25:22 +01:00
dj2ls 30bbf75521 fixed unclean closing
closing application now by signals closes #133
2022-02-16 09:11:32 +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 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 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 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 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 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 28c9c673fa detect app path when running in pyinstaller
pyinstaller creates a temporary app environment
2022-01-12 07:27:42 +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 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 71be19ecc4
Merge branch 'main' into ls-hamlib-test 2022-01-05 11:54:31 +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 f93415d0b8 test and ARQ improvements
preparation for possible N>1 frames per burst
2022-01-04 23:02:29 +01:00
dj2ls 16deb1df6d improved logging 2022-01-04 14:45:30 +01:00
dj2ls ea89a9e22b auto mode optimization
...in other words...gear shifting...
2022-01-04 14:16:50 +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 442d2f3a51 first version ARQv2 2021-12-29 20:54:54 +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 e4d36e5f21 first rigctl fallback thanks Franco 2021-12-28 17:05:48 +01:00
dj2ls ad5fbfde00 forgot hamlib parameters
Ooops
2021-12-27 13:23:23 +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 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 ca7227d7da hamlib improvements
own function for every data type
2021-12-26 15:25:35 +01:00
dj2ls a408a561cb tests with repeating a frame
we have problems here...
2021-12-26 10:06:07 +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
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 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 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 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 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 f8cc8c58c8 new logging
still not finished....
2021-11-18 19:40:22 +01:00
DJ2LS f015aaaca5 audio optimization and cleanup 2021-11-07 20:31:26 +01:00
DJ2LS bbb500632e fix problem with libasound.so 2021-11-07 16:12:19 +01:00
DJ2LS ebbe0715e6 hamlib changes and alsalib error handling #22
closes #22
2021-11-07 12:17:23 +01:00
DJ2LS df38ee01ba gui & tnc improvements
displaying now frequency offset and frequency in heard stations. Decreased size of receiving audio buffer, which seems to optimize RX
2021-10-24 14:44:55 +02:00
DJ2LS ef31935ade disabled offset correction closes #81
we are disabling this to avoid confusion. Maybe we will enable it somewhen later...
2021-10-13 20:43:38 +02:00
DJ2LS 6eae5604d0 reversed offset fix #81 2021-10-13 19:53:47 +02:00
DJ2LS 655d333af2 freq offset handling #81
first attempt just with pings. Station A sends a ping to Station B. Station B is detecting RX offset, adds it to the ping acknowledge frame and sends it back to Station A. Station A will then adjust the frequency
2021-10-13 19:39:46 +02:00
DJ2LS 2d18767fe6 bug fix closes #78 and network optimization 2021-10-05 21:03:15 +02:00
DJ2LS e7ccf42ec3 modem optimization
optimized chunk size for audio data. DATAC3 should now work and overall SNR is optimized since we have less biterrors beacuse of losses by simultaneous buffer allocation
2021-10-03 16:31:34 +02:00
DJ2LS 8b08cc6e6b stop transmission
first attempt with stopping a transmission after the processing the current burst. Logging is a little bit ugly at this point, because it looks like a frame got lost. However, the transmission stops. CLI output is only visible for people interested in debugging...
2021-10-02 11:29:08 +02:00
DJ2LS 44ef586e4f optimized scatter
removed scales and popups, code cleanup as well
2021-10-01 19:05:43 +02:00
DJ2LS c8ee5e2ff2 scatter point reduction
one step towards less network data
2021-09-30 21:49:22 +02:00
DJ2LS 794f8b221a code cleanup
gute code clean up with much less global variables now. ARQ beahvior has also been cut down. There can be done even more...
2021-09-27 17:33:59 +02:00
DJ2LS e435e6e835 redesign of arq handler 2021-09-26 17:51:11 +02:00
DJ2LS 5c7e05ef70 better pep8 conformity 2021-09-25 15:24:25 +02:00
DJ2LS 468f660ebe improved hamlib integration
...also updated node dependencies to latest version...
2021-09-25 13:33:13 +02:00
DJ2LS c478b9cbbf serveral stability improvements
moved hamlib polling into own thread. testing with smaller socket chunks
2021-09-24 17:16:38 +02:00
DJ2LS b813e8562c minor modem change
problems can occur. changed modem to simultaneous decoding. socket now multithreaded. huge code cleanup neccesary
2021-09-23 17:49:45 +02:00
DJ2LS 15102346c7 git cli test 2021-09-16 17:17:55 +02:00
DJ2LS c5d15017f2
updated ptt 2021-09-13 20:01:39 +02:00
DJ2LS f52d0ea452
updated transfer calculation 2021-09-11 09:21:22 +02:00
DJ2LS c230660c85
close audio and hamlib instances on quit 2021-09-10 18:56:33 +02:00
DJ2LS 1e6d8e36fd
update scatter only while receiving current mode 2021-09-10 18:11:17 +02:00
DJ2LS b921c1b33b
updated logging: save to file 2021-09-10 17:59:01 +02:00
DJ2LS f991627e68
solved log10 division by 0 failure in fft calc 2021-09-08 19:58:30 +02:00
DJ2LS e3778c16d9
updated ptt and audio functions 2021-09-08 19:27:45 +02:00
DJ2LS 68d0e70a61
reset sock connection on decoding error 2021-09-08 18:23:26 +02:00
DJ2LS efc6bc8ea5
small improvements 2021-09-08 18:04:21 +02:00
DJ2LS 8ab912fbcd
small ARQ and modem improvements 2021-09-08 17:25:11 +02:00
DJ2LS 32762703c9
improved transfer rate calculation 2021-09-06 20:31:12 +02:00
DJ2LS 4a3f10126a
moved back to python hamlib binding 2021-09-06 18:50:12 +02:00
DJ2LS 6f87e1f78a
Update modem.py 2021-09-05 16:11:53 +02:00
DJ2LS 099ad48f10
first working fft 2021-09-05 11:24:57 +02:00
DJ2LS fffaf196b4
changed path to codec2 2021-09-05 10:20:48 +02:00
DJ2LS 1c697532b7
code cleanup 2021-09-04 22:59:58 +02:00
DJ2LS 770a6ccdaa
updated rigctld integration 2021-09-02 20:16:46 +02:00
DJ2LS 9061eef65a
moved to hamlib binaries 2021-09-02 19:41:01 +02:00
DJ2LS 425076402a
fixed ARQ_TX_N_TOTAL_ARQ_FRAMES 2021-08-23 18:53:22 +02:00
DJ2LS 0045ec3107
updated ARQ_TX_N_TOTAL_ARQ_FRAMES 2021-08-23 18:49:57 +02:00
DJ2LS 6d55f2c080
increased ptt timeout 2021-08-14 21:23:43 +02:00
DJ2LS d3bd9e9230
send signalling frames once or more 2021-08-14 20:59:12 +02:00