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

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
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.


Definition at line 141 of file app/framework/plugin/scan-dispatch/scan-dispatch.h

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
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.


Definition at line 162 of file app/framework/plugin/scan-dispatch/scan-dispatch.h

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
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.


Definition at line 182 of file app/framework/plugin/scan-dispatch/scan-dispatch.h

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
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.


Definition at line 201 of file app/framework/plugin/scan-dispatch/scan-dispatch.h

sl_zigbee_af_scan_dispatch_clear#

void sl_zigbee_af_scan_dispatch_clear (void )

Remove all consumers in the queue.

Parameters
N/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.


Definition at line 209 of file app/framework/plugin/scan-dispatch/scan-dispatch.h

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.


Definition at line 107 of file app/framework/plugin/scan-dispatch/scan-dispatch.h

Macro Definition Documentation#

SL_ZIGBEE_AF_PLUGIN_SCAN_DISPATCH_SCAN_QUEUE_SIZE#

#define SL_ZIGBEE_AF_PLUGIN_SCAN_DISPATCH_SCAN_QUEUE_SIZE
Value:
10

The size of the dispatch queue.


Definition at line 51 of file app/framework/plugin/scan-dispatch/scan-dispatch.h