Global Callbacks#

Functions#

void
emberAfAddToCurrentAppTasksCallback(EmberAfApplicationTask tasks)

Add To Current App Tasks.

emberAfAllowNetworkWriteAttributeCallback(int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, int8u mask, int16u manufacturerCode, int8u *value, int8u type)

Allow Network Write Attribute.

bool
emberAfAttributeReadAccessCallback(int8u endpoint, EmberAfClusterId clusterId, int16u manufacturerCode, int16u attributeId)

Attribute Read Access.

bool
emberAfAttributeWriteAccessCallback(int8u endpoint, EmberAfClusterId clusterId, int16u manufacturerCode, int16u attributeId)

Attribute Write Access.

EmberStatus

Clear Report Table.

void
emberAfClusterInitCallback(int8u endpoint, EmberAfClusterId clusterId)

Cluster Init.

bool
emberAfClusterSecurityCustomCallback(EmberAfProfileId profileId, EmberAfClusterId clusterId, bool incoming, int8u commandId)

Cluster Security Custom.

bool
emberAfConfigureReportingCommandCallback(const EmberAfClusterCommand *cmd)

Configure Reporting Command.

bool
emberAfConfigureReportingResponseCallback(EmberAfClusterId clusterId, int8u *buffer, int16u bufLen)

Configure Reporting Response.

bool
emberAfDefaultResponseCallback(EmberAfClusterId clusterId, int8u commandId, EmberAfStatus status)

Default Response.

bool
emberAfDiscoverAttributesResponseCallback(EmberAfClusterId clusterId, bool discoveryComplete, int8u *buffer, int16u bufLen, bool extended)

Discover Attributes Response.

bool
emberAfDiscoverCommandsGeneratedResponseCallback(EmberAfClusterId clusterId, int16u manufacturerCode, bool discoveryComplete, int8u *commandIds, int16u commandIdCount)

Discover Commands Generated Response.

bool
emberAfDiscoverCommandsReceivedResponseCallback(EmberAfClusterId clusterId, int16u manufacturerCode, bool discoveryComplete, int8u *commandIds, int16u commandIdCount)

Discover Commands Received Response.

void

Eeprom Init.

void

Eeprom Note Initialized State.

void

Eeprom Shutdown.

emberAfExternalAttributeReadCallback(int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeMetadata *attributeMetadata, int16u manufacturerCode, int8u *buffer, int16u maxReadLength)

External Attribute Read.

emberAfExternalAttributeWriteCallback(int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeMetadata *attributeMetadata, int16u manufacturerCode, int8u *buffer)

External Attribute Write.

EmberStatus

Find Unused Pan Id And Form.

int32u

Get Current Poll Interval Ms.

int32u

Get Current Poll Interval Qs.

int32u

Get Current Time.

bool
emberAfGetEndpointByIndexCallback(int8u index, int8u *endpointReturn)

Get Endpoint By Index.

bool
emberAfGetEndpointDescriptionCallback(int8u endpoint, EmberEndpointDescription *result)

Get Endpoint Description.

