Global Callbacks#

Functions#

void
sl_zigbee_af_add_to_current_app_tasks_cb(sl_zigbee_af_application_task_t tasks)

Add To Current App Tasks.

sl_zigbee_af_allow_network_write_attribute_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, int8u *value, int8u type)

Allow Network Write Attribute.

bool
sl_zigbee_af_attribute_read_access_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, int16u attributeId)

Attribute Read Access.

bool
sl_zigbee_af_attribute_write_access_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, int16u attributeId)

Attribute Write Access.

void
sl_zigbee_af_cluster_init_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId)

Cluster Init.

bool
sl_zigbee_af_cluster_security_custom_cb(sl_zigbee_af_profile_id_t profileId, sl_zigbee_af_cluster_id_t clusterId, bool incoming, int8u commandId)

Cluster Security Custom.

bool
sl_zigbee_af_configure_reporting_command_cb(const sl_zigbee_af_cluster_command_t *cmd)

Configure Reporting Command.

bool
sl_zigbee_af_configure_reporting_response_cb(sl_zigbee_af_cluster_id_t clusterId, int8u *buffer, int16u bufLen)

Configure Reporting Response.

bool
sl_zigbee_af_default_response_cb(sl_zigbee_af_cluster_id_t clusterId, int8u commandId, sl_zigbee_af_status_t status)

Default Response.

bool
sl_zigbee_af_discover_attributes_response_cb(sl_zigbee_af_cluster_id_t clusterId, bool discoveryComplete, int8u *buffer, int16u bufLen, bool extended)

Discover Attributes Response.

bool
sl_zigbee_af_discover_commands_generated_response_cb(sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, bool discoveryComplete, int8u *commandIds, int16u commandIdCount)

Discover Commands Generated Response.

bool
sl_zigbee_af_discover_commands_received_response_cb(sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, bool discoveryComplete, int8u *commandIds, int16u commandIdCount)

Discover Commands Received Response.

void

Eeprom Init.

void

Eeprom Note Initialized State.

void

Eeprom Shutdown.

sl_zigbee_af_external_attribute_read_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_metadata_t *attributeMetadata, int16u manufacturerCode, int8u *buffer, int16u maxReadLength)

External Attribute Read.

sl_zigbee_af_external_attribute_write_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_metadata_t *attributeMetadata, int16u manufacturerCode, int8u *buffer)

External Attribute Write.

int32u

Get Current Poll Interval Ms.

int32u

Get Current Poll Interval Qs.

int32u

Get Current Time.

bool
sl_zigbee_af_get_endpoint_by_index_cb(int8u index, int8u *endpointReturn)

Get Endpoint By Index.

bool
sl_zigbee_af_get_endpoint_description_cb(int8u endpoint, sl_zigbee_endpoint_description_t *result)

Get Endpoint Description.

bool
sl_zigbee_af_get_endpoint_info_cb(int8u endpoint, int8u *returnNetworkIndex, sl_zigbee_af_endpoint_info_struct_t *returnEndpointInfo)

Get Endpoint Info.

void

Get Form And Join Extended Pan Id.

int32u

Get Long Poll Interval Ms.

int32u

Get Long Poll Interval Qs.

int16u

Get Short Poll Interval Ms.

int16u

Get Short Poll Interval Qs.

int8u
sl_zigbee_af_get_source_route_overhead_cb(sl_802154_short_addr_t destination)

Get Source Route Overhead.

int16u

Get Wake Timeout Ms.

int16u

Get Wake Timeout Qs.

void
sl_zigbee_af_hal_button_isr_cb(int8u button, int8u state)

Hal Button Isr.

sl_zigbee_packet_action_t
sl_zigbee_af_incoming_packet_filter_cb(sl_zigbee_zigbee_packet_type_t packetType, int8u *packetData, int8u *size_p, void *data)

Incoming Packet Filter.

sl_zigbee_af_initiate_inter_pan_key_establishment_cb(sl_802154_pan_id_t panId, const sl_802154_long_addr_t eui64)

Initiate Inter Pan Key Establishment.

sl_zigbee_af_initiate_key_establishment_cb(sl_802154_short_addr_t nodeId, int8u endpoint)

Initiate Key Establishment.

sl_zigbee_af_initiate_partner_link_key_exchange_cb(sl_802154_short_addr_t target, int8u endpoint, sl_zigbee_af_partner_link_key_exchange_callback_t *callback)

Initiate Partner Link Key Exchange.

bool
sl_zigbee_af_inter_pan_key_establishment_cb(sl_zigbee_af_key_establishment_notify_message_t status, bool amInitiator, sl_802154_pan_id_t panId, const sl_802154_long_addr_t eui64, int8u delayInSeconds)

Inter Pan Key Establishment.

sl_zigbee_af_interpan_send_message_cb(sl_zigbee_af_interpan_header_t *header, int16u messageLength, int8u *message)

Interpan Send Message.

bool
sl_zigbee_af_key_establishment_cb(sl_zigbee_af_key_establishment_notify_message_t status, bool amInitiator, sl_802154_short_addr_t partnerShortId, int8u delayInSeconds)

Key Establishment.

void

Main Init.

bool
sl_zigbee_af_main_start_cb(int *returnCode, int argc, char **argv)

Main Start.

void

Main Tick.

bool
sl_zigbee_af_message_sent_cb(sl_zigbee_outgoing_message_type_t type, int16u indexOrDestination, sl_zigbee_aps_frame_t *apsFrame, int16u msgLen, int8u *message, sl_status_t status)

Message Sent.

void

Ncp Init.

void

Ncp Is Awake Isr.

void

Network Key Update Complete.

int8u
sl_zigbee_af_ota_bootload_cb(const sl_zigbee_af_ota_image_id_t *id, int16u ncpUpgradeTagId)

Ota Bootload.

void
sl_zigbee_af_ota_client_bootload_cb(const sl_zigbee_af_ota_image_id_t *id)

Ota Client Bootload.

sl_zigbee_af_ota_client_custom_verify_cb(bool newVerification, const sl_zigbee_af_ota_image_id_t *id)

Ota Client Custom Verify.

bool
sl_zigbee_af_ota_client_download_complete_cb(sl_zigbee_af_ota_download_result_t success, const sl_zigbee_af_ota_image_id_t *id)

Ota Client Download Complete.

bool
sl_zigbee_af_ota_client_incoming_message_raw_cb(sl_zigbee_af_cluster_command_t *message)

Ota Client Incoming Message Raw.

void

Ota Client Start.

void
sl_zigbee_af_ota_client_version_info_cb(sl_zigbee_af_ota_image_id_t *currentImageInfo, int16u *hardwareVersion)

Ota Client Version Info.

int8u

Ota Page Request Server Policy.

int8u
sl_zigbee_af_ota_server_block_size_cb(sl_802154_short_addr_t clientNodeId)

Ota Server Block Size.

bool
sl_zigbee_af_ota_server_incoming_message_raw_cb(sl_zigbee_af_cluster_command_t *message)

Ota Server Incoming Message Raw.

int8u
sl_zigbee_af_ota_server_query_cb(const sl_zigbee_af_ota_image_id_t *currentImageId, int16u *hardwareVersion, sl_zigbee_af_ota_image_id_t *nextUpgradeImageId)

Ota Server Query.

bool
sl_zigbee_af_ota_server_send_image_notify_cb(sl_802154_short_addr_t dest, int8u endpoint, int8u payloadType, int8u queryJitter, const sl_zigbee_af_ota_image_id_t *id)

Ota Server Send Image Notify.

bool
sl_zigbee_af_ota_server_upgrade_end_request_cb(sl_802154_short_addr_t source, int8u status, int32u *returnValue, const sl_zigbee_af_ota_image_id_t *imageId)

Ota Server Upgrade End Request.

sl_zigbee_af_ota_storage_check_temp_data_cb(int32u *currentOffset, int32u *totalImageSize, sl_zigbee_af_ota_image_id_t *newFileInfo)

Ota Storage Check Temp Data.

void

Ota Storage Close.

void

Ota Storage Driver Download Finish.

bool

Ota Storage Driver Init.

bool
sl_zigbee_af_ota_storage_driver_read_cb(int32u offset, int32u length, int8u *returnData)

Ota Storage Driver Read.

int32u

Ota Storage Driver Retrieve Last Stored Offset.

bool
sl_zigbee_af_ota_storage_driver_write_cb(const int8u *dataToWrite, int32u offset, int32u length)

Ota Storage Driver Write.

int8u

Ota Storage Get Count.

sl_zigbee_af_ota_storage_get_full_header_cb(const sl_zigbee_af_ota_image_id_t *id, sl_zigbee_af_ota_header_t *returnData)

Ota Storage Get Full Header.

int32u
sl_zigbee_af_ota_storage_get_total_image_size_cb(const sl_zigbee_af_ota_image_id_t *id)

Ota Storage Get Total Image Size.

sl_zigbee_af_ota_storage_read_image_data_cb(const sl_zigbee_af_ota_image_id_t *id, int32u offset, int32u length, int8u *returnData, int32u *returnedLength)

Ota Storage Read Image Data.

sl_zigbee_af_ota_storage_search_cb(int16u manufacturerId, int16u imageTypeId, const int16u *hardwareVersion)

Ota Storage Search.

sl_zigbee_af_ota_storage_write_temp_data_cb(int32u offset, int32u length, const int8u *data)

Ota Storage Write Temp Data.

sl_zigbee_packet_action_t
sl_zigbee_af_outgoing_packet_filter_cb(sl_zigbee_zigbee_packet_type_t packetType, int8u *packetData, int8u *size_p, void *data)

Outgoing Packet Filter.

sl_zigbee_zdo_status_t

Partner Link Key Exchange Request.

void
sl_zigbee_af_partner_link_key_exchange_response_cb(sl_802154_short_addr_t sender, sl_zigbee_zdo_status_t status)

Partner Link Key Exchange Response.

bool

Performing Key Establishment.

void
sl_zigbee_af_post_attribute_change_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, int8u type, int8u size, int8u *value)

Post Attribute Change.

void

Post Em4 Reset.

sl_zigbee_af_pre_attribute_change_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, int8u type, int8u size, int8u *value)

Pre Attribute Change.

bool
sl_zigbee_af_pre_cli_send_cb(sl_zigbee_aps_frame_t *apsFrame, sl_802154_short_addr_t source, sl_802154_short_addr_t destination, int8u *message, int16u messageLength)

Pre Cli Send.

bool
sl_zigbee_af_pre_command_received_cb(sl_zigbee_af_cluster_command_t *cmd)

Pre Command Received.

bool
sl_zigbee_af_pre_message_received_cb(sl_zigbee_af_incoming_message_t *incomingMessage)

Pre Message Received.

bool
sl_zigbee_af_pre_message_send_cb(sl_zigbee_af_message_struct_t *messageStruct, sl_status_t *status)

Pre Message Send.

void

Pre Ncp Reset.

bool
sl_zigbee_af_pre_zdo_message_received_cb(sl_802154_short_addr_t sl_zigbee_node_id, sl_zigbee_aps_frame_t *apsFrame, int8u *message, int16u length)

Pre ZDO Message Received.

bool
sl_zigbee_af_read_attributes_response_cb(sl_zigbee_af_cluster_id_t clusterId, int8u *buffer, int16u bufLen)

Read Attributes Response.

bool
sl_zigbee_af_read_reporting_configuration_command_cb(const sl_zigbee_af_cluster_command_t *cmd)

