Commit graph

473 commits

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