hamnet70/impl
Thomas Kolb 04399c0022
All checks were successful
/ build-hamnet70 (push) Successful in 39s
/ build-doc (push) Successful in 31s
/ deploy-doc (push) Has been skipped
Fix byte order in TUN packet header
2024-12-18 21:01:14 +01:00
..
src digipeater: avoid writing to full packet queues 2024-12-18 21:00:46 +01:00
test Fix byte order in TUN packet header 2024-12-18 21:01:14 +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.