Modules#

Coulomb Counter

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.

API#

uint16_t

Return the current core mode.

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
EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX_SHIFT = 0
EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX_SHIFT = 1
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP_SHIFT = 2
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE_SHIFT = 3
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE_SHIFT = 4
EMBER_AF_PLUGIN_COULOMB_COUNTER_EEPROM_STATE_SHIFT = 5
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_MAX = 32
}

Macros#

#define
COULOMB_COUNTER_MAX_NB_USER_DEFINED_ADDITIVE_STATES (16U)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX (1U << EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX_SHIFT)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX (1U << EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX_SHIFT)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP (1U << EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP_SHIFT)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE (1U << EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE_SHIFT)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE (1U << EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE_SHIFT)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_EVENT_MASK (0x03U)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_EM_MODE_MASK (0x1CU)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_EEPROM_MODE_MASK (0x1E0U)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_MASK (0xFFFFU)
#define
EMBER_AF_PLUGIN_COULOMB_COUNTER_USER_DEF_STATES undefined

API Documentation#

emberAfPluginCommandCoulombCounterGetCurrentCoreMode#

uint16_t emberAfPluginCommandCoulombCounterGetCurrentCoreMode (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.


emberAfPluginCommandCoulombCounterGetAdditiveModesBitfield#

uint16_t emberAfPluginCommandCoulombCounterGetAdditiveModesBitfield (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.


emberAfPluginCommandCoulombCounterGetEnergyUsage#

uint32_t emberAfPluginCommandCoulombCounterGetEnergyUsage (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.


emberAfPluginCommandCoulombCounterResetEnergyUsage#

void emberAfPluginCommandCoulombCounterResetEnergyUsage (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#

EmberAfPluginCoulombCounterCoreMode#

EmberAfPluginCoulombCounterCoreMode
Enumerator
EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_RX_SHIFT
EMBER_AF_PLUGIN_COULOMB_COUNTER_RADIO_MODE_TX_SHIFT
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_SLEEP_SHIFT
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_IDLE_SHIFT
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_AWAKE_SHIFT
EMBER_AF_PLUGIN_COULOMB_COUNTER_EEPROM_STATE_SHIFT
EMBER_AF_PLUGIN_COULOMB_COUNTER_CORE_MODE_MAX