Skip to main content
Firmware Stable

Permanent data

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.

PermanentUnitDescription
mah_posmAhTotal charge discharged from the battery
mah_negmAhTotal charge charged into the battery
energy_posJTotal energy discharged
energy_negJTotal energy charged

Diagnostic logs

PermanentDescription
protectLogArray of PROTECT reason bitmasks. The first entry is the most recent. See state machine.
errorLogArray 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/.

PermanentUnitDescription
ptcbal_maxMaximum balancer PTC reading
ptcbal_minMinimum balancer PTC reading
tsmaxMaximum temperature sensor reading
tsminMinimum temperature sensor reading
bq_temp_max°CMaximum balancer MCU temperature
MCU_temp_max°CMaximum main MCU temperature
cell_maxmVMaximum cell voltage recorded
cell_minmVMinimum cell voltage recorded
max_currentAMaximum discharge current recorded
min_currentAMaximum 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.

PermanentUnitDescription
ptcbal_maxAll-time maximum balancer PTC reading
ptcbal_minAll-time minimum balancer PTC reading
tsmaxAll-time maximum temperature sensor reading
tsminAll-time minimum temperature sensor reading
bq_temp_max°CAll-time maximum balancer MCU temperature
MCU_temp_max°CAll-time maximum main MCU temperature
cell_maxmVAll-time maximum cell voltage
cell_minmVAll-time minimum cell voltage
max_currentAAll-time maximum discharge current
min_currentAAll-time maximum charge current (negative)

State machine counters

These permanents are located in /driver/stateMachine/.

PermanentDescription
fail_counterTotal number of fail events
shortcut_counterTotal number of short circuit events

Shell commands

CommandDescription
driver_pmeraseReset all permanent limit data