7#ifndef ZEPHYR_INCLUDE_LORAWAN_LORAWAN_H_
8#define ZEPHYR_INCLUDE_LORAWAN_LORAWAN_H_
143#define LW_RECV_PORT_ANY UINT16_MAX
333#ifdef CONFIG_LORAWAN_APP_CLOCK_SYNC
347int lorawan_clock_sync_run(
void);
361int lorawan_clock_sync_get(
uint32_t *gps_time);
int lorawan_set_conf_msg_tries(uint8_t tries)
Set the number of tries used for transmissions.
int lorawan_send(uint8_t port, uint8_t *data, uint8_t len, enum lorawan_message_type type)
Send data to the LoRaWAN network.
lorawan_datarate
LoRaWAN datarate types.
Definition: lorawan.h:45
lorawan_act_type
LoRaWAN activation types.
Definition: lorawan.h:37
void lorawan_enable_adr(bool enable)
Enable Adaptive Data Rate (ADR)
void lorawan_register_dr_changed_callback(void(*dr_cb)(enum lorawan_datarate))
Register a callback to be called when the datarate changes.
int lorawan_set_battery_level_callback(uint8_t(*battery_lvl_cb)(void))
Add battery level callback function.
int lorawan_join(const struct lorawan_join_config *config)
Join the LoRaWAN network.
lorawan_message_type
LoRaWAN message types.
Definition: lorawan.h:83
int lorawan_start(void)
Start the LoRaWAN stack.
enum lorawan_datarate lorawan_get_min_datarate(void)
Get the minimum possible datarate.
lorawan_class
LoRaWAN class types.
Definition: lorawan.h:28
void lorawan_get_payload_sizes(uint8_t *max_next_payload_size, uint8_t *max_payload_size)
Get the current payload sizes.
int lorawan_set_datarate(enum lorawan_datarate dr)
Set the default data rate.
int lorawan_set_region(enum lorawan_region region)
Set the region and frequency to be used.
void lorawan_register_downlink_callback(struct lorawan_downlink_cb *cb)
Register a callback to be run on downlink packets.
int lorawan_set_class(enum lorawan_class dev_class)
Set the current device class.
lorawan_region
LoRaWAN region types.
Definition: lorawan.h:67
@ LORAWAN_DR_8
Definition: lorawan.h:54
@ LORAWAN_DR_5
Definition: lorawan.h:51
@ LORAWAN_DR_10
Definition: lorawan.h:56
@ LORAWAN_DR_12
Definition: lorawan.h:58
@ LORAWAN_DR_13
Definition: lorawan.h:59
@ LORAWAN_DR_14
Definition: lorawan.h:60
@ LORAWAN_DR_11
Definition: lorawan.h:57
@ LORAWAN_DR_15
Definition: lorawan.h:61
@ LORAWAN_DR_3
Definition: lorawan.h:49
@ LORAWAN_DR_0
Definition: lorawan.h:46
@ LORAWAN_DR_4
Definition: lorawan.h:50
@ LORAWAN_DR_2
Definition: lorawan.h:48
@ LORAWAN_DR_7
Definition: lorawan.h:53
@ LORAWAN_DR_6
Definition: lorawan.h:52
@ LORAWAN_DR_1
Definition: lorawan.h:47
@ LORAWAN_DR_9
Definition: lorawan.h:55
@ LORAWAN_ACT_ABP
Definition: lorawan.h:39
@ LORAWAN_ACT_OTAA
Definition: lorawan.h:38
@ LORAWAN_MSG_CONFIRMED
Definition: lorawan.h:85
@ LORAWAN_MSG_UNCONFIRMED
Definition: lorawan.h:84
@ LORAWAN_CLASS_A
Definition: lorawan.h:29
@ LORAWAN_CLASS_B
Definition: lorawan.h:30
@ LORAWAN_CLASS_C
Definition: lorawan.h:31
@ LORAWAN_REGION_AU915
Definition: lorawan.h:69
@ LORAWAN_REGION_EU868
Definition: lorawan.h:73
@ LORAWAN_REGION_CN470
Definition: lorawan.h:70
@ LORAWAN_REGION_AS923
Definition: lorawan.h:68
@ LORAWAN_REGION_US915
Definition: lorawan.h:76
@ LORAWAN_REGION_IN865
Definition: lorawan.h:75
@ LORAWAN_REGION_EU433
Definition: lorawan.h:72
@ LORAWAN_REGION_RU864
Definition: lorawan.h:77
@ LORAWAN_REGION_CN779
Definition: lorawan.h:71
@ LORAWAN_REGION_KR920
Definition: lorawan.h:74
struct _snode sys_snode_t
Single-linked list node structure.
Definition: slist.h:39
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
__INT8_TYPE__ int8_t
Definition: stdint.h:72
__INT16_TYPE__ int16_t
Definition: stdint.h:73
LoRaWAN downlink callback parameters.
Definition: lorawan.h:148
uint16_t port
Port to handle messages for.
Definition: lorawan.h:156
sys_snode_t node
Node for callback list.
Definition: lorawan.h:174
void(* cb)(uint8_t port, bool data_pending, int16_t rssi, int8_t snr, uint8_t len, const uint8_t *data)
Callback function to run on downlink data.
Definition: lorawan.h:170
LoRaWAN join parameters for activation by personalization (ABP)
Definition: lorawan.h:116
uint8_t * app_eui
Application EUI.
Definition: lorawan.h:124
uint8_t * app_skey
Application session key.
Definition: lorawan.h:120
uint8_t * nwk_skey
Network session key.
Definition: lorawan.h:122
uint32_t dev_addr
Device address on the network.
Definition: lorawan.h:118
LoRaWAN join parameters.
Definition: lorawan.h:130
struct lorawan_join_abp abp
Definition: lorawan.h:133
struct lorawan_join_otaa otaa
Definition: lorawan.h:132
enum lorawan_act_type mode
Activation mode.
Definition: lorawan.h:140
uint8_t * dev_eui
Device EUI.
Definition: lorawan.h:137
LoRaWAN join parameters for over-the-Air activation (OTAA)
Definition: lorawan.h:96
uint8_t * app_key
Application Key.
Definition: lorawan.h:102
uint8_t * join_eui
Join EUI.
Definition: lorawan.h:98
uint16_t dev_nonce
Device Nonce.
Definition: lorawan.h:110
uint8_t * nwk_key
Network Key.
Definition: lorawan.h:100