Commit graph

319 commits

Author SHA1 Message Date
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