nRF5 SDK for Mesh v5.0.0
Data Structures | Macros | Functions

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_tinstaburst_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_tinstaburst_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_cbFunction 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_packetPacket 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]channelChannel 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.

Documentation feedback | Developer Zone | Subscribe | Updated