43 #include "timeslot_timer.h" 44 #include "radio_config.h" 46 #include "bearer_event.h" 60 #define SCANNER_CHANNELS_MAX (3) 61 #define SCANNER_ACCESS_ADDR_INVALID (0x00000000) 62 #define SCANNER_CHANNELS_DEFAULT {37, 38, 39} 95 void scanner_init(bearer_event_flag_callback_t packet_process_cb);
void(* scanner_rx_callback_t)(const scanner_packet_t *p_packet, ts_timestamp_t rx_timestamp_ts)
Scanner packet callback hook, called on every successfully received packet before committing it to th...
const scanner_packet_t * scanner_rx(void)
Returns the next packet that has been received by the scanner.
void scanner_radio_start(ts_timestamp_t start_time)
Start scanner radio.
void scanner_rx_callback_set(scanner_rx_callback_t callback)
Set the scanner rx callback function.
uint32_t successful_receives
Number of received packets.
void scanner_config_scan_time_set(uint32_t scan_interval_us, uint32_t scan_window_us)
Sets scanner timing parameters.
void scanner_config_reset(void)
Resets the scanner module.
void scanner_packet_release(const scanner_packet_t *p_packet)
Releases a packet that has previously been returned by scanner_rx().
uint32_t length_out_of_bounds
Number of packets with length out of bounds.
Content of a packet received by the scanner.
void scanner_timer_irq_handler(void)
Scanner timer IRQ handler.
void scanner_enable(void)
Enables the scanner module.
void scanner_radio_stop(void)
Stop scanner radio.
uint32_t out_of_memory
Number of times the scanner has ran out of memory.
void scanner_init(bearer_event_flag_callback_t packet_process_cb)
Initializes the scanner module.
nrf_mesh_rx_metadata_scanner_t metadata
Packet metadata.
Scanner statistics structure.
const scanner_stats_t * scanner_stats_get(void)
Returns statistics related to the scanner module.
uint32_t crc_failures
Number of CRC failures.
bool scanner_is_enabled(void)
Checks if the scanner module is enabled.
bool scanner_rx_pending(void)
Checks if any received packets are pending.
void scanner_config_radio_mode_set(radio_mode_t radio_mode)
Sets scanner radio mode (data rate and modulation).
void scanner_config_access_addresses_set(const uint32_t *p_access_addresses, uint8_t address_count)
Sets access addresses to be used by the scanner, and corresponding logical address.
void scanner_radio_irq_handler(void)
Scanner radio IRQ handler.
void scanner_config_channels_set(const uint8_t *p_channels, uint8_t channel_count)
Sets which radio channels are to be used by the scanner.
void scanner_disable(void)
Disables the scanner module.
packet_t packet
Packet content.