Scan Dispatch#

API and Callbacks for the scan-dispatch Component.

This component allows existence of multiple consumers of the stack 802.15.4 scan results.

This plugin allows for multiple consumers of stack 802.15.4 scan callbacks.

Modules#

sl_zigbee_af_plugin_scan_dispatch_scan_results_t

sl_zigbee_af_plugin_scan_dispatch_scan_data_t

API#

sl_zigbee_network_scan_type_t
sl_zigbee_af_scan_dispatch_scan_results_get_scan_type(sl_zigbee_af_plugin_scan_dispatch_scan_results_t *results)

Get the scan type.

bool
sl_zigbee_af_scan_dispatch_scan_results_are_complete(sl_zigbee_af_plugin_scan_dispatch_scan_results_t *results)

Get whether the originally requested scan has completed.

bool
sl_zigbee_af_scan_dispatch_scan_results_are_failure(sl_zigbee_af_plugin_scan_dispatch_scan_results_t *results)

Result in a failure.

sl_zigbee_af_scan_dispatch_schedule_scan(sl_zigbee_af_plugin_scan_dispatch_scan_data_t *data)

Schedule a scan.

void

Remove all consumers in the queue.

Typedefs#

typedef void(*
sl_zigbee_af_plugin_scan_dispatch_scan_results_handler_t)(sl_zigbee_af_plugin_scan_dispatch_scan_results_t *results)

Handle scan results.

Macros#

#define
SL_ZIGBEE_AF_PLUGIN_SCAN_DISPATCH_SCAN_QUEUE_SIZE 10

The size of the dispatch queue.

API Documentation#

sl_zigbee_af_scan_dispatch_scan_results_get_scan_type#

sl_zigbee_network_scan_type_t sl_zigbee_af_scan_dispatch_scan_results_get_scan_type (sl_zigbee_af_plugin_scan_dispatch_scan_results_t * results)

Get the scan type.

Parameters
TypeDirectionArgument NameDescription
sl_zigbee_af_plugin_scan_dispatch_scan_results_t *N/Aresults

The sl_zigbee_af_plugin_scan_dispatch_scan_results_t for which the scan type will be found.

Gets the scan type from an sl_zigbee_af_plugin_scan_dispatch_scan_results_t. This value will either be ::SL_ZIGBEE_ENERGY_SCAN, ::SL_ZIGBEE_ACTIVE_SCAN or ::SL_ZIGBEE_ACTIVE_SCAN_ROUTER

Returns

  • The ::sl_zigbee_network_scan_type_t of the scan results.


sl_zigbee_af_scan_dispatch_scan_results_are_complete#

bool sl_zigbee_af_scan_dispatch_scan_results_are_complete (sl_zigbee_af_plugin_scan_dispatch_scan_results_t * results)

Get whether the originally requested scan has completed.

Parameters
TypeDirectionArgument NameDescription
sl_zigbee_af_plugin_scan_dispatch_scan_results_t *N/Aresults

The sl_zigbee_af_plugin_scan_dispatch_scan_results_t that belong to a potentially complete scan.

This can happen either when the dispatcher asks the stack for a scan (see ::sl_zigbee_start_scan) or after all of the scan results have been delivered to the consumer (see sl_zigbee_af_scan_complete_cb).

Returns

  • Indicates whether or not the scan for the scan results is complete.


sl_zigbee_af_scan_dispatch_scan_results_are_failure#

bool sl_zigbee_af_scan_dispatch_scan_results_are_failure (sl_zigbee_af_plugin_scan_dispatch_scan_results_t * results)

Result in a failure.

Parameters
TypeDirectionArgument NameDescription
sl_zigbee_af_plugin_scan_dispatch_scan_results_t *N/Aresults

The sl_zigbee_af_plugin_scan_dispatch_scan_results_t for which the call to ::sl_zigbee_start_scan may have failed.

Gets whether or not the scan results are from a failed call to ::sl_zigbee_start_scan.

Returns

  • Indicates whether or not the call to ::sl_zigbee_start_scan failed for these results.


sl_zigbee_af_scan_dispatch_schedule_scan#

sl_status_t sl_zigbee_af_scan_dispatch_schedule_scan (sl_zigbee_af_plugin_scan_dispatch_scan_data_t * data)

Schedule a scan.

Parameters
TypeDirectionArgument NameDescription
sl_zigbee_af_plugin_scan_dispatch_scan_data_t *N/Adata

An sl_zigbee_af_plugin_scan_dispatch_scan_data_t that holds the scanType, channelMask, duration, and sl_zigbee_af_plugin_scan_dispatch_scan_results_handler_t for the scan.

This API schedules an 802.15.4 scan. The results will be delivered to the consumer via a handler in the passed sl_zigbee_af_plugin_scan_dispatch_scan_data_t.

Returns

  • An sl_status_t value describing the result of the scheduling of a scan.


sl_zigbee_af_scan_dispatch_clear#

void sl_zigbee_af_scan_dispatch_clear (void )

Remove all consumers in the queue.

Parameters
TypeDirectionArgument NameDescription
voidN/A

A call to this function will remove all consumers in the queue for scan results. It will also cancel any 802.15.4 scan that the stack is currently performing.


Typedef Documentation#

sl_zigbee_af_plugin_scan_dispatch_scan_results_handler_t#

typedef void(* sl_zigbee_af_plugin_scan_dispatch_scan_results_handler_t) (sl_zigbee_af_plugin_scan_dispatch_scan_results_t *results) )(sl_zigbee_af_plugin_scan_dispatch_scan_results_t *results)

Handle scan results.