|
ptt-fhss
Bare-metal PTT firmware for nRF52840 with FHSS
|
FHSS channel sequencer based on AES-128-ECB. More...
#include <stdint.h>Go to the source code of this file.
Macros | |
| #define | FHSS_DWELL_MS 2u |
| Dwell time per channel in milliseconds. | |
| #define | FHSS_CHANNELS 40u |
| Number of channels in the hopping sequence. | |
Functions | |
| void | fhss_init (void) |
| Reset the slot counter to zero. | |
| uint8_t | fhss_next_channel (void) |
| Return the next channel in the hopping sequence and advance the slot. | |
| void | fhss_sync_tick (void) |
| Advance the slot counter by one (receiver side, no packet received). | |
| void | fhss_set_slot (uint32_t s) |
| Force the slot counter to a specific value for RX synchronisation. | |
| uint32_t | fhss_get_slot (void) |
| Return the current slot counter value. | |
FHSS channel sequencer based on AES-128-ECB.
Both link endpoints derive the same hopping sequence independently from a shared 128-bit key and a monotonically increasing slot counter. No synchronisation traffic is required as long as both sides start from the same slot.
| #define FHSS_CHANNELS 40u |
Number of channels in the hopping sequence.
| #define FHSS_DWELL_MS 2u |
Dwell time per channel in milliseconds.
| uint32_t fhss_get_slot | ( | void | ) |
Return the current slot counter value.
| void fhss_init | ( | void | ) |
Reset the slot counter to zero.
| uint8_t fhss_next_channel | ( | void | ) |
Return the next channel in the hopping sequence and advance the slot.
| void fhss_set_slot | ( | uint32_t | s | ) |
Force the slot counter to a specific value for RX synchronisation.
| s | New slot value. |
| void fhss_sync_tick | ( | void | ) |
Advance the slot counter by one (receiver side, no packet received).