DJ2LS
e05bc262ad
and some more typos and whitespace correction..
2022-05-23 14:26:14 +02:00
DJ2LS
507e3a5b06
Merge branch 'main' into pep8_improvements
2022-05-23 09:46:42 +02:00
DJ2LS
b6face744b
First run reducing number of problems
2022-05-23 09:37:24 +02:00
Paul Kronenwetter
a456ff54f7
Use min/max for speed_level adjustments.
...
Rearranged more comments.
2022-05-22 22:13:43 -04:00
Paul Kronenwetter
ee1305a2dc
Bandwidth spelling.
2022-05-22 21:11:40 -04:00
Paul Kronenwetter
2c0728770c
Collapse repeated code to a function.
...
Add function parameter and return types.
Move logging to a class variable.
Extended use of FREEDV_MODE enum.
Moved TESTING check to arq_cleanup.
2022-05-22 20:54:12 -04:00
dj2ls
b62aa05dbe
removed nested state check
2022-05-20 14:38:43 +02:00
dj2ls
5317c8081a
fixed speed level
2022-05-19 22:37:27 +02:00
dj2ls
1f66f54f5f
first attempt of fixing #189
2022-05-19 22:15:24 +02: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
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
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
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
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
15217b2521
moved to sounddevice
...
changed audio library, changed ssid behavior, minor chat changed
2022-03-24 20:49:13 +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
52a7714fd3
hotfix for data handler
...
forgot numpy import...Ooops
2022-03-11 21:52:44 +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
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
a358560c9f
updated build action
...
new day ...
2022-02-25 09:28:42 +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
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
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
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
7a93f0a824
fixed callsign detection and default config
2022-02-17 08:32:19 +01:00
dj2ls
30bbf75521
fixed unclean closing
...
closing application now by signals closes #133
2022-02-16 09:11:32 +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
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
2c57923c11
new daemon
...
non blocking and multi client support also attempt of fixing #129
2022-01-22 20:39:37 +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
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
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
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
fcc5bec25a
colored progressbar
...
closes #100
2022-01-05 13:03:29 +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
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
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
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
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
d741778306
data channel speed improvements
...
and some code cleanup as well
2021-12-26 16:16:25 +01:00
dj2ls
a408a561cb
tests with repeating a frame
...
we have problems here...
2021-12-26 10:06:07 +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
f99daf6800
updated tnc modem code for testing TX and RX in same callback
2021-12-22 12:48:49 +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
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
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
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
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
7f45f2e558
fixed timeout for RPT frames closes #77
2021-10-26 17:10:19 +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
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
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
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
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
f52d0ea452
updated transfer calculation
2021-09-11 09:21:22 +02:00
DJ2LS
efc6bc8ea5
small improvements
2021-09-08 18:04:21 +02:00
DJ2LS
5be3ecb4b8
updated arq percent calculation
2021-08-23 18:28:58 +02:00
DJ2LS
43c3f0c626
preparing for rx buffer
2021-08-16 19:41:20 +02:00
DJ2LS
32bba9845f
update for RX BUFFER
2021-08-15 17:54:35 +02:00
DJ2LS
9e9d00f848
wait before sending frame ack
2021-08-15 12:44:32 +02:00
DJ2LS
2dc9f4fa18
optimized calculation
2021-08-15 12:39:06 +02:00
DJ2LS
5a478d6010
timing and calculation improvements
2021-08-15 12:34:28 +02:00
DJ2LS
d3bd9e9230
send signalling frames once or more
2021-08-14 20:59:12 +02:00
DJ2LS
5efe491881
transmission progress
2021-08-14 20:00:32 +02:00
DJ2LS
588d3ecbaa
delay between TX and RX
...
necessary so we are not sending until other station is in RX mode
2021-08-11 22:05:28 +02:00
DJ2LS
dfb2e367ee
SNR fix for heard station
2021-08-06 22:25:14 +02:00
DJ2LS
c0ec0c1853
scatter plott support
2021-08-06 22:09:16 +02:00
DJ2LS
29345a7797
added SNR to heard stations
2021-07-28 18:43:41 +02:00
DJ2LS
b4f822ea6f
attempt to run socket commands as threats
...
asyncio seems to be blocking
2021-07-19 21:00:46 +02:00
DJ2LS
641e8b8a77
Rename data_handler.py to tnc/data_handler.py
2021-07-17 09:01:53 +02:00