TB2026-YDS Firmware
Loading...
Searching...
No Matches
fuel_gauge.h
Go to the documentation of this file.
1
17#pragma once
18
19#include <stdbool.h>
20#include <stdint.h>
21#include "esp_err.h"
22#include "driver/i2c_master.h"
23
30
37typedef struct {
38 float soc_pct;
39 float voltage_v;
40 float current_ma;
42 float tte_s;
43 float ttf_s;
44 float age_pct;
45 float die_temp_c;
46 float cycles;
48
62esp_err_t fuel_gauge_init(i2c_master_bus_handle_t bus);
63
71
79typedef struct {
80 bool por;
81 uint16_t design_cap_raw;
82 uint16_t design_cap_want;
83 uint16_t ichg_term_raw;
84 uint16_t ichg_term_want;
85 uint16_t vempty_raw;
86 uint16_t vempty_want;
90
98
109esp_err_t fuel_gauge_reload_ez(void);
110
esp_err_t fuel_gauge_init(i2c_master_bus_handle_t bus)
Attach the gauge to the shared I2C bus and run EZ config if needed.
Definition fuel_gauge.c:136
esp_err_t fuel_gauge_reload_ez(void)
Re-run the EZ model load to purge the learned battery state.
Definition fuel_gauge.c:220
esp_err_t fuel_gauge_read(fuel_gauge_data_t *out)
Read and convert all fields of a fuel_gauge_data_t in one pass.
Definition fuel_gauge.c:162
esp_err_t fuel_gauge_read_debug(fuel_gauge_debug_t *out)
Read the configuration and learned-capacity registers for the debug page.
Definition fuel_gauge.c:197
Snapshot of the gauge's application-facing outputs.
Definition fuel_gauge.h:37
float voltage_v
VCell: cell voltage, V.
Definition fuel_gauge.h:39
float age_pct
Age: present full capacity vs. design capacity, % (cell health).
Definition fuel_gauge.h:44
float tte_s
TTE: time to empty, s (only valid while discharging).
Definition fuel_gauge.h:42
float current_ma
Current: + into the cell (charge), - out (discharge), mA.
Definition fuel_gauge.h:40
float cycles
Cycles: accumulated full-charge/discharge equivalents.
Definition fuel_gauge.h:46
float rep_cap_mah
RepCap: reported remaining capacity, mAh.
Definition fuel_gauge.h:41
float ttf_s
TTF: time to full, s (only valid while charging).
Definition fuel_gauge.h:43
float soc_pct
RepSOC: reported state of charge, %.
Definition fuel_gauge.h:38
float die_temp_c
Temp: IC die temperature (no NTC fitted), degC.
Definition fuel_gauge.h:45
Register-level snapshot for the debug page: config vs expected + learned state.
Definition fuel_gauge.h:79
uint16_t vempty_raw
VEmpty (0x3A) as read back.
Definition fuel_gauge.h:85
uint16_t ichg_term_raw
IChgTerm (0x1E) as read back.
Definition fuel_gauge.h:83
uint16_t design_cap_raw
DesignCap (0x18) as read back.
Definition fuel_gauge.h:81
float full_cap_rep_mah
FullCapRep: learned reported full capacity, mAh.
Definition fuel_gauge.h:87
uint16_t ichg_term_want
IChgTerm value EZ config writes.
Definition fuel_gauge.h:84
bool por
Status.POR: the gauge reset and lost its configuration.
Definition fuel_gauge.h:80
uint16_t design_cap_want
DesignCap value EZ config writes.
Definition fuel_gauge.h:82
uint16_t vempty_want
VEmpty value EZ config writes.
Definition fuel_gauge.h:86
float full_cap_nom_mah
FullCapNom: learned nominal full capacity, mAh.
Definition fuel_gauge.h:88