Commit graph

208 commits

Author SHA1 Message Date
303bfaec4f doc: enable stem processing for formulas 2024-08-25 01:14:38 +02:00
76f9f37b5d doc/Makefile: add clean target 2024-08-25 01:14:28 +02:00
9d86bc3c97 doc: write generated files to separate directory 2024-08-25 00:52:51 +02:00
c52d0766d7 Remove obsolete compile_flags.txt 2024-08-23 19:52:24 +02:00
2e91fd7c42 Apply free software+documentation licenses
All code is now licensed under GPLv3+. The documentation is licensed under
CC BY-SA 4.0.

This is now officially free software! \o/
2024-08-23 11:53:40 +02:00
017eb221f1 Integrate the interleaver 2024-08-16 22:14:07 +02:00
325abdbd02 packet_queue: allow max. 15 packets to be queue (transmit window)
16 is not allowed because it leads to an overflow in sequence numbers, making
them ambiguous.
2024-08-09 22:22:01 +02:00
6d9068f63d define INTERLEAVE_DISTANCE 2024-08-09 22:18:20 +02:00
2ddb8aa18c Randomize retransmit time 2024-08-09 22:16:14 +02:00
d2ef6d9741 Remove empty packets from the queue after their first transmission 2024-07-27 00:50:04 +02:00
04dcfff6fd Do not transmit an empty packet if an empty packet was received 2024-07-27 00:33:47 +02:00
9990aa5fbb main: check return value of layer2_tx_fill_packet_queue() 2024-07-24 20:20:36 +02:00
52f45cb433 layer2: check return values when adding empty packets 2024-07-24 20:20:36 +02:00
4e2815923c layer2: handle invalid message types just in case 2024-07-23 09:24:32 +02:00
fe3460a899 doc: s/should/must/ 2024-07-23 09:21:14 +02:00
766caf7e07 layer2/packet_structs: use variable to reduce duplication 2024-07-23 09:15:56 +02:00
b3a49fe0ba layer2: update comments, use constant 2024-07-23 09:15:34 +02:00
8aacbaf8c3 layer2/packet_queue: remove unused function packet_queue_can_add_packet() 2024-07-23 08:41:42 +02:00
9845514a46 layer2/packet_queue: permit using full queue size
Previously, only PACKET_QUEUE_SIZE - 1 elements could be stored.
2024-07-23 08:41:25 +02:00
10a869d1a2 Layer 2: send Empty Packet acknowledgements if there’s nothing else to transmit 2024-07-22 22:19:23 +02:00
87eeb045b0 docs: define an Empty Frame and its usage 2024-07-22 21:40:54 +02:00
c9916c08da Add a simple interleaver implementation (not used yet) 2024-07-21 17:23:15 +02:00
04f29b94bf rx: show AGC gain after preamble, header and data 2024-07-20 22:33:08 +02:00
576cdbfac5 Added ham64.c/.h to CMakeLists.txt 2024-07-20 22:32:01 +02:00
77b24cf591 tests: Added variant of rx_file test for layer2 debugging 2024-07-20 22:31:13 +02:00
38010ea672 rx-debugging: always dump symbols on packet boundaries 2024-07-20 22:30:27 +02:00
12e727be00 packet_structs: add function to dump a packet header to the log 2024-07-20 22:29:04 +02:00
3068db1d50 Handle retransmit timeouts 2024-07-20 01:04:03 +02:00
fe684f7a1d Fixed stack overflow in transmit() 2024-07-20 01:03:31 +02:00
db2700c0f7 layer2_decode_packet_header: fixed rx_seq_nr readout 2024-07-20 01:02:42 +02:00
bfe1cce6e3 packet_queue: wrap sequence number in packet_queue_delete() 2024-07-20 01:01:55 +02:00
ac0fb54623 layer2_tx: fixed logging 2024-07-20 01:01:35 +02:00
3b7d6baa74 layer2_tx: fixed packet size 2024-07-20 01:01:01 +02:00
bcbcf5aeff Layer 2: Added logging for retransmit handling 2024-07-20 00:26:53 +02:00
d449e31586 logger: show module name 2024-07-20 00:04:32 +02:00
041255e15f layer2_tx: Fixed stack-use-after-return 2024-07-19 22:26:02 +02:00
725a0ffd21 Ignore the squelch while receiving a packet
Before this commit, samples could be dropped during packet reception, which for
sure destroys the current packet and potentially the following one. Now samples
are stored even if the squelch „closes“, and decoding will potentially fail due
to high noise, but not due to missing samples.
2024-07-19 22:11:29 +02:00
60d7fbf373 setup_tundev: limit TX queue len to 16 2024-07-19 21:59:38 +02:00
48f061e334 Handle sequence numbers
This should enable basic retransmission handling.
2024-07-18 23:26:57 +02:00
93aa429f4f Fixed unused variable warning 2024-07-18 22:58:13 +02:00
9bbac6ae95 Add new files to CMakeLists.txt 2024-07-18 22:57:22 +02:00
a6464a28b8 Layer 2 received packet handling 2024-07-18 22:56:42 +02:00
7381c7e808 Integrate new layer2 TX packet handling 2024-07-18 22:23:24 +02:00
5adbbca786 Added functions for basic layer 2 transmission handling 2024-07-18 21:55:05 +02:00
2348cd0c88 Implement a packet queue (incl. tests) 2024-07-11 23:23:18 +02:00
402e36dda5 packet_structs: check data length in layer2_decode_packet_header() 2024-07-04 21:37:05 +02:00
153ff61dcd ham64: apply improvements suggested by rudi_s 2024-07-04 21:18:57 +02:00
62d81fc2cc test_ham64: check results using assertions 2024-07-04 21:16:20 +02:00
9a151e0cbb Rename layer2_structs -> packet_structs 2024-07-02 20:09:56 +02:00
f17d5649fc layer2_structs: use the new HAM-64 address structure 2024-07-01 21:25:49 +02:00