Thomas Kolb
3b7d6baa74
layer2_tx: fixed packet size
2024-07-20 01:01:01 +02:00
Thomas Kolb
bcbcf5aeff
Layer 2: Added logging for retransmit handling
2024-07-20 00:26:53 +02:00
Thomas Kolb
d449e31586
logger: show module name
2024-07-20 00:04:32 +02:00
Thomas Kolb
041255e15f
layer2_tx: Fixed stack-use-after-return
2024-07-19 22:26:02 +02:00
Thomas Kolb
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
Thomas Kolb
60d7fbf373
setup_tundev: limit TX queue len to 16
2024-07-19 21:59:38 +02:00
Thomas Kolb
48f061e334
Handle sequence numbers
...
This should enable basic retransmission handling.
2024-07-18 23:26:57 +02:00
Thomas Kolb
93aa429f4f
Fixed unused variable warning
2024-07-18 22:58:13 +02:00
Thomas Kolb
9bbac6ae95
Add new files to CMakeLists.txt
2024-07-18 22:57:22 +02:00
Thomas Kolb
a6464a28b8
Layer 2 received packet handling
2024-07-18 22:56:42 +02:00
Thomas Kolb
7381c7e808
Integrate new layer2 TX packet handling
2024-07-18 22:23:24 +02:00
Thomas Kolb
5adbbca786
Added functions for basic layer 2 transmission handling
2024-07-18 21:55:05 +02:00
Thomas Kolb
2348cd0c88
Implement a packet queue (incl. tests)
2024-07-11 23:23:18 +02:00
Thomas Kolb
402e36dda5
packet_structs: check data length in layer2_decode_packet_header()
2024-07-04 21:37:05 +02:00
Simon Ruderich
153ff61dcd
ham64: apply improvements suggested by rudi_s
2024-07-04 21:18:57 +02:00
Simon Ruderich
62d81fc2cc
test_ham64: check results using assertions
2024-07-04 21:16:20 +02:00
Thomas Kolb
9a151e0cbb
Rename layer2_structs -> packet_structs
2024-07-02 20:09:56 +02:00
Thomas Kolb
f17d5649fc
layer2_structs: use the new HAM-64 address structure
2024-07-01 21:25:49 +02:00
Thomas Kolb
4bb4017623
HAM-64 address format implementation
2024-07-01 21:03:43 +02:00
Thomas Kolb
546d86ffb0
Implement layer 2 header packing and unpacking
2024-07-01 21:03:43 +02:00
Thomas Kolb
27e2859090
Start defining layer2 structures
2024-07-01 21:03:43 +02:00
Thomas Kolb
090dff13d6
Tune TX back-off times
...
See comments in config.h for background info.
2024-07-01 21:02:53 +02:00
Thomas Kolb
55ec709001
doc: ignore generated diagrams
2024-07-01 21:02:13 +02:00
Simon Ruderich
6032cd471d
Fix compiler warnings
...
- implicit declaration of function ‘isprint’ [-Wimplicit-function-declaration]
- comparison between ‘result_t’ and ‘enum <anonymous>’ [-Wenum-compare]
2024-06-23 07:56:53 +02:00
Simon Ruderich
d54cd8a9a8
Remove unused variable debug_fd
2024-06-23 07:46:54 +02:00
Thomas Kolb
1840b3099c
doc: add some message sequence charts
...
- Connection establishment
- Connection close
- Packet transfer
2024-06-22 01:29:29 +02:00
Thomas Kolb
95d9eda0a0
doc: add introduction + some more ideas
2024-06-08 11:49:43 +02:00
Thomas Kolb
dde4e5ba7d
doc: moved CRC from layer 1 to layer 2
2024-06-08 11:34:52 +02:00
Thomas Kolb
c45eb4e334
doc: define connectionless frame type
2024-06-08 11:34:52 +02:00
Thomas Kolb
6fe9fdbe2b
doc: minor clarifications
2024-06-08 11:34:52 +02:00
Thomas Kolb
8fb345b27c
doc: automatic packet repetition algorithm
2024-06-08 11:34:52 +02:00
Thomas Kolb
6065157023
doc: added Makefile
2024-06-08 11:34:52 +02:00
Thomas Kolb
698cf74f3a
doc: document data whitening procedure
2024-06-08 11:34:52 +02:00
Thomas Kolb
ccc4e452ff
doc: start defining the layer 2
2024-06-08 11:34:52 +02:00
Thomas Kolb
fe5bcabd14
doc: document burst format
2024-06-08 11:34:52 +02:00
Thomas Kolb
be0cac13c1
Starting to write the documentation with AsciiDoc
2024-06-08 11:34:52 +02:00
Thomas Kolb
fd17ef3c1e
Use full preamble for frequency estimation
2024-06-08 01:57:43 +02:00
Thomas Kolb
26a2558535
Add differential part to coarse frequency control
2024-06-08 01:54:42 +02:00
Thomas Kolb
2f2834026e
Fix size of transmitted packets
2024-06-01 16:47:10 +02:00
Thomas Kolb
de0f3620e6
Move hexdump() function to utils
2024-06-01 16:04:17 +02:00
Thomas Kolb
692780b313
setup_tundev.sh: fix shebang
2024-05-31 20:09:53 +02:00
Thomas Kolb
24bc1f8140
Fixed packet size with appended CRC
2024-05-31 18:36:16 +02:00
Thomas Kolb
f6404dd0ea
Move payload CRC to layer 2
...
Layer 1 only does decoding of the FEC, but the CRC check for data integrity is
done in layer 2 now.
2024-05-31 17:25:50 +02:00
Thomas Kolb
0e8e049e0a
Replace all perror() calls with LOG()
2024-05-30 11:02:08 +02:00
Thomas Kolb
65daa182ef
Use the new logging system everywhere
2024-05-30 10:49:43 +02:00
Thomas Kolb
d6eaef91cd
Switch to new logging system
...
The new system supports:
- time-tagging of log messages
- message priority levels with a threshold below which they are not printed
- colored output of the message priority for easy identification
- compile-time disabling of all logging per C module
So far, it is integrated in the main and rx modules which generate most
messages. Other modules will be migrated in the future.
2024-05-28 23:53:11 +02:00
Thomas Kolb
d60788b6ad
Config changes known to work with two directly connected HackRFs
2024-05-28 20:00:46 +02:00
Thomas Kolb
91facbf699
rx: reset internal state when restarting after a transmission
2024-05-28 19:55:21 +02:00
Simon Ruderich
d5aeb6c0bc
visualizer: make it optional to dup JSON to file
2024-05-28 08:59:06 +02:00
Simon Ruderich
570c379bc5
visualizer: always use === for comparisons
2024-05-28 08:51:56 +02:00