Commit graph

355 commits

Author SHA1 Message Date
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
DJ2LS f8cc8c58c8 new logging
still not finished....
2021-11-18 19:40:22 +01:00
DJ2LS 039de380b1 new folder structure 2021-11-18 19:35:01 +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 bf49117ee4 typo 2021-11-07 11:21:20 +01:00
DJ2LS c4d077e241 version information for hamlib 2021-11-07 11:19:45 +01:00
DJ2LS 7f45f2e558 fixed timeout for RPT frames closes #77 2021-10-26 17:10:19 +02:00
DJ2LS 8d500d6090 uploaded pyaudio 2021-10-26 16:51:50 +02:00
DJ2LS a9271d260d
Create .gitkeep 2021-10-26 16:47:21 +02: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 b2ac19a1a3 fixed typos #51 2021-10-17 17:22:07 +02:00
DJ2LS b6dbd34851 forgot static.FILE #51 2021-10-17 17:01:21 +02:00
DJ2LS 5bfd745747 data_handler ready for chat messages
data handler is now ready for chat messages. I updated the data frame with an additional information -datatype- so we can determine if we received a file or a message. Each datatype will be saved into an own buffer. The gui has been updated as well, so we can forward data directly to a future chat module...
2021-10-17 16:59:15 +02:00
DJ2LS 44f9446a5c hamlib test settings
introduced a button and advanced settings modal for hamlib settings. This part is now much more clean and more settings can be set. May have some bugs for sure, but a first test seems to be running....
2021-10-17 15:57:41 +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 0dd3cd4635 added crc to device names
in case of a Icom IC-705 we have the behavior, that this device will be recognized as two usb devices. In this case we need to have a way to select the correct one...
2021-10-13 20:19:54 +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 82f307cf1f introduced info toasts #80
first attempt with info toasts which seems to work fine. Next step will be adding more detailed information to them like a progress bar and specific closing
2021-10-07 21:04:23 +02:00
DJ2LS 2d18767fe6 bug fix closes #78 and network optimization 2021-10-05 21:03:15 +02:00
DJ2LS 1bbd2692db improved ARQ closes #66, closes #74
improved transfer rate calculation and cleanup. improved speed of ARQ by sending early frame ACK instead of burst ACK and then FRAME ACK
2021-10-05 19:59:32 +02:00
DJ2LS 2398446815 changing file permissions 2021-10-05 18:13:34 +02:00
DJ2LS 84e0a8c267 updated path to tnc 2021-10-03 19:33:58 +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 0b115bd00c smaller changes
added DATAC0 to send data via bad path. Fixed stop transmission for receiving. Fixed a possible error in main.py
2021-10-02 11:46:29 +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 9035a6e6f4 small arq bug fix 2021-09-30 21:03:26 +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