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#
sl_zigbee_af_comms_hub_function_send#
sl_zigbee_af_plugin_comms_hub_function_status_t sl_zigbee_af_comms_hub_function_send (sl_802154_long_addr_t 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
SL_ZIGBEE_AF_CHF_STATUS_SUCCESS data was sent or has been queue to be sent. SL_ZIGBEE_AF_CHF_STATUS_NO_ACCESS No entry in the GBCS Device Log for the specified device. SL_ZIGBEE_AF_CHF_STATUS_NO_MIRROR Mirror endpoint for given device has not been configured. SL_ZIGBEE_AF_CHF_STATUS_FNF_ATTR_FAILURE Unable to read or write the functional notification flags attribute. SL_ZIGBEE_AF_CHF_STATUS_TOO_MANY_PEND_MESSAGES There are too many messages currently pending to be delivered. SL_ZIGBEE_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 SL_ZIGBEE_AF_CHF_STATUS_SEND_TIMEOUT error will be return in sl_zigbee_af_comms_hub_function_send_cb().
93
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
sli_zigbee_af_update_functional_notification_flags_by_eui64#
sl_zigbee_af_plugin_comms_hub_function_status_t sli_zigbee_af_update_functional_notification_flags_by_eui64 (sl_802154_long_addr_t 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#
sl_zigbee_af_plugin_comms_hub_function_status_t 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#
sl_zigbee_af_plugin_comms_hub_function_status_t#
sl_zigbee_af_plugin_comms_hub_function_status_t
Enumerator | |
---|---|
SL_ZIGBEE_AF_CHF_STATUS_SUCCESS | |
SL_ZIGBEE_AF_CHF_STATUS_TOO_MANY_PEND_MESSAGES | |
SL_ZIGBEE_AF_CHF_STATUS_FNF_ATTR_FAILURE | |
SL_ZIGBEE_AF_CHF_STATUS_NO_MIRROR | |
SL_ZIGBEE_AF_CHF_STATUS_TUNNEL_FAILURE | |
SL_ZIGBEE_AF_CHF_STATUS_NO_ACCESS | |
SL_ZIGBEE_AF_CHF_STATUS_SEND_TIMEOUT |
43
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
Macro Definition Documentation#
sl_zigbee_af_comms_hub_function_print#
#define sl_zigbee_af_comms_hub_function_printValue:
(...)
38
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
sl_zigbee_af_comms_hub_function_println#
#define sl_zigbee_af_comms_hub_function_printlnValue:
(...)
39
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
sl_zigbee_af_comms_hub_function_debug_exec#
#define sl_zigbee_af_comms_hub_function_debug_execValue:
(x)
40
of file app/framework/plugin/comms-hub-function/comms-hub-function.h
sl_zigbee_af_comms_hub_function_print_buffer#
#define sl_zigbee_af_comms_hub_function_print_bufferValue:
(buffer, len, withSpace)
41
of file app/framework/plugin/comms-hub-function/comms-hub-function.h