Thomas Kolb
a0623668a7
This prevents loss of precision that occurs with double-precision floats if timestamps become very large. Timestamps are already large if they contain a UNIX time value (requires 60 bits; double has 53 bit resolution). |
||
---|---|---|
.. | ||
src | ||
test | ||
utils | ||
.gitignore | ||
CMakeLists.txt | ||
make.sh | ||
README.md | ||
setup_tundev.sh |
Hamnet70 Implementation
This directory contains an implementation of the Hamnet70 protocol.
Before you can compile and use this code, some additional steps are necessary:
- Copy
src/config.h.template
tosrc/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.
- 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:
- In digipeater (base station) mode:
build/hamnet70 -c
. This will broadcast beacons and wait for clients to connect. - In client mode:
build/hamnet70
. This will wait for a beacon to arrive and connect to it.