LoRaWAN header type and helper function definitions. More...
LoRaWAN header type and helper function definitions.
Definition in file hdr.h.
#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>
#include "byteorder.h"
#include "net/loramac.h"
Go to the source code of this file.
Data Structures | |
struct | lorawan_hdr_t |
Data type to represent a LoRaWAN packet header. More... | |
struct | lorawan_join_request_t |
Join request packet representation. More... | |
struct | lorawan_join_accept_t |
Join accept packet representation. More... | |
Macros | |
#define | LORAWAN_HDR_MTYPE_MASK (0xe0) |
MType mask. | |
#define | LORAWAN_HDR_MTYPE_POS (5U) |
MType position. | |
#define | LORAWAN_HDR_MAJOR_MASK (0x03) |
Major version mask. | |
#define | LORAWAN_HDR_MAJOR_POS (0U) |
Major version position. | |
#define | LORAWAN_HDR_ADR_MASK (0x80) |
ADR mask. | |
#define | LORAWAN_HDR_ADR_POS (7U) |
ADR position. | |
#define | LORAWAN_HDR_ADR_ACK_MASK (0x40) |
ADR ACK bit mask. | |
#define | LORAWAN_HDR_ADR_ACK_POS (6U) |
ADR ACK bit position. | |
#define | LORAWAN_HDR_ACK_MASK (0x20) |
ACK bit mask. | |
#define | LORAWAN_HDR_ACK_POS (5U) |
ACK bit position. | |
#define | LORAWAN_HDR_FRAME_PENDING_MASK (0x10) |
Frame pending bit mask. | |
#define | LORAWAN_HDR_FRAME_PENDING_POS (4U) |
Frame pending bit position. | |
#define | LORAWAN_HDR_FOPTS_LEN_MASK (0x0F) |
Frame options mask. | |
#define | LORAWAN_HDR_FOPTS_LEN_POS (0U) |
Frame options position. | |
Functions | |
static void | lorawan_hdr_set_mtype (lorawan_hdr_t *hdr, uint8_t mtype) |
Set LoRaWAN header MType. More... | |
static uint8_t | lorawan_hdr_get_mtype (lorawan_hdr_t *hdr) |
Get LoRaWAN header MType. More... | |
static void | lorawan_hdr_set_maj (lorawan_hdr_t *hdr, uint8_t maj) |
Set LoRaWAN major version. More... | |
static uint8_t | lorawan_hdr_get_maj (lorawan_hdr_t *hdr) |
Get LoRaWAN major version. More... | |
static void | lorawan_hdr_set_adr (lorawan_hdr_t *hdr, bool adr) |
Set LoRaWAN header Adaptive Data Rate bit. More... | |
static bool | lorawan_hdr_get_adr (lorawan_hdr_t *hdr) |
Get LoRaWAN header Adaptive Data Rate bit. More... | |
static void | lorawan_hdr_set_adr_ack_req (lorawan_hdr_t *hdr, bool adr_ack_req) |
Set LoRaWAN header ADR ACK request bit. More... | |
static bool | lorawan_hdr_get_adr_ack_req (lorawan_hdr_t *hdr) |
Get LoRaWAN header ADR ACK request bit. More... | |
static void | lorawan_hdr_set_ack (lorawan_hdr_t *hdr, bool ack) |
Set LoRaWAN header ACK bit. More... | |
static bool | lorawan_hdr_get_ack (lorawan_hdr_t *hdr) |
Get LoRaWAN header ACK bit. More... | |
static void | lorawan_hdr_set_frame_pending (lorawan_hdr_t *hdr, bool frame_pending) |
Set LoRaWAN header frame pending bit. More... | |
static bool | lorawan_hdr_get_frame_pending (lorawan_hdr_t *hdr) |
Get LoRaWAN header frame pending bit. More... | |
static void | lorawan_hdr_set_frame_opts_len (lorawan_hdr_t *hdr, uint8_t len) |
Set LoRaWAN header FOpts length. More... | |
static uint8_t | lorawan_hdr_get_frame_opts_len (lorawan_hdr_t *hdr) |
Get LoRaWAN header FOps length. More... | |