General Application Framework Interface
Macros |
|
#define | CONFIGURATION_HEADER "app/framework/util/config.h" |
Attribute Storage |
|
enum |
{
EMBER_AF_DATA_TYPE_ANALOG = 0, EMBER_AF_DATA_TYPE_DISCRETE = 1, EMBER_AF_DATA_TYPE_NONE = 2 } |
EmberAfAttributeMetadata * | emberAfLocateAttributeMetadata (uint8_t endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, uint8_t mask, uint16_t manufacturerCode) |
locate attribute metadata
|
|
bool | emberAfContainsAttribute (uint8_t endpoint, EmberAfClusterId clusterId, EmberAfAttributeId attributeId, uint8_t mask, uint16_t manufacturerCode) |
Returns true if the attribute exists.
|
|
bool | emberAfContainsClusterWithMfgCode (uint8_t endpoint, EmberAfClusterId clusterId, uint16_t manufacturerCode) |
Returns true if endpoint contains a cluster, checking for mfg code.
|
|
bool | emberAfContainsCluster (uint8_t endpoint, EmberAfClusterId clusterId) |
Returns true if endpoint contains the ZCL cluster with specified id.
|
|
bool | emberAfContainsServerWithMfgCode (uint8_t endpoint, EmberAfClusterId clusterId, uint16_t manufacturerCode) |
Returns true if endpoint has cluster server, checking for mfg code.
|
|
bool | emberAfContainsServer (uint8_t endpoint, EmberAfClusterId clusterId) |
Returns true if endpoint contains the ZCL server with specified id.
|
|
bool | emberAfContainsClientWithMfgCode (uint8_t endpoint, EmberAfClusterId clusterId, uint16_t manufacturerCode) |
Returns true if endpoint contains cluster client.
|
|
bool | emberAfContainsClient (uint8_t endpoint, EmberAfClusterId clusterId) |
Returns true if endpoint contains the ZCL client with specified id.
|
|
EmberAfStatus | emberAfWriteAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint8_t mask, uint8_t *dataPtr, EmberAfAttributeType dataType) |
write an attribute, performing all the checks.
|
|
EmberAfStatus | emberAfWriteServerAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint8_t *dataPtr, EmberAfAttributeType dataType) |
write a cluster server attribute.
|
|
EmberAfStatus | emberAfWriteClientAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint8_t *dataPtr, EmberAfAttributeType dataType) |
write a cluster client attribute.
|
|
EmberAfStatus | emberAfWriteManufacturerSpecificServerAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint16_t manufacturerCode, uint8_t *dataPtr, EmberAfAttributeType dataType) |
write a manufacturer specific server attribute.
|
|
EmberAfStatus | emberAfWriteManufacturerSpecificClientAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint16_t manufacturerCode, uint8_t *dataPtr, EmberAfAttributeType dataType) |
write a manufacturer specific client attribute.
|
|
EmberAfStatus | emberAfVerifyAttributeWrite (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint8_t mask, uint16_t manufacturerCode, uint8_t *dataPtr, EmberAfAttributeType dataType) |
Function that test the success of attribute write.
|
|
EmberAfStatus | emberAfReadAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint8_t mask, uint8_t *dataPtr, uint8_t readLength, EmberAfAttributeType *dataType) |
Read the attribute value, performing all the checks.
|
|
EmberAfStatus | emberAfReadServerAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint8_t *dataPtr, uint8_t readLength) |
Read the server attribute value, performing all the checks.
|
|
EmberAfStatus | emberAfReadClientAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint8_t *dataPtr, uint8_t readLength) |
Read the client attribute value, performing all the checks.
|
|
EmberAfStatus | emberAfReadManufacturerSpecificServerAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint16_t manufacturerCode, uint8_t *dataPtr, uint8_t readLength) |
Read the manufacturer-specific server attribute value, performing all checks.
|
|
EmberAfStatus | emberAfReadManufacturerSpecificClientAttribute (uint8_t endpoint, EmberAfClusterId cluster, EmberAfAttributeId attributeID, uint16_t manufacturerCode, uint8_t *dataPtr, uint8_t readLength) |
Read the manufacturer-specific client attribute value, performing all checks.
|
|
uint8_t | emberAfGetDataSize (uint8_t dataType) |
this function returns the size of the ZCL data in bytes.
|
|
uint8_t | emberAfEndpointFromIndex (uint8_t index) |
Macro that takes index of endpoint, and returns Zigbee endpoint.
|
|
uint8_t | emberAfIndexFromEndpoint (uint8_t endpoint) |
uint8_t | emberAfIndexFromEndpointIncludingDisabledEndpoints (uint8_t endpoint) |
uint8_t | emberAfFindClusterClientEndpointIndex (uint8_t endpoint, EmberAfClusterId clusterId) |
uint8_t | emberAfFindClusterServerEndpointIndex (uint8_t endpoint, EmberAfClusterId clusterId) |
uint8_t | emberAfNetworkIndexFromEndpoint (uint8_t endpoint) |
Returns the network index of a given endpoint.
|
|
uint8_t | emberAfEndpointCount (void) |
Returns the total number of endpoints (dynamic and pre-compiled).
|
|
uint8_t | emberAfFixedEndpointCount (void) |
Returns the number of pre-compiled endpoints.
|
|
uint8_t | emberAfGetAttributeAnalogOrDiscreteType (uint8_t dataType) |
Returns the type of the attribute, either ANALOG, DISCRETE or NONE.
|
|
bool | emberAfIsTypeSigned ( EmberAfAttributeType dataType) |
Returns true if type is signed, false otherwise.
|
|
uint32_t | emberAfGetInt32u (const uint8_t *message, uint16_t currentIndex, uint16_t msgLen) |
Function that extracts a 32-bit integer from the message buffer.
|
|
uint32_t | emberAfGetInt24u (const uint8_t *message, uint16_t currentIndex, uint16_t msgLen) |
Function that extracts a 24-bit integer from the message buffer.
|
|
uint16_t | emberAfGetInt16u (const uint8_t *message, uint16_t currentIndex, uint16_t msgLen) |
Function that extracts a 16-bit integer from the message buffer.
|
|
uint8_t * | emberAfGetString (uint8_t *message, uint16_t currentIndex, uint16_t msgLen) |
Function that extracts a ZCL string from the message buffer.
|
|
uint8_t * | emberAfGetLongString (uint8_t *message, uint16_t currentIndex, uint16_t msgLen) |
Function that extracts a ZCL long string from the message buffer.
|
|
uint8_t | emberAfGetDate (uint8_t *message, uint16_t currentIndex, uint16_t msgLen, EmberAfDate *destination) |
macro that returns true if the cluster is in the manufacturer specific range
|
|
void | emberAfCopyInt16u (uint8_t *data, uint16_t index, uint16_t x) |
function that copies a uint16_t value into a buffer
|
|
void | emberAfCopyInt24u (uint8_t *data, uint16_t index, uint32_t x) |
function that copies a uint24_t value into a buffer
|
|
void | emberAfCopyInt32u (uint8_t *data, uint16_t index, uint32_t x) |
function that copies a uint32_t value into a buffer
|
|
void | emberAfCopyString (uint8_t *dest, uint8_t *src, uint8_t size) |
macro that returns true if the cluster is in the manufacturer specific range
|
|
void | emberAfCopyLongString (uint8_t *dest, uint8_t *src, uint16_t size) |
macro that returns true if the cluster is in the manufacturer specific range
|
|
uint8_t | emberAfStringLength (const uint8_t *buffer) |
macro that returns true if the cluster is in the manufacturer specific range
|
|
uint16_t | emberAfLongStringLength (const uint8_t *buffer) |
macro that returns true if the cluster is in the manufacturer specific range
|
|
uint16_t | emberAfAttributeValueSize ( EmberAfAttributeType dataType, const uint8_t *buffer) |
macro that returns true if the cluster is in the manufacturer specific range
|
|
#define | emberAfClusterIsManufacturerSpecific (cluster) ((cluster)->clusterId >= 0xFC00) |
macro that returns true if the cluster is in the manufacturer specific range
|
|
#define | emberAfAttributeIsReadOnly (metadata) (((metadata)->mask & ATTRIBUTE_MASK_WRITABLE) == 0) |
macro that returns true if attribute is read only.
|
|
#define | emberAfAttributeIsClient (metadata) (((metadata)->mask & ATTRIBUTE_MASK_CLIENT) != 0) |
macro that returns true if client attribute, and false if server.
|
|
#define | emberAfAttributeIsTokenized (metadata) (((metadata)->mask & ATTRIBUTE_MASK_TOKENIZE) != 0) |
macro that returns true if attribute is saved to token.
|
|
#define | emberAfAttributeIsExternal (metadata) (((metadata)->mask & ATTRIBUTE_MASK_EXTERNAL_STORAGE) != 0) |
macro that returns true if attribute is saved in external storage.
|
|
#define | emberAfAttributeIsSingleton (metadata) (((metadata)->mask & ATTRIBUTE_MASK_SINGLETON) != 0) |
macro that returns true if attribute is a singleton
|
|
#define | emberAfAttributeIsManufacturerSpecific (metadata) (((metadata)->mask & ATTRIBUTE_MASK_MANUFACTURER_SPECIFIC) != 0) |
macro that returns true if attribute is manufacturer specific
|
|
#define | emberAfAttributeSize (metadata) ((metadata)->size) |
macro that returns size of attribute in bytes.
|
|
#define | emberAfProfileIdFromIndex (index) (emAfEndpoints[(index)].profileId) |
Macro that takes index of endpoint, and returns profile Id for it.
|
|
#define | emberAfDeviceIdFromIndex (index) (emAfEndpoints[(index)].deviceId) |
Macro that takes index of endpoint, and returns device Id for it.
|
|
#define | emberAfDeviceVersionFromIndex (index) (emAfEndpoints[(index)].deviceVersion) |
Macro that takes index of endpoint, and returns device version for it.
|
|
#define | emberAfNetworkIndexFromEndpointIndex (index) (emAfEndpoints[(index)].networkIndex) |
Macro that takes index of endpoint, and returns network index for it.
|
|
#define | emberAfPrimaryProfileId () emberAfProfileIdFromIndex (0) |
Macro that returns primary profile ID.
|
|
#define | emberAfPrimaryEndpoint () (emAfEndpoints[0].endpoint) |
Macro that returns the primary endpoint.
|
|
#define | emberAfGetInt8u (message, currentIndex, msgLen) message[currentIndex] |
Macro for consistency, that extracts single byte out of the message.
|
|
#define | emberAfCopyInt8u (data, index, x) (data[index] = (x)) |
Macro for consistency that copies a uint8_t from variable into buffer.
|
Device Control |
|
bool | emberAfIsDeviceEnabled (uint8_t endpoint) |
Function that checks if endpoint is enabled.
|
|
bool | emberAfIsDeviceIdentifying (uint8_t endpoint) |
Function that checks if endpoint is identifying.
|
|
void | emberAfSetDeviceEnabled (uint8_t endpoint, bool enabled) |
Function that enables or disables an endpoint.
|
Miscellaneous |
|
const EmberAfOtaImageId | emberAfInvalidImageId |
This variable defines an invalid image id. It is used to determine if a returned
EmberAfOtaImageId
is valid or not. This is done by passing the data to the function emberAfIsOtaImageIdValid().
|
|
bool | emberAfEndpointEnableDisable (uint8_t endpoint, bool enable) |
Enable/disable endpoints.
|
|
bool | emberAfEndpointIndexIsEnabled (uint8_t index) |
Determine if an endpoint at the specified index is enabled or disabled.
|
|
bool | emberAfIsThisDataTypeAStringType ( EmberAfAttributeType dataType) |
Returns true if a given ZCL data type is a string type.
|
|
bool | emberAfIsStringAttributeType ( EmberAfAttributeType attributeType) |
Returns true if the given attribute type is a string.
|
|
bool | emberAfIsLongStringAttributeType ( EmberAfAttributeType attributeType) |
Returns true if the given attribute type is a long string.
|
|
uint8_t | emberAfNextSequence (void) |
Increments the ZCL sequence number and returns the value.
|
|
uint8_t | emberAfGetLastSequenceNumber (void) |
Retrieves the last sequence number that was used.
|
|
int8_t | emberAfCompareValues (uint8_t *val1, uint8_t *val2, uint8_t len, bool signedNumber) |
Simple integer comparison function. Compares two values of a known length as integers. Signed integer comparison are supported for numbers with length of 4 (bytes) or less. The integers are in native endianness.
|
|
void | emberAfGetEui64 ( EmberEUI64 returnEui64) |
populates the passed EUI64 with the local EUI64 MAC address.
|
|
EmberNodeId | emberAfGetNodeId (void) |
Returns the node ID of the local node.
|
|
EmberStatus | emberAfGenerateRandomKey ( EmberKeyData *result) |
Generates a random key (link, network, or master).
|
|
EmberPanId | emberAfGetPanId (void) |
Returns the PAN ID of the local node.
|
|
uint8_t | emberAfGetRadioChannel (void) |
Returns the radioChannel of the current network.
|
|
uint8_t | emberAfGetBindingIndex (void) |
This indicates a new image verification is taking place.
|
|
uint8_t | emberAfGetAddressIndex (void) |
This indicates a new image verification is taking place.
|
|
EmberNetworkStatus | emberAfNetworkState (void) |
Returns the current network state. This call caches the results on the host to prevent frequent EZSP transactions.
|
|
EmberStatus | emberAfGetNetworkParameters ( EmberNodeType *nodeType, EmberNetworkParameters *parameters) |
Returns the current network parameters.
|
|
EmberStatus | emberAfGetNodeType ( EmberNodeType *nodeType) |
Returns the current node type.
|
|
EmberStatus | emberAfPermitJoin (uint8_t duration, bool broadcastMgmtPermitJoin) |
Enables local permit join and optionally broadcasts the ZDO Mgmt_Permit_Join_req message. This API can be called from any device type and still return EMBER_SUCCESS. If the API is called from an end device, the permit association bit will just be left off.
|
|
EmberStatus | emberAfBroadcastPermitJoin (uint8_t duration) |
Enables local permit join and broadcasts the ZDO Mgmt_Permit_Join_req message. This API can be called from any device type and still return EMBER_SUCCESS. If the API is called from an end device, the permit association bit will just be left off.
|
|
#define | EMBER_AF_NEW_IMAGE_VERIFICATION true |
This indicates a new image verification is taking place.
|
|
#define | EMBER_AF_CONTINUE_IMAGE_VERIFY false |
This indicates the continuation of an image verification already in progress.
|
|
#define | EMBER_AF_ZCL_SEQUENCE_MASK 0x7F |
The mask applied by
emberAfNextSequence
when generating ZCL sequence numbers.
|
|
#define | EMBER_AF_MESSAGE_TAG_MASK 0x7F |
The mask applied to generated message tags used by the framework when sending messages via EZSP. Customers who call ezspSend functions directly must use message tags outside this mask.
|
|
#define | EMBER_AF_REJOIN_DUE_TO_END_DEVICE_MOVE 0xA0 |
This indicates a new image verification is taking place.
|
|
#define | EMBER_AF_REJOIN_DUE_TO_TC_KEEPALIVE_FAILURE 0xA1 |
This indicates a new image verification is taking place.
|
|
#define | EMBER_AF_REJOIN_DUE_TO_CLI_COMMAND 0xA2 |
This indicates a new image verification is taking place.
|
|
#define | EMBER_AF_REJOIN_DUE_TO_WWAH_CONNECTIVITY_MANAGER 0xA3 |
This indicates a new image verification is taking place.
|
|
#define | EMBER_AF_REJOIN_FIRST_REASON EMBER_AF_REJOIN_DUE_TO_END_DEVICE_MOVE |
This indicates a new image verification is taking place.
|
|
#define | EMBER_AF_REJOIN_LAST_REASON EMBER_AF_REJOIN_DUE_TO_END_DEVICE_MOVE |
This indicates a new image verification is taking place.
|
Sleep Control |
|
void | emberAfRunEvents (void) |
a function used to run the application framework's event mechanism. This function passes the application framework's event tables to the ember stack's event processing code.
|
|
EmberStatus |
emberAfScheduleTickExtended
(uint8_t endpoint,
EmberAfClusterId
clusterId, bool isClient, uint32_t delayMs,
EmberAfEventPollControl
pollControl,
EmberAfEventSleepControl
sleepControl)
|
This function is used to schedule a cluster-related event inside the application framework's event mechanism. This function provides a wrapper for the Ember stack event mechanism which allows the cluster code to access its events by their endpoint, cluster id, and client/server identity. The passed poll and sleep controls allow the cluster to indicate whether it needs to long or short poll and whether it needs to stay awake or if it can sleep.
|
|
EmberStatus |
emberAfScheduleClusterTick
(uint8_t endpoint,
EmberAfClusterId
clusterId, bool isClient, uint32_t delayMs,
EmberAfEventSleepControl
sleepControl)
|
This function is used to schedule a cluster-related event inside the This function is a wrapper for
emberAfScheduleTickExtended
. The cluster on the given endpoint will be set to long poll if sleepControl is set to
EMBER_AF_OK_TO_HIBERNATE
or will be set to short poll otherwise. It will stay awake if sleepControl is
EMBER_AF_STAY_AWAKE
and will sleep otherwise.
|
|
EmberStatus |
emberAfScheduleClientTickExtended
(uint8_t endpoint,
EmberAfClusterId
clusterId, uint32_t delayMs,
EmberAfEventPollControl
pollControl,
EmberAfEventSleepControl
sleepControl)
|
A function used to schedule a cluster client event. This function is a wrapper for
emberAfScheduleTickExtended
.
|
|
EmberStatus | emberAfScheduleClientTick (uint8_t endpoint, EmberAfClusterId clusterId, uint32_t delayMs) |
A function used to schedule a cluster client event. This function is a wrapper for
emberAfScheduleClientTickExtended
. It indicates that the cluster client on the given endpoint can long poll and can sleep.
|
|
EmberStatus |
emberAfScheduleServerTickExtended
(uint8_t endpoint,
EmberAfClusterId
clusterId, uint32_t delayMs,
EmberAfEventPollControl
pollControl,
EmberAfEventSleepControl
sleepControl)
|
A function used to schedule a cluster server event. This function is a wrapper for
emberAfScheduleTickExtended
.
|
|
EmberStatus | emberAfScheduleServerTick (uint8_t endpoint, EmberAfClusterId clusterId, uint32_t delayMs) |
A function used to schedule a cluster server event. This function is a wrapper for
emberAfScheduleServerTickExtended
. It indicates that the cluster server on the given endpoint can long poll and can sleep.
|
|
EmberStatus | emberAfDeactivateClusterTick (uint8_t endpoint, EmberAfClusterId clusterId, bool isClient) |
A function used to deactivate a cluster-related event. This function provides a wrapper for the Ember stack's event mechanism which allows an event to be accessed by its endpoint, cluster id, and client/server identity.
|
|
EmberStatus | emberAfDeactivateClientTick (uint8_t endpoint, EmberAfClusterId clusterId) |
A function used to deactivate a cluster client event. This function is a wrapper for
emberAfDeactivateClusterTick
.
|
|
EmberStatus | emberAfDeactivateServerTick (uint8_t endpoint, EmberAfClusterId clusterId) |
A function used to deactivate a cluster server event. This function is a wrapper for
emberAfDeactivateClusterTick
.
|
|
EmberStatus | emberAfEventControlSetDelayMS ( EmberEventControl *control, uint32_t delayMs) |
Sets the
EmberEventControl
to run "delayMs" milliseconds in the future. This function first verifies that the delay is within the acceptable range before scheduling the event.
|
|
EmberStatus | emberAfEventControlSetDelay ( EmberEventControl *eventControl, uint32_t delayMs) |
Sets the
EmberEventControl
to run "delayMs" milliseconds in the future. See
emberAfEventControlSetDelayMS
.
|
|
EmberStatus | emberAfEventControlSetDelayQS ( EmberEventControl *control, uint32_t delayQs) |
Sets the
EmberEventControl
to run "delayQs" quarter seconds in the future. The 'quarter seconds' are actually 256 milliseconds long. This function first verifies that the delay is within the acceptable range before scheduling the event.
|
|
EmberStatus | emberAfEventControlSetDelayMinutes ( EmberEventControl *control, uint16_t delayM) |
Sets the
EmberEventControl
to run "delayM" minutes in the future. The 'minutes' are actually 65536 (0x10000) milliseconds long. This function first verifies that the delay is within the acceptable range before scheduling the event.
|
|
void | emberAfNetworkEventControlSetInactive ( EmberEventControl *controls) |
Sets the
EmberEventControl
for the current network, and only the current network, as inactive. See ::emberEventControlSetInactive.
|
|
bool | emberAfNetworkEventControlGetActive ( EmberEventControl *controls) |
Returns true if the event for the current network, and only the current network, is active. See ::emberEventControlGetActive.
|
|
void | emberAfNetworkEventControlSetActive ( EmberEventControl *controls) |
Sets the
EmberEventControl
for the current network, and only current network, to run at the next available opportunity. See ::emberEventControlSetActive.
|
|
EmberStatus | emberAfNetworkEventControlSetDelayMS ( EmberEventControl *controls, uint32_t delayMs) |
Sets the
EmberEventControl
for the current network, and only the current network, to run "delayMs" milliseconds in the future. See
emberAfEventControlSetDelayMS
.
|
|
EmberStatus | emberAfNetworkEventControlSetDelay ( EmberEventControl *controls, uint32_t delayMs) |
Sets the
EmberEventControl
for the current network, and only the current network, to run "delayMs" milliseconds in the future. See
emberAfEventControlSetDelayMS
.
|
|
EmberStatus | emberAfNetworkEventControlSetDelayQS ( EmberEventControl *controls, uint32_t delayQs) |
Sets the
EmberEventControl
for the current network, and only the current network, to run "delayQs" quarter seconds in the future. See
emberAfEventControlSetDelayQS
.
|
|
EmberStatus | emberAfNetworkEventControlSetDelayMinutes ( EmberEventControl *controls, uint16_t delayM) |
Sets the
EmberEventControl
for the current network, and only the current network, to run "delayM" minutes in the future. See
emberAfEventControlSetDelayMinutes
.
|
|
EmberStatus | emberAfEndpointEventControlSetInactive ( EmberEventControl *controls, uint8_t endpoint) |
Sets the
EmberEventControl
for the specified endpoint as inactive. See ::emberEventControlSetInactive.
|
|
bool | emberAfEndpointEventControlGetActive ( EmberEventControl *controls, uint8_t endpoint) |
Returns true if the event for the current number is active. See ::emberEventControlGetActive.
|
|
EmberStatus | emberAfEndpointEventControlSetActive ( EmberEventControl *controls, uint8_t endpoint) |
Sets the
EmberEventControl
for the specified endpoint to run at the next available opportunity. See ::emberEventControlSetActive.
|
|
EmberStatus | emberAfEndpointEventControlSetDelayMS ( EmberEventControl *controls, uint8_t endpoint, uint32_t delayMs) |
Sets the
EmberEventControl
for the specified endpoint to run "delayMs" milliseconds in the future. See
emberAfEventControlSetDelayMS
.
|
|
EmberStatus | emberAfEndpointEventControlSetDelay ( EmberEventControl *controls, uint8_t endpoint, uint32_t delayMs) |
Sets the
EmberEventControl
for the specified endpoint to run "delayMs" milliseconds in the future. See
emberAfEventControlSetDelayMS
.
|
|
EmberStatus | emberAfEndpointEventControlSetDelayQS ( EmberEventControl *controls, uint8_t endpoint, uint32_t delayQs) |
Sets the
EmberEventControl
for the specified endpoint to run "delayQs" quarter seconds in the future. See
emberAfEventControlSetDelayQS
.
|
|
EmberStatus | emberAfEndpointEventControlSetDelayMinutes ( EmberEventControl *controls, uint8_t endpoint, uint16_t delayM) |
Sets the
EmberEventControl
for the specified endpoint to run "delayM" minutes in the future. See
emberAfEventControlSetDelayMinutes
.
|
|
uint32_t | emberAfMsToNextEvent (uint32_t maxMs) |
A function used to retrieve the number of milliseconds until the next event scheduled in the application framework's event mechanism.
|
|
uint32_t | emberAfMsToNextEventExtended (uint32_t maxMs, uint8_t *returnIndex) |
This is the same as the function
emberAfMsToNextEvent()
with the following addition. If returnIndex is non-NULL it returns the index of the event that is ready to fire next.
|
|
#define | emberAfAddToCurrentAppTasks (x) emberAfAddToCurrentAppTasksCallback (x) |
A function used to add a task to the task register.
|
|
#define | emberAfRemoveFromCurrentAppTasks (x) emberAfRemoveFromCurrentAppTasksCallback (x) |
A function used to remove a task from the task register.
|
|
#define | emberAfCurrentAppTasks () emberAfGetCurrentAppTasksCallback () |
A macro used to retrieve the bitmask of all application frameowrk tasks currently in progress. This can be useful for debugging if some task is holding the device out of hibernation.
|
|
#define | EMBER_AF_CLIENT_CLUSTER_TICK true |
Friendly define for use in the scheduling or canceling client events with
emberAfScheduleClusterTick()
and
emberAfDeactivateClusterTick()
.
|
|
#define | EMBER_AF_SERVER_CLUSTER_TICK false |
Friendly define for use in the scheduling or canceling server events with
emberAfScheduleClusterTick()
and
emberAfDeactivateClusterTick()
.
|
|
#define | emberAfQSToNextEvent (maxQS) |
A function used to retrieve the number of quarter seconds until the next event scheduled in the application framework's event mechanism. This function will round down and will return 0 if the next event must fire within a quarter second.
|
|
#define | emberAfGetCurrentSleepControl () emberAfGetCurrentSleepControlCallback () |
A function for retrieving the most restrictive sleep control value for all scheduled events. This function is used by emberAfOkToNap and emberAfOkToHibernate to makes sure that there are no events scheduled which will keep the device from hibernating or napping.
|
|
#define | emberAfSetDefaultSleepControl (x) emberAfSetDefaultSleepControlCallback (x) |
A function for setting the default sleep control value against which all scheduled event sleep control values will be evaluated. This can be used to keep a device awake for an extended period of time by setting the default to EMBER_AF_STAY_AWAKE and then resetting the value to EMBER_AF_OK_TO_HIBERNATE once the wake period is complete.
|
|
#define | emberAfGetDefaultSleepControl () emberAfGetDefaultSleepControlCallback () |
A function used to retrieve the default sleep control against which all event sleep control values are evaluated. The default sleep control value is initialized to EMBER_AF_OK_TO_HIBERNATE but can be changed by the application at any time using the
emberAfSetDefaultSleepControl()
function.
|
Messaging |
|
EmberStatus | emberAfSendResponse (void) |
This function sends a ZCL response, based on the information that is currently in the outgoing buffer. It is expected that a complete ZCL message is present, including header. The application may use this method directly from within the message handling function and associated callbacks. However this will result in the response being sent before the APS Ack is sent which is not ideal.
|
|
EmberStatus | emberAfSendResponseWithCallback ( EmberAfMessageSentFunction callback) |
Send ZCL response with attached message sent callback.
|
|
EmberStatus | emberAfSendMulticast ( EmberMulticastId multicastId, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message) |
Sends multicast.
|
|
EmberStatus | emberAfSendMulticastToBindings ( EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message) |
Multicasts the message to the group in the binding table that matches the cluster and source endpoint in the APS frame. Note: if the binding table contains many matching entries, calling this API cause a significant amount of network traffic. Care should be taken when considering the effects of broadcasts in a network.
|
|
EmberStatus | emberAfSendMulticastWithAliasWithCallback ( EmberMulticastId multicastId, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message, EmberNodeId alias, uint8_t sequence, EmberAfMessageSentFunction callback) |
Sends Multicast with alias with attached message sent callback.
|
|
EmberStatus | emberAfSendMulticastWithCallback ( EmberMulticastId multicastId, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message, EmberAfMessageSentFunction callback) |
Sends multicast with attached message sent callback.
|
|
EmberStatus | emberAfSendBroadcast ( EmberNodeId destination, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message) |
Sends broadcast.
|
|
EmberStatus | emberAfSendBroadcastWithCallback ( EmberNodeId destination, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message, EmberAfMessageSentFunction callback) |
Sends broadcast with attached message sent callback.
|
|
EmberStatus | emberAfSendBroadcastWithAliasWithCallback ( EmberNodeId destination, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message, EmberNodeId alias, uint8_t sequence, EmberAfMessageSentFunction callback) |
Sends broadcast with alias with attached message sent callback.
|
|
EmberStatus | emberAfSendUnicast ( EmberOutgoingMessageType type, uint16_t indexOrDestination, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message) |
Sends unicast.
|
|
EmberStatus | emberAfSendUnicastWithCallback ( EmberOutgoingMessageType type, uint16_t indexOrDestination, EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message, EmberAfMessageSentFunction callback) |
Sends unicast with attached message sent callback.
|
|
EmberStatus | emberAfSendUnicastToBindings ( EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message) |
Unicasts the message to each remote node in the binding table that matches the cluster and source endpoint in the APS frame. Note: if the binding table contains many matching entries, calling this API cause a significant amount of network traffic.
|
|
EmberStatus | emberAfSendUnicastToBindingsWithCallback ( EmberApsFrame *apsFrame, uint16_t messageLength, uint8_t *message, EmberAfMessageSentFunction callback) |
emberAfSendUnicastToBindings with attached message sent callback.
|
|
EmberStatus | emberAfSendInterPan ( EmberPanId panId, const EmberEUI64 destinationLongId, EmberNodeId destinationShortId, EmberMulticastId multicastId, EmberAfClusterId clusterId, EmberAfProfileId profileId, uint16_t messageLength, uint8_t *messageBytes) |
Sends interpan message.
|
|
EmberStatus | emberAfSendEndDeviceBind (uint8_t endpoint) |
Sends end device binding request.
|
|
EmberStatus | emberAfSendCommandUnicastToBindings (void) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendCommandUnicastToBindingsWithCallback ( EmberAfMessageSentFunction callback) |
emberAfSendCommandUnicastToBindings with attached message sent callback.
|
|
EmberStatus | emberAfSendCommandMulticast ( EmberMulticastId multicastId) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendCommandMulticastWithAlias ( EmberMulticastId multicastId, EmberNodeId alias, uint8_t sequence) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendCommandMulticastWithCallback ( EmberMulticastId multicastId, EmberAfMessageSentFunction callback) |
emberAfSendCommandMulticast with attached message sent callback.
|
|
EmberStatus | emberAfSendCommandMulticastToBindings (void) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendCommandUnicast ( EmberOutgoingMessageType type, uint16_t indexOrDestination) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendCommandUnicastWithCallback ( EmberOutgoingMessageType type, uint16_t indexOrDestination, EmberAfMessageSentFunction callback) |
emberAfSendCommandUnicast with attached message sent callback.
|
|
EmberStatus | emberAfSendCommandBroadcast ( EmberNodeId destination) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendCommandBroadcastWithCallback ( EmberNodeId destination, EmberAfMessageSentFunction callback) |
emberAfSendCommandBroadcast with attached message sent callback.
|
|
EmberStatus | emberAfSendCommandBroadcastWithAliasWithCallback ( EmberNodeId destination, EmberNodeId alias, uint8_t sequence, EmberAfMessageSentFunction callback) |
emberAfSendCommandBroadcast from alias with attached message sent callback.
|
|
EmberStatus | emberAfSendCommandBroadcastWithAlias ( EmberNodeId destination, EmberNodeId alias, uint8_t sequence) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendCommandInterPan ( EmberPanId panId, const EmberEUI64 destinationLongId, EmberNodeId destinationShortId, EmberMulticastId multicastId, EmberAfProfileId profileId) |
Sends the command prepared with emberAfFill.... macro.
|
|
EmberStatus | emberAfSendDefaultResponse (const EmberAfClusterCommand *cmd, EmberAfStatus status) |
Sends a default response to a cluster command.
|
|
EmberStatus | emberAfSendDefaultResponseWithCallback (const EmberAfClusterCommand *cmd, EmberAfStatus status, EmberAfMessageSentFunction callback) |
emberAfSendDefaultResponse with attached message sent callback.
|
|
EmberStatus | emberAfSendImmediateDefaultResponse ( EmberAfStatus status) |
Sends a default response to a cluster command using the current command.
|
|
EmberStatus | emberAfSendImmediateDefaultResponseWithCallback ( EmberAfStatus status, EmberAfMessageSentFunction callback) |
emberAfSendImmediateDefaultResponse with attached message sent callback.
|
|
uint8_t | emberAfMaximumApsPayloadLength ( EmberOutgoingMessageType type, uint16_t indexOrDestination, EmberApsFrame *apsFrame) |
Returns the maximum size of the payload that the Application Support sub-layer will accept for the given message type, destination, and APS frame.
|
|
EmberApsFrame * | emberAfGetCommandApsFrame (void) |
Access to client API APS frame.
|
|
void | emberAfSetCommandEndpoints (uint8_t sourceEndpoint, uint8_t destinationEndpoint) |
Set the source and destination endpoints in the client API APS frame.
|
|
EmberStatus | emberAfFindDevicesByProfileAndCluster ( EmberNodeId target, EmberAfProfileId profileId, EmberAfClusterId clusterId, bool serverCluster, EmberAfServiceDiscoveryCallback *callback) |
Use this function to find devices in the network with endpoints matching a given profile ID and cluster ID in their descriptors. Target may either be a specific device, or the broadcast address EMBER_RX_ON_WHEN_IDLE_BROADCAST_ADDRESS.
|
|
EmberStatus | emberAfFindClustersByDeviceAndEndpoint ( EmberNodeId target, uint8_t targetEndpoint, EmberAfServiceDiscoveryCallback *callback) |
Use this function to find all of the given in and out clusters implemented on a devices given endpoint. Target should only be the short address of a specific device.
|
|
EmberStatus | emberAfFindIeeeAddress ( EmberNodeId shortAddress, EmberAfServiceDiscoveryCallback *callback) |
Use this function to initiate a discovery for the IEEE address of the specified node id. This will send a unicast sent to the target node ID.
|
|
EmberStatus | emberAfFindNodeId ( EmberEUI64 longAddress, EmberAfServiceDiscoveryCallback *callback) |
Use this function to initiate a discovery for the short ID of the specified long address. This will send a broadcast to all rx-on-when-idle devices (non-sleepies).
|
|
EmberStatus | emberAfFindActiveEndpoints ( EmberNodeId target, EmberAfServiceDiscoveryCallback *callback) |
Initiate an Active Endpoint request ZDO message to the target node ID.
|
|
uint8_t | emberAfAddAddressTableEntry ( EmberEUI64 longId, EmberNodeId shortId) |
Use this function to add an entry for a remote device to the address table.
|
|
EmberStatus | emberAfSetAddressTableEntry (uint8_t index, EmberEUI64 longId, EmberNodeId shortId) |
Use this function to add an entry for a remote device to the address table at a specific location.
|
|
EmberStatus | emberAfRemoveAddressTableEntry (uint8_t index) |
Use this function to remove a specific entry from the address table.
|
|
EmberStatus | emberAfInitiateKeyEstablishment ( EmberNodeId nodeId, uint8_t endpoint) |
Use this function to initiate key establishment with a remote node.
emberAfKeyEstablishmentCallback
will be called as events occur and when key establishment completes.
|
|
EmberStatus | emberAfInitiateInterPanKeyEstablishment ( EmberPanId panId, const EmberEUI64 eui64) |
Use this function to initiate key establishment with a remote node on a different PAN.
emberAfInterPanKeyEstablishmentCallback
will be called as events occur and when key establishment completes.
|
|
bool | emberAfPerformingKeyEstablishment (void) |
Use this function to tell if the device is in the process of performing key establishment.
|
|
EmberStatus | emberAfInitiatePartnerLinkKeyExchange ( EmberNodeId target, uint8_t endpoint, EmberAfPartnerLinkKeyExchangeCallback *callback) |
Use this function to initiate partner link key exchange with a remote node.
|
|
bool | emberAfIsCurrentSecurityProfileSmartEnergy (void) |
Use this function to determine if the security profile of the current network was set to Smart Energy. The security profile is configured in AppBuilder. @ return true if the security profile is Smart Energy or false otherwise.
|
|
#define | EMBER_AF_CLIENT_CLUSTER_DISCOVERY false |
Friendly define for use in discovering client clusters with
emberAfFindDevicesByProfileAndCluster()
.
|
|
#define | EMBER_AF_SERVER_CLUSTER_DISCOVERY true |
Friendly define for use in discovering server clusters with
emberAfFindDevicesByProfileAndCluster()
.
|
|
#define | emberAfCurrentEndpoint () (emberAfCurrentCommand()->apsFrame->destinationEndpoint) |
returns the current endpoint that is being served.
|
ZCL macros |
|
#define | ZCL_FRAME_CONTROL_FRAME_TYPE_MASK (BIT(0) | BIT(1)) |
#define | ZCL_CLUSTER_SPECIFIC_COMMAND BIT(0) |
#define | ZCL_PROFILE_WIDE_COMMAND 0 |
#define | ZCL_GLOBAL_COMMAND ( ZCL_PROFILE_WIDE_COMMAND ) |
#define | ZCL_MANUFACTURER_SPECIFIC_MASK BIT(2) |
#define | ZCL_FRAME_CONTROL_DIRECTION_MASK BIT(3) |
#define | ZCL_FRAME_CONTROL_SERVER_TO_CLIENT BIT(3) |
#define | ZCL_FRAME_CONTROL_CLIENT_TO_SERVER 0 |
#define | ZCL_DISABLE_DEFAULT_RESPONSE_MASK BIT(4) |
#define | ZCL_DIRECTION_CLIENT_TO_SERVER 0 |
#define | ZCL_DIRECTION_SERVER_TO_CLIENT 1 |
#define | EMBER_AF_ZCL_OVERHEAD 3 |
#define | EMBER_AF_ZCL_MANUFACTURER_SPECIFIC_OVERHEAD 5 |
#define | FIND_AND_JOIN_MODE_ALLOW_2_4_GHZ BIT(0) |
#define | FIND_AND_JOIN_MODE_ALLOW_SUB_GHZ BIT(1) |
#define | FIND_AND_JOIN_MODE_ALLOW_BOTH ( FIND_AND_JOIN_MODE_ALLOW_2_4_GHZ | FIND_AND_JOIN_MODE_ALLOW_SUB_GHZ ) |
Network utility functions |
|
EmberStatus | emberAfFormNetwork ( EmberNetworkParameters *parameters) |
Use this function to form a new network using the specified network parameters.
|
|
EmberStatus | emberAfJoinNetwork ( EmberNetworkParameters *parameters) |
Use this function to associate with the network using the specified network parameters.
|
|
EmberStatus | emberAfFindUnusedPanIdAndForm (void) |
Use this function to find an unused PAN id and form a new network.
|
|
EmberStatus | emberAfStartSearchForJoinableNetwork (void) |
Use this function to find a joinable network and join it.
|
|
EmberStatus | emberAfPushNetworkIndex (uint8_t networkIndex) |
Sets the current network to that of the given index and adds it to the stack of networks maintained by the framework. Every call to this API must be paired with a subsequent call to
emberAfPopNetworkIndex
.
|
|
EmberStatus | emberAfPushCallbackNetworkIndex (void) |
Sets the current network to the callback network and adds it to the stack of networks maintained by the framework. Every call to this API must be paired with a subsequent call to
emberAfPopNetworkIndex
.
|
|
EmberStatus | emberAfPushEndpointNetworkIndex (uint8_t endpoint) |
Sets the current network to that of the given endpoint and adds it to the stack of networks maintained by the framework. Every call to this API must be paired with a subsequent call to
emberAfPopNetworkIndex
.
|
|
EmberStatus | emberAfPopNetworkIndex (void) |
Removes the topmost network from the stack of networks maintained by the framework and sets the current network to the new topmost network. Every call to this API must be paired with a prior call to
emberAfPushNetworkIndex
,
emberAfPushCallbackNetworkIndex
, or
emberAfPushEndpointNetworkIndex
.
|
|
uint8_t | emberAfPrimaryEndpointForNetworkIndex (uint8_t networkIndex) |
Returns the primary endpoint of the given network index or 0xFF if no endpoints belong to the network.
|
|
uint8_t | emberAfPrimaryEndpointForCurrentNetworkIndex (void) |
Returns the primary endpoint of the current network index or 0xFF if no endpoints belong to the current network.
|
|
void | emberAfMainInit (void) |
Basic initialization API to be invoked before
emberAfMain
.
|
|
int | emberAfMain (MAIN_FUNCTION_PARAMETERS) |
This function effectively serves as the application main.
|
Detailed Description
This documentation describes the application programming interface (API) for the Zigbee Application Framework. The file
af.h
is the master include file for the Zigbee Application Framework modules.
Macro Definition Documentation
◆ CONFIGURATION_HEADER
#define CONFIGURATION_HEADER "app/framework/util/config.h" |
◆ EMBER_AF_CLIENT_CLUSTER_DISCOVERY
#define EMBER_AF_CLIENT_CLUSTER_DISCOVERY false |
Friendly define for use in discovering client clusters with emberAfFindDevicesByProfileAndCluster() .
◆ EMBER_AF_CLIENT_CLUSTER_TICK
#define EMBER_AF_CLIENT_CLUSTER_TICK true |
Friendly define for use in the scheduling or canceling client events with emberAfScheduleClusterTick() and emberAfDeactivateClusterTick() .
◆ EMBER_AF_CONTINUE_IMAGE_VERIFY
#define EMBER_AF_CONTINUE_IMAGE_VERIFY false |
This indicates the continuation of an image verification already in progress.
◆ EMBER_AF_MESSAGE_TAG_MASK
#define EMBER_AF_MESSAGE_TAG_MASK 0x7F |
The mask applied to generated message tags used by the framework when sending messages via EZSP. Customers who call ezspSend functions directly must use message tags outside this mask.
◆ EMBER_AF_NEW_IMAGE_VERIFICATION
#define EMBER_AF_NEW_IMAGE_VERIFICATION true |
This indicates a new image verification is taking place.
◆ EMBER_AF_REJOIN_DUE_TO_CLI_COMMAND
#define EMBER_AF_REJOIN_DUE_TO_CLI_COMMAND 0xA2 |
This indicates a new image verification is taking place.
Referenced by
networkRejoinCommand()
.
◆ EMBER_AF_REJOIN_DUE_TO_END_DEVICE_MOVE
#define EMBER_AF_REJOIN_DUE_TO_END_DEVICE_MOVE 0xA0 |
This indicates a new image verification is taking place.
◆ EMBER_AF_REJOIN_DUE_TO_TC_KEEPALIVE_FAILURE
#define EMBER_AF_REJOIN_DUE_TO_TC_KEEPALIVE_FAILURE 0xA1 |
This indicates a new image verification is taking place.
◆ EMBER_AF_REJOIN_DUE_TO_WWAH_CONNECTIVITY_MANAGER
#define EMBER_AF_REJOIN_DUE_TO_WWAH_CONNECTIVITY_MANAGER 0xA3 |
This indicates a new image verification is taking place.
◆ EMBER_AF_REJOIN_FIRST_REASON
#define EMBER_AF_REJOIN_FIRST_REASON EMBER_AF_REJOIN_DUE_TO_END_DEVICE_MOVE |
This indicates a new image verification is taking place.
◆ EMBER_AF_REJOIN_LAST_REASON
#define EMBER_AF_REJOIN_LAST_REASON EMBER_AF_REJOIN_DUE_TO_END_DEVICE_MOVE |
This indicates a new image verification is taking place.
◆ EMBER_AF_SERVER_CLUSTER_DISCOVERY
#define EMBER_AF_SERVER_CLUSTER_DISCOVERY true |
Friendly define for use in discovering server clusters with emberAfFindDevicesByProfileAndCluster() .
◆ EMBER_AF_SERVER_CLUSTER_TICK
#define EMBER_AF_SERVER_CLUSTER_TICK false |
Friendly define for use in the scheduling or canceling server events with emberAfScheduleClusterTick() and emberAfDeactivateClusterTick() .
◆ EMBER_AF_ZCL_MANUFACTURER_SPECIFIC_OVERHEAD
#define EMBER_AF_ZCL_MANUFACTURER_SPECIFIC_OVERHEAD 5 |
◆ EMBER_AF_ZCL_OVERHEAD
#define EMBER_AF_ZCL_OVERHEAD 3 |
◆ EMBER_AF_ZCL_SEQUENCE_MASK
#define EMBER_AF_ZCL_SEQUENCE_MASK 0x7F |
The mask applied by emberAfNextSequence when generating ZCL sequence numbers.
◆ emberAfAddToCurrentAppTasks
#define emberAfAddToCurrentAppTasks | ( |
x
|
) | emberAfAddToCurrentAppTasksCallback (x) |
A function used to add a task to the task register.
◆ emberAfAttributeIsClient
#define emberAfAttributeIsClient | ( |
metadata
|
) | (((metadata)->mask & ATTRIBUTE_MASK_CLIENT) != 0) |
macro that returns true if client attribute, and false if server.
- Parameters
-
metadata
EmberAfAttributeMetadata* to consider.
◆ emberAfAttributeIsExternal
#define emberAfAttributeIsExternal | ( |
metadata
|
) | (((metadata)->mask & ATTRIBUTE_MASK_EXTERNAL_STORAGE) != 0) |
macro that returns true if attribute is saved in external storage.
- Parameters
-
metadata
EmberAfAttributeMetadata* to consider.
◆ emberAfAttributeIsManufacturerSpecific
#define emberAfAttributeIsManufacturerSpecific | ( |
metadata
|
) | (((metadata)->mask & ATTRIBUTE_MASK_MANUFACTURER_SPECIFIC) != 0) |
macro that returns true if attribute is manufacturer specific
- Parameters
-
metadata
EmberAfAttributeMetadata* to consider.
◆ emberAfAttributeIsReadOnly
#define emberAfAttributeIsReadOnly | ( |
metadata
|
) | (((metadata)->mask & ATTRIBUTE_MASK_WRITABLE) == 0) |
macro that returns true if attribute is read only.
- Parameters
-
metadata
EmberAfAttributeMetadata* to consider.
◆ emberAfAttributeIsSingleton
#define emberAfAttributeIsSingleton | ( |
metadata
|
) | (((metadata)->mask & ATTRIBUTE_MASK_SINGLETON) != 0) |
macro that returns true if attribute is a singleton
- Parameters
-
metadata
EmberAfAttributeMetadata* to consider.
◆ emberAfAttributeIsTokenized
#define emberAfAttributeIsTokenized | ( |
metadata
|
) | (((metadata)->mask & ATTRIBUTE_MASK_TOKENIZE) != 0) |
macro that returns true if attribute is saved to token.
- Parameters
-
metadata
EmberAfAttributeMetadata* to consider.
◆ emberAfAttributeSize
#define emberAfAttributeSize | ( |
metadata
|
) | ((metadata)->size) |
macro that returns size of attribute in bytes.
- Parameters
-
metadata
EmberAfAttributeMetadata* to consider.
◆ emberAfClusterIsManufacturerSpecific
#define emberAfClusterIsManufacturerSpecific | ( |
cluster
|
) | ((cluster)->clusterId >= 0xFC00) |
macro that returns true if the cluster is in the manufacturer specific range
- Parameters
-
cluster
EmberAfCluster* to consider
◆ emberAfCopyInt8u
#define emberAfCopyInt8u | ( |
data,
|
|
index,
|
|||
x
|
|||
) | (data[index] = (x)) |
Macro for consistency that copies a uint8_t from variable into buffer.
◆ emberAfCurrentAppTasks
#define emberAfCurrentAppTasks | ( |
|
) | emberAfGetCurrentAppTasksCallback () |
A macro used to retrieve the bitmask of all application frameowrk tasks currently in progress. This can be useful for debugging if some task is holding the device out of hibernation.
◆ emberAfCurrentEndpoint
#define emberAfCurrentEndpoint | ( |
|
) | (emberAfCurrentCommand()->apsFrame->destinationEndpoint) |
returns the current endpoint that is being served.
The purpose of this macro is mostly to access endpoint that is being served in the command callbacks.
◆ emberAfDeviceIdFromIndex
#define emberAfDeviceIdFromIndex | ( |
index
|
) | (emAfEndpoints[(index)].deviceId) |
Macro that takes index of endpoint, and returns device Id for it.
◆ emberAfDeviceVersionFromIndex
#define emberAfDeviceVersionFromIndex | ( |
index
|
) | (emAfEndpoints[(index)].deviceVersion) |
Macro that takes index of endpoint, and returns device version for it.
◆ emberAfGetCurrentSleepControl
#define emberAfGetCurrentSleepControl | ( |
|
) | emberAfGetCurrentSleepControlCallback () |
A function for retrieving the most restrictive sleep control value for all scheduled events. This function is used by emberAfOkToNap and emberAfOkToHibernate to makes sure that there are no events scheduled which will keep the device from hibernating or napping.
- Returns
- The most restrictive sleep control value for all scheduled events or the value returned by emberAfGetDefaultSleepControl() if no events are currently scheduled. The default sleep control value is initialized to EMBER_AF_OK_TO_HIBERNATE but can be changed at any time using the emberAfSetDefaultSleepControl() function.
◆ emberAfGetDefaultSleepControl
#define emberAfGetDefaultSleepControl | ( |
|
) | emberAfGetDefaultSleepControlCallback () |
A function used to retrieve the default sleep control against which all event sleep control values are evaluated. The default sleep control value is initialized to EMBER_AF_OK_TO_HIBERNATE but can be changed by the application at any time using the emberAfSetDefaultSleepControl() function.
- Returns
- The current default sleep control value.
◆ emberAfGetInt8u
#define emberAfGetInt8u | ( |
message,
|
|
currentIndex,
|
|||
msgLen
|
|||
) | message[currentIndex] |
Macro for consistency, that extracts single byte out of the message.
◆ emberAfNetworkIndexFromEndpointIndex
#define emberAfNetworkIndexFromEndpointIndex | ( |
index
|
) | (emAfEndpoints[(index)].networkIndex) |
Macro that takes index of endpoint, and returns network index for it.
◆ emberAfPrimaryEndpoint
#define emberAfPrimaryEndpoint | ( |
|
) | (emAfEndpoints[0].endpoint) |
Macro that returns the primary endpoint.
◆ emberAfPrimaryProfileId
#define emberAfPrimaryProfileId | ( |
|
) | emberAfProfileIdFromIndex (0) |
Macro that returns primary profile ID.
Primary profile is the profile of a primary endpoint as defined in AppBuilder.
◆ emberAfProfileIdFromIndex
#define emberAfProfileIdFromIndex | ( |
index
|
) | (emAfEndpoints[(index)].profileId) |
Macro that takes index of endpoint, and returns profile Id for it.
◆ emberAfQSToNextEvent
#define emberAfQSToNextEvent | ( |
maxQS
|
) |
A function used to retrieve the number of quarter seconds until the next event scheduled in the application framework's event mechanism. This function will round down and will return 0 if the next event must fire within a quarter second.
- Parameters
-
maxQS,the
maximum number of quarter seconds until the next event.
- Returns
- The number of quarter seconds until the next event or maxQS if no event is scheduled before then.
◆ emberAfRemoveFromCurrentAppTasks
#define emberAfRemoveFromCurrentAppTasks | ( |
x
|
) | emberAfRemoveFromCurrentAppTasksCallback (x) |
A function used to remove a task from the task register.
◆ emberAfSetDefaultSleepControl
#define emberAfSetDefaultSleepControl | ( |
x
|
) | emberAfSetDefaultSleepControlCallback (x) |
A function for setting the default sleep control value against which all scheduled event sleep control values will be evaluated. This can be used to keep a device awake for an extended period of time by setting the default to EMBER_AF_STAY_AWAKE and then resetting the value to EMBER_AF_OK_TO_HIBERNATE once the wake period is complete.
◆ FIND_AND_JOIN_MODE_ALLOW_2_4_GHZ
#define FIND_AND_JOIN_MODE_ALLOW_2_4_GHZ BIT(0) |
◆ FIND_AND_JOIN_MODE_ALLOW_BOTH
#define FIND_AND_JOIN_MODE_ALLOW_BOTH ( FIND_AND_JOIN_MODE_ALLOW_2_4_GHZ | FIND_AND_JOIN_MODE_ALLOW_SUB_GHZ ) |
◆ FIND_AND_JOIN_MODE_ALLOW_SUB_GHZ
#define FIND_AND_JOIN_MODE_ALLOW_SUB_GHZ BIT(1) |
◆ ZCL_CLUSTER_SPECIFIC_COMMAND
#define ZCL_CLUSTER_SPECIFIC_COMMAND BIT(0) |
Referenced by
zclDrlcLoadControlEventCommand()
,
zclGroupsGetCommand()
, and
zclIdentifyOnOffCommand()
.
◆ ZCL_DIRECTION_CLIENT_TO_SERVER
#define ZCL_DIRECTION_CLIENT_TO_SERVER 0 |
◆ ZCL_DIRECTION_SERVER_TO_CLIENT
#define ZCL_DIRECTION_SERVER_TO_CLIENT 1 |
◆ ZCL_DISABLE_DEFAULT_RESPONSE_MASK
#define ZCL_DISABLE_DEFAULT_RESPONSE_MASK BIT(4) |
Referenced by
zclBufferSetup()
.
◆ ZCL_FRAME_CONTROL_CLIENT_TO_SERVER
#define ZCL_FRAME_CONTROL_CLIENT_TO_SERVER 0 |
Referenced by
emAfCliTimesyncCommand()
,
keysDeleteCommand()
,
zclBufferSetup()
,
zclDrlcLoadControlEventCommand()
,
zclGlobalReportCommand()
,
zclGroupsGetCommand()
, and
zclIdentifyOnOffCommand()
.
◆ ZCL_FRAME_CONTROL_DIRECTION_MASK
#define ZCL_FRAME_CONTROL_DIRECTION_MASK BIT(3) |
◆ ZCL_FRAME_CONTROL_FRAME_TYPE_MASK
#define ZCL_FRAME_CONTROL_FRAME_TYPE_MASK (BIT(0) | BIT(1)) |
◆ ZCL_FRAME_CONTROL_SERVER_TO_CLIENT
#define ZCL_FRAME_CONTROL_SERVER_TO_CLIENT BIT(3) |
Referenced by
zclDrlcLoadControlEventCommand()
,
zclGlobalReportCommand()
, and
zclGroupsGetCommand()
.
◆ ZCL_GLOBAL_COMMAND
#define ZCL_GLOBAL_COMMAND ( ZCL_PROFILE_WIDE_COMMAND ) |
Referenced by
emAfCliTimesyncCommand()
,
keysDeleteCommand()
,
zclGlobalCommandDiscoveryCommand()
,
zclGlobalExpectReportFromMeCommand()
,
zclGlobalReportCommand()
,
zclGlobalReportReadCommand()
,
zclGlobalSendMeAReportCommand()
, and
zclGlobalSetup()
.
◆ ZCL_MANUFACTURER_SPECIFIC_MASK
#define ZCL_MANUFACTURER_SPECIFIC_MASK BIT(2) |
Referenced by
cliBufferPrint()
,
emAfCliRawCommand()
, and
zclBufferSetup()
.
◆ ZCL_PROFILE_WIDE_COMMAND
#define ZCL_PROFILE_WIDE_COMMAND 0 |
Enumeration Type Documentation
◆ anonymous enum
anonymous enum |
Function Documentation
◆ emberAfAddAddressTableEntry()
uint8_t emberAfAddAddressTableEntry | ( | EmberEUI64 |
longId,
|
EmberNodeId |
shortId
|
||
) |
Use this function to add an entry for a remote device to the address table.
If the EUI64 already exists in the address table, the index of the existing entry will be returned. Otherwise, a new entry will be created and the new new index will be returned. The framework will remember how many times the returned index has been referenced. When the address table entry is no longer needed, the application should remove its reference by calling emberAfRemoveAddressTableEntry .
- Parameters
-
longId
The EUI64 of the remote device. shortId
The node id of the remote device or EMBER_UNKNOWN_NODE_ID if the node id is currently unknown.
- Returns
- The index of the address table entry for this remove device or EMBER_NULL_ADDRESS_TABLE_INDEX if an error occurred (e.g., the address table is full).
◆ emberAfAttributeValueSize()
uint16_t emberAfAttributeValueSize | ( | EmberAfAttributeType |
dataType,
|
const uint8_t * |
buffer
|
||
) |
macro that returns true if the cluster is in the manufacturer specific range
- Parameters
-
cluster
EmberAfCluster* to consider
Referenced by
zclGlobalReportCommand()
.
◆ emberAfBroadcastPermitJoin()
EmberStatus emberAfBroadcastPermitJoin | ( | uint8_t |
duration
|
) |
Enables local permit join and broadcasts the ZDO Mgmt_Permit_Join_req message. This API can be called from any device type and still return EMBER_SUCCESS. If the API is called from an end device, the permit association bit will just be left off.
- Parameters
-
duration
the duration that the permit join bit will remain on and other devices will be able to join the current network.
- Returns
- status of whether or not permit join was enabled.
◆ emberAfCompareValues()
int8_t emberAfCompareValues | ( | uint8_t * |
val1,
|
uint8_t * |
val2,
|
||
uint8_t |
len,
|
||
bool |
signedNumber
|
||
) |
Simple integer comparison function. Compares two values of a known length as integers. Signed integer comparison are supported for numbers with length of 4 (bytes) or less. The integers are in native endianness.
- Returns
- -1, if val1 is smaller 0, if they are the same or if two negative numbers with length greater than 4 is being compared 1, if val2 is smaller.
◆ emberAfContainsAttribute()
bool emberAfContainsAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeId |
attributeId,
|
||
uint8_t |
mask,
|
||
uint16_t |
manufacturerCode
|
||
) |
Returns true if the attribute exists.
◆ emberAfContainsClient()
bool emberAfContainsClient | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
Returns true if endpoint contains the ZCL client with specified id.
This function returns true if the endpoint contains client of a given cluster. This wraps emberAfContainsClient with manufacturerCode = EMBER_AF_NULL_MANUFACTURER_CODE If this function is used with a manufacturer specific clusterId then this will return the first cluster that it finds in the Cluster table. and will not return any other clusters that share that id.
◆ emberAfContainsClientWithMfgCode()
bool emberAfContainsClientWithMfgCode | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
uint16_t |
manufacturerCode
|
||
) |
Returns true if endpoint contains cluster client.
This function returns true if the endpoint contains client of a given cluster. For standard library clusters (when ClusterId < FC00), the manufacturerCode is ignored.
◆ emberAfContainsCluster()
bool emberAfContainsCluster | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
Returns true if endpoint contains the ZCL cluster with specified id.
This function returns true regardless of whether the endpoint contains server, client or both in the Zigbee cluster Library. This wraps emberAfContainsClusterWithMfgCode with manufacturerCode = EMBER_AF_NULL_MANUFACTURER_CODE If this function is used with a manufacturer specific clusterId then this will return the first cluster that it finds in the Cluster table. and will not return any other clusters that share that id.
◆ emberAfContainsClusterWithMfgCode()
bool emberAfContainsClusterWithMfgCode | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
uint16_t |
manufacturerCode
|
||
) |
Returns true if endpoint contains a cluster, checking for mfg code.
This function returns true regardless of whether the endpoint contains server, client or both. For standard libraries (when ClusterId < FC00), the manufacturerCode is ignored.
◆ emberAfContainsServer()
bool emberAfContainsServer | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
Returns true if endpoint contains the ZCL server with specified id.
This function returns true if the endpoint contains server of a given cluster. This wraps emberAfContainsServer with manufacturerCode = EMBER_AF_NULL_MANUFACTURER_CODE If this function is used with a manufacturer specific clusterId then this will return the first cluster that it finds in the Cluster table. and will not return any other clusters that share that id.
◆ emberAfContainsServerWithMfgCode()
bool emberAfContainsServerWithMfgCode | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
uint16_t |
manufacturerCode
|
||
) |
Returns true if endpoint has cluster server, checking for mfg code.
This function returns true if the endpoint contains server of a given cluster. For standard librarys (when ClusterId < FC00), the manufacturerCode is ignored.
◆ emberAfCopyInt16u()
void emberAfCopyInt16u | ( | uint8_t * |
data,
|
uint16_t |
index,
|
||
uint16_t |
x
|
||
) |
function that copies a uint16_t value into a buffer
◆ emberAfCopyInt24u()
void emberAfCopyInt24u | ( | uint8_t * |
data,
|
uint16_t |
index,
|
||
uint32_t |
x
|
||
) |
function that copies a uint24_t value into a buffer
◆ emberAfCopyInt32u()
void emberAfCopyInt32u | ( | uint8_t * |
data,
|
uint16_t |
index,
|
||
uint32_t |
x
|
||
) |
function that copies a uint32_t value into a buffer
◆ emberAfCopyLongString()
void emberAfCopyLongString | ( | uint8_t * |
dest,
|
uint8_t * |
src,
|
||
uint16_t |
size
|
||
) |
macro that returns true if the cluster is in the manufacturer specific range
- Parameters
-
cluster
EmberAfCluster* to consider
◆ emberAfCopyString()
void emberAfCopyString | ( | uint8_t * |
dest,
|
uint8_t * |
src,
|
||
uint8_t |
size
|
||
) |
macro that returns true if the cluster is in the manufacturer specific range
- Parameters
-
cluster
EmberAfCluster* to consider
◆ emberAfDeactivateClientTick()
EmberStatus emberAfDeactivateClientTick | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
A function used to deactivate a cluster client event. This function is a wrapper for emberAfDeactivateClusterTick .
- Parameters
-
endpoint
the endpoint of the event to be deactivated. clusterId
the cluster id of the event to be deactivated.
- Returns
- EMBER_SUCCESS if the event was deactivated or an error otherwise.
◆ emberAfDeactivateClusterTick()
EmberStatus emberAfDeactivateClusterTick | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
bool |
isClient
|
||
) |
A function used to deactivate a cluster-related event. This function provides a wrapper for the Ember stack's event mechanism which allows an event to be accessed by its endpoint, cluster id, and client/server identity.
- Parameters
-
endpoint
the endpoint of the event to be deactivated. clusterId
the cluster id of the event to be deactivated. isClient
EMBER_AF_CLIENT_CLUSTER_TICK if the event to be deactivated is a client cluster EMBER_AF_SERVER_CLUSTER_TICK otherwise.
- Returns
- EMBER_SUCCESS if the event was deactivated or an error otherwise.
◆ emberAfDeactivateServerTick()
EmberStatus emberAfDeactivateServerTick | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
A function used to deactivate a cluster server event. This function is a wrapper for emberAfDeactivateClusterTick .
- Parameters
-
endpoint
the endpoint of the event to be deactivated. clusterId
the cluster id of the event to be deactivated.
- Returns
- EMBER_SUCCESS if the event was deactivated or an error otherwise.
◆ emberAfEndpointCount()
uint8_t emberAfEndpointCount | ( | void |
|
) |
Returns the total number of endpoints (dynamic and pre-compiled).
◆ emberAfEndpointEnableDisable()
bool emberAfEndpointEnableDisable | ( | uint8_t |
endpoint,
|
bool |
enable
|
||
) |
Enable/disable endpoints.
◆ emberAfEndpointEventControlGetActive()
bool emberAfEndpointEventControlGetActive | ( | EmberEventControl * |
controls,
|
uint8_t |
endpoint
|
||
) |
Returns true if the event for the current number is active. See ::emberEventControlGetActive.
◆ emberAfEndpointEventControlSetActive()
EmberStatus emberAfEndpointEventControlSetActive | ( | EmberEventControl * |
controls,
|
uint8_t |
endpoint
|
||
) |
Sets the EmberEventControl for the specified endpoint to run at the next available opportunity. See ::emberEventControlSetActive.
◆ emberAfEndpointEventControlSetDelay()
EmberStatus emberAfEndpointEventControlSetDelay | ( | EmberEventControl * |
controls,
|
uint8_t |
endpoint,
|
||
uint32_t |
delayMs
|
||
) |
Sets the EmberEventControl for the specified endpoint to run "delayMs" milliseconds in the future. See emberAfEventControlSetDelayMS .
◆ emberAfEndpointEventControlSetDelayMinutes()
EmberStatus emberAfEndpointEventControlSetDelayMinutes | ( | EmberEventControl * |
controls,
|
uint8_t |
endpoint,
|
||
uint16_t |
delayM
|
||
) |
Sets the EmberEventControl for the specified endpoint to run "delayM" minutes in the future. See emberAfEventControlSetDelayMinutes .
◆ emberAfEndpointEventControlSetDelayMS()
EmberStatus emberAfEndpointEventControlSetDelayMS | ( | EmberEventControl * |
controls,
|
uint8_t |
endpoint,
|
||
uint32_t |
delayMs
|
||
) |
Sets the EmberEventControl for the specified endpoint to run "delayMs" milliseconds in the future. See emberAfEventControlSetDelayMS .
◆ emberAfEndpointEventControlSetDelayQS()
EmberStatus emberAfEndpointEventControlSetDelayQS | ( | EmberEventControl * |
controls,
|
uint8_t |
endpoint,
|
||
uint32_t |
delayQs
|
||
) |
Sets the EmberEventControl for the specified endpoint to run "delayQs" quarter seconds in the future. See emberAfEventControlSetDelayQS .
◆ emberAfEndpointEventControlSetInactive()
EmberStatus emberAfEndpointEventControlSetInactive | ( | EmberEventControl * |
controls,
|
uint8_t |
endpoint
|
||
) |
Sets the EmberEventControl for the specified endpoint as inactive. See ::emberEventControlSetInactive.
◆ emberAfEndpointFromIndex()
uint8_t emberAfEndpointFromIndex | ( | uint8_t |
index
|
) |
Macro that takes index of endpoint, and returns Zigbee endpoint.
◆ emberAfEndpointIndexIsEnabled()
bool emberAfEndpointIndexIsEnabled | ( | uint8_t |
index
|
) |
Determine if an endpoint at the specified index is enabled or disabled.
◆ emberAfEventControlSetDelay()
EmberStatus emberAfEventControlSetDelay | ( | EmberEventControl * |
eventControl,
|
uint32_t |
delayMs
|
||
) |
Sets the EmberEventControl to run "delayMs" milliseconds in the future. See emberAfEventControlSetDelayMS .
◆ emberAfEventControlSetDelayMinutes()
EmberStatus emberAfEventControlSetDelayMinutes | ( | EmberEventControl * |
control,
|
uint16_t |
delayM
|
||
) |
Sets the EmberEventControl to run "delayM" minutes in the future. The 'minutes' are actually 65536 (0x10000) milliseconds long. This function first verifies that the delay is within the acceptable range before scheduling the event.
- Parameters
-
control
a pointer to the event control. delayM
the number of minutes until the next event.
- Returns
- If delayM is less than or equal to ::EMBER_MAX_EVENT_CONTROL_DELAY_MINUTES, this function will schedule the event and return EMBER_SUCCESS . Otherwise it will return EMBER_BAD_ARGUMENT .
◆ emberAfEventControlSetDelayMS()
EmberStatus emberAfEventControlSetDelayMS | ( | EmberEventControl * |
control,
|
uint32_t |
delayMs
|
||
) |
Sets the EmberEventControl to run "delayMs" milliseconds in the future. This function first verifies that the delay is within the acceptable range before scheduling the event.
- Parameters
-
control
a pointer to the event control. delayMs
the number of milliseconds until the next event.
- Returns
- If delayMs is less than or equal to ::EMBER_MAX_EVENT_CONTROL_DELAY_MS, this function will schedule the event and return EMBER_SUCCESS . Otherwise it will return EMBER_BAD_ARGUMENT .
◆ emberAfEventControlSetDelayQS()
EmberStatus emberAfEventControlSetDelayQS | ( | EmberEventControl * |
control,
|
uint32_t |
delayQs
|
||
) |
Sets the EmberEventControl to run "delayQs" quarter seconds in the future. The 'quarter seconds' are actually 256 milliseconds long. This function first verifies that the delay is within the acceptable range before scheduling the event.
- Parameters
-
control
a pointer to the event control. delayQs
the number of quarter seconds until the next event.
- Returns
- If delayQs is less than or equal to ::EMBER_MAX_EVENT_CONTROL_DELAY_QS, this function will schedule the event and return EMBER_SUCCESS . Otherwise it will return EMBER_BAD_ARGUMENT .
◆ emberAfFindActiveEndpoints()
EmberStatus emberAfFindActiveEndpoints | ( | EmberNodeId |
target,
|
EmberAfServiceDiscoveryCallback * |
callback
|
||
) |
Initiate an Active Endpoint request ZDO message to the target node ID.
◆ emberAfFindClusterClientEndpointIndex()
uint8_t emberAfFindClusterClientEndpointIndex | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
Returns the endpoint index within a given cluster (Client-side), looking only for standard clusters.
◆ emberAfFindClustersByDeviceAndEndpoint()
EmberStatus emberAfFindClustersByDeviceAndEndpoint | ( | EmberNodeId |
target,
|
uint8_t |
targetEndpoint,
|
||
EmberAfServiceDiscoveryCallback * |
callback
|
||
) |
Use this function to find all of the given in and out clusters implemented on a devices given endpoint. Target should only be the short address of a specific device.
With this function a single service discovery is initiated and the response is passed back to the passed callback.
- Parameters
-
target
The destination node ID for the discovery. This should be a specific node's ID and should not be a broadcast address. targetEndpoint
The endpoint to target with the discovery process. callback
Function pointer for the callback function triggered when the discovery is returned.
◆ emberAfFindClusterServerEndpointIndex()
uint8_t emberAfFindClusterServerEndpointIndex | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId
|
||
) |
Returns the endpoint index within a given cluster (Server-side), looking only for standard clusters.
◆ emberAfFindDevicesByProfileAndCluster()
EmberStatus emberAfFindDevicesByProfileAndCluster | ( | EmberNodeId |
target,
|
EmberAfProfileId |
profileId,
|
||
EmberAfClusterId |
clusterId,
|
||
bool |
serverCluster,
|
||
EmberAfServiceDiscoveryCallback * |
callback
|
||
) |
Use this function to find devices in the network with endpoints matching a given profile ID and cluster ID in their descriptors. Target may either be a specific device, or the broadcast address EMBER_RX_ON_WHEN_IDLE_BROADCAST_ADDRESS.
With this function a service discovery is initiated and received responses are returned by executing the callback function passed in. For unicast discoveries, the callback will be executed only once. Either the target will return a result or a timeout will occur. For broadcast discoveries, the callback may be called multiple times and after a period of time the discovery will be finished with a final call to the callback.
- Parameters
-
target
The destination node ID for the discovery; either a specific node's ID or EMBER_RX_ON_WHEN_IDLE_BROADCAST_ADDRESS. profileId
The application profile for the cluster being discovered. clusterId
The cluster being discovered. serverCluster
EMBER_AF_SERVER_CLUSTER_DISCOVERY (true) if discovering servers for the target cluster; EMBER_AF_CLIENT_CLUSTER_DISCOVERY (false) if discovering clients for that cluster. callback
Function pointer for the callback function triggered when a match is discovered. (For broadcast discoveries, this is called once per matching node, even if a node has multiple matching endpoints.)
Referenced by
optionDiscoverCommand()
.
◆ emberAfFindIeeeAddress()
EmberStatus emberAfFindIeeeAddress | ( | EmberNodeId |
shortAddress,
|
EmberAfServiceDiscoveryCallback * |
callback
|
||
) |
Use this function to initiate a discovery for the IEEE address of the specified node id. This will send a unicast sent to the target node ID.
Referenced by
zdoIeeeAddressRequestCommand()
.
◆ emberAfFindNodeId()
EmberStatus emberAfFindNodeId | ( | EmberEUI64 |
longAddress,
|
EmberAfServiceDiscoveryCallback * |
callback
|
||
) |
Use this function to initiate a discovery for the short ID of the specified long address. This will send a broadcast to all rx-on-when-idle devices (non-sleepies).
Referenced by
zdoNwkAddressRequestCommand()
.
◆ emberAfFindUnusedPanIdAndForm()
EmberStatus emberAfFindUnusedPanIdAndForm | ( | void |
|
) |
Use this function to find an unused PAN id and form a new network.
- Returns
- An EmberStatus value that indicates either the process begin successfully or the reason for failure.
Referenced by
findUnusedPanIdCommand()
.
◆ emberAfFixedEndpointCount()
uint8_t emberAfFixedEndpointCount | ( | void |
|
) |
Returns the number of pre-compiled endpoints.
◆ emberAfFormNetwork()
EmberStatus emberAfFormNetwork | ( | EmberNetworkParameters * |
parameters
|
) |
Use this function to form a new network using the specified network parameters.
- Parameters
-
parameters
Specification of the new network.
- Returns
- An EmberStatus value that indicates either the successful formation of the new network or the reason that the network formation failed.
Referenced by
networkFormCommand()
.
◆ emberAfGenerateRandomKey()
EmberStatus emberAfGenerateRandomKey | ( | EmberKeyData * |
result
|
) |
Generates a random key (link, network, or master).
◆ emberAfGetAddressIndex()
uint8_t emberAfGetAddressIndex | ( | void |
|
) |
This indicates a new image verification is taking place.
◆ emberAfGetAttributeAnalogOrDiscreteType()
uint8_t emberAfGetAttributeAnalogOrDiscreteType | ( | uint8_t |
dataType
|
) |
Returns the type of the attribute, either ANALOG, DISCRETE or NONE.
◆ emberAfGetBindingIndex()
uint8_t emberAfGetBindingIndex | ( | void |
|
) |
This indicates a new image verification is taking place.
◆ emberAfGetCommandApsFrame()
EmberApsFrame * emberAfGetCommandApsFrame | ( | void |
|
) |
Access to client API APS frame.
◆ emberAfGetDataSize()
uint8_t emberAfGetDataSize | ( | uint8_t |
dataType
|
) |
this function returns the size of the ZCL data in bytes.
- Parameters
-
dataType
Zcl data type
- Returns
- size in bytes or 0 if invalid data type
Referenced by
emAfCliReadCommand()
, and
emAfCliWriteCommand()
.
◆ emberAfGetDate()
uint8_t emberAfGetDate | ( | uint8_t * |
message,
|
uint16_t |
currentIndex,
|
||
uint16_t |
msgLen,
|
||
EmberAfDate * |
destination
|
||
) |
macro that returns true if the cluster is in the manufacturer specific range
- Parameters
-
cluster
EmberAfCluster* to consider
◆ emberAfGetEui64()
void emberAfGetEui64 | ( | EmberEUI64 |
returnEui64
|
) |
populates the passed EUI64 with the local EUI64 MAC address.
Referenced by
networkIdCommand()
, and
zdoUnbindUnicastCommand()
.
◆ emberAfGetInt16u()
uint16_t emberAfGetInt16u | ( | const uint8_t * |
message,
|
uint16_t |
currentIndex,
|
||
uint16_t |
msgLen
|
||
) |
Function that extracts a 16-bit integer from the message buffer.
◆ emberAfGetInt24u()
uint32_t emberAfGetInt24u | ( | const uint8_t * |
message,
|
uint16_t |
currentIndex,
|
||
uint16_t |
msgLen
|
||
) |
Function that extracts a 24-bit integer from the message buffer.
◆ emberAfGetInt32u()
uint32_t emberAfGetInt32u | ( | const uint8_t * |
message,
|
uint16_t |
currentIndex,
|
||
uint16_t |
msgLen
|
||
) |
Function that extracts a 32-bit integer from the message buffer.
◆ emberAfGetLastSequenceNumber()
uint8_t emberAfGetLastSequenceNumber | ( | void |
|
) |
Retrieves the last sequence number that was used.
◆ emberAfGetLongString()
uint8_t* emberAfGetLongString | ( | uint8_t * |
message,
|
uint16_t |
currentIndex,
|
||
uint16_t |
msgLen
|
||
) |
Function that extracts a ZCL long string from the message buffer.
◆ emberAfGetNetworkParameters()
EmberStatus emberAfGetNetworkParameters | ( | EmberNodeType * |
nodeType,
|
EmberNetworkParameters * |
parameters
|
||
) |
Returns the current network parameters.
◆ emberAfGetNodeId()
EmberNodeId emberAfGetNodeId | ( | void |
|
) |
Returns the node ID of the local node.
Referenced by
emAfCliSendCommand()
, and
networkIdCommand()
.
◆ emberAfGetNodeType()
EmberStatus emberAfGetNodeType | ( | EmberNodeType * |
nodeType
|
) |
Returns the current node type.
◆ emberAfGetPanId()
EmberPanId emberAfGetPanId | ( | void |
|
) |
Returns the PAN ID of the local node.
Referenced by
networkIdCommand()
.
◆ emberAfGetRadioChannel()
uint8_t emberAfGetRadioChannel | ( | void |
|
) |
Returns the radioChannel of the current network.
Get this node's radio channel for the current network.
◆ emberAfGetString()
uint8_t* emberAfGetString | ( | uint8_t * |
message,
|
uint16_t |
currentIndex,
|
||
uint16_t |
msgLen
|
||
) |
Function that extracts a ZCL string from the message buffer.
◆ emberAfIndexFromEndpoint()
uint8_t emberAfIndexFromEndpoint | ( | uint8_t |
endpoint
|
) |
Returns the index of a given endpoint
◆ emberAfIndexFromEndpointIncludingDisabledEndpoints()
uint8_t emberAfIndexFromEndpointIncludingDisabledEndpoints | ( | uint8_t |
endpoint
|
) |
Returns the index of a given endpoint; Does not ignore disabled endpoints
◆ emberAfInitiateInterPanKeyEstablishment()
EmberStatus emberAfInitiateInterPanKeyEstablishment | ( | EmberPanId |
panId,
|
const EmberEUI64 |
eui64
|
||
) |
Use this function to initiate key establishment with a remote node on a different PAN. emberAfInterPanKeyEstablishmentCallback will be called as events occur and when key establishment completes.
- Parameters
-
panId
The PAN id of the remote device. eui64
The EUI64 of the remote device.
- Returns
- EMBER_SUCCESS if key establishment was initiated successfully
◆ emberAfInitiateKeyEstablishment()
EmberStatus emberAfInitiateKeyEstablishment | ( | EmberNodeId |
nodeId,
|
uint8_t |
endpoint
|
||
) |
Use this function to initiate key establishment with a remote node. emberAfKeyEstablishmentCallback will be called as events occur and when key establishment completes.
- Parameters
-
nodeId
The node id of the remote device. endpoint
The endpoint on the remote device.
- Returns
- EMBER_SUCCESS if key establishment was initiated successfully
◆ emberAfInitiatePartnerLinkKeyExchange()
EmberStatus emberAfInitiatePartnerLinkKeyExchange | ( | EmberNodeId |
target,
|
uint8_t |
endpoint,
|
||
EmberAfPartnerLinkKeyExchangeCallback * |
callback
|
||
) |
Use this function to initiate partner link key exchange with a remote node.
- Parameters
-
target
The node id of the remote device. endpoint
The key establishment endpoint of the remote device. callback
The callback that should be called when the partner link key exchange completes.
- Returns
- EMBER_SUCCESS if the partner link key exchange was initiated successfully.
◆ emberAfIsCurrentSecurityProfileSmartEnergy()
bool emberAfIsCurrentSecurityProfileSmartEnergy | ( | void |
|
) |
Use this function to determine if the security profile of the current network was set to Smart Energy. The security profile is configured in AppBuilder. @ return true if the security profile is Smart Energy or false otherwise.
◆ emberAfIsDeviceEnabled()
bool emberAfIsDeviceEnabled | ( | uint8_t |
endpoint
|
) |
Function that checks if endpoint is enabled.
This function returns true if device at a given endpoint is enabled. At startup all endpoints are enabled.
- Parameters
-
endpoint
Zigbee endpoint number
◆ emberAfIsDeviceIdentifying()
bool emberAfIsDeviceIdentifying | ( | uint8_t |
endpoint
|
) |
Function that checks if endpoint is identifying.
This function returns true if device at a given endpoint is identifying.
- Parameters
-
endpoint
Zigbee endpoint number
◆ emberAfIsLongStringAttributeType()
bool emberAfIsLongStringAttributeType | ( | EmberAfAttributeType |
attributeType
|
) |
Returns true if the given attribute type is a long string.
Referenced by
emAfCliReadCommand()
, and
emAfCliWriteCommand()
.
◆ emberAfIsStringAttributeType()
bool emberAfIsStringAttributeType | ( | EmberAfAttributeType |
attributeType
|
) |
Returns true if the given attribute type is a string.
Referenced by
emAfCliReadCommand()
, and
emAfCliWriteCommand()
.
◆ emberAfIsThisDataTypeAStringType()
bool emberAfIsThisDataTypeAStringType | ( | EmberAfAttributeType |
dataType
|
) |
Returns true if a given ZCL data type is a string type.
You should use this function if you need to perform a different memory operation on a certain attribute because it is a string type. Since ZCL strings carry length as the first byte(s), it is often required to treat them differently than regular data types.
- Returns
- true if data type is a string.
Referenced by
zclGlobalWriteCommand()
.
◆ emberAfIsTypeSigned()
bool emberAfIsTypeSigned | ( | EmberAfAttributeType |
dataType
|
) |
Returns true if type is signed, false otherwise.
◆ emberAfJoinNetwork()
EmberStatus emberAfJoinNetwork | ( | EmberNetworkParameters * |
parameters
|
) |
Use this function to associate with the network using the specified network parameters.
- Parameters
-
parameters
Specification of the network with which the node should associate.
- Returns
- An EmberStatus value that indicates either that the association process began successfully or the reason for failure.
Referenced by
networkJoinCommand()
.
◆ emberAfLocateAttributeMetadata()
EmberAfAttributeMetadata * emberAfLocateAttributeMetadata | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
EmberAfAttributeId |
attributeId,
|
||
uint8_t |
mask,
|
||
uint16_t |
manufacturerCode
|
||
) |
locate attribute metadata
Function returns pointer to the attribute metadata structure, or NULL if attribute was not found.
- Parameters
-
endpoint
Zigbee endpoint number. cluster
Cluster ID of the sought cluster. attribute
Attribute ID of the sought attribute. mask
CLUSTER_MASK_SERVER or CLUSTER_MASK_CLIENT
- Returns
- Returns pointer to the attribute metadata location.
◆ emberAfLongStringLength()
uint16_t emberAfLongStringLength | ( | const uint8_t * |
buffer
|
) |
macro that returns true if the cluster is in the manufacturer specific range
- Parameters
-
cluster
EmberAfCluster* to consider
◆ emberAfMain()
int emberAfMain | ( | MAIN_FUNCTION_PARAMETERS |
|
) |
This function effectively serves as the application main.
◆ emberAfMainInit()
void emberAfMainInit | ( | void |
|
) |
Basic initialization API to be invoked before emberAfMain .
◆ emberAfMaximumApsPayloadLength()
uint8_t emberAfMaximumApsPayloadLength | ( | EmberOutgoingMessageType |
type,
|
uint16_t |
indexOrDestination,
|
||
EmberApsFrame * |
apsFrame
|
||
) |
Returns the maximum size of the payload that the Application Support sub-layer will accept for the given message type, destination, and APS frame.
The size depends on multiple factors, including the security level in use and additional information added to the message to support the various options.
- Parameters
-
type
The outgoing message type. indexOrDestination
Depending on the message type, this is either the EmberNodeId of the destination, an index into the address table, an index into the binding table, the multicast identifier, or a broadcast address. apsFrame
The APS frame for the message.
- Returns
- The maximum APS payload length for the given message.
◆ emberAfMsToNextEvent()
uint32_t emberAfMsToNextEvent | ( | uint32_t |
maxMs
|
) |
A function used to retrieve the number of milliseconds until the next event scheduled in the application framework's event mechanism.
- Parameters
-
maxMs,the
maximum number of milliseconds until the next event.
- Returns
- The number of milliseconds until the next event or maxMs if no event is scheduled before then.
◆ emberAfMsToNextEventExtended()
uint32_t emberAfMsToNextEventExtended | ( | uint32_t |
maxMs,
|
uint8_t * |
returnIndex
|
||
) |
This is the same as the function emberAfMsToNextEvent() with the following addition. If returnIndex is non-NULL it returns the index of the event that is ready to fire next.
◆ emberAfNetworkEventControlGetActive()
bool emberAfNetworkEventControlGetActive | ( | EmberEventControl * |
controls
|
) |
Returns true if the event for the current network, and only the current network, is active. See ::emberEventControlGetActive.
◆ emberAfNetworkEventControlSetActive()
void emberAfNetworkEventControlSetActive | ( | EmberEventControl * |
controls
|
) |
Sets the EmberEventControl for the current network, and only current network, to run at the next available opportunity. See ::emberEventControlSetActive.
◆ emberAfNetworkEventControlSetDelay()
EmberStatus emberAfNetworkEventControlSetDelay | ( | EmberEventControl * |
controls,
|
uint32_t |
delayMs
|
||
) |
Sets the EmberEventControl for the current network, and only the current network, to run "delayMs" milliseconds in the future. See emberAfEventControlSetDelayMS .
◆ emberAfNetworkEventControlSetDelayMinutes()
EmberStatus emberAfNetworkEventControlSetDelayMinutes | ( | EmberEventControl * |
controls,
|
uint16_t |
delayM
|
||
) |
Sets the EmberEventControl for the current network, and only the current network, to run "delayM" minutes in the future. See emberAfEventControlSetDelayMinutes .
◆ emberAfNetworkEventControlSetDelayMS()
EmberStatus emberAfNetworkEventControlSetDelayMS | ( | EmberEventControl * |
controls,
|
uint32_t |
delayMs
|
||
) |
Sets the EmberEventControl for the current network, and only the current network, to run "delayMs" milliseconds in the future. See emberAfEventControlSetDelayMS .
◆ emberAfNetworkEventControlSetDelayQS()
EmberStatus emberAfNetworkEventControlSetDelayQS | ( | EmberEventControl * |
controls,
|
uint32_t |
delayQs
|
||
) |
Sets the EmberEventControl for the current network, and only the current network, to run "delayQs" quarter seconds in the future. See emberAfEventControlSetDelayQS .
◆ emberAfNetworkEventControlSetInactive()
void emberAfNetworkEventControlSetInactive | ( | EmberEventControl * |
controls
|
) |
Sets the EmberEventControl for the current network, and only the current network, as inactive. See ::emberEventControlSetInactive.
◆ emberAfNetworkIndexFromEndpoint()
uint8_t emberAfNetworkIndexFromEndpoint | ( | uint8_t |
endpoint
|
) |
Returns the network index of a given endpoint.
◆ emberAfNetworkState()
EmberNetworkStatus emberAfNetworkState | ( | void |
|
) |
Returns the current network state. This call caches the results on the host to prevent frequent EZSP transactions.
◆ emberAfNextSequence()
uint8_t emberAfNextSequence | ( | void |
|
) |
Increments the ZCL sequence number and returns the value.
ZCL messages have sequence numbers so that they can be matched up with other messages in the transaction. To avoid conflicts with sequence numbers generated independently by the application, this API returns sequence numbers with the high bit clear. If the application generates its own sequence numbers, it should use numbers with the high bit set.
- Returns
- The next ZCL sequence number.
Referenced by
zclBufferSetup()
.
◆ emberAfPerformingKeyEstablishment()
bool emberAfPerformingKeyEstablishment | ( | void |
|
) |
Use this function to tell if the device is in the process of performing key establishment.
- Returns
- ::true if key establishment is in progress.
◆ emberAfPermitJoin()
EmberStatus emberAfPermitJoin | ( | uint8_t |
duration,
|
bool |
broadcastMgmtPermitJoin
|
||
) |
Enables local permit join and optionally broadcasts the ZDO Mgmt_Permit_Join_req message. This API can be called from any device type and still return EMBER_SUCCESS. If the API is called from an end device, the permit association bit will just be left off.
- Parameters
-
duration
the duration that the permit join bit will remain on and other devices will be able to join the current network. broadcastMgmtPermitJoin
whether or not to broadcast the ZDO Mgmt_Permit_Join_req message.
- Returns
- status of whether or not permit join was enabled.
◆ emberAfPopNetworkIndex()
EmberStatus emberAfPopNetworkIndex | ( | void |
|
) |
Removes the topmost network from the stack of networks maintained by the framework and sets the current network to the new topmost network. Every call to this API must be paired with a prior call to emberAfPushNetworkIndex , emberAfPushCallbackNetworkIndex , or emberAfPushEndpointNetworkIndex .
Referenced by
emberCommandActionHandler()
, and
optionBindingTableSetCommand()
.
◆ emberAfPrimaryEndpointForCurrentNetworkIndex()
uint8_t emberAfPrimaryEndpointForCurrentNetworkIndex | ( | void |
|
) |
Returns the primary endpoint of the current network index or 0xFF if no endpoints belong to the current network.
Referenced by
emAfApsFrameEndpointSetup()
.
◆ emberAfPrimaryEndpointForNetworkIndex()
uint8_t emberAfPrimaryEndpointForNetworkIndex | ( | uint8_t |
networkIndex
|
) |
Returns the primary endpoint of the given network index or 0xFF if no endpoints belong to the network.
◆ emberAfPushCallbackNetworkIndex()
EmberStatus emberAfPushCallbackNetworkIndex | ( | void |
|
) |
Sets the current network to the callback network and adds it to the stack of networks maintained by the framework. Every call to this API must be paired with a subsequent call to emberAfPopNetworkIndex .
◆ emberAfPushEndpointNetworkIndex()
EmberStatus emberAfPushEndpointNetworkIndex | ( | uint8_t |
endpoint
|
) |
Sets the current network to that of the given endpoint and adds it to the stack of networks maintained by the framework. Every call to this API must be paired with a subsequent call to emberAfPopNetworkIndex .
Referenced by
optionBindingTableSetCommand()
.
◆ emberAfPushNetworkIndex()
EmberStatus emberAfPushNetworkIndex | ( | uint8_t |
networkIndex
|
) |
Sets the current network to that of the given index and adds it to the stack of networks maintained by the framework. Every call to this API must be paired with a subsequent call to emberAfPopNetworkIndex .
Referenced by
emberCommandActionHandler()
.
◆ emberAfReadAttribute()
EmberAfStatus emberAfReadAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint8_t |
mask,
|
||
uint8_t * |
dataPtr,
|
||
uint8_t |
readLength,
|
||
EmberAfAttributeType * |
dataType
|
||
) |
Read the attribute value, performing all the checks.
This function will attempt to read the attribute and store it into the pointer. It will also read the data type. Both dataPtr and dataType may be NULL, signifying that either value or type is not desired.
- See also
- emberAfReadClientAttribute , emberAfReadServerAttribute , emberAfReadManufacturerSpecificClientAttribute , emberAfReadManufacturerSpecificServerAttribute
Referenced by
emAfCliReadCommand()
, and
zclGlobalReportCommand()
.
◆ emberAfReadClientAttribute()
EmberAfStatus emberAfReadClientAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint8_t * |
dataPtr,
|
||
uint8_t |
readLength
|
||
) |
Read the client attribute value, performing all the checks.
This function will attempt to read the attribute and store it into the pointer. It will also read the data type. Both dataPtr and dataType may be NULL, signifying that either value or type is not desired.
◆ emberAfReadManufacturerSpecificClientAttribute()
EmberAfStatus emberAfReadManufacturerSpecificClientAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint16_t |
manufacturerCode,
|
||
uint8_t * |
dataPtr,
|
||
uint8_t |
readLength
|
||
) |
Read the manufacturer-specific client attribute value, performing all checks.
This function will attempt to read the attribute and store it into the pointer. It will also read the data type. Both dataPtr and dataType may be NULL, signifying that either value or type is not desired.
◆ emberAfReadManufacturerSpecificServerAttribute()
EmberAfStatus emberAfReadManufacturerSpecificServerAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint16_t |
manufacturerCode,
|
||
uint8_t * |
dataPtr,
|
||
uint8_t |
readLength
|
||
) |
Read the manufacturer-specific server attribute value, performing all checks.
This function will attempt to read the attribute and store it into the pointer. It will also read the data type. Both dataPtr and dataType may be NULL, signifying that either value or type is not desired.
◆ emberAfReadServerAttribute()
EmberAfStatus emberAfReadServerAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint8_t * |
dataPtr,
|
||
uint8_t |
readLength
|
||
) |
Read the server attribute value, performing all the checks.
This function will attempt to read the attribute and store it into the pointer. It will also read the data type. Both dataPtr and dataType may be NULL, signifying that either value or type is not desired.
◆ emberAfRemoveAddressTableEntry()
EmberStatus emberAfRemoveAddressTableEntry | ( | uint8_t |
index
|
) |
Use this function to remove a specific entry from the address table.
The framework will remember how many times an address table index has been referenced through emberAfAddAddressTableEntry and emberAfSetAddressTableEntry . The address table entry at this index will not actually be removed until its reference count reaches zero.
- Parameters
-
index
The index of the address table entry.
- Returns
- EMBER_SUCCESS if the address table entry was successfully removed or EMBER_ADDRESS_TABLE_INDEX_OUT_OF_RANGE if the index is out of range.
◆ emberAfRunEvents()
void emberAfRunEvents | ( | void |
|
) |
a function used to run the application framework's event mechanism. This function passes the application framework's event tables to the ember stack's event processing code.
◆ emberAfScheduleClientTick()
EmberStatus emberAfScheduleClientTick | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
uint32_t |
delayMs
|
||
) |
A function used to schedule a cluster client event. This function is a wrapper for emberAfScheduleClientTickExtended . It indicates that the cluster client on the given endpoint can long poll and can sleep.
- Parameters
-
endpoint
the endpoint of the event to be scheduled. clusterId
the cluster id of the event to be scheduled. delayMs
the number of milliseconds until the event should be called.
- Returns
- EMBER_SUCCESS if the event was scheduled or an error otherwise.
◆ emberAfScheduleClientTickExtended()
EmberStatus emberAfScheduleClientTickExtended | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
uint32_t |
delayMs,
|
||
EmberAfEventPollControl |
pollControl,
|
||
EmberAfEventSleepControl
|
sleepControl
|
||
) |
A function used to schedule a cluster client event. This function is a wrapper for emberAfScheduleTickExtended .
- Parameters
-
endpoint
the endpoint of the event to be scheduled clusterId
the cluster id of the event to be scheduled delayMs
the number of milliseconds until the event should be called. pollControl
EMBER_AF_SHORT_POLL if the cluster needs to short poll or EMBER_AF_LONG_POLL otherwise. sleepControl
EMBER_AF_STAY_AWAKE if the cluster needs to stay awake or EMBER_AF_OK_TO_SLEEP otherwise.
- Returns
- EMBER_SUCCESS if the event was scheduled or an error otherwise.
◆ emberAfScheduleClusterTick()
EmberStatus emberAfScheduleClusterTick | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
bool |
isClient,
|
||
uint32_t |
delayMs,
|
||
EmberAfEventSleepControl
|
sleepControl
|
||
) |
This function is used to schedule a cluster-related event inside the This function is a wrapper for emberAfScheduleTickExtended . The cluster on the given endpoint will be set to long poll if sleepControl is set to EMBER_AF_OK_TO_HIBERNATE or will be set to short poll otherwise. It will stay awake if sleepControl is EMBER_AF_STAY_AWAKE and will sleep otherwise.
- Parameters
-
endpoint
the endpoint of the event to be scheduled. clusterId
the cluster id of the event to be scheduled. isClient
EMBER_AF_CLIENT_CLUSTER_TICK if the event to be scheduled is associated with a client cluster or EMBER_AF_SERVER_CLUSTER_TICK otherwise. delayMs
the number of milliseconds until the event should be called. sleepControl
the priority of the event, what the processor should be allowed to do in terms of sleeping while the event is active.
- Returns
- EMBER_SUCCESS if the event was scheduled or an error otherwise.
◆ emberAfScheduleServerTick()
EmberStatus emberAfScheduleServerTick | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
uint32_t |
delayMs
|
||
) |
A function used to schedule a cluster server event. This function is a wrapper for emberAfScheduleServerTickExtended . It indicates that the cluster server on the given endpoint can long poll and can sleep.
- Parameters
-
endpoint
the endpoint of the event to be scheduled clusterId
the cluster id of the event to be scheduled. delayMs
the number of milliseconds until the event should be called.
- Returns
- EMBER_SUCCESS if the event was scheduled or an error otherwise.
◆ emberAfScheduleServerTickExtended()
EmberStatus emberAfScheduleServerTickExtended | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
uint32_t |
delayMs,
|
||
EmberAfEventPollControl |
pollControl,
|
||
EmberAfEventSleepControl
|
sleepControl
|
||
) |
A function used to schedule a cluster server event. This function is a wrapper for emberAfScheduleTickExtended .
- Parameters
-
endpoint
the endpoint of the event to be scheduled. clusterId
the cluster id of the event to be scheduled. delayMs
the number of milliseconds until the event should be called. pollControl
EMBER_AF_SHORT_POLL if the cluster needs to short poll or EMBER_AF_LONG_POLL otherwise. sleepControl
EMBER_AF_STAY_AWAKE if the cluster needs to stay awake or EMBER_AF_OK_TO_SLEEP otherwise.
- Returns
- EMBER_SUCCESS if the event was scheduled or an error otherwise.
◆ emberAfScheduleTickExtended()
EmberStatus emberAfScheduleTickExtended | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
clusterId,
|
||
bool |
isClient,
|
||
uint32_t |
delayMs,
|
||
EmberAfEventPollControl |
pollControl,
|
||
EmberAfEventSleepControl
|
sleepControl
|
||
) |
This function is used to schedule a cluster-related event inside the application framework's event mechanism. This function provides a wrapper for the Ember stack event mechanism which allows the cluster code to access its events by their endpoint, cluster id, and client/server identity. The passed poll and sleep controls allow the cluster to indicate whether it needs to long or short poll and whether it needs to stay awake or if it can sleep.
- Parameters
-
endpoint
the endpoint of the event to be scheduled. clusterId
the cluster id of the event to be scheduled. isClient
EMBER_AF_CLIENT_CLUSTER_TICK if the event to be scheduled is associated with a client cluster or EMBER_AF_SERVER_CLUSTER_TICK otherwise. delayMs
the number of milliseconds until the event should be called. pollControl
EMBER_AF_SHORT_POLL if the cluster needs to short poll or EMBER_AF_LONG_POLL otherwise. sleepControl
EMBER_AF_STAY_AWAKE if the cluster needs to stay awake or EMBER_AF_OK_TO_SLEEP otherwise.
- Returns
- EMBER_SUCCESS if the event was scheduled or an error otherwise.
◆ emberAfSendBroadcast()
EmberStatus emberAfSendBroadcast | ( | EmberNodeId |
destination,
|
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message
|
||
) |
Sends broadcast.
Referenced by
emAfCliSendCommand()
.
◆ emberAfSendBroadcastWithAliasWithCallback()
EmberStatus emberAfSendBroadcastWithAliasWithCallback | ( | EmberNodeId |
destination,
|
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message,
|
||
EmberNodeId |
alias,
|
||
uint8_t |
sequence,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
Sends broadcast with alias with attached message sent callback.
◆ emberAfSendBroadcastWithCallback()
EmberStatus emberAfSendBroadcastWithCallback | ( | EmberNodeId |
destination,
|
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
Sends broadcast with attached message sent callback.
◆ emberAfSendCommandBroadcast()
EmberStatus emberAfSendCommandBroadcast | ( | EmberNodeId |
destination
|
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API.
◆ emberAfSendCommandBroadcastWithAlias()
EmberStatus emberAfSendCommandBroadcastWithAlias | ( | EmberNodeId |
destination,
|
EmberNodeId |
alias,
|
||
uint8_t |
sequence
|
||
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API.
◆ emberAfSendCommandBroadcastWithAliasWithCallback()
EmberStatus emberAfSendCommandBroadcastWithAliasWithCallback | ( | EmberNodeId |
destination,
|
EmberNodeId |
alias,
|
||
uint8_t |
sequence,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
emberAfSendCommandBroadcast from alias with attached message sent callback.
◆ emberAfSendCommandBroadcastWithCallback()
EmberStatus emberAfSendCommandBroadcastWithCallback | ( | EmberNodeId |
destination,
|
EmberAfMessageSentFunction |
callback
|
||
) |
emberAfSendCommandBroadcast with attached message sent callback.
◆ emberAfSendCommandInterPan()
EmberStatus emberAfSendCommandInterPan | ( | EmberPanId |
panId,
|
const EmberEUI64 |
destinationLongId,
|
||
EmberNodeId |
destinationShortId,
|
||
EmberMulticastId |
multicastId,
|
||
EmberAfProfileId |
profileId
|
||
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API. It will be sent via inter-PAN. If destinationLongId is not NULL, the message will be sent to that long address using long addressing mode; otherwise, the message will be sent to destinationShortId using short address mode. IF multicastId is not zero, the message will be sent using multicast mode.
◆ emberAfSendCommandMulticast()
EmberStatus emberAfSendCommandMulticast | ( | EmberMulticastId |
multicastId
|
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API. It will be sent as multicast.
◆ emberAfSendCommandMulticastToBindings()
EmberStatus emberAfSendCommandMulticastToBindings | ( | void |
|
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API. It will be sent as multicast to the group specified in the binding table that matches the cluster and source endpoint in the APS frame. Note: if the binding table contains many matching entries, calling this API cause a significant amount of network traffic.
◆ emberAfSendCommandMulticastWithAlias()
EmberStatus emberAfSendCommandMulticastWithAlias | ( | EmberMulticastId |
multicastId,
|
EmberNodeId |
alias,
|
||
uint8_t |
sequence
|
||
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API. It will be sent as multicast.
◆ emberAfSendCommandMulticastWithCallback()
EmberStatus emberAfSendCommandMulticastWithCallback | ( | EmberMulticastId |
multicastId,
|
EmberAfMessageSentFunction |
callback
|
||
) |
emberAfSendCommandMulticast with attached message sent callback.
◆ emberAfSendCommandUnicast()
EmberStatus emberAfSendCommandUnicast | ( | EmberOutgoingMessageType |
type,
|
uint16_t |
indexOrDestination
|
||
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API. It will be sent as unicast.
◆ emberAfSendCommandUnicastToBindings()
EmberStatus emberAfSendCommandUnicastToBindings | ( | void |
|
) |
Sends the command prepared with emberAfFill.... macro.
This function is used to send a command that was previously prepared using the emberAfFill... macros from the client command API. It will be sent as unicast to each remote node in the binding table that matches the cluster and source endpoint in the APS frame. Note: if the binding table contains many matching entries, calling this API cause a significant amount of network traffic.
◆ emberAfSendCommandUnicastToBindingsWithCallback()
EmberStatus emberAfSendCommandUnicastToBindingsWithCallback | ( | EmberAfMessageSentFunction |
callback
|
) |
emberAfSendCommandUnicastToBindings with attached message sent callback.
◆ emberAfSendCommandUnicastWithCallback()
EmberStatus emberAfSendCommandUnicastWithCallback | ( | EmberOutgoingMessageType |
type,
|
uint16_t |
indexOrDestination,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
emberAfSendCommandUnicast with attached message sent callback.
◆ emberAfSendDefaultResponse()
EmberStatus emberAfSendDefaultResponse | ( | const EmberAfClusterCommand * |
cmd,
|
EmberAfStatus |
status
|
||
) |
Sends a default response to a cluster command.
This function is used to prepare and send a default response to a cluster command.
- Parameters
-
cmd
The cluster command to which to respond. status
Status code for the default response command.
- Returns
- An EmberStatus value that indicates the success or failure of sending the response.
◆ emberAfSendDefaultResponseWithCallback()
EmberStatus emberAfSendDefaultResponseWithCallback | ( | const EmberAfClusterCommand * |
cmd,
|
EmberAfStatus |
status,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
emberAfSendDefaultResponse with attached message sent callback.
◆ emberAfSendEndDeviceBind()
EmberStatus emberAfSendEndDeviceBind | ( | uint8_t |
endpoint
|
) |
Sends end device binding request.
Referenced by
optionEndDeviceBindCommand()
, and
zdoEndDeviceBindRequestCommand()
.
◆ emberAfSendImmediateDefaultResponse()
EmberStatus emberAfSendImmediateDefaultResponse | ( | EmberAfStatus |
status
|
) |
Sends a default response to a cluster command using the current command.
This function is used to prepare and send a default response to a cluster command.
- Parameters
-
status
Status code for the default response command.
- Returns
- An EmberStatus value that indicates the success or failure of sending the response.
◆ emberAfSendImmediateDefaultResponseWithCallback()
EmberStatus emberAfSendImmediateDefaultResponseWithCallback | ( | EmberAfStatus |
status,
|
EmberAfMessageSentFunction |
callback
|
||
) |
emberAfSendImmediateDefaultResponse with attached message sent callback.
◆ emberAfSendInterPan()
EmberStatus emberAfSendInterPan | ( | EmberPanId |
panId,
|
const EmberEUI64 |
destinationLongId,
|
||
EmberNodeId |
destinationShortId,
|
||
EmberMulticastId |
multicastId,
|
||
EmberAfClusterId |
clusterId,
|
||
EmberAfProfileId |
profileId,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
messageBytes
|
||
) |
Sends interpan message.
◆ emberAfSendMulticast()
EmberStatus emberAfSendMulticast | ( | EmberMulticastId |
multicastId,
|
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message
|
||
) |
Sends multicast.
Referenced by
emAfCliSendCommand()
.
◆ emberAfSendMulticastToBindings()
EmberStatus emberAfSendMulticastToBindings | ( | EmberApsFrame * |
apsFrame,
|
uint16_t |
messageLength,
|
||
uint8_t * |
message
|
||
) |
Multicasts the message to the group in the binding table that matches the cluster and source endpoint in the APS frame. Note: if the binding table contains many matching entries, calling this API cause a significant amount of network traffic. Care should be taken when considering the effects of broadcasts in a network.
◆ emberAfSendMulticastWithAliasWithCallback()
EmberStatus emberAfSendMulticastWithAliasWithCallback | ( | EmberMulticastId |
multicastId,
|
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message,
|
||
EmberNodeId |
alias,
|
||
uint8_t |
sequence,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
Sends Multicast with alias with attached message sent callback.
◆ emberAfSendMulticastWithCallback()
EmberStatus emberAfSendMulticastWithCallback | ( | EmberMulticastId |
multicastId,
|
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
Sends multicast with attached message sent callback.
◆ emberAfSendResponse()
EmberStatus emberAfSendResponse | ( | void |
|
) |
This function sends a ZCL response, based on the information that is currently in the outgoing buffer. It is expected that a complete ZCL message is present, including header. The application may use this method directly from within the message handling function and associated callbacks. However this will result in the response being sent before the APS Ack is sent which is not ideal.
NOTE: This will overwrite the ZCL sequence number of the message to use the LAST received sequence number.
◆ emberAfSendResponseWithCallback()
EmberStatus emberAfSendResponseWithCallback | ( | EmberAfMessageSentFunction |
callback
|
) |
Send ZCL response with attached message sent callback.
◆ emberAfSendUnicast()
EmberStatus emberAfSendUnicast | ( | EmberOutgoingMessageType |
type,
|
uint16_t |
indexOrDestination,
|
||
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message
|
||
) |
Sends unicast.
Referenced by
emAfCliSendCommand()
.
◆ emberAfSendUnicastToBindings()
EmberStatus emberAfSendUnicastToBindings | ( | EmberApsFrame * |
apsFrame,
|
uint16_t |
messageLength,
|
||
uint8_t * |
message
|
||
) |
Unicasts the message to each remote node in the binding table that matches the cluster and source endpoint in the APS frame. Note: if the binding table contains many matching entries, calling this API cause a significant amount of network traffic.
◆ emberAfSendUnicastToBindingsWithCallback()
EmberStatus emberAfSendUnicastToBindingsWithCallback | ( | EmberApsFrame * |
apsFrame,
|
uint16_t |
messageLength,
|
||
uint8_t * |
message,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
emberAfSendUnicastToBindings with attached message sent callback.
◆ emberAfSendUnicastWithCallback()
EmberStatus emberAfSendUnicastWithCallback | ( | EmberOutgoingMessageType |
type,
|
uint16_t |
indexOrDestination,
|
||
EmberApsFrame * |
apsFrame,
|
||
uint16_t |
messageLength,
|
||
uint8_t * |
message,
|
||
EmberAfMessageSentFunction |
callback
|
||
) |
Sends unicast with attached message sent callback.
◆ emberAfSetAddressTableEntry()
EmberStatus emberAfSetAddressTableEntry | ( | uint8_t |
index,
|
EmberEUI64 |
longId,
|
||
EmberNodeId |
shortId
|
||
) |
Use this function to add an entry for a remote device to the address table at a specific location.
The framework will remember how many times an address table index has been referenced through emberAfAddAddressTableEntry . If the reference count for the index passed to this function is not zero, the entry will be not changed. When the address table entry is no longer needed, the application should remove its reference by calling emberAfRemoveAddressTableEntry .
- Parameters
-
index
The index of the address table entry. longId
The EUI64 of the remote device. shortId
The node id of the remote device or EMBER_UNKNOWN_NODE_ID if the node id is currently unknown.
- Returns
- EMBER_SUCCESS if the address table entry was successfully set, EMBER_ADDRESS_TABLE_ENTRY_IS_ACTIVE if any messages are being sent using the existing entry at that index or the entry is still referenced in the framework, or EMBER_ADDRESS_TABLE_INDEX_OUT_OF_RANGE if the index is out of range.
◆ emberAfSetCommandEndpoints()
void emberAfSetCommandEndpoints | ( | uint8_t |
sourceEndpoint,
|
uint8_t |
destinationEndpoint
|
||
) |
Set the source and destination endpoints in the client API APS frame.
◆ emberAfSetDeviceEnabled()
void emberAfSetDeviceEnabled | ( | uint8_t |
endpoint,
|
bool |
enabled
|
||
) |
Function that enables or disables an endpoint.
By calling this function, you turn off all processing of incoming traffic for a given endpoint.
- Parameters
-
endpoint
Zigbee endpoint number
◆ emberAfStartSearchForJoinableNetwork()
EmberStatus emberAfStartSearchForJoinableNetwork | ( | void |
|
) |
Use this function to find a joinable network and join it.
- Returns
- An EmberStatus value that indicates either the process begin successfully or the reason for failure.
Referenced by
findJoinableNetworkCommand()
.
◆ emberAfStringLength()
uint8_t emberAfStringLength | ( | const uint8_t * |
buffer
|
) |
macro that returns true if the cluster is in the manufacturer specific range
- Parameters
-
cluster
EmberAfCluster* to consider
Referenced by
zclBufferAddString()
.
◆ emberAfVerifyAttributeWrite()
EmberAfStatus emberAfVerifyAttributeWrite | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint8_t |
mask,
|
||
uint16_t |
manufacturerCode,
|
||
uint8_t * |
dataPtr,
|
||
EmberAfAttributeType |
dataType
|
||
) |
Function that test the success of attribute write.
This function returns success if attribute write would be successful. It does not actually write anything, just validates for read-only and data-type.
- Parameters
-
endpoint
Zigbee endpoint number cluster
Cluster ID of the sought cluster. attribute
Attribute ID of the sought attribute. mask
CLUSTER_MASK_SERVER or CLUSTER_MASK_CLIENT buffer
Location where attribute will be written from. dataType
ZCL attribute type.
◆ emberAfWriteAttribute()
EmberAfStatus emberAfWriteAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint8_t |
mask,
|
||
uint8_t * |
dataPtr,
|
||
EmberAfAttributeType |
dataType
|
||
) |
write an attribute, performing all the checks.
This function will attempt to write the attribute value from the provided pointer. This function will only check that the attribute exists. If it does it will write the value into the attribute table for the given attribute.
This function will not check to see if the attribute is writable since the read only / writable characteristic of an attribute only pertains to external devices writing over the air. Because this function is being called locally it assumes that the device knows what it is doing and has permission to perform the given operation.
- See also
- emberAfWriteClientAttribute , emberAfWriteServerAttribute , emberAfWriteManufacturerSpecificClientAttribute , emberAfWriteManufacturerSpecificServerAttribute
Referenced by
emAfCliWriteCommand()
.
◆ emberAfWriteClientAttribute()
EmberAfStatus emberAfWriteClientAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint8_t * |
dataPtr,
|
||
EmberAfAttributeType |
dataType
|
||
) |
write a cluster client attribute.
This function is the same as emberAfWriteAttribute except that it saves having to pass the cluster mask. This is useful for code savings since write attribute is used frequently throughout the framework
◆ emberAfWriteManufacturerSpecificClientAttribute()
EmberAfStatus emberAfWriteManufacturerSpecificClientAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint16_t |
manufacturerCode,
|
||
uint8_t * |
dataPtr,
|
||
EmberAfAttributeType |
dataType
|
||
) |
write a manufacturer specific client attribute.
This function is the same as emberAfWriteAttribute except that it saves having to pass the cluster mask. and allows passing of a manufacturer code. This is useful for code savings since write attribute is used frequently throughout the framework
◆ emberAfWriteManufacturerSpecificServerAttribute()
EmberAfStatus emberAfWriteManufacturerSpecificServerAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint16_t |
manufacturerCode,
|
||
uint8_t * |
dataPtr,
|
||
EmberAfAttributeType |
dataType
|
||
) |
write a manufacturer specific server attribute.
This function is the same as emberAfWriteAttribute except that it saves having to pass the cluster mask and allows passing of a manufacturer code. This is useful for code savings since write attribute is used frequently throughout the framework
◆ emberAfWriteServerAttribute()
EmberAfStatus emberAfWriteServerAttribute | ( | uint8_t |
endpoint,
|
EmberAfClusterId |
cluster,
|
||
EmberAfAttributeId |
attributeID,
|
||
uint8_t * |
dataPtr,
|
||
EmberAfAttributeType |
dataType
|
||
) |
write a cluster server attribute.
This function is the same as emberAfWriteAttribute except that it saves having to pass the cluster mask. This is useful for code savings since write attribute is used frequently throughout the framework
- See also
- emberAfWriteClientAttribute , emberAfWriteManufacturerSpecificClientAttribute , emberAfWriteManufacturerSpecificServerAttribute
Referenced by
zclTimeCommand()
.
Variable Documentation
◆ emberAfInvalidImageId
const EmberAfOtaImageId emberAfInvalidImageId |
This variable defines an invalid image id. It is used to determine if a returned EmberAfOtaImageId is valid or not. This is done by passing the data to the function emberAfIsOtaImageIdValid().