Read Reporting Configuration Command.

bool
sl_zigbee_af_read_reporting_configuration_response_cb(sl_zigbee_af_cluster_id_t clusterId, int8u *buffer, int16u bufLen)

Read Reporting Configuration Response.

void

Registration Abort.

void

Registration.

Remote Delete Binding Permission.

sl_zigbee_af_remote_set_binding_permission_cb(const sl_zigbee_binding_table_entry_t *entry)

Remote Set Binding Permission.

void
sl_zigbee_af_remove_from_current_app_tasks_cb(sl_zigbee_af_application_task_t tasks)

Remove From Current App Tasks.

bool
sl_zigbee_af_report_attributes_cb(sl_zigbee_af_cluster_id_t clusterId, int8u *buffer, int16u bufLen)

Report Attributes.

void
sl_zigbee_af_reporting_attribute_change_cb(int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, sl_zigbee_af_attribute_type_t type, int8u *data)

Reporting Attribute Change.

void
sl_zigbee_af_security_init_cb(sl_zigbee_initial_security_state_t *state, sl_zigbee_extended_security_bitmask_t *extended, bool trustCenter)

Security Init.

void
sl_zigbee_af_set_default_poll_control_cb(sl_zigbee_af_event_poll_control_t control)

Set Default Poll Control.

void
sl_zigbee_af_set_default_sleep_control_cb(sl_zigbee_af_event_sleep_control_t control)

Set Default Sleep Control.

void

Set Form And Join Extended Pan Id.

void

Set Long Poll Interval Ms.

void

Set Long Poll Interval Qs.

void
sl_zigbee_af_set_short_poll_interval_ms_cb(int16u shortPollIntervalMs)

Set Short Poll Interval Ms.

void
sl_zigbee_af_set_short_poll_interval_qs_cb(int16u shortPollIntervalQs)

Set Short Poll Interval Qs.

void
sl_zigbee_af_set_source_route_overhead_cb(sl_802154_short_addr_t destination, int8u overhead)

Set Source Route Overhead.

void
sl_zigbee_af_set_time_cb(int32u utcTime)

Set Time.

void
sl_zigbee_af_set_wake_timeout_bitmask_cb(sl_zigbee_af_application_task_t tasks)

Set Wake Timeout Bitmask.

void

Set Wake Timeout Ms.

void

Set Wake Timeout Qs.

bool

Start Move.

Start Search For Joinable Network.

void

Stop Move.

void
sl_zigbee_af_trust_center_join_cb(sl_802154_short_addr_t newNodeId, sl_802154_long_addr_t newNodeEui64, sl_802154_short_addr_t parentOfNewNode, sl_zigbee_device_update_t status, sl_zigbee_join_decision_t decision)

Trust Center Join.

void

Trust Center Keepalive Abort.

void

Trust Center Keepalive Update.

bool
sl_zigbee_af_write_attributes_response_cb(sl_zigbee_af_cluster_id_t clusterId, int8u *buffer, int16u bufLen)

Write Attributes Response.

sl_zigbee_af_get_diff_cb(sl_zigbee_af_difference_type_t value1, sl_zigbee_af_difference_type_t value2, sl_zigbee_af_attribute_type_t dataType)

Retrieves the difference between the two passed values.

bool
sl_zigbee_af_detect_report_changed_cb(sl_zigbee_af_difference_type_t threshold, sl_zigbee_af_difference_type_t diff, sl_zigbee_af_attribute_type_t dataType)

Detect a reportable change that could trigger report generation.

Function Documentation#

sl_zigbee_af_add_to_current_app_tasks_cb#

void sl_zigbee_af_add_to_current_app_tasks_cb (sl_zigbee_af_application_task_t tasks)

Add To Current App Tasks.

Parameters
N/Atasks

Ver.: always

This function is only useful to sleepy end devices. This function will note the passed item as part of a set of tasks the application has outstanding (e.g. message sent requiring APS acknwoledgement). This will affect how the application behaves with regard to sleeping and polling. Until the outstanding task is completed, the device may poll more frequently and sleep less often.


Definition at line 43 of file app/framework/util/global-callback.h

sl_zigbee_af_allow_network_write_attribute_cb#

sl_zigbee_af_attribute_write_permission_t sl_zigbee_af_allow_network_write_attribute_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, int8u * value, int8u type)

Allow Network Write Attribute.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AattributeId

Ver.: always

N/Amask

Ver.: always

N/AmanufacturerCode

Ver.: always

N/Avalue

Ver.: always

N/Atype

Ver.: always

This function is called by the application framework before it writes an attribute in response to a write attribute request from an external device. The value passed into this callback is the value to which the attribute is to be set by the framework. Example: In mirroring simple metering data on an Energy Services Interface (ESI) (formerly called Energy Service Portal (ESP) in SE 1.0).), a mirrored simple meter needs to write read-only attributes on its mirror. The-meter-mirror sample application, located in app/framework/sample-apps, uses this callback to allow the mirrored device to write simple metering attributes on the mirror regardless of the fact that most simple metering attributes are defined as read-only by the ZigBee specification. Note: The ZCL specification does not (as of this writing) specify any permission-level security for writing writeable attributes. As far as the ZCL specification is concerned, if an attribute is writeable, any device that has a link key for the device should be able to write that attribute. Furthermore if an attribute is read only, it should not be written over the air. Thus, if you implement permissions for writing attributes as a feature, you MAY be operating outside the specification. This is unlikely to be a problem for writing read-only attributes, but it may be a problem for attributes that are writeable according to the specification but restricted by the application implementing this callback.


Definition at line 77 of file app/framework/util/global-callback.h

sl_zigbee_af_attribute_read_access_cb#

bool sl_zigbee_af_attribute_read_access_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, int16u attributeId)

Attribute Read Access.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AmanufacturerCode

Ver.: always

N/AattributeId

Ver.: always

This function is called whenever the Application Framework needs to check access permission for an attribute read.


Definition at line 94 of file app/framework/util/global-callback.h

sl_zigbee_af_attribute_write_access_cb#

bool sl_zigbee_af_attribute_write_access_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, int16u attributeId)

Attribute Write Access.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AmanufacturerCode

Ver.: always

N/AattributeId

Ver.: always

This function is called whenever the Application Framework needs to check access permission for an attribute write.


Definition at line 108 of file app/framework/util/global-callback.h

sl_zigbee_af_clear_report_table_cb#

sl_status_t sl_zigbee_af_clear_report_table_cb (void )

Clear Report Table.

Parameters
N/A

This function is called by the framework when the application should clear the report table.


Definition at line 118 of file app/framework/util/global-callback.h

sl_zigbee_af_cluster_init_cb#

void sl_zigbee_af_cluster_init_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId)

Cluster Init.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

This function is called when a specific cluster is initialized. It gives the application an opportunity to take care of cluster initialization procedures. It is called exactly once for each endpoint where cluster is present.


Definition at line 128 of file app/framework/util/global-callback.h

sl_zigbee_af_cluster_security_custom_cb#

bool sl_zigbee_af_cluster_security_custom_cb (sl_zigbee_af_profile_id_t profileId, sl_zigbee_af_cluster_id_t clusterId, bool incoming, int8u commandId)

Cluster Security Custom.

Parameters
N/AprofileId

The profile ID Ver.: always

N/AclusterId

The cluster ID Ver.: always

N/Aincoming

Whether this is an incoming or outgoing message. Ver.: always

N/AcommandId

The ZCL command ID being sent/received. Ver.: always

This callback is fired when determining if APS encryption is required for a cluster outside of the specification's required clusters. In other words, for the Smart Energy profile this would be a cluster beyond the list that normally requires APS encryption.


Definition at line 143 of file app/framework/util/global-callback.h

sl_zigbee_af_configure_reporting_command_cb#

bool sl_zigbee_af_configure_reporting_command_cb (const sl_zigbee_af_cluster_command_t * cmd)

Configure Reporting Command.

Parameters
N/Acmd

Ver.: always

This function is called by the application framework when a Configure Reporting command is received from an external device. The Configure Reporting command contains a series of attribute reporting configuration records. The application should return true if the message was processed or false if it was not.


Definition at line 157 of file app/framework/util/global-callback.h

sl_zigbee_af_configure_reporting_response_cb#

bool sl_zigbee_af_configure_reporting_response_cb (sl_zigbee_af_cluster_id_t clusterId, int8u * buffer, int16u bufLen)

Configure Reporting Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/Abuffer

Buffer containing the list of attribute status records. Ver.: always

N/AbufLen

The length in bytes of the list. Ver.: always

This function is called by the application framework when a Configure Reporting Response command is received from an external device. The application should return true if the message was processed or false if it was not.


Definition at line 170 of file app/framework/util/global-callback.h

sl_zigbee_af_default_response_cb#

bool sl_zigbee_af_default_response_cb (sl_zigbee_af_cluster_id_t clusterId, int8u commandId, sl_zigbee_af_status_t status)

Default Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/AcommandId

The command identifier to which this is a response. Ver.: always

N/Astatus

Specifies either SUCCESS or the nature of the error that was detected in the received command. Ver.: always

This function is called by the application framework when a Default Response command is received from an external device. The application should return true if the message was processed or false if it was not.


Definition at line 185 of file app/framework/util/global-callback.h

sl_zigbee_af_discover_attributes_response_cb#

bool sl_zigbee_af_discover_attributes_response_cb (sl_zigbee_af_cluster_id_t clusterId, bool discoveryComplete, int8u * buffer, int16u bufLen, bool extended)

Discover Attributes Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/AdiscoveryComplete

Indicates whether there are more attributes to be discovered. true if there are no more attributes to be discovered. Ver.: always

N/Abuffer

Buffer containing the list of attribute identifier/type records. Ver.: always

N/AbufLen

The length in bytes of the list. Ver.: always

N/Aextended

Indicates whether the response is in the extended format or not. Ver.: always

This function is called by the application framework when a Discover Attributes Response or Discover Attributes Extended Response command is received from an external device. The Discover Attributes Response command contains a bool indicating if discovery is complete and a list of zero or more attribute identifier/type records. The final argument indicates whether the response is in the extended format or not. The application should return true if the message was processed or false if it was not.


Definition at line 208 of file app/framework/util/global-callback.h

sl_zigbee_af_discover_commands_generated_response_cb#

bool sl_zigbee_af_discover_commands_generated_response_cb (sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, bool discoveryComplete, int8u * commandIds, int16u commandIdCount)

Discover Commands Generated Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/AmanufacturerCode

Manufacturer code Ver.: always

N/AdiscoveryComplete

Indicates whether there are more commands to be discovered. Ver.: always

N/AcommandIds

Buffer containing the list of command identifiers. Ver.: always

N/AcommandIdCount

The length of bytes of the list, whish is the same as the number of identifiers. Ver.: always

This function is called by the framework when Discover Commands Generated Response is received.


Definition at line 227 of file app/framework/util/global-callback.h

sl_zigbee_af_discover_commands_received_response_cb#

bool sl_zigbee_af_discover_commands_received_response_cb (sl_zigbee_af_cluster_id_t clusterId, int16u manufacturerCode, bool discoveryComplete, int8u * commandIds, int16u commandIdCount)

Discover Commands Received Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/AmanufacturerCode

Manufacturer code Ver.: always

N/AdiscoveryComplete

Indicates whether there are more commands to be discovered. Ver.: always

N/AcommandIds

Buffer containing the list of command identifiers. Ver.: always

N/AcommandIdCount

