Comms Hub Function#

API and Callbacks for the Comms Hub Function Component.

Silicon Labs implementation of the Comms Hub Function (CHF).

Modules#

Comms Hub

API#

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).

void

Set the default remote part message timeout.

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.

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.

Enumerations#

enum
EMBER_AF_CHF_STATUS_SUCCESS = 0x00
EMBER_AF_CHF_STATUS_TOO_MANY_PEND_MESSAGES = 0xFA
EMBER_AF_CHF_STATUS_FNF_ATTR_FAILURE = 0xFB
EMBER_AF_CHF_STATUS_NO_MIRROR = 0xFC
EMBER_AF_CHF_STATUS_TUNNEL_FAILURE = 0xFD
EMBER_AF_CHF_STATUS_NO_ACCESS = 0xFE
EMBER_AF_CHF_STATUS_SEND_TIMEOUT = 0xFF
}

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).

Parameters
N/AdestinationDeviceId

The EUI64 of the destination device.

N/Alength

The length in octets of the data.

N/Apayload

The buffer (memory location at WAN Message Handler) containing the raw octets of the message (GBCS Message)

N/AmessageCode

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


Definition at line 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.

Parameters
N/Atimeout

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().


Definition at line 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.

Parameters
N/AdeviceId

Identifier of the device for which the notification flags are to be updated

N/AresetMask

Each flag to be reset has the corresponding bit set to 0, all other flags have the corresponding bit set to 1

N/AsetMask

Each flag to be set has the corresponding bit set to 1, all other flags have the corresponding bit set to 0


Definition at line 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.

Parameters
N/Aendpoint

An endpoint on which the notification flags are to be updated.

N/AresetMask

Each flag to be reset has the corresponding bit set to 0, all other flags have the corresponding bit set to 1.

N/AsetMask

Each flag to be set has the corresponding bit set to 1, all other flags have the corresponding bit set to 0.


Definition at line 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

Definition at line 43 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

Macro Definition Documentation#

emberAfPluginCommsHubFunctionPrint#

#define emberAfPluginCommsHubFunctionPrint
Value:
(...)

Definition at line 38 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

emberAfPluginCommsHubFunctionPrintln#

#define emberAfPluginCommsHubFunctionPrintln
Value:
(...)

Definition at line 39 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

emberAfPluginCommsHubFunctionDebugExec#

#define emberAfPluginCommsHubFunctionDebugExec
Value:
(x)

Definition at line 40 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

emberAfPluginCommsHubFunctionPrintBuffer#

#define emberAfPluginCommsHubFunctionPrintBuffer
Value:
(buffer, len, withSpace)

Definition at line 41 of file app/framework/plugin/comms-hub-function/comms-hub-function.h