Modules#

Comms Hub

Comms Hub Function#

API and Callbacks for the Comms Hub Function Component.

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

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.

emAfUpdateFunctionalNotificationFlagsByEui64(EmberEUI64 deviceId, uint32_t resetMask, uint32_t setMask)

Update Functional Notification Flags for the given device.

emAfUpdateFunctionalNotificationFlagsByEndpoint(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 80 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

emAfPluginCommsHubFunctionSetDefaultTimeout#

void emAfPluginCommsHubFunctionSetDefaultTimeout (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 95 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

emAfUpdateFunctionalNotificationFlagsByEui64#

EmberAfPluginCommsHubFunctionStatus emAfUpdateFunctionalNotificationFlagsByEui64 (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 107 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

emAfUpdateFunctionalNotificationFlagsByEndpoint#

EmberAfPluginCommsHubFunctionStatus emAfUpdateFunctionalNotificationFlagsByEndpoint (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 120 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 45 of file app/framework/plugin/comms-hub-function/comms-hub-function.h

Macro Definition Documentation#

emberAfPluginCommsHubFunctionPrint#

#define emberAfPluginCommsHubFunctionPrint
Value:
(...)

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

emberAfPluginCommsHubFunctionPrintln#

#define emberAfPluginCommsHubFunctionPrintln
Value:
(...)

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

emberAfPluginCommsHubFunctionDebugExec#

#define emberAfPluginCommsHubFunctionDebugExec
Value:
(x)

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

emberAfPluginCommsHubFunctionPrintBuffer#

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

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