The length of bytes of the list, whish is the same as the number of identifiers. Ver.: always

This function is called by the framework when Discover Commands Received Response is received.


Definition at line 246 of file app/framework/util/global-callback.h

sl_zigbee_af_eeprom_init_cb#

void sl_zigbee_af_eeprom_init_cb (void )

Eeprom Init.

Parameters
N/A

Tells the system to initialize the EEPROM if it is not already initialized.


Definition at line 256 of file app/framework/util/global-callback.h

sl_zigbee_af_eeprom_note_initialized_state_cb#

void sl_zigbee_af_eeprom_note_initialized_state_cb (bool state)

Eeprom Note Initialized State.

Parameters
N/Astate

The state of the EEPROM, false=re-initalization needed, true=no-re-init needed Ver.: always

Records the state of the EEPROM so that an intelligent driver (like the EEPROM plugin) can re-initialize the driver prior to any calls to it.


Definition at line 265 of file app/framework/util/global-callback.h

sl_zigbee_af_eeprom_shutdown_cb#

void sl_zigbee_af_eeprom_shutdown_cb (void )

Eeprom Shutdown.

Parameters
N/A

Tells the system to shutdown the EEPROM if it is not already shutdown.


Definition at line 271 of file app/framework/util/global-callback.h

sl_zigbee_af_external_attribute_read_cb#

sl_zigbee_af_status_t sl_zigbee_af_external_attribute_read_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_metadata_t * attributeMetadata, int16u manufacturerCode, int8u * buffer, int16u maxReadLength)

External Attribute Read.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AattributeMetadata

Ver.: always

N/AmanufacturerCode

Ver.: always

N/Abuffer

Ver.: always

N/AmaxReadLength

Ver.: always

Like sl_zigbee_af_external_attribute_write_cb above, this function is called when the framework needs to read an attribute that is not stored within the Application Framework's data structures. All of the important information about the attribute itself is passed as a pointer to an sl_zigbee_af_attribute_metadata_t struct, which is stored within the application and used to manage the attribute. A complete description of the sl_zigbee_af_attribute_metadata_t struct is provided in app/framework/include/af-types.h This function assumes that the application is able to read the attribute, write it into the passed buffer, and return immediately. Any attributes that require a state machine for reading and writing are not really candidates for externalization at the present time. The Application Framework does not currently include a state machine for reading or writing attributes that must take place across a series of application ticks. Attributes that cannot be read in a timely manner should be stored within the Application Framework and updated occasionally by the application code from within the sl_zigbee_af_main_tick_cb. If the application was successfully able to read the attribute and write it into the passed buffer, it should return a value of SL_ZIGBEE_ZCL_STATUS_SUCCESS. Ensure that the size of the externally managed attribute value is smaller than what the buffer can hold. In the case of a buffer overflow throw an appropriate error such as SL_ZIGBEE_ZCL_STATUS_INSUFFICIENT_SPACE. Any other return value indicates the application was not able to read the attribute.


Definition at line 309 of file app/framework/util/global-callback.h

sl_zigbee_af_external_attribute_write_cb#

sl_zigbee_af_status_t sl_zigbee_af_external_attribute_write_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_metadata_t * attributeMetadata, int16u manufacturerCode, int8u * buffer)

External Attribute Write.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AattributeMetadata

Ver.: always

N/AmanufacturerCode

Ver.: always

N/Abuffer

Ver.: always

This function is called whenever the Application Framework needs to write an attribute which is not stored within the data structures of the Application Framework itself. One of the new features in Version 2 is the ability to store attributes outside the Framework. This is particularly useful for attributes that do not need to be stored because they can be read off the hardware when they are needed, or are stored in some central location used by many modules within the system. In this case, you can indicate that the attribute is stored externally. When the framework needs to write an external attribute, it makes a call to this callback. This callback is very useful for host micros which need to store attributes in persistent memory. Because each host micro (used with an Ember NCP) has its own type of persistent memory storage, the Application Framework does not include the ability to mark attributes as stored in flash the way that it does for an SoC architecture. On a host micro, any attributes that need to be stored in persistent memory should be marked as external and accessed through the external read and write callbacks. Any host code associated with the persistent storage should be implemented within this callback. All of the important information about the attribute itself is passed as a pointer to an sl_zigbee_af_attribute_metadata_t struct, which is stored within the application and used to manage the attribute. A complete description of the sl_zigbee_af_attribute_metadata_t struct is provided in app/framework/include/af-types.h. This function assumes that the application is able to write the attribute and return immediately. Any attributes that require a state machine for reading and writing are not candidates for externalization at the present time. The Application Framework does not currently include a state machine for reading or writing attributes that must take place across a series of application ticks. Attributes that cannot be written immediately should be stored within the Application Framework and updated occasionally by the application code from within the sl_zigbee_af_main_tick_cb. If the application was successfully able to write the attribute, it returns a value of SL_ZIGBEE_ZCL_STATUS_SUCCESS. Any other return value indicates the application was not able to write the attribute.


Definition at line 361 of file app/framework/util/global-callback.h

sl_zigbee_af_find_unused_pan_id_and_form_cb#

sl_status_t sl_zigbee_af_find_unused_pan_id_and_form_cb (void )

Find Unused Pan Id And Form.

Parameters
N/A

This function is called by the framework to search for an unused PAN id and form a new network. The application should return SL_STATUS_OK if the operation was initiated successfully.


Definition at line 373 of file app/framework/util/global-callback.h

sl_zigbee_af_get_current_app_tasks_cb#

sl_zigbee_af_application_task_t sl_zigbee_af_get_current_app_tasks_cb (void )

Get Current App Tasks.

Parameters
N/A

This function is only useful to sleepy end devices. This function will return the set of tasks the application has outstanding. These tasks affect how the application behaves with regard to sleeping and polling.


Definition at line 381 of file app/framework/util/global-callback.h

sl_zigbee_af_get_current_poll_control_cb#

sl_zigbee_af_event_poll_control_t sl_zigbee_af_get_current_poll_control_cb (void )

Get Current Poll Control.

Parameters
N/A

This function will retrieve the current poll control that the system is using for the current network. This is determined by examining all the scheduled events and obtaining the most restrictive poll control context across all events. The most restrictive poll control is SL_ZIGBEE_AF_SHORT_POLL followed by SL_ZIGBEE_AF_LONG_POLL.


Definition at line 391 of file app/framework/util/global-callback.h

sl_zigbee_af_get_current_poll_interval_ms_cb#

int32u sl_zigbee_af_get_current_poll_interval_ms_cb (void )

Get Current Poll Interval Ms.

Parameters
N/A

This function is only useful to end devices. This function will return the current poll interval (in milliseconds) for the current network. This interval is the maximum amount of time a child is currently waiting between polls of its parent.


Definition at line 400 of file app/framework/util/global-callback.h

sl_zigbee_af_get_current_poll_interval_qs_cb#

int32u sl_zigbee_af_get_current_poll_interval_qs_cb (void )

Get Current Poll Interval Qs.

Parameters
N/A

This function is only useful to end devices. This function will return the current poll interval (in quarter seconds) for the current network. This interval is the maximum amount of time a child is currently waiting between polls of its parent.


Definition at line 409 of file app/framework/util/global-callback.h

sl_zigbee_af_get_current_sleep_control_cb#

sl_zigbee_af_event_sleep_control_t sl_zigbee_af_get_current_sleep_control_cb (void )

Get Current Sleep Control.

Parameters
N/A

This function will retrieve the current sleep control that the system is using. This is determined by examining all the scheduled events and obtaining the most restrictive sleep control context across all events. The most restrictive sleep control is SL_ZIGBEE_AF_STAY_AWAKE followed by SL_ZIGBEE_AF_OK_TO_SLEEP.


Definition at line 419 of file app/framework/util/global-callback.h

sl_zigbee_af_get_current_time_cb#

int32u sl_zigbee_af_get_current_time_cb (void )

Get Current Time.

Parameters
N/A

This callback is called when device attempts to get current time from the hardware. If this device has means to retrieve exact time, then this method should implement it. If the callback can't provide the exact time it should return 0 to indicate failure. Default action is to return 0, which indicates that device does not have access to real time.


Definition at line 429 of file app/framework/util/global-callback.h

sl_zigbee_af_get_default_poll_control_cb#

sl_zigbee_af_event_poll_control_t sl_zigbee_af_get_default_poll_control_cb (void )

Get Default Poll Control.

Parameters
N/A

This function will retrieve the default poll control for the current network as previously set by sl_zigbee_af_set_default_poll_control_cb(). The default poll control will limit whether the network can long poll.


Definition at line 437 of file app/framework/util/global-callback.h

sl_zigbee_af_get_default_sleep_control_cb#

sl_zigbee_af_event_sleep_control_t sl_zigbee_af_get_default_sleep_control_cb (void )

Get Default Sleep Control.

Parameters
N/A

This function will retrieve the default sleep control the system is using as previously set by sl_zigbee_af_set_default_sleep_control_cb(). The default sleep control will limit whether the device can sleep.


Definition at line 445 of file app/framework/util/global-callback.h

sl_zigbee_af_get_endpoint_by_index_cb#

bool sl_zigbee_af_get_endpoint_by_index_cb (int8u index, int8u * endpointReturn)

Get Endpoint By Index.

Parameters
N/Aindex

The index of the endpoint. Ver.: always

N/AendpointReturn

The value of endpoint. Ver.: always

Get the endpoint number based on the passed index. By default the framework handles this by managing endpoints based on the precompiled configuration defined in AppBuilder. This callback can override this behavior at runtime and provide additional endpoints or different data than the compiled values. If the index is overridden than the callback shall return true and set the endpointReturn parameter accordingly. A value of 0xFF means the endpoint doesn't exist at that index. Otherwise false must be returned by the callback and the default framework behavior will be executed. This is only applicable to the SOC devices.


Definition at line 462 of file app/framework/util/global-callback.h

sl_zigbee_af_get_endpoint_description_cb#

bool sl_zigbee_af_get_endpoint_description_cb (int8u endpoint, sl_zigbee_endpoint_description_t * result)

Get Endpoint Description.

Parameters
N/Aendpoint

The endpoint number that is being queried. Ver.: always

N/Aresult

This is a pointer to a data structure where the endpoint information is written if the callback is providing the information. Ver.: always

This callback is called by the framework whenever it receives a ZDO request to enumerate the details about an endpoint. By default the framework provides the information based on the precompiled endpoint information as defined in AppBuilder. This callback can override that behavior at runtime and return different information. If the endpoint information is being overridden then the callback must return true. Otherwise it should return false, which allows the framework to perform its default behavior. This is only applicable to SOC devices.


Definition at line 480 of file app/framework/util/global-callback.h

sl_zigbee_af_get_endpoint_info_cb#

bool sl_zigbee_af_get_endpoint_info_cb (int8u endpoint, int8u * returnNetworkIndex, sl_zigbee_af_endpoint_info_struct_t * returnEndpointInfo)

Get Endpoint Info.

Parameters
N/Aendpoint

The endpoint to retrieve data for. Ver.: always

N/AreturnNetworkIndex

The index corresponding to the ZigBee network the endpoint belongs to. If not using a multi-network device, 0 must be returned. Otherwise on a multi-network device the stack will switch to this network before sending the message. Ver.: always

N/AreturnEndpointInfo

A pointer to a data struct that will be written with information about the endpoint. Ver.: always

