Comms Hub Function#
API and Callbacks for the Comms Hub Function Component.
Silicon Labs implementation of the Comms Hub Function (CHF).
Modules#
API#
Pass a message to be tunneled over the HAN using either a sleepy buffer system (GSME) or directly to the device by initiating a tunnel (ESME, HCALCS, PPMID, TYPE2).
Set the default remote part message timeout.
Update Functional Notification Flags for the given device.
Update Functional Notification Flags on the given endpoint.
Enumerations#
Macros#
API Documentation#
emberAfPluginCommsHubFunctionSend#
EmberAfPluginCommsHubFunctionStatus emberAfPluginCommsHubFunctionSend (EmberEUI64 destinationDeviceId, uint16_t length, uint8_t * payload, uint16_t messageCode)
Pass a message to be tunneled over the HAN using either a sleepy buffer system (GSME) or directly to the device by initiating a tunnel (ESME, HCALCS, PPMID, TYPE2).
N/A | destinationDeviceId | The EUI64 of the destination device. |
N/A | length | The length in octets of the data. |
N/A | payload | The buffer (memory location at WAN Message Handler) containing the raw octets of the message (GBCS Message) |
N/A | messageCode | The GBCS Message Code for the data that is being sent. |
This function is used to transfer data to a device on the HAN.
Returns
EMBER_AF_CHF_STATUS_SUCCESS data was sent or has been queue to be sent. EMBER_AF_CHF_STATUS_NO_ACCESS No entry in the GBCS Device Log for the specified device. EMBER_AF_CHF_STATUS_NO_MIRROR Mirror endpoint for given device has not been configured. EMBER_AF_CHF_STATUS_FNF_ATTR_FAILURE Unable to read or write the functional notification flags attribute. EMBER_AF_CHF_STATUS_TOO_MANY_PEND_MESSAGES There are too many messages currently pending to be delivered. EMBER_AF_CHF_STATUS_TUNNEL_FAILURE tunnel cannot be created to non sleepy devices.
78
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
sli_zigbee_af_comms_hub_function_set_default_timeout#
void sli_zigbee_af_comms_hub_function_set_default_timeout (uint32_t timeout)
Set the default remote part message timeout.
N/A | timeout | Timeout in seconds. |
This function is used to set the default timeout for all messages destined for a sleepy device. If the device does not retrieve the message before this time, it will be discarded and a EMBER_AF_CHF_STATUS_SEND_TIMEOUT error will be return in emberAfPluginCommsHubFunctionSendCallback().
93
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
sli_zigbee_af_update_functional_notification_flags_by_eui64#
EmberAfPluginCommsHubFunctionStatus sli_zigbee_af_update_functional_notification_flags_by_eui64 (EmberEUI64 deviceId, uint32_t resetMask, uint32_t setMask)
Update Functional Notification Flags for the given device.
N/A | deviceId | Identifier of the device for which the notification flags are to be updated |
N/A | resetMask | Each flag to be reset has the corresponding bit set to 0, all other flags have the corresponding bit set to 1 |
N/A | setMask | Each flag to be set has the corresponding bit set to 1, all other flags have the corresponding bit set to 0 |
105
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
sli_zigbee_af_update_functional_notification_flags_by_endpoint#
EmberAfPluginCommsHubFunctionStatus sli_zigbee_af_update_functional_notification_flags_by_endpoint (uint8_t endpoint, uint32_t resetMask, uint32_t setMask)
Update Functional Notification Flags on the given endpoint.
N/A | endpoint | An endpoint on which the notification flags are to be updated. |
N/A | resetMask | Each flag to be reset has the corresponding bit set to 0, all other flags have the corresponding bit set to 1. |
N/A | setMask | Each flag to be set has the corresponding bit set to 1, all other flags have the corresponding bit set to 0. |
118
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
Enumeration Documentation#
EmberAfPluginCommsHubFunctionStatus#
EmberAfPluginCommsHubFunctionStatus
Enumerator | |
---|---|
EMBER_AF_CHF_STATUS_SUCCESS | |
EMBER_AF_CHF_STATUS_TOO_MANY_PEND_MESSAGES | |
EMBER_AF_CHF_STATUS_FNF_ATTR_FAILURE | |
EMBER_AF_CHF_STATUS_NO_MIRROR | |
EMBER_AF_CHF_STATUS_TUNNEL_FAILURE | |
EMBER_AF_CHF_STATUS_NO_ACCESS | |
EMBER_AF_CHF_STATUS_SEND_TIMEOUT |
43
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
Macro Definition Documentation#
emberAfPluginCommsHubFunctionPrint#
#define emberAfPluginCommsHubFunctionPrintValue:
(...)
38
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
emberAfPluginCommsHubFunctionPrintln#
#define emberAfPluginCommsHubFunctionPrintlnValue:
(...)
39
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
emberAfPluginCommsHubFunctionDebugExec#
#define emberAfPluginCommsHubFunctionDebugExecValue:
(x)
40
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
emberAfPluginCommsHubFunctionPrintBuffer#
#define emberAfPluginCommsHubFunctionPrintBufferValue:
(buffer, len, withSpace)
41
of file app/framework/plugin/comms-hub-function/comms-hub-function.h