nimble_rpble.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019-2021 Freie Universität Berlin
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
85 #ifndef NIMBLE_RPBLE_H
86 #define NIMBLE_RPBLE_H
87 
88 #include "nimble_netif.h"
89 
90 #ifdef __cplusplus
91 extern "C" {
92 #endif
93 
97 typedef struct {
98  uint32_t scan_itvl_ms;
100  uint32_t scan_win_ms;
102  uint32_t adv_itvl_ms;
104  uint32_t conn_scan_itvl_ms;
106  uint32_t conn_scan_win_ms;
108  uint32_t conn_scan_to_ms;
109  uint32_t conn_itvl_min_ms;
111  uint32_t conn_itvl_max_ms;
113  uint16_t conn_latency;
114  uint32_t conn_super_to_ms;
117  uint32_t eval_itvl_min_ms;
119  uint32_t eval_itvl_max_ms;
122 
126 typedef struct {
127  uint8_t inst_id;
128  uint8_t dodag_id[16];
129  uint8_t version;
130  uint8_t role;
131  uint16_t rank;
133 
145 
154 
164 
176 
177 #ifdef __cplusplus
178 }
179 #endif
180 
181 #endif /* NIMBLE_RPBLE_H */
nimble_phy_t
BLE PHY modes.
Definition: nimble_riot.h:75
void(* nimble_netif_eventcb_t)(int handle, nimble_netif_event_t event, const uint8_t *addr)
Event callback signature used for asynchronous event signaling.
Definition: nimble_netif.h:215
int nimble_rpble_init(const nimble_rpble_cfg_t *cfg)
Initialize the nimble_rpble module with the given parameters.
int nimble_rpble_update(const nimble_rpble_ctx_t *ctx)
Update the current RPL context.
int nimble_rpble_param_update(const nimble_rpble_cfg_t *cfg)
Update the used timing parameters.
int nimble_rpble_eventcb(nimble_netif_eventcb_t cb)
Register a callback that is called on BLE events.
GNRC netif implementation for NimBLE.
rpble configuration parameters
Definition: nimble_rpble.h:97
uint16_t conn_latency
used slave latency for parent connection
Definition: nimble_rpble.h:113
uint32_t scan_itvl_ms
scan interval when scanning for parents, in ms
Definition: nimble_rpble.h:98
uint32_t eval_itvl_min_ms
amount of time a node searches for potential parents, lower bound in ms
Definition: nimble_rpble.h:117
uint32_t conn_scan_to_ms
timeout when connecting to parent, in ms
Definition: nimble_rpble.h:108
uint32_t conn_scan_itvl_ms
scan interval when connecting to parent, in ms
Definition: nimble_rpble.h:104
uint32_t adv_itvl_ms
advertising interval used when advertising RPL context to child nodes, in ms
Definition: nimble_rpble.h:102
uint32_t eval_itvl_max_ms
amount of time a node searches for potential parents, upper bound in ms
Definition: nimble_rpble.h:119
uint32_t conn_itvl_max_ms
upper bound of connection interval range, in ms
Definition: nimble_rpble.h:111
uint32_t conn_itvl_min_ms
lower bound of connection interval range, in ms
Definition: nimble_rpble.h:109
uint32_t conn_super_to_ms
used supervision timeout for parent connection, in ms
Definition: nimble_rpble.h:114
uint32_t scan_win_ms
scan window when scanning for parents, in ms
Definition: nimble_rpble.h:100
uint32_t conn_scan_win_ms
scan window when connecting to parent, in ms
Definition: nimble_rpble.h:106
nimble_phy_t phy_mode
BLE PHY mode to use.
Definition: nimble_rpble.h:116
RPL DODAG information.
Definition: nimble_rpble.h:126
uint16_t rank
the node's rank in the DODAG
Definition: nimble_rpble.h:131
uint8_t role
RPL role of the node.
Definition: nimble_rpble.h:130
uint8_t version
DODAG version.
Definition: nimble_rpble.h:129
uint8_t inst_id
instance ID
Definition: nimble_rpble.h:127