The BMS stores persistent data that survives across power cycles. This data is used for tracking battery usage, logging extremes, and maintaining operational counters.
Energy counters
These counters track cumulative energy throughput of the battery pack.
| Permanent | Unit | Description |
|---|
mah_pos | mAh | Total charge discharged from the battery |
mah_neg | mAh | Total charge charged into the battery |
energy_pos | J | Total energy discharged |
energy_neg | J | Total energy charged |
Diagnostic logs
| Permanent | Description |
|---|
protectLog | Array of PROTECT reason bitmasks. The first entry is the most recent. See state machine. |
errorLog | Array of FAIL/ERROR codes. The first entry is the most recent. See state machine. |
Single run extremes
These permanents track the extreme values recorded during the current power cycle (since last boot). They are located in /permanents/single_run/.
| Permanent | Unit | Description |
|---|
ptcbal_max | | Maximum balancer PTC reading |
ptcbal_min | | Minimum balancer PTC reading |
tsmax | | Maximum temperature sensor reading |
tsmin | | Minimum temperature sensor reading |
bq_temp_max | °C | Maximum balancer MCU temperature |
MCU_temp_max | °C | Maximum main MCU temperature |
cell_max | mV | Maximum cell voltage recorded |
cell_min | mV | Minimum cell voltage recorded |
max_current | A | Maximum discharge current recorded |
min_current | A | Maximum charge current recorded (negative) |
Total lifetime extremes
These permanents track the all-time extreme values across all power cycles. They are located in /permanents/total/. The structure is identical to the single run extremes.
| Permanent | Unit | Description |
|---|
ptcbal_max | | All-time maximum balancer PTC reading |
ptcbal_min | | All-time minimum balancer PTC reading |
tsmax | | All-time maximum temperature sensor reading |
tsmin | | All-time minimum temperature sensor reading |
bq_temp_max | °C | All-time maximum balancer MCU temperature |
MCU_temp_max | °C | All-time maximum main MCU temperature |
cell_max | mV | All-time maximum cell voltage |
cell_min | mV | All-time minimum cell voltage |
max_current | A | All-time maximum discharge current |
min_current | A | All-time maximum charge current (negative) |
State machine counters
These permanents are located in /driver/stateMachine/.
| Permanent | Description |
|---|
fail_counter | Total number of fail events |
shortcut_counter | Total number of short circuit events |
Shell commands
| Command | Description |
|---|
driver_pmerase | Reset all permanent limit data |