GBCS Device Log#

API and Callbacks for the gbcs-device-log Component.

Silicon Labs implementation of the GBCS Device Log. Note that, although this supports populating the device log with a set of devices, this is only intended for testing purposes and should not be thought of as a complete provisioning solution. The real provisioning solution should use the API provided by this component to add and remove items from the device log.

Modules#

EmberAfGBCSDeviceLogInfo

GBCS Device Log

API#

void

Clear all entries from the GBCS Device Log.

void

Reset the GBCS Device Log to include only those entries configured with the plugin.

uint8_t

Get the number of entries in the GBCS Device Log.

bool
emberAfPluginGbcsDeviceLogStore(EmberEUI64 deviceId, EmberAfGBCSDeviceLogInfo *deviceInfo)

Add or update an entry within the GBCS Device Log.

bool

Remove an entry from the GBCS Device Log.

bool
emberAfPluginGbcsDeviceLogGet(EmberEUI64 deviceId, EmberAfGBCSDeviceLogInfo *deviceInfo)

Get the device information about an entry in the GBCS Device Log.

bool
emberAfPluginGbcsDeviceLogExists(EmberEUI64 deviceId, EmberAfGBCSDeviceType deviceType)

Check whether the given device exists within the GBCS Device Log.

void

Print all entries in the GBCS Device Log.

bool
emberAfPluginGbcsDeviceLogRetrieveByIndex(uint8_t index, EmberEUI64 returnDeviceId, EmberAfGBCSDeviceLogInfo *returnDeviceInfo)

Retrieve the device from the log at the specified index.

#define

Indicate whether the given device type is a sleepy device.

Enumerations#

enum
EMBER_AF_GBCS_GSME_DEVICE_TYPE = 0x00
EMBER_AF_GBCS_ESME_DEVICE_TYPE = 0x01
EMBER_AF_GBCS_CHF_DEVICE_TYPE = 0x02
EMBER_AF_GBCS_GPF_DEVICE_TYPE = 0x03
EMBER_AF_GBCS_HCALCS_DEVICE_TYPE = 0x04
EMBER_AF_GBCS_PPMID_DEVICE_TYPE = 0x05
EMBER_AF_GBCS_TYPE2_DEVICE_TYPE = 0x06
}

API Documentation#

emberAfPluginGbcsDeviceLogClear#

void emberAfPluginGbcsDeviceLogClear (void)

Clear all entries from the GBCS Device Log.

Parameters
N/A

Definition at line 68 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogReset#

void emberAfPluginGbcsDeviceLogReset (void)

Reset the GBCS Device Log to include only those entries configured with the plugin.

Parameters
N/A

This function will clear the device log then add each of the devices configured configured with the plugin.


Definition at line 76 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogCount#

uint8_t emberAfPluginGbcsDeviceLogCount (void)

Get the number of entries in the GBCS Device Log.

Parameters
N/A

Returns

  • The number of entries currently in the GBCS Device Log.


Definition at line 83 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogStore#

bool emberAfPluginGbcsDeviceLogStore (EmberEUI64 deviceId, EmberAfGBCSDeviceLogInfo *deviceInfo)

Add or update an entry within the GBCS Device Log.

Parameters
N/AdeviceId

The EUI64 of the device to be added or updated.

N/AdeviceInfo

A pointer to the structure containing the deviceType of the device to be added or updated.

This function is used to add or update an entry within the GBCS Device Log.

Returns

  • True if successfully added or updated, false if there is insufficient room in the device log to add the new entry. The size of the device log is controlled by the "Device Log Size" plugin configuration parameter.


Definition at line 97 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogRemove#

bool emberAfPluginGbcsDeviceLogRemove (EmberEUI64 deviceId)

Remove an entry from the GBCS Device Log.

Parameters
N/AdeviceId

The EUI64 of the device to be removed.

This function can be used to remove an entry within the GBCS Device Log.

Returns

  • True if successfully removed, false if the device is not currently in the GBCS Device Log.


Definition at line 109 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogGet#

bool emberAfPluginGbcsDeviceLogGet (EmberEUI64 deviceId, EmberAfGBCSDeviceLogInfo *deviceInfo)

Get the device information about an entry in the GBCS Device Log.

Parameters
N/AdeviceId

The EUI64 of the device for which information is requested.

N/AdeviceInfo

This function can be used to retrieve information pertaining to a device in the GBCS Device Log. Note that if a single device implements two device types (i.e., comms hub implements both the CHF and GPF), only the first device found is returned.

Returns

  • True if device is in the device log, false otherwise. The contents of the deviceInfo structure will be populated when true is returned.


Definition at line 123 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogExists#

bool emberAfPluginGbcsDeviceLogExists (EmberEUI64 deviceId, EmberAfGBCSDeviceType deviceType)

Check whether the given device exists within the GBCS Device Log.

Parameters
N/AdeviceId

The EUI64 of the device in question

N/AdeviceType

The device type of the device in question.

This function can be used to check if the given device and type exists within the GBCS Device Log.

Returns

  • True if device is in the device log, false otherwise.


Definition at line 136 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogPrintEntries#

void emberAfPluginGbcsDeviceLogPrintEntries (void)

Print all entries in the GBCS Device Log.

Parameters
N/A

Definition at line 142 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogRetrieveByIndex#

bool emberAfPluginGbcsDeviceLogRetrieveByIndex (uint8_t index, EmberEUI64 returnDeviceId, EmberAfGBCSDeviceLogInfo *returnDeviceInfo)

Retrieve the device from the log at the specified index.

Parameters
N/Aindex

The absolute index into the device log.

N/AreturnDeviceId

A pointer where the EUI64 return data will be written.

N/AreturnDeviceInfo

A pointer where the device info return data will be written.

Returns

  • True if the index has a valid entry. false otherwise.


Definition at line 161 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogMaxSize#

uint8_t emberAfPluginGbcsDeviceLogMaxSize (void)
Parameters
N/A

@ brief Return the maximum size of the device log, including currently empty entries.

Returns

  • An uint8_t indicating the maximum size.


Definition at line 170 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogIsSleepyType#

#define emberAfPluginGbcsDeviceLogIsSleepyType
Value:
(deviceType)

Indicate whether the given device type is a sleepy device.

Returns

  • True if the deviceType is a sleepy device, false otherwise.


Definition at line 150 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

Enumeration Documentation#

EmberAfGBCSDeviceType#

EmberAfGBCSDeviceType
Enumerator
EMBER_AF_GBCS_GSME_DEVICE_TYPE
EMBER_AF_GBCS_ESME_DEVICE_TYPE
EMBER_AF_GBCS_CHF_DEVICE_TYPE
EMBER_AF_GBCS_GPF_DEVICE_TYPE
EMBER_AF_GBCS_HCALCS_DEVICE_TYPE
EMBER_AF_GBCS_PPMID_DEVICE_TYPE
EMBER_AF_GBCS_TYPE2_DEVICE_TYPE

Definition at line 46 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

Macro Definition Documentation#

emberAfPluginGbcsDeviceLogPrint#

#define emberAfPluginGbcsDeviceLogPrint
Value:
(...)

Definition at line 42 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogPrintln#

#define emberAfPluginGbcsDeviceLogPrintln
Value:
(...)

Definition at line 43 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h

emberAfPluginGbcsDeviceLogDebugExec#

#define emberAfPluginGbcsDeviceLogDebugExec
Value:
(x)

Definition at line 44 of file app/framework/plugin/gbcs-device-log/gbcs-device-log.h