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... | |
Detailed Description
The Instaburst RX module implements a subset of the required scanner functionality for the Bluetooth 5.0 feature "Advertising Extensions".
It only aims to support messages coming from a Nordic Mesh device sending TX packets with the 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.
- Warning
- Instaburst is a Nordic-specific feature that does not adhere to the Bluetooth Mesh specification. It does not have the same requirements for test coverage, API stability or specification compliance as the rest of Nordic's nRF5 SDK for Mesh.
Macro Definition Documentation
◆ INSTABURST_RX_DEBUG
| #define INSTABURST_RX_DEBUG 0 |
Whether to enable the Instaburst RX debug mode.
Definition at line 68 of file instaburst_rx.h.
Function Documentation
◆ instaburst_rx_init()
| void instaburst_rx_init | ( | bearer_event_flag_callback_t | packet_process_cb | ) |
Initializes the Instaburst RX module.
- Parameters
-
[in] packet_process_cb Function to call upon successfully receiving an Instaburst packet.
◆ instaburst_rx()
| const instaburst_rx_packet_t* instaburst_rx | ( | void | ) |
Fetches a single packet from the Instaburst packet queue.
- Returns
- A pointer to a received Instaburst packet, or NULL if no packet is ready.
◆ instaburst_rx_pending()
| bool instaburst_rx_pending | ( | void | ) |
Checks whether Instaburst has any packets ready for being fetched by instaburst_rx.
- Returns
- Whether the Instaburst RX module has packets ready for reading.
◆ instaburst_rx_packet_release()
| void instaburst_rx_packet_release | ( | const instaburst_rx_packet_t * | p_packet | ) |
Releases a packet acquired through the instaburst_rx function.
- Parameters
-
[in] p_packet Packet to release.
◆ instaburst_rx_stats_get()
| 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.
- Parameters
-
[in] channel Channel to fetch the structure from. Must be lower than or equal to INSTABURST_CHANNEL_INDEX_MAX.
- Returns
- A pointer to the stats structure for the given channel, or NULL if no structure is found.