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).
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_802154_long_addr_t | N/A | destinationDeviceId | The EUI64 of the destination device. |
uint16_t | N/A | length | The length in octets of the data. |
uint8_t * | N/A | payload | The buffer (memory location at WAN Message Handler) containing the raw octets of the message (GBCS Message) |
uint16_t | 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.
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.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint32_t | 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().
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.
Type | Direction | Argument Name | Description |
---|---|---|---|
sl_802154_long_addr_t | N/A | deviceId | Identifier of the device for which the notification flags are to be updated |
uint32_t | 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 |
uint32_t | 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 |
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.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t | N/A | endpoint | An endpoint on which the notification flags are to be updated. |
uint32_t | 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. |
uint32_t | 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. |
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 |