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 
9 #pragma once
10 
87 #include "nimble_netif.h"
88 
89 #ifdef __cplusplus
90 extern "C" {
91 #endif
92 
96 typedef struct {
97  uint32_t scan_itvl_ms;
99  uint32_t scan_win_ms;
101  uint32_t adv_itvl_ms;
103  uint32_t conn_scan_itvl_ms;
105  uint32_t conn_scan_win_ms;
107  uint32_t conn_scan_to_ms;
108  uint32_t conn_itvl_min_ms;
110  uint32_t conn_itvl_max_ms;
112  uint16_t conn_latency;
113  uint32_t conn_super_to_ms;
116  uint32_t eval_itvl_min_ms;
118  uint32_t eval_itvl_max_ms;
121 
125 typedef struct {
126  uint8_t inst_id;
127  uint8_t dodag_id[16];
128  uint8_t version;
129  uint8_t role;
130  uint16_t rank;
132 
144 
153 
163 
175 
176 #ifdef __cplusplus
177 }
178 #endif
179 
nimble_phy_t
BLE PHY modes.
Definition: nimble_riot.h:73
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:214
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:96
uint16_t conn_latency
used slave latency for parent connection
Definition: nimble_rpble.h:112
uint32_t scan_itvl_ms
scan interval when scanning for parents, in ms
Definition: nimble_rpble.h:97
uint32_t eval_itvl_min_ms
amount of time a node searches for potential parents, lower bound in ms
Definition: nimble_rpble.h:116
uint32_t conn_scan_to_ms
timeout when connecting to parent, in ms
Definition: nimble_rpble.h:107
uint32_t conn_scan_itvl_ms
scan interval when connecting to parent, in ms
Definition: nimble_rpble.h:103
uint32_t adv_itvl_ms
advertising interval used when advertising RPL context to child nodes, in ms
Definition: nimble_rpble.h:101
uint32_t eval_itvl_max_ms
amount of time a node searches for potential parents, upper bound in ms
Definition: nimble_rpble.h:118
uint32_t conn_itvl_max_ms
upper bound of connection interval range, in ms
Definition: nimble_rpble.h:110
uint32_t conn_itvl_min_ms
lower bound of connection interval range, in ms
Definition: nimble_rpble.h:108
uint32_t conn_super_to_ms
used supervision timeout for parent connection, in ms
Definition: nimble_rpble.h:113
uint32_t scan_win_ms
scan window when scanning for parents, in ms
Definition: nimble_rpble.h:99
uint32_t conn_scan_win_ms
scan window when connecting to parent, in ms
Definition: nimble_rpble.h:105
nimble_phy_t phy_mode
BLE PHY mode to use.
Definition: nimble_rpble.h:115
RPL DODAG information.
Definition: nimble_rpble.h:125
uint16_t rank
the node's rank in the DODAG
Definition: nimble_rpble.h:130
uint8_t role
RPL role of the node.
Definition: nimble_rpble.h:129
uint8_t version
DODAG version.
Definition: nimble_rpble.h:128
uint8_t inst_id
instance ID
Definition: nimble_rpble.h:126