Coulomb Counter#

API and Callbacks for the Coulomb Counter Component.

Approximates energy consumption by keeping time spent in different device states. This is used for testing.

Modules#

Coulomb Counter

API#

uint16_t
uint16_t

Return the current state of all additive modes.

uint32_t

Return the cumulative energy usage metric since last value reset.

void

Reset the energy usage metric.

Enumerations#

enum
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX_SHIFT = 0
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX_SHIFT = 1
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP_SHIFT = 2
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE_SHIFT = 3
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE_SHIFT = 4
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_EEPROM_STATE_SHIFT = 5
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_MAX = 32
}

Macros#

#define
COULOMB_COUNTER_MAX_NB_USER_DEFINED_ADDITIVE_STATES (16U)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX (1U << SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX_SHIFT)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX (1U << SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX_SHIFT)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP (1U << SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP_SHIFT)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE (1U << SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE_SHIFT)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE (1U << SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE_SHIFT)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_EVENT_MASK (0x03U)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_EM_MODE_MASK (0x1CU)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_EEPROM_MODE_MASK (0x1E0U)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_MASK (0xFFFFU)
#define
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_USER_DEF_STATES undefined

API Documentation#

sl_zigbee_af_command_coulomb_counter_get_current_core_mode#

uint16_t sl_zigbee_af_command_coulomb_counter_get_current_core_mode (void )

Return the current core mode.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns the current core mode of the system. The core mode is the basis for energy consumption measurements. Each core mode is mutually exclusive.

Returns

  • the current core mode.


sl_zigbee_af_command_coulomb_counter_get_additive_modes_bitfield#

uint16_t sl_zigbee_af_command_coulomb_counter_get_additive_modes_bitfield (void )

Return the current state of all additive modes.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns the current state of all additive modes. All bits raised in the bitfield indicate that the state is current 'On'.

Returns

  • the current additive modes bitfield.


sl_zigbee_af_command_coulomb_counter_get_energy_usage#

uint32_t sl_zigbee_af_command_coulomb_counter_get_energy_usage (void )

Return the cumulative energy usage metric since last value reset.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns the cumulative energy usage metric since last value reset. This value is in the same unit as all other provided values and is persisted until explicitly reset.

Returns

  • the currently recorded energy usage.


sl_zigbee_af_command_coulomb_counter_reset_energy_usage#

void sl_zigbee_af_command_coulomb_counter_reset_energy_usage (void )

Reset the energy usage metric.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Resets the energy usage metric. This calls clears both the volatile and non volatile values.


Enumeration Documentation#

sl_zigbee_af_plugin_coulomb_counter_core_mode_t#

sl_zigbee_af_plugin_coulomb_counter_core_mode_t
Enumerator
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX_SHIFT
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX_SHIFT
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP_SHIFT
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE_SHIFT
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE_SHIFT
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_EEPROM_STATE_SHIFT
SL_ZIGBEE_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_MAX