hamnet70/impl
Thomas Kolb d77f4d4498
All checks were successful
/ build-hamnet70 (push) Successful in 33s
/ build-doc (push) Successful in 19s
/ deploy-doc (push) Has been skipped
Multiple fixes in packet handling
- add and handle layer 2 packet type correctly in data packets
- don't produce garbage packets if a packet could not be decoded or was not a
  data packet
- handle beacon/connection request/connection parameters handshake
- digipeater cycle timeout does not reset beacon timer anymore. This prevented
  any beacon transmission.
- Reset the connection timeout when empty packets are received
2024-12-15 22:29:47 +01:00
..
src Multiple fixes in packet handling 2024-12-15 22:29:47 +01:00
test Multiple fixes in packet handling 2024-12-15 22:29:47 +01:00
utils Apply free software+documentation licenses 2024-08-23 11:53:40 +02:00
.gitignore Initial commit: infrastructure 2021-10-17 19:25:42 +02:00
CMakeLists.txt Combine layer2_rx and layer2_tx in a new connection module 2024-08-25 22:26:56 +02:00
make.sh make.sh: allow passing parameters to make 2024-01-03 17:29:05 +01:00
README.md Remove config.h from Git; must be adapted by the user 2024-08-25 20:26:41 +02:00
setup_tundev.sh WIP: handle packets from the TUN device in digipeater 2024-12-12 19:44:07 +01:00

Hamnet70 Implementation

This directory contains an implementation of the Hamnet70 protocol.

Before you can compile and use this code, some additional steps are necessary:

  1. Copy src/config.h.template to src/config.h and set the following variables:
    • MY_CALL: the station call sign (i.e. your amateur radio call sign). This will be encoded into the address fields of outgoing packets.
  2. Install dependencies:
    • libliquid compiled with libfec support
    • libfec
    • fftw3
    • libhackrf

After everything is prepared, compile the code using ./make.sh. Parameters to this script are forwarded to make so you can speed things up a little with ./make.sh -j4 (on a CPU with 4 threads).

When compiled, you have two options for running Hamnet70:

  1. In digipeater (base station) mode: build/hamnet70 -c. This will broadcast beacons and wait for clients to connect.
  2. In client mode: build/hamnet70. This will wait for a beacon to arrive and connect to it.