bool
emberAfGetEndpointInfoCallback(int8u endpoint, int8u *returnNetworkIndex, EmberAfEndpointInfoStruct *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
emberAfGetSourceRouteOverheadCallback(EmberNodeId destination)

Get Source Route Overhead.

int16u

Get Wake Timeout Ms.

int16u

Get Wake Timeout Qs.

void
emberAfHalButtonIsrCallback(int8u button, int8u state)

Hal Button Isr.

EmberPacketAction
emberAfIncomingPacketFilterCallback(EmberZigbeePacketType packetType, int8u *packetData, int8u *size_p, void *data)

Incoming Packet Filter.

EmberStatus
emberAfInitiateInterPanKeyEstablishmentCallback(EmberPanId panId, const EmberEUI64 eui64)

Initiate Inter Pan Key Establishment.

EmberStatus
emberAfInitiateKeyEstablishmentCallback(EmberNodeId nodeId, int8u endpoint)

Initiate Key Establishment.

EmberStatus
emberAfInitiatePartnerLinkKeyExchangeCallback(EmberNodeId target, int8u endpoint, EmberAfPartnerLinkKeyExchangeCallback *callback)

Initiate Partner Link Key Exchange.

bool
emberAfInterPanKeyEstablishmentCallback(EmberAfKeyEstablishmentNotifyMessage status, bool amInitiator, EmberPanId panId, const EmberEUI64 eui64, int8u delayInSeconds)

Inter Pan Key Establishment.

EmberStatus
emberAfInterpanSendMessageCallback(EmberAfInterpanHeader *header, int16u messageLength, int8u *message)

Interpan Send Message.

bool
emberAfKeyEstablishmentCallback(EmberAfKeyEstablishmentNotifyMessage status, bool amInitiator, EmberNodeId partnerShortId, int8u delayInSeconds)

Key Establishment.

void

Main Init.

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

Main Start.

void

Main Tick.

bool
emberAfMessageSentCallback(EmberOutgoingMessageType type, int16u indexOrDestination, EmberApsFrame *apsFrame, int16u msgLen, int8u *message, EmberStatus status)

Message Sent.

void
emberAfNcpInitCallback(bool memoryAllocation)

Ncp Init.

void

Ncp Is Awake Isr.

void

Network Key Update Complete.

int8u
emberAfOtaBootloadCallback(const EmberAfOtaImageId *id, int16u ncpUpgradeTagId)

Ota Bootload.

void
emberAfOtaClientBootloadCallback(const EmberAfOtaImageId *id)

Ota Client Bootload.

emberAfOtaClientCustomVerifyCallback(bool newVerification, const EmberAfOtaImageId *id)

Ota Client Custom Verify.

bool
emberAfOtaClientDownloadCompleteCallback(EmberAfOtaDownloadResult success, const EmberAfOtaImageId *id)

Ota Client Download Complete.

bool
emberAfOtaClientIncomingMessageRawCallback(EmberAfClusterCommand *message)

Ota Client Incoming Message Raw.

void

Ota Client Start.

void
emberAfOtaClientVersionInfoCallback(EmberAfOtaImageId *currentImageInfo, int16u *hardwareVersion)

Ota Client Version Info.

int8u

Ota Page Request Server Policy.

int8u
emberAfOtaServerBlockSizeCallback(EmberNodeId clientNodeId)

Ota Server Block Size.

bool
emberAfOtaServerIncomingMessageRawCallback(EmberAfClusterCommand *message)

Ota Server Incoming Message Raw.

int8u
emberAfOtaServerQueryCallback(const EmberAfOtaImageId *currentImageId, int16u *hardwareVersion, EmberAfOtaImageId *nextUpgradeImageId)

Ota Server Query.

bool
emberAfOtaServerSendImageNotifyCallback(EmberNodeId dest, int8u endpoint, int8u payloadType, int8u queryJitter, const EmberAfOtaImageId *id)

Ota Server Send Image Notify.

bool
emberAfOtaServerUpgradeEndRequestCallback(EmberNodeId source, int8u status, int32u *returnValue, const EmberAfOtaImageId *imageId)

Ota Server Upgrade End Request.

emberAfOtaStorageCheckTempDataCallback(int32u *currentOffset, int32u *totalImageSize, EmberAfOtaImageId *newFileInfo)

Ota Storage Check Temp Data.

void

Ota Storage Close.

void

Ota Storage Driver Download Finish.

bool

Ota Storage Driver Init.

Ota Storage Driver Prepare To Resume Download.

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

Ota Storage Driver Read.

int32u

Ota Storage Driver Retrieve Last Stored Offset.

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

Ota Storage Driver Write.

Ota Storage Finish Download.

int8u

Ota Storage Get Count.

emberAfOtaStorageGetFullHeaderCallback(const EmberAfOtaImageId *id, EmberAfOtaHeader *returnData)

Ota Storage Get Full Header.

int32u
emberAfOtaStorageGetTotalImageSizeCallback(const EmberAfOtaImageId *id)

Ota Storage Get Total Image Size.

emberAfOtaStorageReadImageDataCallback(const EmberAfOtaImageId *id, int32u offset, int32u length, int8u *returnData, int32u *returnedLength)

Ota Storage Read Image Data.

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

Ota Storage Search.

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

Ota Storage Write Temp Data.

EmberPacketAction
emberAfOutgoingPacketFilterCallback(EmberZigbeePacketType packetType, int8u *packetData, int8u *size_p, void *data)

Outgoing Packet Filter.

EmberZdoStatus

Partner Link Key Exchange Request.

void
emberAfPartnerLinkKeyExchangeResponseCallback(EmberNodeId sender, EmberZdoStatus status)

Partner Link Key Exchange Response.

bool

Performing Key Establishment.

void
emberAfPostAttributeChangeCallback(int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, int8u mask, int16u manufacturerCode, int8u type, int8u size, int8u *value)

Post Attribute Change.

void

Post Em4 Reset.

emberAfPreAttributeChangeCallback(int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, int8u mask, int16u manufacturerCode, int8u type, int8u size, int8u *value)

Pre Attribute Change.

bool
emberAfPreCliSendCallback(EmberApsFrame *apsFrame, EmberNodeId source, EmberNodeId destination, int8u *message, int16u messageLength)

Pre Cli Send.

bool
emberAfPreCommandReceivedCallback(EmberAfClusterCommand *cmd)

Pre Command Received.

bool
emberAfPreMessageReceivedCallback(EmberAfIncomingMessage *incomingMessage)

Pre Message Received.

bool
emberAfPreMessageSendCallback(EmberAfMessageStruct *messageStruct, EmberStatus *status)

Pre Message Send.

void

Pre Ncp Reset.

bool
emberAfPreZDOMessageReceivedCallback(EmberNodeId emberNodeId, EmberApsFrame *apsFrame, int8u *message, int16u length)

Pre ZDO Message Received.

bool
emberAfReadAttributesResponseCallback(EmberAfClusterId clusterId, int8u *buffer, int16u bufLen)

Read Attributes Response.

bool
emberAfReadReportingConfigurationCommandCallback(const EmberAfClusterCommand *cmd)

Read Reporting Configuration Command.

bool
emberAfReadReportingConfigurationResponseCallback(EmberAfClusterId clusterId, int8u *buffer, int16u bufLen)

Read Reporting Configuration Response.

void

Registration Abort.

void

Registration.

EmberStatus

Registration Start.

EmberStatus

Remote Delete Binding Permission.

EmberStatus
emberAfRemoteSetBindingPermissionCallback(const EmberBindingTableEntry *entry)

Remote Set Binding Permission.

void
emberAfRemoveFromCurrentAppTasksCallback(EmberAfApplicationTask tasks)

Remove From Current App Tasks.

bool
emberAfReportAttributesCallback(EmberAfClusterId clusterId, int8u *buffer, int16u bufLen)

Report Attributes.

void
emberAfReportingAttributeChangeCallback(int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, int8u mask, int16u manufacturerCode, EmberAfAttributeType type, int8u *data)

Reporting Attribute Change.

void
emberAfSecurityInitCallback(EmberInitialSecurityState *state, EmberExtendedSecurityBitmask *extended, bool trustCenter)

Security Init.

void
emberAfSetDefaultPollControlCallback(EmberAfEventPollControl control)

Set Default Poll Control.

void
emberAfSetDefaultSleepControlCallback(EmberAfEventSleepControl control)

Set Default Sleep Control.

void
emberAfSetFormAndJoinExtendedPanIdCallback(const int8u *extendedPanId)

Set Form And Join Extended Pan Id.

void
emberAfSetLongPollIntervalMsCallback(int32u longPollIntervalMs)

Set Long Poll Interval Ms.

void
emberAfSetLongPollIntervalQsCallback(int32u longPollIntervalQs)

Set Long Poll Interval Qs.

void
emberAfSetShortPollIntervalMsCallback(int16u shortPollIntervalMs)

Set Short Poll Interval Ms.

void
emberAfSetShortPollIntervalQsCallback(int16u shortPollIntervalQs)

Set Short Poll Interval Qs.

void
emberAfSetSourceRouteOverheadCallback(EmberNodeId destination, int8u overhead)

Set Source Route Overhead.

void
emberAfSetTimeCallback(int32u utcTime)

Set Time.

void
emberAfSetWakeTimeoutBitmaskCallback(EmberAfApplicationTask tasks)

Set Wake Timeout Bitmask.

void
emberAfSetWakeTimeoutMsCallback(int16u wakeTimeoutMs)

Set Wake Timeout Ms.

void
emberAfSetWakeTimeoutQsCallback(int16u wakeTimeoutQs)

Set Wake Timeout Qs.

bool

Start Move.

EmberStatus

Start Search For Joinable Network.

void

Stop Move.

void
emberAfTrustCenterJoinCallback(EmberNodeId newNodeId, EmberEUI64 newNodeEui64, EmberNodeId parentOfNewNode, EmberDeviceUpdate status, EmberJoinDecision decision)

Trust Center Join.

void

Trust Center Keepalive Abort.

void

Trust Center Keepalive Update.

bool
emberAfWriteAttributesResponseCallback(EmberAfClusterId clusterId, int8u *buffer, int16u bufLen)

Write Attributes Response.

Function Documentation#

emberAfAddToCurrentAppTasksCallback#

void emberAfAddToCurrentAppTasksCallback (EmberAfApplicationTask 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 36 of file app/framework/util/global-callback.h

emberAfAllowNetworkWriteAttributeCallback#

EmberAfAttributeWritePermission emberAfAllowNetworkWriteAttributeCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId 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 70 of file app/framework/util/global-callback.h

emberAfAttributeReadAccessCallback#

bool emberAfAttributeReadAccessCallback (int8u endpoint, EmberAfClusterId 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 87 of file app/framework/util/global-callback.h

emberAfAttributeWriteAccessCallback#

bool emberAfAttributeWriteAccessCallback (int8u endpoint, EmberAfClusterId 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 101 of file app/framework/util/global-callback.h

emberAfClearReportTableCallback#

EmberStatus emberAfClearReportTableCallback (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 111 of file app/framework/util/global-callback.h

emberAfClusterInitCallback#

void emberAfClusterInitCallback (int8u endpoint, EmberAfClusterId 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 121 of file app/framework/util/global-callback.h

emberAfClusterSecurityCustomCallback#

bool emberAfClusterSecurityCustomCallback (EmberAfProfileId profileId, EmberAfClusterId 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 136 of file app/framework/util/global-callback.h

emberAfConfigureReportingCommandCallback#

bool emberAfConfigureReportingCommandCallback (const EmberAfClusterCommand *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 150 of file app/framework/util/global-callback.h

emberAfConfigureReportingResponseCallback#

bool emberAfConfigureReportingResponseCallback (EmberAfClusterId 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 163 of file app/framework/util/global-callback.h

emberAfDefaultResponseCallback#

bool emberAfDefaultResponseCallback (EmberAfClusterId clusterId, int8u commandId, EmberAfStatus 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 178 of file app/framework/util/global-callback.h

emberAfDiscoverAttributesResponseCallback#

bool emberAfDiscoverAttributesResponseCallback (EmberAfClusterId 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 201 of file app/framework/util/global-callback.h

emberAfDiscoverCommandsGeneratedResponseCallback#

bool emberAfDiscoverCommandsGeneratedResponseCallback (EmberAfClusterId 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 220 of file app/framework/util/global-callback.h

emberAfDiscoverCommandsReceivedResponseCallback#

bool emberAfDiscoverCommandsReceivedResponseCallback (EmberAfClusterId 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 239 of file app/framework/util/global-callback.h

emberAfEepromInitCallback#

void emberAfEepromInitCallback (void)

Eeprom Init.

Parameters
N/A

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


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

emberAfEepromNoteInitializedStateCallback#

void emberAfEepromNoteInitializedStateCallback (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 258 of file app/framework/util/global-callback.h

emberAfEepromShutdownCallback#

void emberAfEepromShutdownCallback (void)

Eeprom Shutdown.

Parameters
N/A

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


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

emberAfExternalAttributeReadCallback#

EmberAfStatus emberAfExternalAttributeReadCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeMetadata *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 emberAfExternalAttributeWriteCallback 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 EmberAfAttributeMetadata struct, which is stored within the application and used to manage the attribute. A complete description of the EmberAfAttributeMetadata 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 emberAfMainTickCallback. If the application was successfully able to read the attribute and write it into the passed buffer, it should return a value of EMBER_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 EMBER_ZCL_STATUS_INSUFFICIENT_SPACE. Any other return value indicates the application was not able to read the attribute.


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

emberAfExternalAttributeWriteCallback#

EmberAfStatus emberAfExternalAttributeWriteCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeMetadata *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 EmberAfAttributeMetadata struct, which is stored within the application and used to manage the attribute. A complete description of the EmberAfAttributeMetadata 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 emberAfMainTickCallback. If the application was successfully able to write the attribute, it returns a value of EMBER_ZCL_STATUS_SUCCESS. Any other return value indicates the application was not able to write the attribute.


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

emberAfFindUnusedPanIdAndFormCallback#

EmberStatus emberAfFindUnusedPanIdAndFormCallback (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 EMBER_SUCCESS if the operation was initiated successfully.


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

emberAfGetCurrentAppTasksCallback#

EmberAfApplicationTask emberAfGetCurrentAppTasksCallback (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 374 of file app/framework/util/global-callback.h

emberAfGetCurrentPollControlCallback#

EmberAfEventPollControl emberAfGetCurrentPollControlCallback (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 EMBER_AF_SHORT_POLL followed by EMBER_AF_LONG_POLL.


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

emberAfGetCurrentPollIntervalMsCallback#

int32u emberAfGetCurrentPollIntervalMsCallback (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 393 of file app/framework/util/global-callback.h

emberAfGetCurrentPollIntervalQsCallback#

int32u emberAfGetCurrentPollIntervalQsCallback (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 402 of file app/framework/util/global-callback.h

emberAfGetCurrentSleepControlCallback#

EmberAfEventSleepControl emberAfGetCurrentSleepControlCallback (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 EMBER_AF_STAY_AWAKE followed by EMBER_AF_OK_TO_SLEEP.


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

emberAfGetCurrentTimeCallback#

int32u emberAfGetCurrentTimeCallback (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 422 of file app/framework/util/global-callback.h

emberAfGetDefaultPollControlCallback#

EmberAfEventPollControl emberAfGetDefaultPollControlCallback (void)

Get Default Poll Control.

Parameters
N/A

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


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

emberAfGetDefaultSleepControlCallback#

EmberAfEventSleepControl emberAfGetDefaultSleepControlCallback (void)

Get Default Sleep Control.

Parameters
N/A

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


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

emberAfGetEndpointByIndexCallback#

bool emberAfGetEndpointByIndexCallback (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 455 of file app/framework/util/global-callback.h

emberAfGetEndpointDescriptionCallback#

bool emberAfGetEndpointDescriptionCallback (int8u endpoint, EmberEndpointDescription *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 473 of file app/framework/util/global-callback.h

emberAfGetEndpointInfoCallback#

bool emberAfGetEndpointInfoCallback (int8u endpoint, int8u *returnNetworkIndex, EmberAfEndpointInfoStruct *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 492 of file app/framework/util/global-callback.h

emberAfGetFormAndJoinExtendedPanIdCallback#

void emberAfGetFormAndJoinExtendedPanIdCallback (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 504 of file app/framework/util/global-callback.h

emberAfGetLongPollIntervalMsCallback#

int32u emberAfGetLongPollIntervalMsCallback (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 513 of file app/framework/util/global-callback.h

emberAfGetLongPollIntervalQsCallback#

int32u emberAfGetLongPollIntervalQsCallback (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 522 of file app/framework/util/global-callback.h

emberAfGetShortPollIntervalMsCallback#

int16u emberAfGetShortPollIntervalMsCallback (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 531 of file app/framework/util/global-callback.h

emberAfGetShortPollIntervalQsCallback#

int16u emberAfGetShortPollIntervalQsCallback (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 540 of file app/framework/util/global-callback.h

emberAfGetSourceRouteOverheadCallback#

int8u emberAfGetSourceRouteOverheadCallback (EmberNodeId 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 548 of file app/framework/util/global-callback.h

emberAfGetWakeTimeoutBitmaskCallback#

EmberAfApplicationTask emberAfGetWakeTimeoutBitmaskCallback (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 557 of file app/framework/util/global-callback.h

emberAfGetWakeTimeoutMsCallback#

int16u emberAfGetWakeTimeoutMsCallback (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 566 of file app/framework/util/global-callback.h

emberAfGetWakeTimeoutQsCallback#

int16u emberAfGetWakeTimeoutQsCallback (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 575 of file app/framework/util/global-callback.h

emberAfHalButtonIsrCallback#

void emberAfHalButtonIsrCallback (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 587 of file app/framework/util/global-callback.h

emberAfIncomingPacketFilterCallback#

EmberPacketAction emberAfIncomingPacketFilterCallback (EmberZigbeePacketType 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 ::EmberZigbeePacketType.

 The packetType

argument is one of the values of the ::EmberZigbeePacketType enum. If the stack receives an 802.15.4 MAC beacon, it will call this function with the packetType argument set to ::EMBER_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 614 of file app/framework/util/global-callback.h

emberAfInitiateInterPanKeyEstablishmentCallback#

EmberStatus emberAfInitiateInterPanKeyEstablishmentCallback (EmberPanId panId, const EmberEUI64 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 EMBER_SUCCESS if key establishment was initiated successfully. The application should call emberAfInterPanKeyEstablishmentCallback as events occur.


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

emberAfInitiateKeyEstablishmentCallback#

EmberStatus emberAfInitiateKeyEstablishmentCallback (EmberNodeId 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 EMBER_SUCCESS if key establishment was initiated successfully. The application should call emberAfKeyEstablishmentCallback as events occur.


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

emberAfInitiatePartnerLinkKeyExchangeCallback#

EmberStatus emberAfInitiatePartnerLinkKeyExchangeCallback (EmberNodeId target, int8u endpoint, EmberAfPartnerLinkKeyExchangeCallback *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 EMBER_SUCCESS 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 657 of file app/framework/util/global-callback.h

emberAfInterPanKeyEstablishmentCallback#

bool emberAfInterPanKeyEstablishmentCallback (EmberAfKeyEstablishmentNotifyMessage status, bool amInitiator, EmberPanId panId, const EmberEUI64 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 675 of file app/framework/util/global-callback.h

emberAfInterpanSendMessageCallback#

EmberStatus emberAfInterpanSendMessageCallback (EmberAfInterpanHeader *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 690 of file app/framework/util/global-callback.h

emberAfKeyEstablishmentCallback#

bool emberAfKeyEstablishmentCallback (EmberAfKeyEstablishmentNotifyMessage status, bool amInitiator, EmberNodeId 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 707 of file app/framework/util/global-callback.h

emberAfMainInitCallback#

void emberAfMainInitCallback (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 731 of file app/framework/util/global-callback.h

emberAfMainStartCallback#

bool emberAfMainStartCallback (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 747 of file app/framework/util/global-callback.h

emberAfMainTickCallback#

void emberAfMainTickCallback (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 756 of file app/framework/util/global-callback.h

emberAfMessageSentCallback#

bool emberAfMessageSentCallback (EmberOutgoingMessageType type, int16u indexOrDestination, EmberApsFrame *apsFrame, int16u msgLen, int8u *message, EmberStatus 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 emberMessageSentHandler 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 775 of file app/framework/util/global-callback.h

emberAfNcpInitCallback#

void emberAfNcpInitCallback (bool memoryAllocation)

Ncp Init.

Parameters
N/AmemoryAllocation

Ver.: always

This function is called when the network coprocessor is being initialized, either at startup or upon reset. It provides applications on opportunity to perform additional configuration of the NCP. The function is always called twice when the NCP is initialized. In the first invocation, memoryAllocation will be true and the application should only issue EZSP commands that affect memory allocation on the NCP. For example, tables on the NCP can be resized in the first call. In the second invocation, memoryAllocation will be false and the application should only issue EZSP commands that do not affect memory allocation. For example, tables on the NCP can be populated in the second call. This callback is not called on SoCs.


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

emberAfNcpIsAwakeIsrCallback#

void emberAfNcpIsAwakeIsrCallback (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 804 of file app/framework/util/global-callback.h

emberAfNetworkKeyUpdateCompleteCallback#

void emberAfNetworkKeyUpdateCompleteCallback (EmberStatus 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 812 of file app/framework/util/global-callback.h

emberAfOtaBootloadCallback#

int8u emberAfOtaBootloadCallback (const EmberAfOtaImageId *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 823 of file app/framework/util/global-callback.h

emberAfOtaClientBootloadCallback#

void emberAfOtaClientBootloadCallback (const EmberAfOtaImageId *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 834 of file app/framework/util/global-callback.h

emberAfOtaClientCustomVerifyCallback#

EmberAfImageVerifyStatus emberAfOtaClientCustomVerifyCallback (bool newVerification, const EmberAfOtaImageId *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 845 of file app/framework/util/global-callback.h

emberAfOtaClientDownloadCompleteCallback#

bool emberAfOtaClientDownloadCompleteCallback (EmberAfOtaDownloadResult success, const EmberAfOtaImageId *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 862 of file app/framework/util/global-callback.h

emberAfOtaClientIncomingMessageRawCallback#

bool emberAfOtaClientIncomingMessageRawCallback (EmberAfClusterCommand *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 873 of file app/framework/util/global-callback.h

emberAfOtaClientStartCallback#

void emberAfOtaClientStartCallback (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 882 of file app/framework/util/global-callback.h

emberAfOtaClientVersionInfoCallback#

void emberAfOtaClientVersionInfoCallback (EmberAfOtaImageId *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 EMBER_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 898 of file app/framework/util/global-callback.h

emberAfOtaPageRequestServerPolicyCallback#

int8u emberAfOtaPageRequestServerPolicyCallback (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 EMBER_ZCL_STATUS_SUCCESS if it allows the page request, and EMBER_ZCL_STATUS_UNSUP_COMMAND if it does not want to allow it.


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

emberAfOtaServerBlockSizeCallback#

int8u emberAfOtaServerBlockSizeCallback (EmberNodeId 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 918 of file app/framework/util/global-callback.h

emberAfOtaServerIncomingMessageRawCallback#

bool emberAfOtaServerIncomingMessageRawCallback (EmberAfClusterCommand *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 928 of file app/framework/util/global-callback.h

emberAfOtaServerQueryCallback#

int8u emberAfOtaServerQueryCallback (const EmberAfOtaImageId *currentImageId, int16u *hardwareVersion, EmberAfOtaImageId *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 944 of file app/framework/util/global-callback.h

emberAfOtaServerSendImageNotifyCallback#

bool emberAfOtaServerSendImageNotifyCallback (EmberNodeId dest, int8u endpoint, int8u payloadType, int8u queryJitter, const EmberAfOtaImageId *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 967 of file app/framework/util/global-callback.h

emberAfOtaServerUpgradeEndRequestCallback#

bool emberAfOtaServerUpgradeEndRequestCallback (EmberNodeId source, int8u status, int32u *returnValue, const EmberAfOtaImageId *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 EMBER_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 990 of file app/framework/util/global-callback.h

emberAfOtaStorageCheckTempDataCallback#

EmberAfOtaStorageStatus emberAfOtaStorageCheckTempDataCallback (int32u *currentOffset, int32u *totalImageSize, EmberAfOtaImageId *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 EMBER_AF_OTA_STORAGE_SUCCESS or EMBER_AF_OTA_STORAGE_PARTIAL_FILE_FOUND, respectively. In that case, the currentOffset, totalImageSize, and newFileInfo will be populated with data. When EMBER_AF_OTA_STORAGE_ERROR is returned, no temporary data is present.


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

emberAfOtaStorageClearTempDataCallback#

EmberAfOtaStorageStatus emberAfOtaStorageClearTempDataCallback (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 1024 of file app/framework/util/global-callback.h

emberAfOtaStorageCloseCallback#

void emberAfOtaStorageCloseCallback (void)

Ota Storage Close.

Parameters
N/A

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


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

emberAfOtaStorageDriverDownloadFinishCallback#

void emberAfOtaStorageDriverDownloadFinishCallback (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 1039 of file app/framework/util/global-callback.h

emberAfOtaStorageDriverInitCallback#

bool emberAfOtaStorageDriverInitCallback (void)

Ota Storage Driver Init.

Parameters
N/A

The initialization code for the OTA storage driver.


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

emberAfOtaStorageDriverInvalidateImageCallback#

EmberAfOtaStorageStatus emberAfOtaStorageDriverInvalidateImageCallback (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 1053 of file app/framework/util/global-callback.h

emberAfOtaStorageDriverPrepareToResumeDownloadCallback#

EmberAfOtaStorageStatus emberAfOtaStorageDriverPrepareToResumeDownloadCallback (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 1061 of file app/framework/util/global-callback.h

emberAfOtaStorageDriverReadCallback#

bool emberAfOtaStorageDriverReadCallback (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 1074 of file app/framework/util/global-callback.h

emberAfOtaStorageDriverRetrieveLastStoredOffsetCallback#

int32u emberAfOtaStorageDriverRetrieveLastStoredOffsetCallback (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 1084 of file app/framework/util/global-callback.h

emberAfOtaStorageDriverWriteCallback#

bool emberAfOtaStorageDriverWriteCallback (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 1097 of file app/framework/util/global-callback.h

emberAfOtaStorageFinishDownloadCallback#

EmberAfOtaStorageStatus emberAfOtaStorageFinishDownloadCallback (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 1107 of file app/framework/util/global-callback.h

emberAfOtaStorageGetCountCallback#

int8u emberAfOtaStorageGetCountCallback (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 1114 of file app/framework/util/global-callback.h

emberAfOtaStorageGetFullHeaderCallback#

EmberAfOtaStorageStatus emberAfOtaStorageGetFullHeaderCallback (const EmberAfOtaImageId *id, EmberAfOtaHeader *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 EmberAfOtaHeader structure pointed to by the returnData with data about the OTA file stored in the storage module.


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

emberAfOtaStorageGetTotalImageSizeCallback#

int32u emberAfOtaStorageGetTotalImageSizeCallback (const EmberAfOtaImageId *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 1135 of file app/framework/util/global-callback.h

emberAfOtaStorageInitCallback#

EmberAfOtaStorageStatus emberAfOtaStorageInitCallback (void)

Ota Storage Init.

Parameters
N/A

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


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

emberAfOtaStorageIteratorFirstCallback#

EmberAfOtaImageId emberAfOtaStorageIteratorFirstCallback (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 emberAfOtaInvalidImageId is returned.


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

emberAfOtaStorageIteratorNextCallback#

EmberAfOtaImageId emberAfOtaStorageIteratorNextCallback (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 emberAfOtaInvalidImageId is returned.


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

emberAfOtaStorageReadImageDataCallback#

EmberAfOtaStorageStatus emberAfOtaStorageReadImageDataCallback (const EmberAfOtaImageId *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 1174 of file app/framework/util/global-callback.h

emberAfOtaStorageSearchCallback#

EmberAfOtaImageId emberAfOtaStorageSearchCallback (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 emberAfInvalidImageId is returned.


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

emberAfOtaStorageWriteTempDataCallback#

EmberAfOtaStorageStatus emberAfOtaStorageWriteTempDataCallback (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 1211 of file app/framework/util/global-callback.h

emberAfOutgoingPacketFilterCallback#

EmberPacketAction emberAfOutgoingPacketFilterCallback (EmberZigbeePacketType 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 ::EmberZigbeePacketType.

 The

packetType argument is one of the values of the ::EmberZigbeePacketType enum. If the stack receives an 802.15.4 MAC beacon, it will call this function with the packetType argument set to ::EMBER_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 1239 of file app/framework/util/global-callback.h

emberAfPartnerLinkKeyExchangeRequestCallback#

EmberZdoStatus emberAfPartnerLinkKeyExchangeRequestCallback (EmberEUI64 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 EMBER_SUCCESS 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 1253 of file app/framework/util/global-callback.h

emberAfPartnerLinkKeyExchangeResponseCallback#

void emberAfPartnerLinkKeyExchangeResponseCallback (EmberNodeId sender, EmberZdoStatus 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 1265 of file app/framework/util/global-callback.h

emberAfPerformingKeyEstablishmentCallback#

bool emberAfPerformingKeyEstablishmentCallback (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 1274 of file app/framework/util/global-callback.h

emberAfPostAttributeChangeCallback#

void emberAfPostAttributeChangeCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId 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 1290 of file app/framework/util/global-callback.h

emberAfPostEm4ResetCallback#

void emberAfPostEm4ResetCallback (void)

Post Em4 Reset.

Parameters
N/A

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


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

emberAfPreAttributeChangeCallback#

EmberAfStatus emberAfPreAttributeChangeCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId 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 EMBER_ZCL_STATUS_SUCCESS to permit the change or any other EmberAfStatus to reject it.


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

emberAfPreCliSendCallback#

bool emberAfPreCliSendCallback (EmberApsFrame *apsFrame, EmberNodeId source, EmberNodeId 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 1346 of file app/framework/util/global-callback.h

emberAfPreCommandReceivedCallback#

bool emberAfPreCommandReceivedCallback (EmberAfClusterCommand *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 EmberAfClusterCommand 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 emberAfCurrentCommand, in app/framework/util/util.c. When command processing is complete, this pointer is cleared.


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

emberAfPreMessageReceivedCallback#

bool emberAfPreMessageReceivedCallback (EmberAfIncomingMessage *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. Note: This callback receives a pointer to an incoming message struct. This struct allows the application framework to provide a unified interface between both Host devices, which receive their message through the ezspIncomingMessageHandler, and SoC devices, which receive their message through emberIncomingMessageHandler.


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

emberAfPreMessageSendCallback#

bool emberAfPreMessageSendCallback (EmberAfMessageStruct *messageStruct, EmberStatus *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 EmberStatus 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 1408 of file app/framework/util/global-callback.h

emberAfPreNcpResetCallback#

void emberAfPreNcpResetCallback (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 1415 of file app/framework/util/global-callback.h

emberAfPreZDOMessageReceivedCallback#

bool emberAfPreZDOMessageReceivedCallback (EmberNodeId emberNodeId, EmberApsFrame *apsFrame, int8u *message, int16u length)

Pre ZDO Message Received.

Parameters
N/AemberNodeId

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 1428 of file app/framework/util/global-callback.h

emberAfReadAttributesResponseCallback#

bool emberAfReadAttributesResponseCallback (EmberAfClusterId 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 1443 of file app/framework/util/global-callback.h

emberAfReadReportingConfigurationCommandCallback#

bool emberAfReadReportingConfigurationCommandCallback (const EmberAfClusterCommand *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 1454 of file app/framework/util/global-callback.h

emberAfReadReportingConfigurationResponseCallback#

bool emberAfReadReportingConfigurationResponseCallback (EmberAfClusterId 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 1467 of file app/framework/util/global-callback.h

emberAfRegistrationAbortCallback#

void emberAfRegistrationAbortCallback (void)

Registration Abort.

Parameters
N/A

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


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

emberAfRegistrationCallback#

void emberAfRegistrationCallback (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 1486 of file app/framework/util/global-callback.h

emberAfRegistrationStartCallback#

EmberStatus emberAfRegistrationStartCallback (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 EMBER_SUCCESS if the registration process started successfully. When registration is complete, the application should call emberAfRegistrationCallback with an indication of success or failure.


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

emberAfRemoteDeleteBindingPermissionCallback#

EmberStatus emberAfRemoteDeleteBindingPermissionCallback (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 EMBER_SUCCESS to allow request, anything else to disallow request.


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

emberAfRemoteSetBindingPermissionCallback#

EmberStatus emberAfRemoteSetBindingPermissionCallback (const EmberBindingTableEntry *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 EMBER_SUCCESS to allow request, anything else to disallow request.


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

emberAfRemoveFromCurrentAppTasksCallback#

void emberAfRemoveFromCurrentAppTasksCallback (EmberAfApplicationTask 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

emberAfReportAttributesCallback#

bool emberAfReportAttributesCallback (EmberAfClusterId 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

emberAfReportingAttributeChangeCallback#

void emberAfReportingAttributeChangeCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, int8u mask, int16u manufacturerCode, EmberAfAttributeType 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

emberAfSecurityInitCallback#

void emberAfSecurityInitCallback (EmberInitialSecurityState *state, EmberExtendedSecurityBitmask *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

emberAfSetDefaultPollControlCallback#

void emberAfSetDefaultPollControlCallback (EmberAfEventPollControl 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

emberAfSetDefaultSleepControlCallback#

void emberAfSetDefaultSleepControlCallback (EmberAfEventSleepControl 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

emberAfSetFormAndJoinExtendedPanIdCallback#

void emberAfSetFormAndJoinExtendedPanIdCallback (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

emberAfSetLongPollIntervalMsCallback#

void emberAfSetLongPollIntervalMsCallback (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

emberAfSetLongPollIntervalQsCallback#

void emberAfSetLongPollIntervalQsCallback (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

emberAfSetShortPollIntervalMsCallback#

void emberAfSetShortPollIntervalMsCallback (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

emberAfSetShortPollIntervalQsCallback#

void emberAfSetShortPollIntervalQsCallback (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

emberAfSetSourceRouteOverheadCallback#

void emberAfSetSourceRouteOverheadCallback (EmberNodeId 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

emberAfSetTimeCallback#

void emberAfSetTimeCallback (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

emberAfSetWakeTimeoutBitmaskCallback#

void emberAfSetWakeTimeoutBitmaskCallback (EmberAfApplicationTask 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

emberAfSetWakeTimeoutMsCallback#

void emberAfSetWakeTimeoutMsCallback (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

emberAfSetWakeTimeoutQsCallback#

void emberAfSetWakeTimeoutQsCallback (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

emberAfStartMoveCallback#

bool emberAfStartMoveCallback (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

emberAfStartSearchForJoinableNetworkCallback#

EmberStatus emberAfStartSearchForJoinableNetworkCallback (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 EMBER_SUCCESS if the operation was initiated successfully.


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

emberAfStopMoveCallback#

void emberAfStopMoveCallback (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

emberAfTrustCenterJoinCallback#

void emberAfTrustCenterJoinCallback (EmberNodeId newNodeId, EmberEUI64 newNodeEui64, EmberNodeId parentOfNewNode, EmberDeviceUpdate status, EmberJoinDecision 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 emberTrustCenterJoinHandler or ezspTrustCenterJoinHandler. 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

emberAfTrustCenterKeepaliveAbortCallback#

void emberAfTrustCenterKeepaliveAbortCallback (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

emberAfTrustCenterKeepaliveUpdateCallback#

void emberAfTrustCenterKeepaliveUpdateCallback (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

emberAfWriteAttributesResponseCallback#

bool emberAfWriteAttributesResponseCallback (EmberAfClusterId 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