The Instaburst RX module implements a subset of the required scanner functionality for the Bluetooth 5.0 feature "Advertising Extensions". More...
Data Structures | |
struct | instaburst_rx_packet_t |
A single Instaburst RX packet. More... | |
struct | instaburst_rx_stats_t |
Stats structure for Instaburst. More... | |
Macros | |
#define | INSTABURST_RX_DEBUG 0 |
Whether to enable the Instaburst RX debug mode. More... | |
Functions | |
void | instaburst_rx_init (bearer_event_flag_callback_t packet_process_cb) |
Initializes the Instaburst RX module. More... | |
void | instaburst_rx_enable (void) |
Enables the Instaburst RX module by registering its RX callback with the scanner. | |
void | instaburst_rx_disable (void) |
Disables the Instaburst RX module. | |
const instaburst_rx_packet_t * | instaburst_rx (void) |
Fetches a single packet from the Instaburst packet queue. More... | |
bool | instaburst_rx_pending (void) |
Checks whether Instaburst has any packets ready for being fetched by instaburst_rx. More... | |
void | instaburst_rx_packet_release (const instaburst_rx_packet_t *p_packet) |
Releases a packet acquired through the instaburst_rx function. More... | |
const instaburst_rx_stats_t * | instaburst_rx_stats_get (uint8_t channel) |
Gets a pointer to the Instaburst RX stats structure. More... | |
The Instaburst RX module implements a subset of the required scanner functionality for the Bluetooth 5.0 feature "Advertising Extensions".
It is an experimental feature, and only aims to support messages coming from a Nordic Mesh device sending TX packets with the Experimental Instaburst TX module implementation.
The Instaburst RX module hooks into the scanner module through its inline callback functionality, providing a sneak peak at incoming packets. If the module detects an Advertising Extension Indication packet that points to an Auxiliary Advertising packet with a configuration within the bounds of the modules capabilites, it will attempt to schedule an auxiliary scanning event to receive the Auxiliary advertising packet. Should the Auxiliary packet point to another packet, the module will attempt to keep scheduling new RX events until it runs out of resources or reaches the end of the packet chain.
#define INSTABURST_RX_DEBUG 0 |
Whether to enable the Instaburst RX debug mode.
Definition at line 70 of file instaburst_rx.h.
void instaburst_rx_init | ( | bearer_event_flag_callback_t | packet_process_cb | ) |
Initializes the Instaburst RX module.
[in] | packet_process_cb | Function to call upon successfully receiving an Instaburst packet. |
const instaburst_rx_packet_t* instaburst_rx | ( | void | ) |
Fetches a single packet from the Instaburst packet queue.
bool instaburst_rx_pending | ( | void | ) |
Checks whether Instaburst has any packets ready for being fetched by instaburst_rx.
void instaburst_rx_packet_release | ( | const instaburst_rx_packet_t * | p_packet | ) |
Releases a packet acquired through the instaburst_rx function.
[in] | p_packet | Packet to release. |
const instaburst_rx_stats_t* instaburst_rx_stats_get | ( | uint8_t | channel | ) |
Gets a pointer to the Instaburst RX stats structure.
If INSTABURST_RX_DEBUG is set, each BLE channel will have a stats struct allocated for it, keeping track of the number of events that occurred on that channel.
[in] | channel | Channel to fetch the structure from. Must be lower than or equal to INSTABURST_CHANNEL_INDEX_MAX. |