Commit graph

283 commits

Author SHA1 Message Date
DJ2LS
5d8b4f2d67 re-enable early error detection 2022-12-12 18:24:40 +01:00
DJ2LS
6e3edb5b30 attempt using threading.Event().wait() instead of time.sleep() 2022-12-12 12:28:52 +01:00
DJ2LS
2cdea7eaa9 adjusted search range for rx buffer 2022-12-12 10:06:45 +01:00
DJ2LS
11512d76bf reduced logging and added transmit queue size for debugging purposes 2022-12-11 11:57:37 +01:00
DJ2LS
d5a0464fd9 first attempt with catching modem error states for early NACK 2022-12-05 15:23:03 +01:00
DJ2LS
65cfd52d81 introduced static.LISTEN state 2022-12-01 10:05:24 +01:00
DJ2LS
65cab5fa3c fixed crash if audio volume has wrong type 2022-11-29 08:45:14 +01:00
DJ2LS
bf1c630977 catching audio error when closing headless tnc 2022-11-29 07:42:14 +01:00
DJ2LS
93f90f2345 updated dBFS from mean to max value 2022-11-23 13:46:42 +01:00
DJ2LS
cf1f8aa078 disabled rig and rigctl usage 2022-11-19 10:54:10 +01:00
DJ2LS
8e2fb9aea3 deleted hamlib subfolder 2022-11-19 10:50:23 +01:00
DJ2LS
0e2d23c5b9 improved rigctld output 2022-11-19 09:51:48 +01:00
DJ2LS
85d2f36e36 small fft fix which caused problems with waterfall view 2022-11-19 09:40:57 +01:00
DJ2LS
55e87840f8 moved from rms to dbFS 2022-11-18 15:19:41 +01:00
DJ2LS
d3ca7dbf6c moved from rms to dbFS 2022-11-18 14:23:13 +01:00
DJ2LS
4c18a843fc busy state fine tuning 2022-11-18 13:32:04 +01:00
DJ2LS
5774c642ec added hamlib connection state indicator 2022-11-18 13:08:37 +01:00
DJ2LS
70bdd59847 increased chanel busy releasing time 2022-11-18 11:48:01 +01:00
DJ2LS
ce32d589ab increased channel busy counter 2022-11-17 22:41:46 +01:00
DJ2LS
0cafb600b3 fft float to int for reducing size and defining busy state detection area in correlation with mode bandwidth 2022-11-17 21:58:17 +01:00
DJ2LS
b761471ec3 snr fix 2022-11-09 20:47:46 +01:00
dj2ls
392e0bf930 moved from sum to mean 2022-10-12 12:33:35 +02:00
dj2ls
7d2168a0e7 another attempt with rms 2022-10-12 11:32:09 +02:00
dj2ls
b41430fc43 another attempt with rms 2022-10-12 11:05:49 +02:00
dj2ls
f096c7f3f9 possible scatter fix 2022-10-12 10:45:17 +02:00
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