This function is a callback to an application implemented endpoint that operates outside the normal application framework. When the framework wishes to perform operations with that endpoint it uses this callback to retrieve the endpoint's information. If the endpoint exists and the application can provide data then true shall be returned. Otherwise the callback must return false.


Definition at line 499 of file app/framework/util/global-callback.h

sl_zigbee_af_get_form_and_join_extended_pan_id_cb#

void sl_zigbee_af_get_form_and_join_extended_pan_id_cb (int8u * resultLocation)

Get Form And Join Extended Pan Id.

Parameters
N/AresultLocation

Ver.: always

This callback is called by the framework to get the extended PAN ID used by the current network for forming and joining. The extended PAN ID used for forming and joining is not necessarily the same extended PAN ID actually in use on the network.


Definition at line 511 of file app/framework/util/global-callback.h

sl_zigbee_af_get_long_poll_interval_ms_cb#

int32u sl_zigbee_af_get_long_poll_interval_ms_cb (void )

Get Long Poll Interval Ms.

Parameters
N/A

This function is only useful to end devices. This function will return the long poll interval (in milliseconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is not expecting data.


Definition at line 520 of file app/framework/util/global-callback.h

sl_zigbee_af_get_long_poll_interval_qs_cb#

int32u sl_zigbee_af_get_long_poll_interval_qs_cb (void )

Get Long Poll Interval Qs.

Parameters
N/A

This function is only useful to end devices. This function will return the long poll interval (in quarter seconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is not expecting data.


Definition at line 529 of file app/framework/util/global-callback.h

sl_zigbee_af_get_short_poll_interval_ms_cb#

int16u sl_zigbee_af_get_short_poll_interval_ms_cb (void )

Get Short Poll Interval Ms.

Parameters
N/A

This function is only useful to sleepy end devices. This function will return the short poll interval (in milliseconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is expecting data.


Definition at line 538 of file app/framework/util/global-callback.h

sl_zigbee_af_get_short_poll_interval_qs_cb#

int16u sl_zigbee_af_get_short_poll_interval_qs_cb (void )

Get Short Poll Interval Qs.

Parameters
N/A

This function is only useful to sleepy end devices. This function will return the short poll interval (in quarter seconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is expecting data.


Definition at line 547 of file app/framework/util/global-callback.h

sl_zigbee_af_get_source_route_overhead_cb#

int8u sl_zigbee_af_get_source_route_overhead_cb (sl_802154_short_addr_t destination)

Get Source Route Overhead.

Parameters
N/Adestination

The node id of the destination Ver.: always

This function is called by the framework to determine the overhead required in the network frame for source routing to a particular destination.


Definition at line 555 of file app/framework/util/global-callback.h

sl_zigbee_af_get_wake_timeout_bitmask_cb#

sl_zigbee_af_application_task_t sl_zigbee_af_get_wake_timeout_bitmask_cb (void )

Get Wake Timeout Bitmask.

Parameters
N/A

This function is only useful to sleepy end devices. This function will return the wake timeout bitmask for the current network. The bitmask determines which tasks will timeout automatically and which tasks require manual removal from the task list.


Definition at line 564 of file app/framework/util/global-callback.h

sl_zigbee_af_get_wake_timeout_ms_cb#

int16u sl_zigbee_af_get_wake_timeout_ms_cb (void )

Get Wake Timeout Ms.

Parameters
N/A

This function is only useful to sleepy end devices. This function will return the wake timeout (in milliseconds) for the current network. This timeout is the maximum amount of time a child will wait for a task in the wake bitmask to finish. While waiting, the device will short poll.


Definition at line 573 of file app/framework/util/global-callback.h

sl_zigbee_af_get_wake_timeout_qs_cb#

int16u sl_zigbee_af_get_wake_timeout_qs_cb (void )

Get Wake Timeout Qs.

Parameters
N/A

This function is only useful to sleepy end devices. This function will return the wake timeout (in quarter seconds) for the current network. This timeout is the maximum amount of time a child will wait for a task in the wake bitmask to finish. While waiting, the device will short poll.


Definition at line 582 of file app/framework/util/global-callback.h

sl_zigbee_af_hal_button_isr_cb#

void sl_zigbee_af_hal_button_isr_cb (int8u button, int8u state)

Hal Button Isr.

Parameters
N/Abutton

The button which has changed state, either BUTTON0 or BUTTON1 as defined in the appropriate BOARD_HEADER. Ver.: always

N/Astate

The new state of the button referenced by the button parameter, either ::BUTTON_PRESSED if the button has been pressed or ::BUTTON_RELEASED if the button has been released. Ver.: always

This callback is called by the framework whenever a button is pressed on the device. This callback is called within ISR context.


Definition at line 594 of file app/framework/util/global-callback.h

sl_zigbee_af_incoming_packet_filter_cb#

sl_zigbee_packet_action_t sl_zigbee_af_incoming_packet_filter_cb (sl_zigbee_zigbee_packet_type_t packetType, int8u * packetData, int8u * size_p, void * data)

Incoming Packet Filter.

Parameters
N/ApacketType

the type of packet and associated protocol layer Ver.: always

N/ApacketData

flat buffer containing the packet data associated with the packet type Ver.: always

N/Asize_p

a pointer containing the size value of the packet Ver.: always

N/Adata

auxillary data included with the packet Ver.: always

** REQUIRES INCLUDING THE PACKET-HANDOFF PLUGIN **

 This is called by

the Packet Handoff plugin when the stack receives a packet from one of the protocol layers specified in ::sl_zigbee_zigbee_packet_type_t.

 The packetType

argument is one of the values of the ::sl_zigbee_zigbee_packet_type_t enum. If the stack receives an 802.15.4 MAC beacon, it will call this function with the packetType argument set to ::SL_ZIGBEE_ZIGBEE_PACKET_TYPE_BEACON.

 The

implementation of this callback may alter the data contained in packetData, modify options and flags in the auxillary data, or consume the packet itself, either sending the message, or discarding it as it sees fit.


Definition at line 621 of file app/framework/util/global-callback.h

sl_zigbee_af_initiate_inter_pan_key_establishment_cb#

sl_status_t sl_zigbee_af_initiate_inter_pan_key_establishment_cb (sl_802154_pan_id_t panId, const sl_802154_long_addr_t eui64)

Initiate Inter Pan Key Establishment.

Parameters
N/ApanId

The PAN id of the remote device. Ver.: always

N/Aeui64

The EUI64 of the remote device. Ver.: always

This function is called by the framework to initiate key establishment with a remote device on a different PAN. The application should return SL_STATUS_OK if key establishment was initiated successfully. The application should call sl_zigbee_af_inter_pan_key_establishment_cb as events occur.


Definition at line 636 of file app/framework/util/global-callback.h

sl_zigbee_af_initiate_key_establishment_cb#

sl_status_t sl_zigbee_af_initiate_key_establishment_cb (sl_802154_short_addr_t nodeId, int8u endpoint)

Initiate Key Establishment.

Parameters
N/AnodeId

The node id of the remote device. Ver.: always

N/Aendpoint

The endpoint on the remote device. Ver.: always

This function is called by the framework to initiate key establishment with a remote device. The application should return SL_STATUS_OK if key establishment was initiated successfully. The application should call sl_zigbee_af_key_establishment_cb as events occur.


Definition at line 648 of file app/framework/util/global-callback.h

sl_zigbee_af_initiate_partner_link_key_exchange_cb#

sl_status_t sl_zigbee_af_initiate_partner_link_key_exchange_cb (sl_802154_short_addr_t target, int8u endpoint, sl_zigbee_af_partner_link_key_exchange_callback_t * callback)

Initiate Partner Link Key Exchange.

Parameters
N/Atarget

The node id of the remote device. Ver.: always

N/Aendpoint

The key establishment endpoint of the remote device. Ver.: always

N/Acallback

The callback that should be called when the partner link key exchange completse. Ver.: always

This function is called by the framework to initiate a partner link key exchange with a remote device. The application should return SL_STATUS_OK if the partner link key exchange was initiated successfully. When the partner link key exchange completes, the application should call the given callback.


Definition at line 664 of file app/framework/util/global-callback.h

sl_zigbee_af_inter_pan_key_establishment_cb#

bool sl_zigbee_af_inter_pan_key_establishment_cb (sl_zigbee_af_key_establishment_notify_message_t status, bool amInitiator, sl_802154_pan_id_t panId, const sl_802154_long_addr_t eui64, int8u delayInSeconds)

Inter Pan Key Establishment.

Parameters
N/Astatus

Ver.: always

N/AamInitiator

Ver.: always

N/ApanId

Ver.: always

N/Aeui64

Ver.: always

N/AdelayInSeconds

Ver.: always

A callback by the key-establishment code to indicate an event has occurred. For error codes this is purely a notification. For non-error status codes (besides LINK_KEY_ESTABLISHED), it is the application's chance to allow or disallow the operation. If the application returns true then the key establishment is allowed to proceed. If it returns false, then key establishment is aborted. LINK_KEY_ESTABLISHED is a notification of success.


Definition at line 682 of file app/framework/util/global-callback.h

sl_zigbee_af_interpan_send_message_cb#

sl_status_t sl_zigbee_af_interpan_send_message_cb (sl_zigbee_af_interpan_header_t * header, int16u messageLength, int8u * message)

Interpan Send Message.

Parameters
N/Aheader

Interpan header info Ver.: always

N/AmessageLength

The length of the message received or to send Ver.: always

N/Amessage

The message data received or to send. Ver.: always

This function will send a raw MAC message with interpan frame format using the passed parameters.


Definition at line 697 of file app/framework/util/global-callback.h

sl_zigbee_af_key_establishment_cb#

bool sl_zigbee_af_key_establishment_cb (sl_zigbee_af_key_establishment_notify_message_t status, bool amInitiator, sl_802154_short_addr_t partnerShortId, int8u delayInSeconds)

Key Establishment.

Parameters
N/Astatus

Ver.: always

N/AamInitiator

Ver.: always

N/ApartnerShortId

Ver.: always

N/AdelayInSeconds

Ver.: always

A callback by the key-establishment code to indicate an event has occurred. For error codes this is purely a notification. For non-error status codes (besides LINK_KEY_ESTABLISHED), it is the application's chance to allow or disallow the operation. If the application returns true then the key establishment is allowed to proceed. If it returns false, then key establishment is aborted. LINK_KEY_ESTABLISHED is a notification of success.


Definition at line 714 of file app/framework/util/global-callback.h

sl_zigbee_af_main_init_cb#

void sl_zigbee_af_main_init_cb (void )

Main Init.

Parameters
N/A

This function is called from the application's main function. It gives the application a chance to do any initialization required at system startup. Any code that you would normally put into the top of the application's main() routine should be put into this function. This is called before the clusters, plugins, and the network are initialized so some functionality is not yet available. Note: No callback in the Application Framework is associated with resource cleanup. If you are implementing your application on a Unix host where resource cleanup is a consideration, we expect that you will use the standard Posix system calls, including the use of atexit() and handlers for signals such as SIGTERM, SIGINT, SIGCHLD, SIGPIPE and so on. If you use the signal() function to register your signal handler, please mind the returned value which may be an Application Framework function. If the return value is non-null, please make sure that you call the returned function from your handler to avoid negating the resource cleanup of the Application Framework itself.


Definition at line 738 of file app/framework/util/global-callback.h

sl_zigbee_af_main_start_cb#

bool sl_zigbee_af_main_start_cb (int * returnCode, int argc, char ** argv)

Main Start.

Parameters
N/AreturnCode

Ver.: always

N/Aargc

Ver.: always

N/Aargv

Ver.: always

This function is called at the start of main after the HAL has been initialized. The standard main function arguments of argc and argv are passed in. However not all platforms have support for main() function arguments. Those that do not are passed NULL for argv, therefore argv should be checked for NULL before using it. If the callback determines that the program must exit, it should return true. The value returned by main() will be the value written to the returnCode pointer. Otherwise the callback should return false to let normal execution continue.


Definition at line 754 of file app/framework/util/global-callback.h

sl_zigbee_af_main_tick_cb#

void sl_zigbee_af_main_tick_cb (void )

Main Tick.

Parameters
N/A

Whenever main application tick is called, this callback will be called at the end of the main tick execution.


Definition at line 763 of file app/framework/util/global-callback.h

sl_zigbee_af_message_sent_cb#

bool sl_zigbee_af_message_sent_cb (sl_zigbee_outgoing_message_type_t type, int16u indexOrDestination, sl_zigbee_aps_frame_t * apsFrame, int16u msgLen, int8u * message, sl_status_t status)

Message Sent.

Parameters
N/Atype

Ver.: always

N/AindexOrDestination

Ver.: always

N/AapsFrame

Ver.: always

N/AmsgLen

Ver.: always

N/Amessage

Ver.: always

N/Astatus

Ver.: always

This function is called by the application framework from the message sent handler, when it is informed by the stack regarding the message sent status. All of the values passed to the sl_zigbee_message_sent_handler are passed on to this callback. This provides an opportunity for the application to verify that its message has been sent successfully and take the appropriate action. This callback should return a bool value of true or false. A value of true indicates that the message sent notification has been handled and should not be handled by the application framework.


Definition at line 782 of file app/framework/util/global-callback.h

sl_zigbee_af_ncp_init_cb#

void sl_zigbee_af_ncp_init_cb (void )

Ncp Init.

Parameters
N/A

This function is always called when the network coprocessor is being initialized, either at startup or upon reset. It provides applications an opportunity to perform additional configuration of the NCP. For example, tables on the NCP can be resized and populated. This callback issue EZSP commands to configure memory layout on the ncp and is not called on SoCs.


Definition at line 798 of file app/framework/util/global-callback.h

sl_zigbee_af_ncp_is_awake_isr_cb#

void sl_zigbee_af_ncp_is_awake_isr_cb (void )

Ncp Is Awake Isr.

Parameters
N/A

This function is called IN ISR CONTEXT. It notes that the NCP is awake after sleeping. Care should be taken to do minimal processing in this ISR handler function.


Definition at line 806 of file app/framework/util/global-callback.h

sl_zigbee_af_network_key_update_complete_cb#

void sl_zigbee_af_network_key_update_complete_cb (sl_status_t status)

Network Key Update Complete.

Parameters
N/Astatus

Ver.: always

This is called by the framework when a network key update operation started by the trust center is complete.


Definition at line 814 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_bootload_cb#

int8u sl_zigbee_af_ota_bootload_cb (const sl_zigbee_af_ota_image_id_t * id, int16u ncpUpgradeTagId)

Ota Bootload.

Parameters
N/Aid

A pointer to the structure that contains the information about what OTA image to bootload. Ver.: always

N/AncpUpgradeTagId

The tag ID of the upgrade data that will be used to bootload the device. Ver.: always

The platform specific routine to bootload the device from a ZigBee over-the-air upgrade file.


Definition at line 825 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_client_bootload_cb#

void sl_zigbee_af_ota_client_bootload_cb (const sl_zigbee_af_ota_image_id_t * id)

Ota Client Bootload.

Parameters
N/Aid

This is the identifier relating to the image that has been downloaded and is ready for bootload. Ver.: always

This callback is fired when the OTA Client recevies a command to bootload the newly downloaded OTA image. This callback will perform the platform specific to bootload their device.


Definition at line 836 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_client_custom_verify_cb#

sl_zigbee_af_image_verify_status_t sl_zigbee_af_ota_client_custom_verify_cb (bool newVerification, const sl_zigbee_af_ota_image_id_t * id)

Ota Client Custom Verify.

Parameters
N/AnewVerification

This indicates if a new verification should be started. Ver.: always

N/Aid

This is ID of the image to be verified. Ver.: always

This callback is executed by the OTA client after the signature verification has successfully completed. It allows the device to do its own custom verification of the image (such as verifying that the EBL is intact).


Definition at line 847 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_client_download_complete_cb#

bool sl_zigbee_af_ota_client_download_complete_cb (sl_zigbee_af_ota_download_result_t success, const sl_zigbee_af_ota_image_id_t * id)

Ota Client Download Complete.

Parameters
N/Asuccess

This indicates the success or failure of the download and cryptographic verification process (if applicable). Ver.: always

N/Aid

This is the image identifier information that corresponds to the download result. Ver.: always

This callback indicates that the OTA client has completed the download of a file. If the file has been completely downloaded and cryptographic checks have been turned on, then those will be performed prior to this callback and that outcome included in the 'success' result. On failure, this callback is merely informative, and the return type is ignored. On succesful download, this callback allows the client to perform any additional verification of the downloaded image and return that result to the OTA server.


Definition at line 864 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_client_incoming_message_raw_cb#

bool sl_zigbee_af_ota_client_incoming_message_raw_cb (sl_zigbee_af_cluster_command_t * message)

Ota Client Incoming Message Raw.

Parameters
N/Amessage

A pointer to the structure containing the message buffer and other information about it. Ver.: always

This callback is for processing incoming messages for the Over-the-air bootload cluster client. ZCL will not process the message and instead hand the raw over the air data to the callback for its own processing.


Definition at line 875 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_client_start_cb#

void sl_zigbee_af_ota_client_start_cb (void )

Ota Client Start.

Parameters
N/A

This callback should be called when the profile specific registration has completed successfully. It will start the client's state machine that will find the OTA server, query it for the next image, download the image, wait for the bootload message, and kick off the bootload.


Definition at line 884 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_client_version_info_cb#

void sl_zigbee_af_ota_client_version_info_cb (sl_zigbee_af_ota_image_id_t * currentImageInfo, int16u * hardwareVersion)

Ota Client Version Info.

Parameters
N/AcurrentImageInfo

This is the information to use in the next query by the client cluster code. It contains the manufacturer ID, image type ID, and the firmware version to be specified in the query message sent to the server. Ver.: always

N/AhardwareVersion

This is a pointer to the hardware version to use in the query. If no hardware version should be used, then SL_ZIGBEE_AF_INVALID_HARDWARE_VERSION should be used. Ver.: always

This function is called by the OTA client when a new query will occur to the server asking what the next version of firmware is. The client can inform the cluster software as to what information to use in the query (and subsequent download).


Definition at line 900 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_page_request_server_policy_cb#

int8u sl_zigbee_af_ota_page_request_server_policy_cb (void )

Ota Page Request Server Policy.

Parameters
N/A

This callback is called by the OTA server page request code when it wants to determine if it is allowed for an OTA client to make a page request. It is only called if page request support has been enabled on the server. It should return SL_ZIGBEE_ZCL_STATUS_SUCCESS if it allows the page request, and SL_ZIGBEE_ZCL_STATUS_UNSUP_COMMAND if it does not want to allow it.


Definition at line 911 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_server_block_size_cb#

int8u sl_zigbee_af_ota_server_block_size_cb (sl_802154_short_addr_t clientNodeId)

Ota Server Block Size.

Parameters
N/AclientNodeId

The node Id of OTA client making an image block request. Ver.: always

This function provides a way for the server to adjust the block size of its response to an Image block request by a client.


Definition at line 920 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_server_incoming_message_raw_cb#

bool sl_zigbee_af_ota_server_incoming_message_raw_cb (sl_zigbee_af_cluster_command_t * message)

Ota Server Incoming Message Raw.

Parameters
N/Amessage

A pointer to the structure containing the message buffer and other information about it. Ver.: always

This callback is for processing incoming messages for the Over-the-air bootload cluster server. ZCL will not process the message and instead hand the raw over the air data to the callback for its own processing.


Definition at line 930 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_server_query_cb#

int8u sl_zigbee_af_ota_server_query_cb (const sl_zigbee_af_ota_image_id_t * currentImageId, int16u * hardwareVersion, sl_zigbee_af_ota_image_id_t * nextUpgradeImageId)

Ota Server Query.

Parameters
N/AcurrentImageId

This is the current software image that the client hase. Ver.: always

N/AhardwareVersion

If this value is non-NULL, it indicates the hardware version of the client device. If NULL, the client did not specify a hardware version. Ver.: always

N/AnextUpgradeImageId

This is a pointer to a data structure containing the 'next' software version for the client to download. Ver.: always

This callback is fired when the OTA server receives a query request by the client. The callback lets the server application indicate to the client what the 'next' version of software is for the device, or if there is not one available.


Definition at line 946 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_server_send_image_notify_cb#

bool sl_zigbee_af_ota_server_send_image_notify_cb (sl_802154_short_addr_t dest, int8u endpoint, int8u payloadType, int8u queryJitter, const sl_zigbee_af_ota_image_id_t * id)

Ota Server Send Image Notify.

Parameters
N/Adest

The destination of the image notify message. May be a broadcast address. Ver.: always

N/Aendpoint

The destination endpoint of the image notify message. May be a broadcast endpoint. Ver.: always

N/ApayloadType

The type of data the image notify message will contain. 0 = no data. 1 = Manufacturer ID. 2 = Manufacturer ID and the image type ID. 3 = Manufacturer ID, image type ID, and firmware version. Ver.: always

N/AqueryJitter

The percentage of nodes that should respond to this message, from 1-100. On receipt of this message, each recipient will randomly choose a percentage and only query the server if their percentage is below this value. Ver.: always

N/Aid

The image information that will be put in the message. The data within this struct that will be appended to the message is determined by the previous 'payloadType' argument. Ver.: always

This callback is an indication to the OTA server that it should send out notification about an OTA file that is available for download.


Definition at line 969 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_server_upgrade_end_request_cb#

bool sl_zigbee_af_ota_server_upgrade_end_request_cb (sl_802154_short_addr_t source, int8u status, int32u * returnValue, const sl_zigbee_af_ota_image_id_t * imageId)

Ota Server Upgrade End Request.

Parameters
N/Asource

The node ID of the device that sent the upgrade end request. Ver.: always

N/Astatus

This is the ZCL status sent by the client indicating the result of its attempt to download the new upgrade image. If the status is not SL_ZIGBEE_ZCL_STATUS_SUCCESS then this callback is merely informative and no response mesasge will be generated by the server. Ver.: always

N/AreturnValue

If the server returns true indicating that the client should apply the upgrade, this time value indicates when in the future the client should apply the upgrade. Ver.: always

N/AimageId

This variable indicates the software version that the client successfully downloaded and is asking to upgrade to. Ver.: always

This function is called when the OTA server receives a request an upgrade end request. If the request indicated a successful download by the client, the server must tell the client when and if to upgrade to the downloaded image.


Definition at line 992 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_check_temp_data_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_check_temp_data_cb (int32u * currentOffset, int32u * totalImageSize, sl_zigbee_af_ota_image_id_t * newFileInfo)

Ota Storage Check Temp Data.

Parameters
N/AcurrentOffset

A pointer to a value that will be written with the offset within the total file size that has been successfully stored in the storage device. This will indicate how much data has been currently dowloaded. Ver.: always

N/AtotalImageSize

A pointer to a value that will be written with the total image size of the OTA file when a download has completed. This does not indicate how much data has actually been downloaded currently. Ver.: always

N/AnewFileInfo

This is the image id of the temporary file data stored in the storage device. Ver.: always

This callback will validate temporary data in the storage device to determine whether it is a complete file, a partially downloaded file, or there is no file present. When a complete or partial file is found it will return SL_ZIGBEE_AF_OTA_STORAGE_SUCCESS or SL_ZIGBEE_AF_OTA_STORAGE_PARTIAL_FILE_FOUND, respectively. In that case, the currentOffset, totalImageSize, and newFileInfo will be populated with data. When SL_ZIGBEE_AF_OTA_STORAGE_ERROR is returned, no temporary data is present.


Definition at line 1017 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_clear_temp_data_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_clear_temp_data_cb (void )

Ota Storage Clear Temp Data.

Parameters
N/A

This function clears any existing temp data that was downloaed. It is used immediately prior to downloading a raw image over the air.


Definition at line 1026 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_close_cb#

void sl_zigbee_af_ota_storage_close_cb (void )

Ota Storage Close.

Parameters
N/A

This callback shuts down the ZigBee Over-the-air storage module.


Definition at line 1032 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_driver_download_finish_cb#

void sl_zigbee_af_ota_storage_driver_download_finish_cb (int32u offset)

Ota Storage Driver Download Finish.

Parameters
N/Aoffset

The value of the final offset of the image download. Ver.: always

This callback defines the low-level means by which a device records the final offset value of the download image.


Definition at line 1041 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_driver_init_cb#

bool sl_zigbee_af_ota_storage_driver_init_cb (void )

Ota Storage Driver Init.

Parameters
N/A

The initialization code for the OTA storage driver.


Definition at line 1047 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_driver_invalidate_image_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_driver_invalidate_image_cb (void )

Ota Storage Driver Invalidate Image.

Parameters
N/A

This callback invalidates the image stored on disk so that it will not be bootloaded, and it will not be a valid image that is in the middle of downloading.


Definition at line 1055 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_driver_prepare_to_resume_download_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_driver_prepare_to_resume_download_cb (void )

Ota Storage Driver Prepare To Resume Download.

Parameters
N/A

This callback allows the underlying storage driver to prepare to resume the OTA file download. For example, the driver may exceute a page erase to insure the next page is ready to be written to.


Definition at line 1063 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_driver_read_cb#

bool sl_zigbee_af_ota_storage_driver_read_cb (int32u offset, int32u length, int8u * returnData)

Ota Storage Driver Read.

Parameters
N/Aoffset

The address offset from the start of the storage device where data is to be read. Ver.: always

N/Alength

The length of the data to be read from the storage device. Ver.: always

N/AreturnData

A pointer where the data read from the device should be written to. Ver.: always

This callback defines the low-level means by which a device reads from the OTA storage device.


Definition at line 1076 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_driver_retrieve_last_stored_offset_cb#

int32u sl_zigbee_af_ota_storage_driver_retrieve_last_stored_offset_cb (void )

Ota Storage Driver Retrieve Last Stored Offset.

Parameters
N/A

This callback defines the low-level means by which a device retrieves the last persistently recorded download offset. This may be different than last actual download offset.


Definition at line 1086 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_driver_write_cb#

bool sl_zigbee_af_ota_storage_driver_write_cb (const int8u * dataToWrite, int32u offset, int32u length)

Ota Storage Driver Write.

Parameters
N/AdataToWrite

A pointer to the data that will be written to the storage device. Ver.: always

N/Aoffset

The address offset from the start of the storage device where data will be written. Ver.: always

N/Alength

The length of the data to be written to the storage device. Ver.: always

This callback defines the low-level means by which a device reads from the OTA storage device.


Definition at line 1099 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_finish_download_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_finish_download_cb (int32u offset)

Ota Storage Finish Download.

Parameters
N/Aoffset

The final offset of the downloaded file (i.e. the total size) Ver.: always

This function indicates to the storage module that the download has finished.


Definition at line 1109 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_get_count_cb#

int8u sl_zigbee_af_ota_storage_get_count_cb (void )

Ota Storage Get Count.

Parameters
N/A

This callback returns the total number of ZigBee Over-the-air upgrade images stored in the storage module.


Definition at line 1116 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_get_full_header_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_get_full_header_cb (const sl_zigbee_af_ota_image_id_t * id, sl_zigbee_af_ota_header_t * returnData)

Ota Storage Get Full Header.

Parameters
N/Aid

This is a pointer to the image id for the OTA file to retrieve information about. Ver.: always

N/AreturnData

This is a pointer to the location of the structure that will be populated with data. Ver.: always

This callback populates the sl_zigbee_af_ota_header_t structure pointed to by the returnData with data about the OTA file stored in the storage module.


Definition at line 1127 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_get_total_image_size_cb#

int32u sl_zigbee_af_ota_storage_get_total_image_size_cb (const sl_zigbee_af_ota_image_id_t * id)

Ota Storage Get Total Image Size.

Parameters
N/Aid

A pointer to the image identifier for the OTA file to retrieve information for. Ver.: always

This function returns the total size of the ZigBee Over-the-air file with the passed parameters. If no file is found with those parameters, 0 is returned.


Definition at line 1137 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_init_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_init_cb (void )

Ota Storage Init.

Parameters
N/A

This callback initializes the ZigBee Over-the-air storage module.


Definition at line 1143 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_iterator_first_cb#

sl_zigbee_af_ota_image_id_t sl_zigbee_af_ota_storage_iterator_first_cb (void )

Ota Storage Iterator First.

Parameters
N/A

This callback lets you walk through the list of all OTA files by jumping to the first file in the list maintained by the storage module. If there is no file then sl_zigbee_af_ota_invalid_image_id is returned.


Definition at line 1151 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_iterator_next_cb#

sl_zigbee_af_ota_image_id_t sl_zigbee_af_ota_storage_iterator_next_cb (void )

Ota Storage Iterator Next.

Parameters
N/A

This callback lets you walk through the list of all OTA files by jumping to the next file in the list maintained by the storage module. If there is no next file then sl_zigbee_af_ota_invalid_image_id is returned.


Definition at line 1159 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_read_image_data_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_read_image_data_cb (const sl_zigbee_af_ota_image_id_t * id, int32u offset, int32u length, int8u * returnData, int32u * returnedLength)

Ota Storage Read Image Data.

Parameters
N/Aid

This is a pointer to the image id for the OTA file to retrieve data from. Ver.: always

N/Aoffset

This is the offset relative to the start of the image where the data should be read from. Ver.: always

N/Alength

This is the length of data that will be read. Ver.: always

N/AreturnData

This is a pointer to where the data read out of the file will be written to Ver.: always

N/AreturnedLength

This is a pointer to a variable where the actual length of data read will be written to. A short read may occur if the end of file was reached. Ver.: always

This callback reads data from the specified OTA file and returns that data to the caller.


Definition at line 1176 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_search_cb#

sl_zigbee_af_ota_image_id_t sl_zigbee_af_ota_storage_search_cb (int16u manufacturerId, int16u imageTypeId, const int16u * hardwareVersion)

Ota Storage Search.

Parameters
N/AmanufacturerId

The ZigBee assigned identifier of the manufacturer contained in the OTA image being searched for. Ver.: always

N/AimageTypeId

The image type identifier contained in the OTA image being searched for. Ver.: always

N/AhardwareVersion

This is a pointer to the hardware version that will be used in the search. If the pointer is NULL, hardware version will not be considered when searching for matching images. If it points to a value, the search will only consider images where that value falls between the minimum and maxmimum hardware version specified in the OTA file. If no hardware version is present in an OTA file but the other parameters match, the file will be considered a match Ver.: always

This callback searches through the list of all images for one that matches the passed parameters. On success an image identifier is returned with a matching image. On failure sl_zigbee_af_invalid_image_id is returned.


Definition at line 1199 of file app/framework/util/global-callback.h

sl_zigbee_af_ota_storage_write_temp_data_cb#

sl_zigbee_af_ota_storage_status_t sl_zigbee_af_ota_storage_write_temp_data_cb (int32u offset, int32u length, const int8u * data)

Ota Storage Write Temp Data.

Parameters
N/Aoffset

The location within the download image file where to write the data. Ver.: always

N/Alength

The length of data to write. Ver.: always

N/Adata

A pointer to the temporary data that will be written to the storage device. Ver.: always

This function writes to the temporary data in the storage device at the specified offset. It is used when downloading a raw image over the air.


Definition at line 1213 of file app/framework/util/global-callback.h

sl_zigbee_af_outgoing_packet_filter_cb#

sl_zigbee_packet_action_t sl_zigbee_af_outgoing_packet_filter_cb (sl_zigbee_zigbee_packet_type_t packetType, int8u * packetData, int8u * size_p, void * data)

Outgoing Packet Filter.

Parameters
N/ApacketType

the type of packet and associated protocol layer Ver.: always

N/ApacketData

flat buffer containing the packet data associated with the packet type Ver.: always

N/Asize_p

a pointer containing the size value of the packet Ver.: always

N/Adata

auxillary data included with the packet Ver.: always

** REQUIRES INCLUDING THE PACKET-HANDOFF PLUGIN **

 This is called by

the Packet Handoff plugin when the stack prepares to send a packet from one of the protocol layers specified in ::sl_zigbee_zigbee_packet_type_t.

 The

packetType argument is one of the values of the ::sl_zigbee_zigbee_packet_type_t enum. If the stack receives an 802.15.4 MAC beacon, it will call this function with the packetType argument set to ::SL_ZIGBEE_ZIGBEE_PACKET_TYPE_BEACON.

The implementation of this callback may alter the data contained in packetData, modify options and flags in the auxillary data, or consume the packet itself, either sending the message, or discarding it as it sees fit.


Definition at line 1241 of file app/framework/util/global-callback.h

sl_zigbee_af_partner_link_key_exchange_request_cb#

sl_zigbee_zdo_status_t sl_zigbee_af_partner_link_key_exchange_request_cb (sl_802154_long_addr_t partner)

Partner Link Key Exchange Request.

Parameters
N/Apartner

The EUI of the remote node. Ver.: always

This function is called by the framework on SOC platforms when a remote node requests a partner link key exchange. The application should return SL_STATUS_OK to accept the request or any other status to reject it. On network coprocessor platforms, this function will not be called because the NCP handles partner link key exchange requests based on the binding policy.


Definition at line 1255 of file app/framework/util/global-callback.h

sl_zigbee_af_partner_link_key_exchange_response_cb#

void sl_zigbee_af_partner_link_key_exchange_response_cb (sl_802154_short_addr_t sender, sl_zigbee_zdo_status_t status)

Partner Link Key Exchange Response.

Parameters
N/Asender

The EUI of the remote node. Ver.: always

N/Astatus

The ZDO response status. Ver.: always

This function is called by the framework when a remote node requests a partner link key exchange. The application should return true to accept the request or false to reject it. On network coprocessor platforms, this function will not be called because the NCP handles partner link key exchange requests based on the binding policy.


Definition at line 1267 of file app/framework/util/global-callback.h

sl_zigbee_af_performing_key_establishment_cb#

bool sl_zigbee_af_performing_key_establishment_cb (void )

Performing Key Establishment.

Parameters
N/A

This function is called by the framework to determine if the device is performing key establishment. The application should return true if key establishment is in progress.


Definition at line 1276 of file app/framework/util/global-callback.h

sl_zigbee_af_post_attribute_change_cb#

void sl_zigbee_af_post_attribute_change_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, int8u type, int8u size, int8u * value)

Post Attribute Change.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AattributeId

Ver.: always

N/Amask

Ver.: always

N/AmanufacturerCode

Ver.: always

N/Atype

Ver.: always

N/Asize

Ver.: always

N/Avalue

Ver.: always

This function is called by the application framework after it changes an attribute value. The value passed into this callback is the value to which the attribute was set by the framework.


Definition at line 1292 of file app/framework/util/global-callback.h

sl_zigbee_af_post_em4_reset_cb#

void sl_zigbee_af_post_em4_reset_cb (void )

Post Em4 Reset.

Parameters
N/A

A callback called by application framework, and implemented by em4 plugin


Definition at line 1305 of file app/framework/util/global-callback.h

sl_zigbee_af_pre_attribute_change_cb#

sl_zigbee_af_status_t sl_zigbee_af_pre_attribute_change_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, int8u type, int8u size, int8u * value)

Pre Attribute Change.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AattributeId

Ver.: always

N/Amask

Ver.: always

N/AmanufacturerCode

Ver.: always

N/Atype

Ver.: always

N/Asize

Ver.: always

N/Avalue

Ver.: always

This function is called by the application framework before it changes an attribute value. The value passed into this callback is the value to which the attribute is to be set by the framework. The application should return SL_ZIGBEE_ZCL_STATUS_SUCCESS to permit the change or any other sl_zigbee_af_status_t to reject it.


Definition at line 1323 of file app/framework/util/global-callback.h

sl_zigbee_af_pre_cli_send_cb#

bool sl_zigbee_af_pre_cli_send_cb (sl_zigbee_aps_frame_t * apsFrame, sl_802154_short_addr_t source, sl_802154_short_addr_t destination, int8u * message, int16u messageLength)

Pre Cli Send.

Parameters
N/AapsFrame

The structure containing the APS frame Ver.: always

N/Asource

Source Node Id Ver.: always

N/Adestination

Destintion Node Id Ver.: always

N/Amessage

Pointer to the message payload Ver.: always

N/AmessageLength

Length of the message payload Ver.: always

This function is called by the framework when it is about to pass a message constructed over CLI to the stack primitives for sending. If the function returns true it is assumed that the callback has consumed and processed the message. The framework will not do any further processing on the message.

If the function returns false then it is assumed that the callback has

not processed the message and the framework will continue to process accordingly.


Definition at line 1348 of file app/framework/util/global-callback.h

sl_zigbee_af_pre_command_received_cb#

bool sl_zigbee_af_pre_command_received_cb (sl_zigbee_af_cluster_command_t * cmd)

Pre Command Received.

Parameters
N/Acmd

Ver.: always

This callback is the second in the Application Framework's message processing chain. At this point in the processing of incoming over-the-air messages, the application has determined that the incoming message is a ZCL command. It parses enough of the message to populate an sl_zigbee_af_cluster_command_t struct. The Application Framework defines this struct value in a local scope to the command processing but also makes it available through a global pointer called sl_zigbee_af_current_command, in app/framework/util/util.c. When command processing is complete, this pointer is cleared.


Definition at line 1366 of file app/framework/util/global-callback.h

sl_zigbee_af_pre_message_received_cb#

bool sl_zigbee_af_pre_message_received_cb (sl_zigbee_af_incoming_message_t * incomingMessage)

Pre Message Received.

Parameters
N/AincomingMessage

Ver.: always

This callback is the first in the Application Framework's message processing chain. The Application Framework calls it when a message has been received over the air but has not yet been parsed by the ZCL command-handling code. If you wish to parse some messages that are completely outside the ZCL specification or are not handled by the Application Framework's command handling code, you should intercept them for parsing in this callback.

This callback returns a Boolean value indicating whether or not the message has been handled. If the callback returns a value of true, then the Application Framework assumes that the message has been handled and it does nothing else with it. If the callback returns a value of false, then the application framework continues to process the message as it would with any incoming message.


Definition at line 1385 of file app/framework/util/global-callback.h

sl_zigbee_af_pre_message_send_cb#

bool sl_zigbee_af_pre_message_send_cb (sl_zigbee_af_message_struct_t * messageStruct, sl_status_t * status)

Pre Message Send.

Parameters
N/AmessageStruct

The structure containing the parameters of the APS message to be sent. Ver.: always

N/Astatus

A pointer to the status code value that will be returned to the caller. Ver.: always

This function is called by the framework when it is about to pass a message to the stack primitives for sending. This message may or may not be ZCL, ZDO, or some other protocol. This is called prior to any ZigBee fragmentation that may be done. If the function returns true it is assumed the callback has consumed and processed the message. The callback must also set the sl_status_t status code to be passed back to the caller. The framework will do no further processing on the message. If the function returns false then it is assumed that the callback has not processed the mesasge and the framework will continue to process accordingly.


Definition at line 1405 of file app/framework/util/global-callback.h

sl_zigbee_af_pre_ncp_reset_cb#

void sl_zigbee_af_pre_ncp_reset_cb (void )

Pre Ncp Reset.

Parameters
N/A

This function will be called prior to the reset of the NCP by the host.


Definition at line 1412 of file app/framework/util/global-callback.h

sl_zigbee_af_pre_zdo_message_received_cb#

bool sl_zigbee_af_pre_zdo_message_received_cb (sl_802154_short_addr_t sl_zigbee_node_id, sl_zigbee_aps_frame_t * apsFrame, int8u * message, int16u length)

Pre ZDO Message Received.

Parameters
N/Asl_zigbee_node_id

Ver.: always

N/AapsFrame

Ver.: always

N/Amessage

Ver.: always

N/Alength

Ver.: always

This function passes the application an incoming ZDO message and gives the appictation the opportunity to handle it. By default, this callback returns false indicating that the incoming ZDO message has not been handled and should be handled by the Application Framework.


Definition at line 1425 of file app/framework/util/global-callback.h

sl_zigbee_af_read_attributes_response_cb#

bool sl_zigbee_af_read_attributes_response_cb (sl_zigbee_af_cluster_id_t clusterId, int8u * buffer, int16u bufLen)

Read Attributes Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/Abuffer

Buffer containing the list of read attribute status records. Ver.: always

N/AbufLen

The length in bytes of the list. Ver.: always

This function is called by the application framework when a Read Attributes Response command is received from an external device. The application should return true if the message was processed or false if it was not.


Definition at line 1440 of file app/framework/util/global-callback.h

sl_zigbee_af_read_reporting_configuration_command_cb#

bool sl_zigbee_af_read_reporting_configuration_command_cb (const sl_zigbee_af_cluster_command_t * cmd)

Read Reporting Configuration Command.

Parameters
N/Acmd

Ver.: always

This function is called by the application framework when a Read Reporting Configuration command is received from an external device. The application should return true if the message was processed or false if it was not.


Definition at line 1451 of file app/framework/util/global-callback.h

sl_zigbee_af_read_reporting_configuration_response_cb#

bool sl_zigbee_af_read_reporting_configuration_response_cb (sl_zigbee_af_cluster_id_t clusterId, int8u * buffer, int16u bufLen)

Read Reporting Configuration Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/Abuffer

Buffer containing the list of attribute reporting configuration records. Ver.: always

N/AbufLen

The length in bytes of the list. Ver.: always

This function is called by the application framework when a Read Reporting Configuration Response command is received from an external device. The application should return true if the message was processed or false if it was not.


Definition at line 1464 of file app/framework/util/global-callback.h

sl_zigbee_af_registration_abort_cb#

void sl_zigbee_af_registration_abort_cb (void )

Registration Abort.

Parameters
N/A

This callback is called when the device should abort the registration process.


Definition at line 1473 of file app/framework/util/global-callback.h

sl_zigbee_af_registration_cb#

void sl_zigbee_af_registration_cb (bool success)

Registration.

Parameters
N/Asuccess

true if registration succeeded, false otherwise. Ver.: always

This callback is called when the device joins a network and the process of registration is complete. This callback provides a success value of true if the registration process was successful and a value of false if registration failed.


Definition at line 1483 of file app/framework/util/global-callback.h

sl_zigbee_af_registration_start_cb#

sl_status_t sl_zigbee_af_registration_start_cb (void )

Registration Start.

Parameters
N/A

This callback is called when the device joins a network and the registration process should begin. The application should return SL_STATUS_OK if the registration process started successfully. When registration is complete, the application should call sl_zigbee_af_registration_cb with an indication of success or failure.


Definition at line 1493 of file app/framework/util/global-callback.h

sl_zigbee_af_remote_delete_binding_permission_cb#

sl_status_t sl_zigbee_af_remote_delete_binding_permission_cb (int8u index)

Remote Delete Binding Permission.

Parameters
N/Aindex

index to an Ember binding table entry Ver.: always

This function is called by the framework to request permission to service the remote delete binding request. Return SL_STATUS_OK to allow request, anything else to disallow request. This function is a privileged callback running as part of the stack's task context.


Definition at line 1503 of file app/framework/util/global-callback.h

sl_zigbee_af_remote_set_binding_permission_cb#

sl_status_t sl_zigbee_af_remote_set_binding_permission_cb (const sl_zigbee_binding_table_entry_t * entry)

Remote Set Binding Permission.

Parameters
N/Aentry

Ember Binding Tablet Entry Ver.: always

This function is called by the framework to request permission to service the remote set binding request. Return SL_STATUS_OK to allow request, anything else to disallow request. This function is a privileged callback that runs as part of the stack's task context, so interactions of it with application code are not thread-safe.


Definition at line 1514 of file app/framework/util/global-callback.h

sl_zigbee_af_remove_from_current_app_tasks_cb#

void sl_zigbee_af_remove_from_current_app_tasks_cb (sl_zigbee_af_application_task_t tasks)

Remove From Current App Tasks.

Parameters
N/Atasks

Ver.: always

This function is only useful to sleepy end devices. This function will remove the passed item from the set of tasks the application has outstanding (e.g. message sent requiring APS acknwoledgement). This will affect how the application behaves with regard to sleeping and polling. Removing the item from the list of outstanding tasks may allow the device to sleep longer and poll less frequently. If there are other outstanding tasks the system may still have to stay away and poll more often.


Definition at line 1527 of file app/framework/util/global-callback.h

sl_zigbee_af_report_attributes_cb#

bool sl_zigbee_af_report_attributes_cb (sl_zigbee_af_cluster_id_t clusterId, int8u * buffer, int16u bufLen)

Report Attributes.

Parameters
N/AclusterId

The cluster identifier of this command. Ver.: always

N/Abuffer

Buffer containing the list of attribute report records. Ver.: always

N/AbufLen

The length in bytes of the list. Ver.: always

This function is called by the application framework when a Report Attributes command is received from an external device. The application should return true if the message was processed or false if it was not.


Definition at line 1539 of file app/framework/util/global-callback.h

sl_zigbee_af_reporting_attribute_change_cb#

void sl_zigbee_af_reporting_attribute_change_cb (int8u endpoint, sl_zigbee_af_cluster_id_t clusterId, sl_zigbee_af_attribute_id_t attributeId, int8u mask, int16u manufacturerCode, sl_zigbee_af_attribute_type_t type, int8u * data)

Reporting Attribute Change.

Parameters
N/Aendpoint

Ver.: always

N/AclusterId

Ver.: always

N/AattributeId

Ver.: always

N/Amask

Ver.: always

N/AmanufacturerCode

Ver.: always

N/Atype

Ver.: always

N/Adata

Ver.: always

This function is called by the framework when an attribute managed by the framework changes. The application should call this function when an externally-managed attribute changes. The application should use the change notification to inform its reporting decisions.


Definition at line 1557 of file app/framework/util/global-callback.h

sl_zigbee_af_security_init_cb#

void sl_zigbee_af_security_init_cb (sl_zigbee_initial_security_state_t * state, sl_zigbee_extended_security_bitmask_t * extended, bool trustCenter)

Security Init.

Parameters
N/Astate

Ver.: always

N/Aextended

Ver.: always

N/AtrustCenter

Ver.: always

This callback is called by the framework to give the application a chance to modify the security settings of the node during network initialization. Depending on the context when this callback is called, the pointer to the initial security state may be NULL, which means the initial security state can no longer be modified as the node is already operating on the network.


Definition at line 1576 of file app/framework/util/global-callback.h

sl_zigbee_af_set_default_poll_control_cb#

void sl_zigbee_af_set_default_poll_control_cb (sl_zigbee_af_event_poll_control_t control)

Set Default Poll Control.

Parameters
N/Acontrol

Ver.: always

This function will set the default poll control for the current network to control whether or not it can long poll.


Definition at line 1586 of file app/framework/util/global-callback.h

sl_zigbee_af_set_default_sleep_control_cb#

void sl_zigbee_af_set_default_sleep_control_cb (sl_zigbee_af_event_sleep_control_t control)

Set Default Sleep Control.

Parameters
N/Acontrol

Ver.: always

This function will set the default behavior of a sleeping device to control whether or not it must stay awake. A device that stays awake does not sleep at all. Otherwise, the device can sleep between events when appropriate.


Definition at line 1595 of file app/framework/util/global-callback.h

sl_zigbee_af_set_form_and_join_extended_pan_id_cb#

void sl_zigbee_af_set_form_and_join_extended_pan_id_cb (const int8u * extendedPanId)

Set Form And Join Extended Pan Id.

Parameters
N/AextendedPanId

Ver.: always

This callback is called by the framework to set the extended PAN ID used by the current network for forming and joining. The extended PAN ID used for forming and joining is not necessarily the same extended PAN ID actually in use on the network.


Definition at line 1605 of file app/framework/util/global-callback.h

sl_zigbee_af_set_long_poll_interval_ms_cb#

void sl_zigbee_af_set_long_poll_interval_ms_cb (int32u longPollIntervalMs)

Set Long Poll Interval Ms.

Parameters
N/AlongPollIntervalMs

Ver.: always

This function is only useful to end devices. This function will set the long poll interval (in milliseconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is not expecting data.


Definition at line 1615 of file app/framework/util/global-callback.h

sl_zigbee_af_set_long_poll_interval_qs_cb#

void sl_zigbee_af_set_long_poll_interval_qs_cb (int32u longPollIntervalQs)

Set Long Poll Interval Qs.

Parameters
N/AlongPollIntervalQs

Ver.: always

This function is only useful to end devices. This function will set the long poll interval (in quarter seconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is not expecting data.


Definition at line 1625 of file app/framework/util/global-callback.h

sl_zigbee_af_set_short_poll_interval_ms_cb#

void sl_zigbee_af_set_short_poll_interval_ms_cb (int16u shortPollIntervalMs)

Set Short Poll Interval Ms.

Parameters
N/AshortPollIntervalMs

Ver.: always

This function is only useful to sleepy end devices. This function will set the short poll interval (in milliseconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is expecting data.


Definition at line 1635 of file app/framework/util/global-callback.h

sl_zigbee_af_set_short_poll_interval_qs_cb#

void sl_zigbee_af_set_short_poll_interval_qs_cb (int16u shortPollIntervalQs)

Set Short Poll Interval Qs.

Parameters
N/AshortPollIntervalQs

Ver.: always

This function is only useful to sleepy end devices. This function will set the short poll interval (in quarter seconds) for the current network. This interval is the maximum amount of time a child will wait between polls of its parent when it is expecting data.


Definition at line 1645 of file app/framework/util/global-callback.h

sl_zigbee_af_set_source_route_overhead_cb#

void sl_zigbee_af_set_source_route_overhead_cb (sl_802154_short_addr_t destination, int8u overhead)

Set Source Route Overhead.

Parameters
N/Adestination

The node id of the destination Ver.: always

N/Aoverhead

The overhead in bytes Ver.: always

This function is called by the framework when it has information about the source route overhead to a particular destination. The application may use this information to cache the source route overhead.


Definition at line 1655 of file app/framework/util/global-callback.h

sl_zigbee_af_set_time_cb#

void sl_zigbee_af_set_time_cb (int32u utcTime)

Set Time.

Parameters
N/AutcTime

Ver.: always

This callback should be implemented, if the device has access to real time clock, and has an ability to update that clock. The application framework expects to be passed the utcTime which is the number of seconds since the year 2000. Default implementation does nothing. Note: This function used to take time in year, month, day, hour, min, sec. We have changed this to utcTime in order to conserve code space.


Definition at line 1668 of file app/framework/util/global-callback.h

sl_zigbee_af_set_wake_timeout_bitmask_cb#

void sl_zigbee_af_set_wake_timeout_bitmask_cb (sl_zigbee_af_application_task_t tasks)

Set Wake Timeout Bitmask.

Parameters
N/Atasks

Ver.: always

This function is only useful to sleepy end devices. This function will set the wake timeout bitmask for the current network. The bitmask determines which tasks will timeout automatically and which tasks require manual removal from the task list.


Definition at line 1678 of file app/framework/util/global-callback.h

sl_zigbee_af_set_wake_timeout_ms_cb#

void sl_zigbee_af_set_wake_timeout_ms_cb (int16u wakeTimeoutMs)

Set Wake Timeout Ms.

Parameters
N/AwakeTimeoutMs

Ver.: always

This function is only useful to sleepy end devices. This function will set the wake timeout (in milliseconds) for the current network. This timeout is the maximum amount of time a child will wait for a task in the wake bitmask to finish. While waiting, the device will short poll.


Definition at line 1688 of file app/framework/util/global-callback.h

sl_zigbee_af_set_wake_timeout_qs_cb#

void sl_zigbee_af_set_wake_timeout_qs_cb (int16u wakeTimeoutQs)

Set Wake Timeout Qs.

Parameters
N/AwakeTimeoutQs

Ver.: always

This function is only useful to sleepy end devices. This function will set the wake timeout (in quarter seconds) for the current network. This timeout is the maximum amount of time a child will wait for a task in the wake bitmask to finish. While waiting, the device will short poll.


Definition at line 1698 of file app/framework/util/global-callback.h

sl_zigbee_af_start_move_cb#

bool sl_zigbee_af_start_move_cb (void )

Start Move.

Parameters
N/A

This function is called to initiate the process for a device to move (rejoin) to a new parent.


Definition at line 1705 of file app/framework/util/global-callback.h

sl_zigbee_af_start_search_for_joinable_network_cb#

sl_status_t sl_zigbee_af_start_search_for_joinable_network_cb (void )

Start Search For Joinable Network.

Parameters
N/A

This function is called by the framework to search for joinable networks and join a network. The application should return SL_STATUS_OK if the operation was initiated successfully.


Definition at line 1713 of file app/framework/util/global-callback.h

sl_zigbee_af_stop_move_cb#

void sl_zigbee_af_stop_move_cb (void )

Stop Move.

Parameters
N/A

This function is called to cancel a previously scheduled move (rejoin) to a new parent.


Definition at line 1720 of file app/framework/util/global-callback.h

sl_zigbee_af_trust_center_join_cb#

void sl_zigbee_af_trust_center_join_cb (sl_802154_short_addr_t newNodeId, sl_802154_long_addr_t newNodeEui64, sl_802154_short_addr_t parentOfNewNode, sl_zigbee_device_update_t status, sl_zigbee_join_decision_t decision)

Trust Center Join.

Parameters
N/AnewNodeId

Ver.: always

N/AnewNodeEui64

Ver.: always

N/AparentOfNewNode

Ver.: always

N/Astatus

Ver.: always

N/Adecision

Ver.: always

This callback is called from within the application framework's implementation of sl_zigbee_internal_trust_center_join_handler or sl_zigbee_ezsp_trust_center_join_handler. This callback provides the same arguments passed to the TrustCenterJoinHandler. For more information about the TrustCenterJoinHandler please see documentation included in stack/include/trust-center.h.


Definition at line 1735 of file app/framework/util/global-callback.h

sl_zigbee_af_trust_center_keepalive_abort_cb#

void sl_zigbee_af_trust_center_keepalive_abort_cb (void )

Trust Center Keepalive Abort.

Parameters
N/A

This callback is called when the device should abort the trust center keepalive process.


Definition at line 1746 of file app/framework/util/global-callback.h

sl_zigbee_af_trust_center_keepalive_update_cb#

void sl_zigbee_af_trust_center_keepalive_update_cb (bool registrationComplete)

Trust Center Keepalive Update.

Parameters
N/AregistrationComplete

Ver.: always

This callback is called when the device finishes registration (successfully or otherwise) and the trust center keepalive process must be updated. If the keepalive process has not been started, then it is started. Otherwise if the keepalive is in the process of searching for the TC, it will process the result of that Trust Center search operation.


Definition at line 1757 of file app/framework/util/global-callback.h

sl_zigbee_af_write_attributes_response_cb#

bool sl_zigbee_af_write_attributes_response_cb (sl_zigbee_af_cluster_id_t clusterId, int8u * buffer, int16u bufLen)

Write Attributes Response.

Parameters
N/AclusterId

The cluster identifier of this response. Ver.: always

N/Abuffer

Buffer containing the list of write attribute status records. Ver.: always

N/AbufLen

The length in bytes of the list. Ver.: always

This function is called by the application framework when a Write Attributes Response command is received from an external device. The application should return true if the message was processed or false if it was not.


Definition at line 1769 of file app/framework/util/global-callback.h

sl_zigbee_af_get_diff_cb#

sl_zigbee_af_difference_type_t sl_zigbee_af_get_diff_cb (sl_zigbee_af_difference_type_t value1, sl_zigbee_af_difference_type_t value2, sl_zigbee_af_attribute_type_t dataType)

Retrieves the difference between the two passed values.

Parameters
N/Avalue1

The 1st floating-point value. Ver.: always

N/Avalue2

The 2nd floating-point value. Ver.: always

N/AdataType

The ZCL data type. Ver.: always

This function assumes that the two values have the same endianness. Currently only single precision floats are supported. Semi/Double-precision requires a special method to convert to the corresponding data type, calculate the distance and return it as sl_zigbee_af_difference_type_t.


Definition at line 1783 of file app/framework/util/global-callback.h

sl_zigbee_af_detect_report_changed_cb#

bool sl_zigbee_af_detect_report_changed_cb (sl_zigbee_af_difference_type_t threshold, sl_zigbee_af_difference_type_t diff, sl_zigbee_af_attribute_type_t dataType)

Detect a reportable change that could trigger report generation.

Parameters
N/Athreshold

The reportable change threshold for reference. Ver.: always

N/Adiff

The emberAf difference value to indicate the triggering point when it exceeds provided threshold. Ver.: always

N/AdataType

The ZCL data type. Ver.: always


Definition at line 1793 of file app/framework/util/global-callback.h