foxBMS 2 v1.10.0 — Upstream Documentation Reference

Source: docs.foxbms.org (Fraunhofer IISB) Fetched: 2026-03-21 Purpose: Local reference for foxBMS POSIX port development. Not a replacement for upstream docs.


Documentation Map

docs/foxbms-upstream/
├── INDEX.md                          ← This file
├── general/
│   └── safety.md                     Safety warnings, standards, user responsibility
├── getting-started/
│   └── getting-started.md            Prerequisites, setup, build, first run
├── software/
│   ├── modules-index.md              Complete list of 41 software modules
│   ├── application/
│   │   ├── bms.md                    BMS state machine (STANDBY→NORMAL→ERROR)
│   │   ├── algorithm.md              SOC/SOE/SOF estimation framework
│   │   ├── balancing.md              Voltage-based + history-based balancing
│   │   ├── plausibility.md           Sensor data validation (incomplete upstream)
│   │   ├── redundancy.md             IVT cross-checking (incomplete upstream)
│   │   └── soa.md                    Safe Operating Area (MOL/RSL/MSL thresholds)
│   ├── engine/
│   │   ├── database.md               Producer/consumer data exchange module
│   │   ├── diag.md                   DIAG handler, threshold counters, callbacks
│   │   ├── sys.md                    SYS state machine (init → RUNNING)
│   │   └── sys-mon.md               System monitoring (task timing compliance)
│   ├── driver/
│   │   ├── can.md                    CAN TX/RX, callbacks, mailbox config, E2E
│   │   ├── sbc.md                    System Basis Chip (NXP FS8x), watchdog
│   │   ├── sps.md                    Smart Power Switch (contactor control)
│   │   ├── contactor.md              Contactor driver (incomplete upstream)
│   │   ├── interlock.md              Interlock circuit, feedback, safe state
│   │   └── imd.md                    Insulation Monitoring Device (Bender)
│   ├── task/
│   │   └── ftask.md                  7 FreeRTOS tasks, priorities, cyclic periods
│   └── main/
│       └── fassert.md                FAS_ASSERT levels (incomplete upstream)
├── system/
│   └── precharging.md                Precharge sequence, RC timing, failure detection
├── tools/
│   └── dbc.md                        DBC file location and tool info
└── dbc/
    └── foxbms-signals-summary.md     CAN message/signal summary from foxbms.dbc

Quick Reference: What's Where

I need to understand... Read this Relevance to POSIX port
BMS state transitions bms.md Why states change, how ERROR works
How DIAG triggers ERROR diag.md Phase 3 critical — threshold counters
What SOA checks do soa.md MOL/RSL/MSL thresholds we must not bypass
CAN message encoding can.md TX callback structure, period config
Task structure ftask.md What runs in each cyclic task
Precharge logic precharging.md Why voltage must match
Interlock behavior interlock.md What we hardcoded to always-closed
SBC/watchdog sbc.md Why we stub to RUNNING (value 2)
Balancing strategy balancing.md Threshold + hysteresis logic
Database architecture database.md Why single-producer matters
DBC signal definitions foxbms-signals-summary.md CAN IDs, signals, encoding

Upstream Documentation Gaps

These modules have incomplete documentation on docs.foxbms.org (marked "not yet complete"): - SPS (contactor control details) - Contactor (state machine, feedback) - Plausibility (what checks run) - Redundancy (cross-checking logic) - fassert (assert level definitions) - Algorithm/State Estimation (SOC/SOE/SOF methods)

For these, read the source code in foxbms-2/src/app/ directly.