Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
fuel_gauge.h
Go to the documentation of this file.
1/*
2 * Copyright 2022 Google LLC
3 * Copyright 2023 Microsoft Corporation
4 * Copyright (c) 2025 Philipp Steiner <philipp.steiner1987@gmail.com>
5 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
6 * Copyright (c) 2026 Analog Devices Inc.
7 *
8 * SPDX-License-Identifier: Apache-2.0
9 */
10
16
17#ifndef ZEPHYR_INCLUDE_DRIVERS_FUEL_GAUGE_H_
18#define ZEPHYR_INCLUDE_DRIVERS_FUEL_GAUGE_H_
19
28
29#ifdef __cplusplus
30extern "C" {
31#endif /* __cplusplus */
32
33#include <errno.h>
34#include <stdbool.h>
35#include <stddef.h>
36#include <stdint.h>
37
38#include <zephyr/device.h>
39
51
192
200
203};
204
206
213
220
228
231 /* Fields have the format: */
232 /* FUEL_GAUGE_PROPERTY_FIELD */
233 /* type property_field; */
234
235 /* Dynamic Battery Info */
240 __deprecated int avg_current;
244 bool cutoff;
249 __deprecated int current;
308 __deprecated uint16_t temperature;
315 __deprecated int voltage;
324 __deprecated uint32_t chg_current;
331 __deprecated uint32_t chg_voltage;
342 __deprecated uint16_t design_volt;
427 __deprecated int32_t gpio_voltage;
458};
459
463#define SBS_GAUGE_MANUFACTURER_NAME_MAX_SIZE 20
464#define SBS_GAUGE_DEVICE_NAME_MAX_SIZE 20
465#define SBS_GAUGE_DEVICE_CHEMISTRY_MAX_SIZE 4
466
471
476
481
487
493typedef int (*fuel_gauge_get_property_t)(const struct device *dev, fuel_gauge_prop_t prop,
494 union fuel_gauge_prop_val *val);
495
501typedef int (*fuel_gauge_set_property_t)(const struct device *dev, fuel_gauge_prop_t prop,
502 union fuel_gauge_prop_val val);
503
509typedef int (*fuel_gauge_get_buffer_property_t)(const struct device *dev,
510 fuel_gauge_prop_t prop_type, void *dst,
511 size_t dst_len);
512
518typedef int (*fuel_gauge_battery_cutoff_t)(const struct device *dev);
519
520/* Caching is entirely on the onus of the client */
521
525__subsystem struct fuel_gauge_driver_api {
526 /*
527 * Note: Historically this API allowed drivers to implement a custom multi-get/set property
528 * function, this was added so drivers could potentially optimize batch read with their
529 * specific chip. However, it was removed because of no existing concrete case upstream.
530 * If this need is demonstrated, we can add this back in as an API field.
531 */
540};
541
543
553__syscall int fuel_gauge_get_prop(const struct device *dev, fuel_gauge_prop_t prop,
554 union fuel_gauge_prop_val *val);
555
556static inline int z_impl_fuel_gauge_get_prop(const struct device *dev, fuel_gauge_prop_t prop,
557 union fuel_gauge_prop_val *val)
558{
559 const struct fuel_gauge_driver_api *api = DEVICE_API_GET(fuel_gauge, dev);
560
561 if (api->get_property == NULL) {
562 return -ENOSYS;
563 }
564
565 return api->get_property(dev, prop, val);
566}
567
582
583__syscall int fuel_gauge_get_props(const struct device *dev, const fuel_gauge_prop_t *props,
584 union fuel_gauge_prop_val *vals, size_t len);
585static inline int z_impl_fuel_gauge_get_props(const struct device *dev,
586 const fuel_gauge_prop_t *props,
587 union fuel_gauge_prop_val *vals, size_t len)
588{
589 int ret;
590
591 for (size_t i = 0; i < len; i++) {
592 ret = DEVICE_API_GET(fuel_gauge, dev)->get_property(dev, props[i], vals + i);
593
594 if (ret) {
595 return ret;
596 }
597 }
598
599 return 0;
600}
601
611__syscall int fuel_gauge_set_prop(const struct device *dev, fuel_gauge_prop_t prop,
612 union fuel_gauge_prop_val val);
613
614static inline int z_impl_fuel_gauge_set_prop(const struct device *dev, fuel_gauge_prop_t prop,
615 union fuel_gauge_prop_val val)
616{
617 const struct fuel_gauge_driver_api *api = DEVICE_API_GET(fuel_gauge, dev);
618
619 if (api->set_property == NULL) {
620 return -ENOSYS;
621 }
622
623 return api->set_property(dev, prop, val);
624}
637__syscall int fuel_gauge_set_props(const struct device *dev, const fuel_gauge_prop_t *props,
638 const union fuel_gauge_prop_val *vals, size_t len);
639
640static inline int z_impl_fuel_gauge_set_props(const struct device *dev,
641 const fuel_gauge_prop_t *props,
642 const union fuel_gauge_prop_val *vals, size_t len)
643{
644 for (size_t i = 0; i < len; i++) {
645 int ret = fuel_gauge_set_prop(dev, props[i], vals[i]);
646
647 if (ret) {
648 return ret;
649 }
650 }
651
652 return 0;
653}
654
665
666__syscall int fuel_gauge_get_buffer_prop(const struct device *dev, fuel_gauge_prop_t prop_type,
667 void *dst, size_t dst_len);
668
669static inline int z_impl_fuel_gauge_get_buffer_prop(const struct device *dev,
670 fuel_gauge_prop_t prop_type, void *dst,
671 size_t dst_len)
672{
673 const struct fuel_gauge_driver_api *api = DEVICE_API_GET(fuel_gauge, dev);
674
675 if (api->get_buffer_property == NULL) {
676 return -ENOSYS;
677 }
678
679 return api->get_buffer_property(dev, prop_type, dst, dst_len);
680}
681
690__syscall int fuel_gauge_battery_cutoff(const struct device *dev);
691
692static inline int z_impl_fuel_gauge_battery_cutoff(const struct device *dev)
693{
694 const struct fuel_gauge_driver_api *api = DEVICE_API_GET(fuel_gauge, dev);
695
696 if (api->battery_cutoff == NULL) {
697 return -ENOSYS;
698 }
699
700 return api->battery_cutoff(dev);
701}
702
706
707#ifdef __cplusplus
708}
709#endif /* __cplusplus */
710
711#include <zephyr/syscalls/fuel_gauge.h>
712
713#endif /* ZEPHYR_INCLUDE_DRIVERS_FUEL_GAUGE_H_ */
#define DEVICE_API_GET(_class, _dev)
Expands to the pointer of a device's API for a given class.
Definition device.h:1449
System error numbers.
uint32_t fuel_gauge_custom_value_uint_t
Type for custom unsigned integer property values.
Definition fuel_gauge.h:219
#define SBS_GAUGE_DEVICE_NAME_MAX_SIZE
Definition fuel_gauge.h:464
bool fuel_gauge_custom_value_bool_t
Type for custom boolean property values.
Definition fuel_gauge.h:227
uint16_t fuel_gauge_prop_t
Definition fuel_gauge.h:205
int(* fuel_gauge_battery_cutoff_t)(const struct device *dev)
Callback API for doing a battery cutoff.
Definition fuel_gauge.h:518
int fuel_gauge_battery_cutoff(const struct device *dev)
Have fuel gauge cutoff its associated battery.
int fuel_gauge_get_buffer_prop(const struct device *dev, fuel_gauge_prop_t prop_type, void *dst, size_t dst_len)
Fetch a battery fuel-gauge buffer property.
#define SBS_GAUGE_MANUFACTURER_NAME_MAX_SIZE
Data structures for reading SBS buffer properties.
Definition fuel_gauge.h:463
int fuel_gauge_set_prop(const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val val)
Set a battery fuel-gauge property.
int fuel_gauge_get_prop(const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val *val)
Fetch a battery fuel-gauge property.
int fuel_gauge_set_props(const struct device *dev, const fuel_gauge_prop_t *props, const union fuel_gauge_prop_val *vals, size_t len)
Set a battery fuel-gauge property.
fuel_gauge_prop_type
Definition fuel_gauge.h:40
int(* fuel_gauge_set_property_t)(const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val val)
Callback API for setting a fuel_gauge property.
Definition fuel_gauge.h:501
int(* fuel_gauge_get_property_t)(const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val *val)
@def_driverbackendgroup{Fuel Gauge,fuel_gauge_interface}
Definition fuel_gauge.h:493
int(* fuel_gauge_get_buffer_property_t)(const struct device *dev, fuel_gauge_prop_t prop_type, void *dst, size_t dst_len)
Callback API for getting a fuel_gauge buffer property.
Definition fuel_gauge.h:509
int fuel_gauge_get_props(const struct device *dev, const fuel_gauge_prop_t *props, union fuel_gauge_prop_val *vals, size_t len)
Fetch multiple battery fuel-gauge properties.
int32_t fuel_gauge_custom_value_int_t
Type for custom signed integer property values.
Definition fuel_gauge.h:212
#define SBS_GAUGE_DEVICE_CHEMISTRY_MAX_SIZE
Definition fuel_gauge.h:465
@ FUEL_GAUGE_CURRENT
Definition fuel_gauge.h:55
@ FUEL_GAUGE_STATUS
Alarm, Status and Error codes (flags).
Definition fuel_gauge.h:111
@ FUEL_GAUGE_HIGH_CURRENT_ALARM_UA
High Cell Current Alarm (uA).
Definition fuel_gauge.h:161
@ FUEL_GAUGE_STATE_OF_CHARGE_ALARM_PCT
Remaining state of charge alarm (percent, 0-100).
Definition fuel_gauge.h:145
@ FUEL_GAUGE_SBS_MFR_ACCESS
Retrieve word from SBS1.1 ManufacturerAccess.
Definition fuel_gauge.h:83
@ FUEL_GAUGE_CONNECT_STATE
Connect state of battery.
Definition fuel_gauge.h:61
@ FUEL_GAUGE_FLAGS
General Error/Runtime Flags.
Definition fuel_gauge.h:63
@ FUEL_GAUGE_AVG_CURRENT_UA
Runtime Dynamic Battery Parameters.
Definition fuel_gauge.h:48
@ FUEL_GAUGE_TEMPERATURE_DK
Temperature in 0.1 K.
Definition fuel_gauge.h:93
@ FUEL_GAUGE_CYCLE_COUNT
Cycle count in charge/discharge cycles.
Definition fuel_gauge.h:59
@ FUEL_GAUGE_COMMON_COUNT
Reserved to demark end of common fuel gauge properties.
Definition fuel_gauge.h:194
@ FUEL_GAUGE_MANUFACTURER_NAME
Manufacturer of pack (1 byte length + 20 bytes data).
Definition fuel_gauge.h:137
@ FUEL_GAUGE_SBS_MODE
Battery Mode (flags).
Definition fuel_gauge.h:101
@ FUEL_GAUGE_LOW_TEMPERATURE_ALARM_DK
Low Cell Temperature Alarm (dK).
Definition fuel_gauge.h:165
@ FUEL_GAUGE_STATE_OF_HEALTH
State of Health (SoH) (percent, 0-100).
Definition fuel_gauge.h:189
@ FUEL_GAUGE_RUNTIME_TO_EMPTY_MINS
Remaining battery life time in minutes.
Definition fuel_gauge.h:75
@ FUEL_GAUGE_HIGH_VOLTAGE_ALARM_UV
High Cell Voltage Alarm (uV).
Definition fuel_gauge.h:153
@ FUEL_GAUGE_HIGH_TEMPERATURE_ALARM
Definition fuel_gauge.h:171
@ FUEL_GAUGE_SBS_ATRATE
AtRate (mA or 10 mW).
Definition fuel_gauge.h:119
@ FUEL_GAUGE_DESIGN_VOLTAGE
Definition fuel_gauge.h:117
@ FUEL_GAUGE_SBS_ATRATE_TIME_TO_EMPTY_MINS
AtRateTimeToEmpty (minutes).
Definition fuel_gauge.h:125
@ FUEL_GAUGE_HIGH_CURRENT_ALARM
Definition fuel_gauge.h:163
@ FUEL_GAUGE_SBS_ATRATE_TIME_TO_FULL_MINS
AtRateTimeToFull (minutes).
Definition fuel_gauge.h:121
@ FUEL_GAUGE_ABSOLUTE_STATE_OF_CHARGE_PCT
Absolute state of charge (percent, 0-100) - expressed as % of design capacity.
Definition fuel_gauge.h:85
@ FUEL_GAUGE_HIGH_GPIO_ALARM_UV
High GPIO Voltage Alarm (uV).
Definition fuel_gauge.h:177
@ FUEL_GAUGE_LOW_TEMPERATURE_ALARM
Definition fuel_gauge.h:167
@ FUEL_GAUGE_LOW_CURRENT_ALARM
Definition fuel_gauge.h:159
@ FUEL_GAUGE_AVG_CURRENT
Definition fuel_gauge.h:50
@ FUEL_GAUGE_RUNTIME_TO_FULL
Definition fuel_gauge.h:81
@ FUEL_GAUGE_CHARGE_CURRENT
Definition fuel_gauge.h:105
@ FUEL_GAUGE_CUSTOM_BEGIN
Reserved to demark downstream custom properties - use this value as the actual value may change over ...
Definition fuel_gauge.h:199
@ FUEL_GAUGE_DEVICE_CHEMISTRY
Chemistry (1 byte length + 4 bytes data).
Definition fuel_gauge.h:141
@ FUEL_GAUGE_SBS_REMAINING_TIME_ALARM_MINS
Remaining Time Alarm (minutes).
Definition fuel_gauge.h:133
@ FUEL_GAUGE_PROP_MAX
Reserved to demark end of valid enum properties.
Definition fuel_gauge.h:202
@ FUEL_GAUGE_CHARGE_CURRENT_UA
Battery desired Max Charging Current (uA).
Definition fuel_gauge.h:103
@ FUEL_GAUGE_SBS_ATRATE_TIME_TO_EMPTY
Definition fuel_gauge.h:127
@ FUEL_GAUGE_CURRENT_UA
Battery current (uA); negative=discharging.
Definition fuel_gauge.h:53
@ FUEL_GAUGE_DESIGN_CAPACITY
Design Capacity (mAh or 10mWh).
Definition fuel_gauge.h:113
@ FUEL_GAUGE_VOLTAGE
Definition fuel_gauge.h:99
@ FUEL_GAUGE_LOW_VOLTAGE_ALARM_UV
Low Cell Voltage Alarm (uV).
Definition fuel_gauge.h:149
@ FUEL_GAUGE_RUNTIME_TO_FULL_MINS
Remaining time in minutes until battery reaches full charge.
Definition fuel_gauge.h:79
@ FUEL_GAUGE_SBS_REMAINING_TIME_ALARM
Definition fuel_gauge.h:135
@ FUEL_GAUGE_LOW_CURRENT_ALARM_UA
Low Cell Current Alarm (uA).
Definition fuel_gauge.h:157
@ FUEL_GAUGE_LOW_GPIO_ALARM_UV
Low GPIO Voltage Alarm (uV).
Definition fuel_gauge.h:173
@ FUEL_GAUGE_CHARGE_CUTOFF
Whether the battery underlying the fuel-gauge is cut off from charge.
Definition fuel_gauge.h:57
@ FUEL_GAUGE_CHARGE_VOLTAGE
Definition fuel_gauge.h:109
@ FUEL_GAUGE_GPIO_VOLTAGE_UV
GPIO Voltage (uV).
Definition fuel_gauge.h:181
@ FUEL_GAUGE_HIGH_GPIO_ALARM
Definition fuel_gauge.h:179
@ FUEL_GAUGE_THERM_VOLTAGE_UV
Thermistor Voltage Sense reading (uV).
Definition fuel_gauge.h:191
@ FUEL_GAUGE_ABSOLUTE_STATE_OF_CHARGE
Definition fuel_gauge.h:87
@ FUEL_GAUGE_DEVICE_NAME
Name of pack (1 byte length + 20 bytes data).
Definition fuel_gauge.h:139
@ FUEL_GAUGE_SBS_ATRATE_TIME_TO_FULL
Definition fuel_gauge.h:123
@ FUEL_GAUGE_STATE_OF_CHARGE_ALARM
Definition fuel_gauge.h:147
@ FUEL_GAUGE_TEMPERATURE
Definition fuel_gauge.h:95
@ FUEL_GAUGE_LOW_GPIO_ALARM
Definition fuel_gauge.h:175
@ FUEL_GAUGE_FULL_CHARGE_CAPACITY
Definition fuel_gauge.h:67
@ FUEL_GAUGE_CC_CONFIG
Coulomb Counter Config (flags).
Definition fuel_gauge.h:187
@ FUEL_GAUGE_RUNTIME_TO_EMPTY
Definition fuel_gauge.h:77
@ FUEL_GAUGE_PRESENT_STATE
Is the battery physically present.
Definition fuel_gauge.h:69
@ FUEL_GAUGE_DESIGN_VOLTAGE_MV
Design Voltage (mV).
Definition fuel_gauge.h:115
@ FUEL_GAUGE_REMAINING_CAPACITY_UAH
Remaining capacity in uAh.
Definition fuel_gauge.h:71
@ FUEL_GAUGE_REMAINING_CAPACITY
Definition fuel_gauge.h:73
@ FUEL_GAUGE_HIGH_VOLTAGE_ALARM
Definition fuel_gauge.h:155
@ FUEL_GAUGE_SBS_REMAINING_CAPACITY_ALARM
Remaining Capacity Alarm (mAh or 10mWh).
Definition fuel_gauge.h:131
@ FUEL_GAUGE_LOW_VOLTAGE_ALARM
Definition fuel_gauge.h:151
@ FUEL_GAUGE_RELATIVE_STATE_OF_CHARGE_PCT
Relative state of charge (percent, 0-100) - expressed as % of full charge capacity.
Definition fuel_gauge.h:89
@ FUEL_GAUGE_CURRENT_DIRECTION
Battery current direction (flags).
Definition fuel_gauge.h:143
@ FUEL_GAUGE_HIGH_TEMPERATURE_ALARM_DK
High Cell Temperature Alarm (dK).
Definition fuel_gauge.h:169
@ FUEL_GAUGE_GPIO_VOLTAGE
Definition fuel_gauge.h:183
@ FUEL_GAUGE_ADC_MODE
ADC Mode (flags).
Definition fuel_gauge.h:185
@ FUEL_GAUGE_CHARGE_VOLTAGE_UV
Battery desired Max Charging Voltage (uV).
Definition fuel_gauge.h:107
@ FUEL_GAUGE_RELATIVE_STATE_OF_CHARGE
Definition fuel_gauge.h:91
@ FUEL_GAUGE_SBS_ATRATE_OK
AtRateOK (boolean).
Definition fuel_gauge.h:129
@ FUEL_GAUGE_FULL_CHARGE_CAPACITY_UAH
Full Charge Capacity in uAh (might change in some implementations to determine wear).
Definition fuel_gauge.h:65
@ FUEL_GAUGE_VOLTAGE_UV
Battery voltage (uV).
Definition fuel_gauge.h:97
#define ENOSYS
Function not implemented.
Definition errno.h:83
#define NULL
Definition iar_missing_defs.h:20
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
#define UINT16_MAX
Definition stdint.h:28
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
__INT16_TYPE__ int16_t
Definition stdint.h:73
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
@driver_ops{Fuel Gauge}
Definition fuel_gauge.h:525
fuel_gauge_battery_cutoff_t battery_cutoff
@driver_ops_optional Have fuel gauge cutoff its associated battery.
Definition fuel_gauge.h:539
fuel_gauge_set_property_t set_property
@driver_ops_optional Set a battery fuel-gauge property.
Definition fuel_gauge.h:535
fuel_gauge_get_property_t get_property
@driver_ops_optional Fetch a battery fuel-gauge property.
Definition fuel_gauge.h:533
fuel_gauge_get_buffer_property_t get_buffer_property
@driver_ops_optional Fetch a battery fuel-gauge buffer property.
Definition fuel_gauge.h:537
Definition fuel_gauge.h:477
char device_chemistry[4]
Definition fuel_gauge.h:479
uint8_t device_chemistry_length
Definition fuel_gauge.h:478
Definition fuel_gauge.h:472
uint8_t device_name_length
Definition fuel_gauge.h:473
char device_name[20]
Definition fuel_gauge.h:474
Definition fuel_gauge.h:467
uint8_t manufacturer_name_length
Definition fuel_gauge.h:468
char manufacturer_name[20]
Definition fuel_gauge.h:469
Property field to value/type union.
Definition fuel_gauge.h:230
uint16_t design_volt_mv
FUEL_GAUGE_DESIGN_VOLTAGE_MV.
Definition fuel_gauge.h:344
uint16_t sbs_remaining_time_alarm_mins
FUEL_GAUGE_SBS_REMAINING_TIME_ALARM_MINS.
Definition fuel_gauge.h:371
int32_t high_gpio_alarm
FUEL_GAUGE_HIGH_GPIO_ALARM.
Definition fuel_gauge.h:441
uint16_t design_volt
FUEL_GAUGE_DESIGN_VOLTAGE.
Definition fuel_gauge.h:342
uint8_t state_of_health
FUEL_GAUGE_STATE_OF_HEALTH.
Definition fuel_gauge.h:449
uint16_t low_temperature_alarm_dk
FUEL_GAUGE_LOW_TEMPERATURE_ALARM_DK.
Definition fuel_gauge.h:415
uint16_t design_cap
FUEL_GAUGE_DESIGN_CAPACITY.
Definition fuel_gauge.h:337
fuel_gauge_custom_value_uint_t custom_uint
Generic unsigned value for downstream custom properties.
Definition fuel_gauge.h:455
uint32_t high_voltage_alarm
FUEL_GAUGE_HIGH_VOLTAGE_ALARM.
Definition fuel_gauge.h:392
uint32_t runtime_to_full
FUEL_GAUGE_RUNTIME_TO_FULL.
Definition fuel_gauge.h:285
uint8_t absolute_state_of_charge
FUEL_GAUGE_ABSOLUTE_STATE_OF_CHARGE.
Definition fuel_gauge.h:294
uint16_t temperature
FUEL_GAUGE_TEMPERATURE.
Definition fuel_gauge.h:308
uint8_t adc_mode
FUEL_GAUGE_ADC_MODE.
Definition fuel_gauge.h:445
uint8_t relative_state_of_charge
FUEL_GAUGE_RELATIVE_STATE_OF_CHARGE.
Definition fuel_gauge.h:301
bool present_state
FUEL_GAUGE_PRESENT_STATE.
Definition fuel_gauge.h:266
int32_t low_current_alarm_ua
FUEL_GAUGE_LOW_CURRENT_ALARM_UA.
Definition fuel_gauge.h:401
int32_t low_gpio_alarm_uv
FUEL_GAUGE_LOW_GPIO_ALARM_UV.
Definition fuel_gauge.h:436
uint16_t current_direction
FUEL_GAUGE_CURRENT_DIRECTION.
Definition fuel_gauge.h:373
uint32_t runtime_to_full_mins
FUEL_GAUGE_RUNTIME_TO_FULL_MINS.
Definition fuel_gauge.h:287
fuel_gauge_custom_value_int_t custom_int
Generic integer value for downstream custom properties.
Definition fuel_gauge.h:453
uint16_t fg_status
FUEL_GAUGE_STATUS.
Definition fuel_gauge.h:335
uint32_t chg_current
FUEL_GAUGE_CHARGE_CURRENT.
Definition fuel_gauge.h:324
uint32_t chg_current_ua
FUEL_GAUGE_CHARGE_CURRENT_UA.
Definition fuel_gauge.h:326
uint16_t sbs_at_rate_time_to_empty
FUEL_GAUGE_SBS_ATRATE_TIME_TO_EMPTY.
Definition fuel_gauge.h:358
uint16_t temperature_dk
FUEL_GAUGE_TEMPERATURE_DK.
Definition fuel_gauge.h:310
uint16_t sbs_mode
FUEL_GAUGE_SBS_MODE.
Definition fuel_gauge.h:319
uint16_t sbs_remaining_capacity_alarm
FUEL_GAUGE_SBS_REMAINING_CAPACITY_ALARM.
Definition fuel_gauge.h:364
uint32_t chg_voltage
FUEL_GAUGE_CHARGE_VOLTAGE.
Definition fuel_gauge.h:331
uint16_t sbs_at_rate_time_to_full_mins
FUEL_GAUGE_SBS_ATRATE_TIME_TO_FULL_MINS.
Definition fuel_gauge.h:353
int32_t avg_current_ua
FUEL_GAUGE_AVG_CURRENT_UA.
Definition fuel_gauge.h:242
uint8_t relative_state_of_charge_pct
FUEL_GAUGE_RELATIVE_STATE_OF_CHARGE_PCT.
Definition fuel_gauge.h:303
uint16_t sbs_mfr_access_word
FUEL_GAUGE_SBS_MFR_ACCESS.
Definition fuel_gauge.h:289
bool sbs_at_rate_ok
FUEL_GAUGE_SBS_ATRATE_OK.
Definition fuel_gauge.h:362
int current
FUEL_GAUGE_CURRENT.
Definition fuel_gauge.h:249
uint16_t high_temperature_alarm
FUEL_GAUGE_HIGH_TEMPERATURE_ALARM.
Definition fuel_gauge.h:420
uint32_t therm_voltage_uv
FUEL_GAUGE_THERM_VOLTAGE_UV.
Definition fuel_gauge.h:451
uint32_t connect_state
FUEL_GAUGE_CONNECT_STATE.
Definition fuel_gauge.h:255
uint16_t sbs_remaining_time_alarm
FUEL_GAUGE_SBS_REMAINING_TIME_ALARM.
Definition fuel_gauge.h:369
uint32_t full_charge_capacity
FUEL_GAUGE_FULL_CHARGE_CAPACITY.
Definition fuel_gauge.h:262
int32_t voltage_uv
FUEL_GAUGE_VOLTAGE_UV.
Definition fuel_gauge.h:317
int16_t sbs_at_rate
FUEL_GAUGE_SBS_ATRATE.
Definition fuel_gauge.h:346
uint8_t state_of_charge_alarm
FUEL_GAUGE_STATE_OF_CHARGE_ALARM.
Definition fuel_gauge.h:378
int32_t low_current_alarm
FUEL_GAUGE_LOW_CURRENT_ALARM.
Definition fuel_gauge.h:399
uint8_t cc_config
FUEL_GAUGE_CC_CONFIG.
Definition fuel_gauge.h:447
uint32_t remaining_capacity_uah
FUEL_GAUGE_REMAINING_CAPACITY_UAH.
Definition fuel_gauge.h:273
uint8_t state_of_charge_alarm_pct
FUEL_GAUGE_STATE_OF_CHARGE_ALARM_PCT.
Definition fuel_gauge.h:380
int32_t high_current_alarm
FUEL_GAUGE_HIGH_CURRENT_ALARM.
Definition fuel_gauge.h:406
int32_t high_gpio_alarm_uv
FUEL_GAUGE_HIGH_GPIO_ALARM_UV.
Definition fuel_gauge.h:443
int32_t gpio_voltage_uv
FUEL_GAUGE_GPIO_VOLTAGE_UV.
Definition fuel_gauge.h:429
int voltage
FUEL_GAUGE_VOLTAGE.
Definition fuel_gauge.h:315
uint32_t cycle_count
FUEL_GAUGE_CYCLE_COUNT.
Definition fuel_gauge.h:253
uint16_t high_temperature_alarm_dk
FUEL_GAUGE_HIGH_TEMPERATURE_ALARM_DK.
Definition fuel_gauge.h:422
int32_t current_ua
FUEL_GAUGE_CURRENT_UA.
Definition fuel_gauge.h:251
bool cutoff
FUEL_GAUGE_CHARGE_CUTOFF.
Definition fuel_gauge.h:244
uint32_t high_voltage_alarm_uv
FUEL_GAUGE_HIGH_VOLTAGE_ALARM_UV.
Definition fuel_gauge.h:394
int32_t gpio_voltage
FUEL_GAUGE_GPIO_VOLTAGE.
Definition fuel_gauge.h:427
uint16_t low_temperature_alarm
FUEL_GAUGE_LOW_TEMPERATURE_ALARM.
Definition fuel_gauge.h:413
int avg_current
FUEL_GAUGE_AVG_CURRENT.
Definition fuel_gauge.h:240
int32_t high_current_alarm_ua
FUEL_GAUGE_HIGH_CURRENT_ALARM_UA.
Definition fuel_gauge.h:408
uint16_t sbs_at_rate_time_to_empty_mins
FUEL_GAUGE_SBS_ATRATE_TIME_TO_EMPTY_MINS.
Definition fuel_gauge.h:360
uint32_t flags
FUEL_GAUGE_FLAGS.
Definition fuel_gauge.h:257
uint32_t remaining_capacity
FUEL_GAUGE_REMAINING_CAPACITY.
Definition fuel_gauge.h:271
uint8_t absolute_state_of_charge_pct
FUEL_GAUGE_ABSOLUTE_STATE_OF_CHARGE_PCT.
Definition fuel_gauge.h:296
uint32_t chg_voltage_uv
FUEL_GAUGE_CHARGE_VOLTAGE_UV.
Definition fuel_gauge.h:333
uint32_t runtime_to_empty
FUEL_GAUGE_RUNTIME_TO_EMPTY.
Definition fuel_gauge.h:278
fuel_gauge_custom_value_bool_t custom_bool
Generic boolean value for downstream custom properties.
Definition fuel_gauge.h:457
uint32_t low_voltage_alarm_uv
FUEL_GAUGE_LOW_VOLTAGE_ALARM_UV.
Definition fuel_gauge.h:387
uint16_t sbs_at_rate_time_to_full
FUEL_GAUGE_SBS_ATRATE_TIME_TO_FULL.
Definition fuel_gauge.h:351
int32_t low_gpio_alarm
FUEL_GAUGE_LOW_GPIO_ALARM.
Definition fuel_gauge.h:434
uint32_t runtime_to_empty_mins
FUEL_GAUGE_RUNTIME_TO_EMPTY_MINS.
Definition fuel_gauge.h:280
uint32_t full_charge_capacity_uah
FUEL_GAUGE_FULL_CHARGE_CAPACITY_UAH.
Definition fuel_gauge.h:264
uint32_t low_voltage_alarm
FUEL_GAUGE_LOW_VOLTAGE_ALARM.
Definition fuel_gauge.h:385