Non-Cluster Callbacks
Non-Cluster Related Callbacks |
|
void | emberAfAddToCurrentAppTasksCallback ( EmberAfApplicationTask tasks) |
Add To Current App Tasks.
|
|
EmberAfAttributeWritePermission | emberAfAllowNetworkWriteAttributeCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, int8u mask, int16u manufacturerCode, int8u *value, int8u type) |
Allow Network Write Attribute.
|
|
boolean | emberAfAttributeReadAccessCallback (int8u endpoint, EmberAfClusterId clusterId, int16u manufacturerCode, int16u attributeId) |
Attribute Read Access.
|
|
boolean | emberAfAttributeWriteAccessCallback (int8u endpoint, EmberAfClusterId clusterId, int16u manufacturerCode, int16u attributeId) |
Attribute Write Access.
|
|
EmberStatus | emberAfClearReportTableCallback (void) |
Clear Report Table.
|
|
void | emberAfClusterInitCallback (int8u endpoint, EmberAfClusterId clusterId) |
Cluster Init.
|
|
boolean | emberAfClusterSecurityCustomCallback ( EmberAfProfileId profileId, EmberAfClusterId clusterId, boolean incoming, int8u commandId) |
Cluster Security Custom.
|
|
boolean | emberAfConfigureReportingCommandCallback (const EmberAfClusterCommand *cmd) |
Configure Reporting Command.
|
|
boolean | emberAfConfigureReportingResponseCallback ( EmberAfClusterId clusterId, int8u *buffer, int16u bufLen) |
Configure Reporting Response.
|
|
boolean | emberAfDefaultResponseCallback ( EmberAfClusterId clusterId, int8u commandId, EmberAfStatus status) |
Default Response.
|
|
boolean | emberAfDiscoverAttributesResponseCallback ( EmberAfClusterId clusterId, boolean discoveryComplete, int8u *buffer, int16u bufLen, boolean extended) |
Discover Attributes Response.
|
|
boolean | emberAfDiscoverCommandsGeneratedResponseCallback ( EmberAfClusterId clusterId, int16u manufacturerCode, boolean discoveryComplete, int8u *commandIds, int16u commandIdCount) |
Discover Commands Generated Response.
|
|
boolean | emberAfDiscoverCommandsReceivedResponseCallback ( EmberAfClusterId clusterId, int16u manufacturerCode, boolean discoveryComplete, int8u *commandIds, int16u commandIdCount) |
Discover Commands Received Response.
|
|
void | emberAfEepromInitCallback (void) |
Eeprom Init.
|
|
void | emberAfEepromNoteInitializedStateCallback (boolean state) |
Eeprom Note Initialized State.
|
|
void | emberAfEepromShutdownCallback (void) |
Eeprom Shutdown.
|
|
void | emberAfEnergyScanResultCallback (int8u channel, int8s rssi) |
Energy Scan Result.
|
|
EmberAfStatus | emberAfExternalAttributeReadCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeMetadata *attributeMetadata, int16u manufacturerCode, int8u *buffer, int16u maxReadLength) |
External Attribute Read.
|
|
EmberAfStatus | emberAfExternalAttributeWriteCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeMetadata *attributeMetadata, int16u manufacturerCode, int8u *buffer) |
External Attribute Write.
|
|
EmberStatus | emberAfFindUnusedPanIdAndFormCallback (void) |
Find Unused Pan Id And Form.
|
|
EmberAfApplicationTask | emberAfGetCurrentAppTasksCallback (void) |
Get Current App Tasks.
|
|
EmberAfEventPollControl | emberAfGetCurrentPollControlCallback (void) |
Get Current Poll Control.
|
|
int32u | emberAfGetCurrentPollIntervalMsCallback (void) |
Get Current Poll Interval Ms.
|
|
int32u | emberAfGetCurrentPollIntervalQsCallback (void) |
Get Current Poll Interval Qs.
|
|
EmberAfEventSleepControl
|
emberAfGetCurrentSleepControlCallback (void) |
Get Current Sleep Control.
|
|
int32u | emberAfGetCurrentTimeCallback (void) |
Get Current Time.
|
|
EmberAfEventPollControl | emberAfGetDefaultPollControlCallback (void) |
Get Default Poll Control.
|
|
EmberAfEventSleepControl
|
emberAfGetDefaultSleepControlCallback (void) |
Get Default Sleep Control.
|
|
boolean | emberAfGetEndpointByIndexCallback (int8u index, int8u *endpointReturn) |
Get Endpoint By Index.
|
|
boolean | emberAfGetEndpointDescriptionCallback (int8u endpoint, EmberEndpointDescription *result) |
Get Endpoint Description.
|
|
boolean | emberAfGetEndpointInfoCallback (int8u endpoint, int8u *returnNetworkIndex, EmberAfEndpointInfoStruct *returnEndpointInfo) |
Get Endpoint Info.
|
|
void | emberAfGetFormAndJoinExtendedPanIdCallback (int8u *resultLocation) |
Get Form And Join Extended Pan Id.
|
|
int32u | emberAfGetLongPollIntervalMsCallback (void) |
Get Long Poll Interval Ms.
|
|
int32u | emberAfGetLongPollIntervalQsCallback (void) |
Get Long Poll Interval Qs.
|
|
int16u | emberAfGetShortPollIntervalMsCallback (void) |
Get Short Poll Interval Ms.
|
|
int16u | emberAfGetShortPollIntervalQsCallback (void) |
Get Short Poll Interval Qs.
|
|
int8u | emberAfGetSourceRouteOverheadCallback (EmberNodeId destination) |
Get Source Route Overhead.
|
|
EmberAfApplicationTask | emberAfGetWakeTimeoutBitmaskCallback (void) |
Get Wake Timeout Bitmask.
|
|
int16u | emberAfGetWakeTimeoutMsCallback (void) |
Get Wake Timeout Ms.
|
|
int16u | emberAfGetWakeTimeoutQsCallback (void) |
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.
|
|
boolean | emberAfInterPanKeyEstablishmentCallback ( EmberAfKeyEstablishmentNotifyMessage status, boolean amInitiator, EmberPanId panId, const EmberEUI64 eui64, int8u delayInSeconds) |
Inter Pan Key Establishment.
|
|
EmberStatus | emberAfInterpanSendMessageCallback ( EmberAfInterpanHeader *header, int16u messageLength, int8u *message) |
Interpan Send Message.
|
|
boolean | emberAfKeyEstablishmentCallback ( EmberAfKeyEstablishmentNotifyMessage status, boolean amInitiator, EmberNodeId partnerShortId, int8u delayInSeconds) |
Key Establishment.
|
|
void | emberAfMainInitCallback (void) |
Main Init.
|
|
boolean | emberAfMainStartCallback (int *returnCode, int argc, char **argv) |
Main Start.
|
|
void | emberAfMainTickCallback (void) |
Main Tick.
|
|
void | emberAfMarkBuffersCallback (void) |
Mark Buffers.
|
|
boolean | emberAfMessageSentCallback ( EmberOutgoingMessageType type, int16u indexOrDestination, EmberApsFrame *apsFrame, int16u msgLen, int8u *message, EmberStatus status) |
Message Sent.
|
|
void | emberAfNcpInitCallback (boolean memoryAllocation) |
Ncp Init.
|
|
void | emberAfNcpIsAwakeIsrCallback (void) |
Ncp Is Awake Isr.
|
|
void | emberAfNetworkFoundCallback ( EmberZigbeeNetwork *networkFound, int8u lqi, int8s rssi) |
Network Found.
|
|
void | emberAfNetworkKeyUpdateCompleteCallback ( EmberStatus status) |
Network Key Update Complete.
|
|
int8u | emberAfOtaBootloadCallback (const EmberAfOtaImageId *id, int16u ncpUpgradeTagId) |
Ota Bootload.
|
|
void | emberAfOtaClientBootloadCallback (const EmberAfOtaImageId *id) |
Ota Client Bootload.
|
|
EmberAfImageVerifyStatus | emberAfOtaClientCustomVerifyCallback (boolean newVerification, const EmberAfOtaImageId *id) |
Ota Client Custom Verify.
|
|
boolean | emberAfOtaClientDownloadCompleteCallback ( EmberAfOtaDownloadResult success, const EmberAfOtaImageId *id) |
Ota Client Download Complete.
|
|
boolean | emberAfOtaClientIncomingMessageRawCallback ( EmberAfClusterCommand *message) |
Ota Client Incoming Message Raw.
|
|
void | emberAfOtaClientStartCallback (void) |
Ota Client Start.
|
|
void | emberAfOtaClientVersionInfoCallback ( EmberAfOtaImageId *currentImageInfo, int16u *hardwareVersion) |
Ota Client Version Info.
|
|
int8u | emberAfOtaPageRequestServerPolicyCallback (void) |
Ota Page Request Server Policy.
|
|
int8u | emberAfOtaServerBlockSizeCallback (EmberNodeId clientNodeId) |
Ota Server Block Size.
|
|
boolean | emberAfOtaServerIncomingMessageRawCallback ( EmberAfClusterCommand *message) |
Ota Server Incoming Message Raw.
|
|
int8u | emberAfOtaServerQueryCallback (const EmberAfOtaImageId *currentImageId, int16u *hardwareVersion, EmberAfOtaImageId *nextUpgradeImageId) |
Ota Server Query.
|
|
boolean | emberAfOtaServerSendImageNotifyCallback (EmberNodeId dest, int8u endpoint, int8u payloadType, int8u queryJitter, const EmberAfOtaImageId *id) |
Ota Server Send Image Notify.
|
|
boolean | emberAfOtaServerUpgradeEndRequestCallback (EmberNodeId source, int8u status, int32u *returnValue, const EmberAfOtaImageId *imageId) |
Ota Server Upgrade End Request.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageCheckTempDataCallback (int32u *currentOffset, int32u *totalImageSize, EmberAfOtaImageId *newFileInfo) |
Ota Storage Check Temp Data.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageClearTempDataCallback (void) |
Ota Storage Clear Temp Data.
|
|
void | emberAfOtaStorageCloseCallback (void) |
Ota Storage Close.
|
|
void | emberAfOtaStorageDriverDownloadFinishCallback (int32u offset) |
Ota Storage Driver Download Finish.
|
|
boolean | emberAfOtaStorageDriverInitCallback (void) |
Ota Storage Driver Init.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageDriverInvalidateImageCallback (void) |
Ota Storage Driver Invalidate Image.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageDriverPrepareToResumeDownloadCallback (void) |
Ota Storage Driver Prepare To Resume Download.
|
|
boolean | emberAfOtaStorageDriverReadCallback (int32u offset, int32u length, int8u *returnData) |
Ota Storage Driver Read.
|
|
int32u | emberAfOtaStorageDriverRetrieveLastStoredOffsetCallback (void) |
Ota Storage Driver Retrieve Last Stored Offset.
|
|
boolean | emberAfOtaStorageDriverWriteCallback (const int8u *dataToWrite, int32u offset, int32u length) |
Ota Storage Driver Write.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageFinishDownloadCallback (int32u offset) |
Ota Storage Finish Download.
|
|
int8u | emberAfOtaStorageGetCountCallback (void) |
Ota Storage Get Count.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageGetFullHeaderCallback (const EmberAfOtaImageId *id, EmberAfOtaHeader *returnData) |
Ota Storage Get Full Header.
|
|
int32u | emberAfOtaStorageGetTotalImageSizeCallback (const EmberAfOtaImageId *id) |
Ota Storage Get Total Image Size.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageInitCallback (void) |
Ota Storage Init.
|
|
EmberAfOtaImageId | emberAfOtaStorageIteratorFirstCallback (void) |
Ota Storage Iterator First.
|
|
EmberAfOtaImageId | emberAfOtaStorageIteratorNextCallback (void) |
Ota Storage Iterator Next.
|
|
EmberAfOtaStorageStatus | emberAfOtaStorageReadImageDataCallback (const EmberAfOtaImageId *id, int32u offset, int32u length, int8u *returnData, int32u *returnedLength) |
Ota Storage Read Image Data.
|
|
EmberAfOtaImageId | emberAfOtaStorageSearchCallback (int16u manufacturerId, int16u imageTypeId, const int16u *hardwareVersion) |
Ota Storage Search.
|
|
EmberAfOtaStorageStatus | 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 | emberAfPartnerLinkKeyExchangeRequestCallback (EmberEUI64 partner) |
Partner Link Key Exchange Request.
|
|
void | emberAfPartnerLinkKeyExchangeResponseCallback (EmberNodeId sender, EmberZdoStatus status) |
Partner Link Key Exchange Response.
|
|
boolean | emberAfPerformingKeyEstablishmentCallback (void) |
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 | emberAfPostEm4ResetCallback (void) |
Post Em4 Reset.
|
|
EmberAfStatus | emberAfPreAttributeChangeCallback (int8u endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, int8u mask, int16u manufacturerCode, int8u type, int8u size, int8u *value) |
Pre Attribute Change.
|
|
boolean | emberAfPreCliSendCallback ( EmberApsFrame *apsFrame, EmberNodeId source, EmberNodeId destination, int8u *message, int16u messageLength) |
Pre Cli Send.
|
|
boolean | emberAfPreCommandReceivedCallback ( EmberAfClusterCommand *cmd) |
Pre Command Received.
|
|
boolean | emberAfPreMessageReceivedCallback ( EmberAfIncomingMessage *incomingMessage) |
Pre Message Received.
|
|
boolean | emberAfPreMessageSendCallback ( EmberAfMessageStruct *messageStruct, EmberStatus *status) |
Pre Message Send.
|
|
void | emberAfPreNcpResetCallback (void) |
Pre Ncp Reset.
|
|
boolean | emberAfPreZDOMessageReceivedCallback (EmberNodeId emberNodeId, EmberApsFrame *apsFrame, int8u *message, int16u length) |
Pre ZDO Message Received.
|
|
boolean | emberAfReadAttributesResponseCallback ( EmberAfClusterId clusterId, int8u *buffer, int16u bufLen) |
Read Attributes Response.
|
|
boolean | emberAfReadReportingConfigurationCommandCallback (const EmberAfClusterCommand *cmd) |
Read Reporting Configuration Command.
|
|
boolean | emberAfReadReportingConfigurationResponseCallback ( EmberAfClusterId clusterId, int8u *buffer, int16u bufLen) |
Read Reporting Configuration Response.
|
|
void | emberAfRegistrationAbortCallback (void) |
Registration Abort.
|
|
void | emberAfRegistrationCallback (boolean success) |
Registration.
|
|
EmberStatus | emberAfRegistrationStartCallback (void) |
Registration Start.
|
|
EmberStatus | emberAfRemoteDeleteBindingPermissionCallback (int8u index) |
Remote Delete Binding Permission.
|
|
EmberStatus | emberAfRemoteSetBindingPermissionCallback (const EmberBindingTableEntry *entry) |
Remote Set Binding Permission.
|
|
void | emberAfRemoveFromCurrentAppTasksCallback ( EmberAfApplicationTask tasks) |
Remove From Current App Tasks.
|
|
boolean | 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 | emberAfScanCompleteCallback (int8u channel, EmberStatus status) |
Scan Complete.
|
|
void | emberAfScanErrorCallback ( EmberStatus status) |
Scan Error.
|
|
void | emberAfSecurityInitCallback ( EmberInitialSecurityState *state, EmberExtendedSecurityBitmask *extended, boolean 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.
|
|
boolean | emberAfStackStatusCallback ( EmberStatus status) |
Stack Status.
|
|
boolean | emberAfStartMoveCallback (void) |
Start Move.
|
|
EmberStatus | emberAfStartSearchForJoinableNetworkCallback (void) |
Start Search For Joinable Network.
|
|
void | emberAfStopMoveCallback (void) |
Stop Move.
|
|
void | emberAfTrustCenterJoinCallback (EmberNodeId newNodeId, EmberEUI64 newNodeEui64, EmberNodeId parentOfNewNode, EmberDeviceUpdate status, EmberJoinDecision decision) |
Trust Center Join.
|
|
void | emberAfTrustCenterKeepaliveAbortCallback (void) |
Trust Center Keepalive Abort.
|
|
void | emberAfTrustCenterKeepaliveUpdateCallback (boolean registrationComplete) |
Trust Center Keepalive Update.
|
|
void | emberAfUnusedPanIdFoundCallback (EmberPanId panId, int8u channel) |
Unused Pan Id Found.
|
|
boolean | emberAfWriteAttributesResponseCallback ( EmberAfClusterId clusterId, int8u *buffer, int16u bufLen) |
Write Attributes Response.
|
|
void | emberAfZigbeeKeyEstablishmentCallback (EmberEUI64 partner, EmberKeyStatus status) |
Zigbee Key Establishment.
|
Function Documentation
◆ emberAfAddToCurrentAppTasksCallback()
void emberAfAddToCurrentAppTasksCallback | ( | EmberAfApplicationTask |
tasks
|
) |
Add To Current App Tasks.
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.
- Parameters
-
tasks
Ver.: always
◆ emberAfAllowNetworkWriteAttributeCallback()
EmberAfAttributeWritePermission emberAfAllowNetworkWriteAttributeCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeId |
attributeId,
|
||
int8u |
mask,
|
||
int16u |
manufacturerCode,
|
||
int8u * |
value,
|
||
int8u |
type
|
||
) |
Allow Network Write Attribute.
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.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always attributeId
Ver.: always mask
Ver.: always manufacturerCode
Ver.: always value
Ver.: always type
Ver.: always
◆ emberAfAttributeReadAccessCallback()
boolean emberAfAttributeReadAccessCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
int16u |
manufacturerCode,
|
||
int16u |
attributeId
|
||
) |
Attribute Read Access.
This function is called whenever the Application Framework needs to check access permission for an attribute read.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always manufacturerCode
Ver.: always attributeId
Ver.: always
◆ emberAfAttributeWriteAccessCallback()
boolean emberAfAttributeWriteAccessCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
int16u |
manufacturerCode,
|
||
int16u |
attributeId
|
||
) |
Attribute Write Access.
This function is called whenever the Application Framework needs to check access permission for an attribute write.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always manufacturerCode
Ver.: always attributeId
Ver.: always
◆ emberAfClearReportTableCallback()
EmberStatus emberAfClearReportTableCallback | ( | void |
|
) |
Clear Report Table.
This function is called by the framework when the application should clear the report table.
◆ emberAfClusterInitCallback()
void emberAfClusterInitCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
Cluster Init.
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.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always
◆ emberAfClusterSecurityCustomCallback()
boolean emberAfClusterSecurityCustomCallback | ( | EmberAfProfileId |
profileId,
|
EmberAfClusterId |
clusterId,
|
||
boolean |
incoming,
|
||
int8u |
commandId
|
||
) |
Cluster Security Custom.
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.
- Parameters
-
profileId
The profile ID Ver.: always clusterId
The cluster ID Ver.: always incoming
Whether this is an incoming or outgoing message. Ver.: always commandId
The ZCL command ID being sent/received. Ver.: always
◆ emberAfConfigureReportingCommandCallback()
boolean emberAfConfigureReportingCommandCallback | ( | const EmberAfClusterCommand * |
cmd
|
) |
Configure Reporting Command.
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.
- Parameters
-
cmd
Ver.: always
◆ emberAfConfigureReportingResponseCallback()
boolean emberAfConfigureReportingResponseCallback | ( | EmberAfClusterId |
clusterId,
|
int8u * |
buffer,
|
||
int16u |
bufLen
|
||
) |
Configure Reporting Response.
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.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always buffer
Buffer containing the list of attribute status records. Ver.: always bufLen
The length in bytes of the list. Ver.: always
◆ emberAfDefaultResponseCallback()
boolean emberAfDefaultResponseCallback | ( | EmberAfClusterId |
clusterId,
|
int8u |
commandId,
|
||
EmberAfStatus |
status
|
||
) |
Default Response.
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.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always commandId
The command identifier to which this is a response. Ver.: always status
Specifies either SUCCESS or the nature of the error that was detected in the received command. Ver.: always
◆ emberAfDiscoverAttributesResponseCallback()
boolean emberAfDiscoverAttributesResponseCallback | ( | EmberAfClusterId |
clusterId,
|
boolean |
discoveryComplete,
|
||
int8u * |
buffer,
|
||
int16u |
bufLen,
|
||
boolean |
extended
|
||
) |
Discover Attributes Response.
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.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always discoveryComplete
Indicates whether there are more attributes to be discovered. true if there are no more attributes to be discovered. Ver.: always buffer
Buffer containing the list of attribute identifier/type records. Ver.: always bufLen
The length in bytes of the list. Ver.: always extended
Indicates whether the response is in the extended format or not. Ver.: always
◆ emberAfDiscoverCommandsGeneratedResponseCallback()
boolean emberAfDiscoverCommandsGeneratedResponseCallback | ( | EmberAfClusterId |
clusterId,
|
int16u |
manufacturerCode,
|
||
boolean |
discoveryComplete,
|
||
int8u * |
commandIds,
|
||
int16u |
commandIdCount
|
||
) |
Discover Commands Generated Response.
This function is called by the framework when Discover Commands Generated Response is received.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always manufacturerCode
Manufacturer code Ver.: always discoveryComplete
Indicates whether there are more commands to be discovered. Ver.: always commandIds
Buffer containing the list of command identifiers. Ver.: always commandIdCount
The length of bytes of the list, whish is the same as the number of identifiers. Ver.: always
◆ emberAfDiscoverCommandsReceivedResponseCallback()
boolean emberAfDiscoverCommandsReceivedResponseCallback | ( | EmberAfClusterId |
clusterId,
|
int16u |
manufacturerCode,
|
||
boolean |
discoveryComplete,
|
||
int8u * |
commandIds,
|
||
int16u |
commandIdCount
|
||
) |
Discover Commands Received Response.
This function is called by the framework when Discover Commands Received Response is received.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always manufacturerCode
Manufacturer code Ver.: always discoveryComplete
Indicates whether there are more commands to be discovered. Ver.: always commandIds
Buffer containing the list of command identifiers. Ver.: always commandIdCount
The length of bytes of the list, whish is the same as the number of identifiers. Ver.: always
◆ emberAfEepromInitCallback()
void emberAfEepromInitCallback | ( | void |
|
) |
Eeprom Init.
Tells the system to initialize the EEPROM if it is not already initialized.
◆ emberAfEepromNoteInitializedStateCallback()
void emberAfEepromNoteInitializedStateCallback | ( | boolean |
state
|
) |
Eeprom Note Initialized State.
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.
- Parameters
-
state
The state of the EEPROM, false=re-initalization needed, true=no-re-init needed Ver.: always
◆ emberAfEepromShutdownCallback()
void emberAfEepromShutdownCallback | ( | void |
|
) |
Eeprom Shutdown.
Tells the system to shutdown the EEPROM if it is not already shutdown.
◆ emberAfEnergyScanResultCallback()
void emberAfEnergyScanResultCallback | ( | int8u |
channel,
|
int8s |
rssi
|
||
) |
Energy Scan Result.
This is called by the low-level stack code when an 802.15.4 energy scan completes.
- Parameters
-
channel
The channel where the energy scan took place. Ver.: always rssi
The receive signal strength indicator for the channel. Ver.: always
◆ emberAfExternalAttributeReadCallback()
EmberAfStatus emberAfExternalAttributeReadCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeMetadata * |
attributeMetadata,
|
||
int16u |
manufacturerCode,
|
||
int8u * |
buffer,
|
||
int16u |
maxReadLength
|
||
) |
External Attribute Read.
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.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always attributeMetadata
Ver.: always manufacturerCode
Ver.: always buffer
Ver.: always maxReadLength
Ver.: always
◆ emberAfExternalAttributeWriteCallback()
EmberAfStatus emberAfExternalAttributeWriteCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeMetadata * |
attributeMetadata,
|
||
int16u |
manufacturerCode,
|
||
int8u * |
buffer
|
||
) |
External Attribute Write.
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 Ember SoCs like the EM35x. 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.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always attributeMetadata
Ver.: always manufacturerCode
Ver.: always buffer
Ver.: always
◆ emberAfFindUnusedPanIdAndFormCallback()
EmberStatus emberAfFindUnusedPanIdAndFormCallback | ( | void |
|
) |
Find Unused Pan Id And Form.
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.
◆ emberAfGetCurrentAppTasksCallback()
EmberAfApplicationTask emberAfGetCurrentAppTasksCallback | ( | void |
|
) |
Get Current App Tasks.
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.
◆ emberAfGetCurrentPollControlCallback()
EmberAfEventPollControl emberAfGetCurrentPollControlCallback | ( | void |
|
) |
Get Current Poll Control.
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.
◆ emberAfGetCurrentPollIntervalMsCallback()
int32u emberAfGetCurrentPollIntervalMsCallback | ( | void |
|
) |
Get Current Poll Interval Ms.
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.
◆ emberAfGetCurrentPollIntervalQsCallback()
int32u emberAfGetCurrentPollIntervalQsCallback | ( | void |
|
) |
Get Current Poll Interval Qs.
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.
◆ emberAfGetCurrentSleepControlCallback()
EmberAfEventSleepControl
emberAfGetCurrentSleepControlCallback
|
( | void |
|
) |
Get Current Sleep Control.
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.
◆ emberAfGetCurrentTimeCallback()
int32u emberAfGetCurrentTimeCallback | ( | void |
|
) |
Get Current Time.
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.
◆ emberAfGetDefaultPollControlCallback()
EmberAfEventPollControl emberAfGetDefaultPollControlCallback | ( | void |
|
) |
Get Default Poll Control.
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.
◆ emberAfGetDefaultSleepControlCallback()
EmberAfEventSleepControl
emberAfGetDefaultSleepControlCallback
|
( | void |
|
) |
Get Default Sleep Control.
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.
◆ emberAfGetEndpointByIndexCallback()
boolean emberAfGetEndpointByIndexCallback | ( | int8u |
index,
|
int8u * |
endpointReturn
|
||
) |
Get Endpoint By Index.
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.
- Parameters
-
index
The index of the endpoint. Ver.: always endpointReturn
The value of endpoint. Ver.: always
◆ emberAfGetEndpointDescriptionCallback()
boolean emberAfGetEndpointDescriptionCallback | ( | int8u |
endpoint,
|
EmberEndpointDescription * |
result
|
||
) |
Get Endpoint Description.
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.
- Parameters
-
endpoint
The endpoint number that is being queried. Ver.: always result
This is a pointer to a data structure where the endpoint information is written if the callback is providing the information. Ver.: always
◆ emberAfGetEndpointInfoCallback()
boolean emberAfGetEndpointInfoCallback | ( | int8u |
endpoint,
|
int8u * |
returnNetworkIndex,
|
||
EmberAfEndpointInfoStruct * |
returnEndpointInfo
|
||
) |
Get Endpoint Info.
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.
- Parameters
-
endpoint
The endpoint to retrieve data for. Ver.: always returnNetworkIndex
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 returnEndpointInfo
A pointer to a data struct that will be written with information about the endpoint. Ver.: always
◆ emberAfGetFormAndJoinExtendedPanIdCallback()
void emberAfGetFormAndJoinExtendedPanIdCallback | ( | int8u * |
resultLocation
|
) |
Get Form And Join Extended Pan Id.
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.
- Parameters
-
resultLocation
Ver.: always
Referenced by
initNetworkParams()
.
◆ emberAfGetLongPollIntervalMsCallback()
int32u emberAfGetLongPollIntervalMsCallback | ( | void |
|
) |
Get Long Poll Interval Ms.
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.
◆ emberAfGetLongPollIntervalQsCallback()
int32u emberAfGetLongPollIntervalQsCallback | ( | void |
|
) |
Get Long Poll Interval Qs.
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.
◆ emberAfGetShortPollIntervalMsCallback()
int16u emberAfGetShortPollIntervalMsCallback | ( | void |
|
) |
Get Short Poll Interval Ms.
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.
◆ emberAfGetShortPollIntervalQsCallback()
int16u emberAfGetShortPollIntervalQsCallback | ( | void |
|
) |
Get Short Poll Interval Qs.
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.
◆ emberAfGetSourceRouteOverheadCallback()
int8u emberAfGetSourceRouteOverheadCallback | ( | EmberNodeId |
destination
|
) |
Get Source Route Overhead.
This function is called by the framework to determine the overhead required in the network frame for source routing to a particular destination.
- Parameters
-
destination
The node id of the destination Ver.: always
◆ emberAfGetWakeTimeoutBitmaskCallback()
EmberAfApplicationTask emberAfGetWakeTimeoutBitmaskCallback | ( | void |
|
) |
Get Wake Timeout Bitmask.
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.
◆ emberAfGetWakeTimeoutMsCallback()
int16u emberAfGetWakeTimeoutMsCallback | ( | void |
|
) |
Get Wake Timeout Ms.
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.
◆ emberAfGetWakeTimeoutQsCallback()
int16u emberAfGetWakeTimeoutQsCallback | ( | void |
|
) |
Get Wake Timeout Qs.
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.
◆ emberAfHalButtonIsrCallback()
void emberAfHalButtonIsrCallback | ( | int8u |
button,
|
int8u |
state
|
||
) |
Hal Button Isr.
This callback is called by the framework whenever a button is pressed on the device. This callback is called within ISR context.
- Parameters
-
button
The button which has changed state, either BUTTON0 or BUTTON1 as defined in the appropriate BOARD_HEADER. Ver.: always state
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
◆ emberAfIncomingPacketFilterCallback()
EmberPacketAction emberAfIncomingPacketFilterCallback | ( | EmberZigbeePacketType |
packetType,
|
int8u * |
packetData,
|
||
int8u * |
size_p,
|
||
void * |
data
|
||
) |
Incoming Packet Filter.
** 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.
- Parameters
-
packetType
the type of packet and associated protocol layer Ver.: always packetData
flat buffer containing the packet data associated with the packet type Ver.: always size_p
a pointer containing the size value of the packet Ver.: always data
auxillary data included with the packet Ver.: always
◆ emberAfInitiateInterPanKeyEstablishmentCallback()
EmberStatus emberAfInitiateInterPanKeyEstablishmentCallback | ( | EmberPanId |
panId,
|
const EmberEUI64 |
eui64
|
||
) |
Initiate Inter Pan Key Establishment.
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.
- Parameters
-
panId
The PAN id of the remote device. Ver.: always eui64
The EUI64 of the remote device. Ver.: always
◆ emberAfInitiateKeyEstablishmentCallback()
EmberStatus emberAfInitiateKeyEstablishmentCallback | ( | EmberNodeId |
nodeId,
|
int8u |
endpoint
|
||
) |
Initiate Key Establishment.
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.
- Parameters
-
nodeId
The node id of the remote device. Ver.: always endpoint
The endpoint on the remote device. Ver.: always
◆ emberAfInitiatePartnerLinkKeyExchangeCallback()
EmberStatus emberAfInitiatePartnerLinkKeyExchangeCallback | ( | EmberNodeId |
target,
|
int8u |
endpoint,
|
||
EmberAfPartnerLinkKeyExchangeCallback * |
callback
|
||
) |
Initiate Partner Link Key Exchange.
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.
- Parameters
-
target
The node id of the remote device. Ver.: always endpoint
The key establishment endpoint of the remote device. Ver.: always callback
The callback that should be called when the partner link key exchange completse. Ver.: always
◆ emberAfInterPanKeyEstablishmentCallback()
boolean emberAfInterPanKeyEstablishmentCallback | ( | EmberAfKeyEstablishmentNotifyMessage |
status,
|
boolean |
amInitiator,
|
||
EmberPanId |
panId,
|
||
const EmberEUI64 |
eui64,
|
||
int8u |
delayInSeconds
|
||
) |
Inter Pan Key Establishment.
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.
- Parameters
-
status
Ver.: always amInitiator
Ver.: always panId
Ver.: always eui64
Ver.: always delayInSeconds
Ver.: always
◆ emberAfInterpanSendMessageCallback()
EmberStatus emberAfInterpanSendMessageCallback | ( | EmberAfInterpanHeader * |
header,
|
int16u |
messageLength,
|
||
int8u * |
message
|
||
) |
Interpan Send Message.
This function will send a raw MAC message with interpan frame format using the passed parameters.
- Parameters
-
header
Interpan header info Ver.: always messageLength
The length of the message received or to send Ver.: always message
The message data received or to send. Ver.: always
Referenced by
interpanCommand()
, and
interpanLongCommand()
.
◆ emberAfKeyEstablishmentCallback()
boolean emberAfKeyEstablishmentCallback | ( | EmberAfKeyEstablishmentNotifyMessage |
status,
|
boolean |
amInitiator,
|
||
EmberNodeId |
partnerShortId,
|
||
int8u |
delayInSeconds
|
||
) |
Key Establishment.
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.
- Parameters
-
status
Ver.: always amInitiator
Ver.: always partnerShortId
Ver.: always delayInSeconds
Ver.: always
◆ emberAfMainInitCallback()
void emberAfMainInitCallback | ( | void |
|
) |
Main Init.
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.
Main Init.
This function is called when the application starts and can be used to perform any additional initialization required at system startup.
◆ emberAfMainStartCallback()
boolean emberAfMainStartCallback | ( | int * |
returnCode,
|
int |
argc,
|
||
char ** |
argv
|
||
) |
Main Start.
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.
- Parameters
-
returnCode
Ver.: always argc
Ver.: always argv
Ver.: always
◆ emberAfMainTickCallback()
void emberAfMainTickCallback | ( | void |
|
) |
Main Tick.
Whenever main application tick is called, this callback will be called at the end of the main tick execution.
Main Tick.
This function is called in each iteration of the main application loop and can be used to perform periodic functions. The frequency with which this function is called depends on how quickly the main loop runs. If the application blocks at any time during the main loop, this function will not be called until execution resumes.
◆ emberAfMarkBuffersCallback()
void emberAfMarkBuffersCallback | ( | void |
|
) |
Mark Buffers.
This function is called when the garbage collector runs. Any buffers held by the application must be marked.
◆ emberAfMessageSentCallback()
boolean emberAfMessageSentCallback | ( | EmberOutgoingMessageType |
type,
|
int16u |
indexOrDestination,
|
||
EmberApsFrame * |
apsFrame,
|
||
int16u |
msgLen,
|
||
int8u * |
message,
|
||
EmberStatus |
status
|
||
) |
Message Sent.
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.
- Parameters
-
type
Ver.: always indexOrDestination
Ver.: always apsFrame
Ver.: always msgLen
Ver.: always message
Ver.: always status
Ver.: always
◆ emberAfNcpInitCallback()
void emberAfNcpInitCallback | ( | boolean |
memoryAllocation
|
) |
Ncp Init.
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.
- Parameters
-
memoryAllocation
Ver.: always
◆ emberAfNcpIsAwakeIsrCallback()
void emberAfNcpIsAwakeIsrCallback | ( | void |
|
) |
Ncp Is Awake Isr.
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.
◆ emberAfNetworkFoundCallback()
void emberAfNetworkFoundCallback | ( | EmberZigbeeNetwork * |
networkFound,
|
int8u |
lqi,
|
||
int8s |
rssi
|
||
) |
Network Found.
This callback is generated when an active scan finds a 802.15.4 network.
- Parameters
-
networkFound
A struct containing information about the network found. Ver.: always lqi
The link quality indication of the network found. Ver.: always rssi
The received signal strength indication of the network found. Ver.: always
◆ emberAfNetworkKeyUpdateCompleteCallback()
void emberAfNetworkKeyUpdateCompleteCallback | ( | EmberStatus |
status
|
) |
Network Key Update Complete.
This is called by the framework when a network key update operation started by the trust center is complete.
- Parameters
-
status
Ver.: always
◆ emberAfOtaBootloadCallback()
int8u emberAfOtaBootloadCallback | ( | const EmberAfOtaImageId * |
id,
|
int16u |
ncpUpgradeTagId
|
||
) |
Ota Bootload.
The platform specific routine to bootload the device from a ZigBee over-the-air upgrade file.
- Parameters
-
id
A pointer to the structure that contains the information about what OTA image to bootload. Ver.: always ncpUpgradeTagId
The tag ID of the upgrade data that will be used to bootload the device. Ver.: always
◆ emberAfOtaClientBootloadCallback()
void emberAfOtaClientBootloadCallback | ( | const EmberAfOtaImageId * |
id
|
) |
Ota Client Bootload.
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.
- Parameters
-
id
This is the identifier relating to the image that has been downloaded and is ready for bootload. Ver.: always
◆ emberAfOtaClientCustomVerifyCallback()
EmberAfImageVerifyStatus emberAfOtaClientCustomVerifyCallback | ( | boolean |
newVerification,
|
const EmberAfOtaImageId * |
id
|
||
) |
Ota Client Custom Verify.
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).
- Parameters
-
newVerification
This indicates if a new verification should be started. Ver.: always id
This is ID of the image to be verified. Ver.: always
◆ emberAfOtaClientDownloadCompleteCallback()
boolean emberAfOtaClientDownloadCompleteCallback | ( | EmberAfOtaDownloadResult |
success,
|
const EmberAfOtaImageId * |
id
|
||
) |
Ota Client Download Complete.
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.
- Parameters
-
success
This indicates the success or failure of the download and cryptographic verification process (if applicable). Ver.: always id
This is the image identifier information that corresponds to the download result. Ver.: always
◆ emberAfOtaClientIncomingMessageRawCallback()
boolean emberAfOtaClientIncomingMessageRawCallback | ( | EmberAfClusterCommand * |
message
|
) |
Ota Client Incoming Message Raw.
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.
- Parameters
-
message
A pointer to the structure containing the message buffer and other information about it. Ver.: always
◆ emberAfOtaClientStartCallback()
void emberAfOtaClientStartCallback | ( | void |
|
) |
Ota Client Start.
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.
◆ emberAfOtaClientVersionInfoCallback()
void emberAfOtaClientVersionInfoCallback | ( | EmberAfOtaImageId * |
currentImageInfo,
|
int16u * |
hardwareVersion
|
||
) |
Ota Client Version Info.
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).
- Parameters
-
currentImageInfo
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 hardwareVersion
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
◆ emberAfOtaPageRequestServerPolicyCallback()
int8u emberAfOtaPageRequestServerPolicyCallback | ( | void |
|
) |
Ota Page Request Server Policy.
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_CLUSTER_COMMAND if it does not want to allow it.
◆ emberAfOtaServerBlockSizeCallback()
int8u emberAfOtaServerBlockSizeCallback | ( | EmberNodeId |
clientNodeId
|
) |
Ota Server Block Size.
This function provides a way for the server to adjust the block size of its response to an Image block request by a client.
- Parameters
-
clientNodeId
The node Id of OTA client making an image block request. Ver.: always
◆ emberAfOtaServerIncomingMessageRawCallback()
boolean emberAfOtaServerIncomingMessageRawCallback | ( | EmberAfClusterCommand * |
message
|
) |
Ota Server Incoming Message Raw.
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.
- Parameters
-
message
A pointer to the structure containing the message buffer and other information about it. Ver.: always
◆ emberAfOtaServerQueryCallback()
int8u emberAfOtaServerQueryCallback | ( | const EmberAfOtaImageId * |
currentImageId,
|
int16u * |
hardwareVersion,
|
||
EmberAfOtaImageId * |
nextUpgradeImageId
|
||
) |
Ota Server Query.
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.
- Parameters
-
currentImageId
This is the current software image that the client hase. Ver.: always hardwareVersion
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 nextUpgradeImageId
This is a pointer to a data structure containing the 'next' software version for the client to download. Ver.: always
◆ emberAfOtaServerSendImageNotifyCallback()
boolean emberAfOtaServerSendImageNotifyCallback | ( | EmberNodeId |
dest,
|
int8u |
endpoint,
|
||
int8u |
payloadType,
|
||
int8u |
queryJitter,
|
||
const EmberAfOtaImageId * |
id
|
||
) |
Ota Server Send Image Notify.
This callback is an indication to the OTA server that it should send out notification about an OTA file that is available for download.
- Parameters
-
dest
The destination of the image notify message. May be a broadcast address. Ver.: always endpoint
The destination endpoint of the image notify message. May be a broadcast endpoint. Ver.: always payloadType
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 queryJitter
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 id
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
◆ emberAfOtaServerUpgradeEndRequestCallback()
boolean emberAfOtaServerUpgradeEndRequestCallback | ( | EmberNodeId |
source,
|
int8u |
status,
|
||
int32u * |
returnValue,
|
||
const EmberAfOtaImageId * |
imageId
|
||
) |
Ota Server Upgrade End Request.
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.
- Parameters
-
source
The node ID of the device that sent the upgrade end request. Ver.: always status
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 returnValue
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 imageId
This variable indicates the software version that the client successfully downloaded and is asking to upgrade to. Ver.: always
◆ emberAfOtaStorageCheckTempDataCallback()
EmberAfOtaStorageStatus emberAfOtaStorageCheckTempDataCallback | ( | int32u * |
currentOffset,
|
int32u * |
totalImageSize,
|
||
EmberAfOtaImageId * |
newFileInfo
|
||
) |
Ota Storage Check Temp Data.
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.
- Parameters
-
currentOffset
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 totalImageSize
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 newFileInfo
This is the image id of the temporary file data stored in the storage device. Ver.: always
◆ emberAfOtaStorageClearTempDataCallback()
EmberAfOtaStorageStatus emberAfOtaStorageClearTempDataCallback | ( | void |
|
) |
Ota Storage Clear Temp Data.
This function clears any existing temp data that was downloaed. It is used immediately prior to downloading a raw image over the air.
◆ emberAfOtaStorageCloseCallback()
void emberAfOtaStorageCloseCallback | ( | void |
|
) |
Ota Storage Close.
This callback shuts down the ZigBee Over-the-air storage module.
◆ emberAfOtaStorageDriverDownloadFinishCallback()
void emberAfOtaStorageDriverDownloadFinishCallback | ( | int32u |
offset
|
) |
Ota Storage Driver Download Finish.
This callback defines the low-level means by which a device records the final offset value of the download image.
- Parameters
-
offset
The value of the final offset of the image download. Ver.: always
◆ emberAfOtaStorageDriverInitCallback()
boolean emberAfOtaStorageDriverInitCallback | ( | void |
|
) |
Ota Storage Driver Init.
The initialization code for the OTA storage driver.
◆ emberAfOtaStorageDriverInvalidateImageCallback()
EmberAfOtaStorageStatus emberAfOtaStorageDriverInvalidateImageCallback | ( | void |
|
) |
Ota Storage Driver Invalidate Image.
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.
◆ emberAfOtaStorageDriverPrepareToResumeDownloadCallback()
EmberAfOtaStorageStatus emberAfOtaStorageDriverPrepareToResumeDownloadCallback | ( | void |
|
) |
Ota Storage Driver Prepare To Resume Download.
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.
◆ emberAfOtaStorageDriverReadCallback()
boolean emberAfOtaStorageDriverReadCallback | ( | int32u |
offset,
|
int32u |
length,
|
||
int8u * |
returnData
|
||
) |
Ota Storage Driver Read.
This callback defines the low-level means by which a device reads from the OTA storage device.
- Parameters
-
offset
The address offset from the start of the storage device where data is to be read. Ver.: always length
The length of the data to be read from the storage device. Ver.: always returnData
A pointer where the data read from the device should be written to. Ver.: always
◆ emberAfOtaStorageDriverRetrieveLastStoredOffsetCallback()
int32u emberAfOtaStorageDriverRetrieveLastStoredOffsetCallback | ( | void |
|
) |
Ota Storage Driver Retrieve Last Stored Offset.
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.
◆ emberAfOtaStorageDriverWriteCallback()
boolean emberAfOtaStorageDriverWriteCallback | ( | const int8u * |
dataToWrite,
|
int32u |
offset,
|
||
int32u |
length
|
||
) |
Ota Storage Driver Write.
This callback defines the low-level means by which a device reads from the OTA storage device.
- Parameters
-
dataToWrite
A pointer to the data that will be written to the storage device. Ver.: always offset
The address offset from the start of the storage device where data will be written. Ver.: always length
The length of the data to be written to the storage device. Ver.: always
◆ emberAfOtaStorageFinishDownloadCallback()
EmberAfOtaStorageStatus emberAfOtaStorageFinishDownloadCallback | ( | int32u |
offset
|
) |
Ota Storage Finish Download.
This function indicates to the storage module that the download has finished.
- Parameters
-
offset
The final offset of the downloaded file (i.e. the total size) Ver.: always
◆ emberAfOtaStorageGetCountCallback()
int8u emberAfOtaStorageGetCountCallback | ( | void |
|
) |
Ota Storage Get Count.
This callback returns the total number of ZigBee Over-the-air upgrade images stored in the storage module.
◆ emberAfOtaStorageGetFullHeaderCallback()
EmberAfOtaStorageStatus emberAfOtaStorageGetFullHeaderCallback | ( | const EmberAfOtaImageId * |
id,
|
EmberAfOtaHeader * |
returnData
|
||
) |
Ota Storage Get Full Header.
This callback populates the EmberAfOtaHeader structure pointed to by the returnData with data about the OTA file stored in the storage module.
- Parameters
-
id
This is a pointer to the image id for the OTA file to retrieve information about. Ver.: always returnData
This is a pointer to the location of the structure that will be populated with data. Ver.: always
◆ emberAfOtaStorageGetTotalImageSizeCallback()
int32u emberAfOtaStorageGetTotalImageSizeCallback | ( | const EmberAfOtaImageId * |
id
|
) |
Ota Storage Get Total Image Size.
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.
- Parameters
-
id
A pointer to the image identifier for the OTA file to retrieve information for. Ver.: always
◆ emberAfOtaStorageInitCallback()
EmberAfOtaStorageStatus emberAfOtaStorageInitCallback | ( | void |
|
) |
Ota Storage Init.
This callback initializes the ZigBee Over-the-air storage module.
◆ emberAfOtaStorageIteratorFirstCallback()
EmberAfOtaImageId emberAfOtaStorageIteratorFirstCallback | ( | void |
|
) |
Ota Storage Iterator First.
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.
◆ emberAfOtaStorageIteratorNextCallback()
EmberAfOtaImageId emberAfOtaStorageIteratorNextCallback | ( | void |
|
) |
Ota Storage Iterator Next.
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.
◆ emberAfOtaStorageReadImageDataCallback()
EmberAfOtaStorageStatus emberAfOtaStorageReadImageDataCallback | ( | const EmberAfOtaImageId * |
id,
|
int32u |
offset,
|
||
int32u |
length,
|
||
int8u * |
returnData,
|
||
int32u * |
returnedLength
|
||
) |
Ota Storage Read Image Data.
This callback reads data from the specified OTA file and returns that data to the caller.
- Parameters
-
id
This is a pointer to the image id for the OTA file to retrieve data from. Ver.: always offset
This is the offset relative to the start of the image where the data should be read from. Ver.: always length
This is the length of data that will be read. Ver.: always returnData
This is a pointer to where the data read out of the file will be written to Ver.: always returnedLength
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
◆ emberAfOtaStorageSearchCallback()
EmberAfOtaImageId emberAfOtaStorageSearchCallback | ( | int16u |
manufacturerId,
|
int16u |
imageTypeId,
|
||
const int16u * |
hardwareVersion
|
||
) |
Ota Storage Search.
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.
- Parameters
-
manufacturerId
The ZigBee assigned identifier of the manufacturer contained in the OTA image being searched for. Ver.: always imageTypeId
The image type identifier contained in the OTA image being searched for. Ver.: always hardwareVersion
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
◆ emberAfOtaStorageWriteTempDataCallback()
EmberAfOtaStorageStatus emberAfOtaStorageWriteTempDataCallback | ( | int32u |
offset,
|
int32u |
length,
|
||
const int8u * |
data
|
||
) |
Ota Storage Write Temp Data.
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.
- Parameters
-
offset
The location within the download image file where to write the data. Ver.: always length
The length of data to write. Ver.: always data
A pointer to the temporary data that will be written to the storage device. Ver.: always
◆ emberAfOutgoingPacketFilterCallback()
EmberPacketAction emberAfOutgoingPacketFilterCallback | ( | EmberZigbeePacketType |
packetType,
|
int8u * |
packetData,
|
||
int8u * |
size_p,
|
||
void * |
data
|
||
) |
Outgoing Packet Filter.
** 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.
- Parameters
-
packetType
the type of packet and associated protocol layer Ver.: always packetData
flat buffer containing the packet data associated with the packet type Ver.: always size_p
a pointer containing the size value of the packet Ver.: always data
auxillary data included with the packet Ver.: always
◆ emberAfPartnerLinkKeyExchangeRequestCallback()
EmberZdoStatus emberAfPartnerLinkKeyExchangeRequestCallback | ( | EmberEUI64 |
partner
|
) |
Partner Link Key Exchange Request.
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.
- Parameters
-
partner
The EUI of the remote node. Ver.: always
◆ emberAfPartnerLinkKeyExchangeResponseCallback()
void emberAfPartnerLinkKeyExchangeResponseCallback | ( | EmberNodeId |
sender,
|
EmberZdoStatus |
status
|
||
) |
Partner Link Key Exchange Response.
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.
- Parameters
-
sender
The EUI of the remote node. Ver.: always status
The ZDO response status. Ver.: always
◆ emberAfPerformingKeyEstablishmentCallback()
boolean emberAfPerformingKeyEstablishmentCallback | ( | void |
|
) |
Performing Key Establishment.
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.
◆ emberAfPostAttributeChangeCallback()
void emberAfPostAttributeChangeCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeId |
attributeId,
|
||
int8u |
mask,
|
||
int16u |
manufacturerCode,
|
||
int8u |
type,
|
||
int8u |
size,
|
||
int8u * |
value
|
||
) |
Post Attribute Change.
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.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always attributeId
Ver.: always mask
Ver.: always manufacturerCode
Ver.: always type
Ver.: always size
Ver.: always value
Ver.: always
◆ emberAfPostEm4ResetCallback()
void emberAfPostEm4ResetCallback | ( | void |
|
) |
Post Em4 Reset.
A callback called by application framework, and implemented by em4 plugin
◆ emberAfPreAttributeChangeCallback()
EmberAfStatus emberAfPreAttributeChangeCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeId |
attributeId,
|
||
int8u |
mask,
|
||
int16u |
manufacturerCode,
|
||
int8u |
type,
|
||
int8u |
size,
|
||
int8u * |
value
|
||
) |
Pre Attribute Change.
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.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always attributeId
Ver.: always mask
Ver.: always manufacturerCode
Ver.: always type
Ver.: always size
Ver.: always value
Ver.: always
◆ emberAfPreCliSendCallback()
boolean emberAfPreCliSendCallback | ( | EmberApsFrame * |
apsFrame,
|
EmberNodeId |
source,
|
||
EmberNodeId |
destination,
|
||
int8u * |
message,
|
||
int16u |
messageLength
|
||
) |
Pre Cli Send.
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.
- Parameters
-
apsFrame
The structure containing the APS frame Ver.: always source
Source Node Id Ver.: always destination
Destintion Node Id Ver.: always message
Pointer to the message payload Ver.: always messageLength
Length of the message payload Ver.: always
Referenced by
emAfCliSendCommand()
.
◆ emberAfPreCommandReceivedCallback()
boolean emberAfPreCommandReceivedCallback | ( | EmberAfClusterCommand * |
cmd
|
) |
Pre Command Received.
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.
- Parameters
-
cmd
Ver.: always
◆ emberAfPreMessageReceivedCallback()
boolean emberAfPreMessageReceivedCallback | ( | EmberAfIncomingMessage * |
incomingMessage
|
) |
Pre Message Received.
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.
- Parameters
-
incomingMessage
Ver.: always
◆ emberAfPreMessageSendCallback()
boolean emberAfPreMessageSendCallback | ( | EmberAfMessageStruct * |
messageStruct,
|
EmberStatus * |
status
|
||
) |
Pre Message Send.
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.
- Parameters
-
messageStruct
The structure containing the parameters of the APS message to be sent. Ver.: always status
A pointer to the status code value that will be returned to the caller. Ver.: always
◆ emberAfPreNcpResetCallback()
void emberAfPreNcpResetCallback | ( | void |
|
) |
Pre Ncp Reset.
This function will be called prior to the reset of the NCP by the host.
◆ emberAfPreZDOMessageReceivedCallback()
boolean emberAfPreZDOMessageReceivedCallback | ( | EmberNodeId |
emberNodeId,
|
EmberApsFrame * |
apsFrame,
|
||
int8u * |
message,
|
||
int16u |
length
|
||
) |
Pre ZDO Message Received.
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.
- Parameters
-
emberNodeId
Ver.: always apsFrame
Ver.: always message
Ver.: always length
Ver.: always
◆ emberAfReadAttributesResponseCallback()
boolean emberAfReadAttributesResponseCallback | ( | EmberAfClusterId |
clusterId,
|
int8u * |
buffer,
|
||
int16u |
bufLen
|
||
) |
Read Attributes Response.
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.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always buffer
Buffer containing the list of read attribute status records. Ver.: always bufLen
The length in bytes of the list. Ver.: always
◆ emberAfReadReportingConfigurationCommandCallback()
boolean emberAfReadReportingConfigurationCommandCallback | ( | const EmberAfClusterCommand * |
cmd
|
) |
Read Reporting Configuration Command.
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.
- Parameters
-
cmd
Ver.: always
◆ emberAfReadReportingConfigurationResponseCallback()
boolean emberAfReadReportingConfigurationResponseCallback | ( | EmberAfClusterId |
clusterId,
|
int8u * |
buffer,
|
||
int16u |
bufLen
|
||
) |
Read Reporting Configuration Response.
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.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always buffer
Buffer containing the list of attribute reporting configuration records. Ver.: always bufLen
The length in bytes of the list. Ver.: always
◆ emberAfRegistrationAbortCallback()
void emberAfRegistrationAbortCallback | ( | void |
|
) |
Registration Abort.
This callback is called when the device should abort the registration process.
◆ emberAfRegistrationCallback()
void emberAfRegistrationCallback | ( | boolean |
success
|
) |
Registration.
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.
- Parameters
-
success
true if registration succeeded, false otherwise. Ver.: always
◆ emberAfRegistrationStartCallback()
EmberStatus emberAfRegistrationStartCallback | ( | void |
|
) |
Registration Start.
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.
Referenced by
optionRegisterCommand()
.
◆ emberAfRemoteDeleteBindingPermissionCallback()
EmberStatus emberAfRemoteDeleteBindingPermissionCallback | ( | int8u |
index
|
) |
Remote Delete Binding Permission.
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.
- Parameters
-
index
index to an Ember binding table entry Ver.: always
◆ emberAfRemoteSetBindingPermissionCallback()
EmberStatus emberAfRemoteSetBindingPermissionCallback | ( | const EmberBindingTableEntry * |
entry
|
) |
Remote Set Binding Permission.
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.
- Parameters
-
entry
Ember Binding Tablet Entry Ver.: always
◆ emberAfRemoveFromCurrentAppTasksCallback()
void emberAfRemoveFromCurrentAppTasksCallback | ( | EmberAfApplicationTask |
tasks
|
) |
Remove From Current App Tasks.
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.
- Parameters
-
tasks
Ver.: always
◆ emberAfReportAttributesCallback()
boolean emberAfReportAttributesCallback | ( | EmberAfClusterId |
clusterId,
|
int8u * |
buffer,
|
||
int16u |
bufLen
|
||
) |
Report Attributes.
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.
- Parameters
-
clusterId
The cluster identifier of this command. Ver.: always buffer
Buffer containing the list of attribute report records. Ver.: always bufLen
The length in bytes of the list. Ver.: always
◆ emberAfReportingAttributeChangeCallback()
void emberAfReportingAttributeChangeCallback | ( | int8u |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeId |
attributeId,
|
||
int8u |
mask,
|
||
int16u |
manufacturerCode,
|
||
EmberAfAttributeType |
type,
|
||
int8u * |
data
|
||
) |
Reporting Attribute Change.
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.
- Parameters
-
endpoint
Ver.: always clusterId
Ver.: always attributeId
Ver.: always mask
Ver.: always manufacturerCode
Ver.: always type
Ver.: always data
Ver.: always
◆ emberAfScanCompleteCallback()
void emberAfScanCompleteCallback | ( | int8u |
channel,
|
EmberStatus |
status
|
||
) |
Scan Complete.
This is called by the low-level stack code when an 802.15.4 active scan completes.
- Parameters
-
channel
If the status indicates an error, the channel on which the error occurred. Otherwise it is undefined for EMBER_SUCCESS. Ver.: always status
The status of the scan. Ver.: always
◆ emberAfScanErrorCallback()
void emberAfScanErrorCallback | ( | EmberStatus |
status
|
) |
Scan Error.
This is called by the framework on behalf of the form-and-join library to notify the application if an error occurs while scanning. See form-and-join documentation for more information.
- Parameters
-
status
The status of the scan. Ver.: always
◆ emberAfSecurityInitCallback()
void emberAfSecurityInitCallback | ( | EmberInitialSecurityState * |
state,
|
EmberExtendedSecurityBitmask * |
extended,
|
||
boolean |
trustCenter
|
||
) |
Security Init.
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.
- Parameters
-
state
Ver.: always extended
Ver.: always trustCenter
Ver.: always
◆ emberAfSetDefaultPollControlCallback()
void emberAfSetDefaultPollControlCallback | ( | EmberAfEventPollControl |
control
|
) |
Set Default Poll Control.
This function will set the default poll control for the current network to control whether or not it can long poll.
- Parameters
-
control
Ver.: always
◆ emberAfSetDefaultSleepControlCallback()
void emberAfSetDefaultSleepControlCallback | ( |
EmberAfEventSleepControl
|
control
|
) |
Set Default Sleep Control.
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.
- Parameters
-
control
Ver.: always
◆ emberAfSetFormAndJoinExtendedPanIdCallback()
void emberAfSetFormAndJoinExtendedPanIdCallback | ( | const int8u * |
extendedPanId
|
) |
Set Form And Join Extended Pan Id.
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.
- Parameters
-
extendedPanId
Ver.: always
Referenced by
networkExtendedPanIdCommand()
.
◆ emberAfSetLongPollIntervalMsCallback()
void emberAfSetLongPollIntervalMsCallback | ( | int32u |
longPollIntervalMs
|
) |
Set Long Poll Interval Ms.
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.
- Parameters
-
longPollIntervalMs
Ver.: always
◆ emberAfSetLongPollIntervalQsCallback()
void emberAfSetLongPollIntervalQsCallback | ( | int32u |
longPollIntervalQs
|
) |
Set Long Poll Interval Qs.
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.
- Parameters
-
longPollIntervalQs
Ver.: always
◆ emberAfSetShortPollIntervalMsCallback()
void emberAfSetShortPollIntervalMsCallback | ( | int16u |
shortPollIntervalMs
|
) |
Set Short Poll Interval Ms.
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.
- Parameters
-
shortPollIntervalMs
Ver.: always
◆ emberAfSetShortPollIntervalQsCallback()
void emberAfSetShortPollIntervalQsCallback | ( | int16u |
shortPollIntervalQs
|
) |
Set Short Poll Interval Qs.
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.
- Parameters
-
shortPollIntervalQs
Ver.: always
◆ emberAfSetSourceRouteOverheadCallback()
void emberAfSetSourceRouteOverheadCallback | ( | EmberNodeId |
destination,
|
int8u |
overhead
|
||
) |
Set Source Route Overhead.
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.
- Parameters
-
destination
The node id of the destination Ver.: always overhead
The overhead in bytes Ver.: always
◆ emberAfSetTimeCallback()
void emberAfSetTimeCallback | ( | int32u |
utcTime
|
) |
Set Time.
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.
- Parameters
-
utcTime
Ver.: always
◆ emberAfSetWakeTimeoutBitmaskCallback()
void emberAfSetWakeTimeoutBitmaskCallback | ( | EmberAfApplicationTask |
tasks
|
) |
Set Wake Timeout Bitmask.
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.
- Parameters
-
tasks
Ver.: always
◆ emberAfSetWakeTimeoutMsCallback()
void emberAfSetWakeTimeoutMsCallback | ( | int16u |
wakeTimeoutMs
|
) |
Set Wake Timeout Ms.
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.
- Parameters
-
wakeTimeoutMs
Ver.: always
◆ emberAfSetWakeTimeoutQsCallback()
void emberAfSetWakeTimeoutQsCallback | ( | int16u |
wakeTimeoutQs
|
) |
Set Wake Timeout Qs.
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.
- Parameters
-
wakeTimeoutQs
Ver.: always
◆ emberAfStackStatusCallback()
boolean emberAfStackStatusCallback | ( | EmberStatus |
status
|
) |
Stack Status.
This function is called by the application framework from the stack status handler. This callbacks provides applications an opportunity to be notified of changes to the stack status and take appropriate action. The return code from this callback is ignored by the framework. The framework will always process the stack status after the callback returns.
- Parameters
-
status
Ver.: always
◆ emberAfStartMoveCallback()
boolean emberAfStartMoveCallback | ( | void |
|
) |
Start Move.
This function is called to initiate the process for a device to move (rejoin) to a new parent.
◆ emberAfStartSearchForJoinableNetworkCallback()
EmberStatus emberAfStartSearchForJoinableNetworkCallback | ( | void |
|
) |
Start Search For Joinable Network.
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.
◆ emberAfStopMoveCallback()
void emberAfStopMoveCallback | ( | void |
|
) |
Stop Move.
This function is called to cancel a previously scheduled move (rejoin) to a new parent.
◆ emberAfTrustCenterJoinCallback()
void emberAfTrustCenterJoinCallback | ( | EmberNodeId |
newNodeId,
|
EmberEUI64 |
newNodeEui64,
|
||
EmberNodeId |
parentOfNewNode,
|
||
EmberDeviceUpdate |
status,
|
||
EmberJoinDecision |
decision
|
||
) |
Trust Center Join.
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.
- Parameters
-
newNodeId
Ver.: always newNodeEui64
Ver.: always parentOfNewNode
Ver.: always status
Ver.: always decision
Ver.: always
◆ emberAfTrustCenterKeepaliveAbortCallback()
void emberAfTrustCenterKeepaliveAbortCallback | ( | void |
|
) |
Trust Center Keepalive Abort.
This callback is called when the device should abort the trust center keepalive process.
◆ emberAfTrustCenterKeepaliveUpdateCallback()
void emberAfTrustCenterKeepaliveUpdateCallback | ( | boolean |
registrationComplete
|
) |
Trust Center Keepalive Update.
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.
- Parameters
-
registrationComplete
Ver.: always
◆ emberAfUnusedPanIdFoundCallback()
void emberAfUnusedPanIdFoundCallback | ( | EmberPanId |
panId,
|
int8u |
channel
|
||
) |
Unused Pan Id Found.
This is called by the framework on behalf of the form-and-join library to notify the application of the PAN id and channel found following a call to ::emberScanForUnusedPanId(). See form-and-join documentation for more information.
- Parameters
-
panId
Ver.: always channel
Ver.: always
◆ emberAfWriteAttributesResponseCallback()
boolean emberAfWriteAttributesResponseCallback | ( | EmberAfClusterId |
clusterId,
|
int8u * |
buffer,
|
||
int16u |
bufLen
|
||
) |
Write Attributes Response.
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.
- Parameters
-
clusterId
The cluster identifier of this response. Ver.: always buffer
Buffer containing the list of write attribute status records. Ver.: always bufLen
The length in bytes of the list. Ver.: always
◆ emberAfZigbeeKeyEstablishmentCallback()
void emberAfZigbeeKeyEstablishmentCallback | ( | EmberEUI64 |
partner,
|
EmberKeyStatus |
status
|
||
) |
Zigbee Key Establishment.
A callback to the application to notify it of the status of the request for a Link Key.
- Parameters
-
partner
partner The IEEE address of the partner device. Or all zeros if the Key establishment failed. Ver.: always status
The status of the key establishment. Ver.: always