Managers¶
A manager owns one function of the board. You reach each one through the Flux object (flux.valves) or its own
GetInstance(); both give the same singleton. All managers share the same shape: EnsureInitialized(),
IsInitialized(), GetManagerError() (bring-up, shared catalog), GetLastError() (last failed operation),
GetSystemDiagnostics(...) and DumpStatistics(). Managers fail closed: a manager is initialised only when every
part it owns came up (Errors and diagnostics).
| Member | Manager | Does | Start-up |
|---|---|---|---|
flux.comms |
CommChannelsManager | Valve SPI bus, ADC SPI bus, CAN, UARTs on demand | Required |
flux.nvs |
NvsManager | Three NVS namespaces: application data, calibration, configuration | Required |
flux.gpio |
GpioManager | Every GPIO-category pin of the pin map, by name or enum | Required |
flux.valves |
ValveManager | 8 solenoid channels (MAX22200) and 6 proportional channels (TLE92466ED) | Best effort |
flux.adc |
AdcManager | ESP32 ADC channels and the ADS7952 external ADC | Best effort |
flux.leds |
LedManager | The WS2812 status LED: colours, brightness, status animations | Best effort |
flux.temp |
TemperatureManager | ESP32 internal sensor, NTC thermistor, MCP9700 | Best effort |
"Required" and "best effort" refer to what happens when initialisation fails. Which handler each manager owns is on the ownership page.
Each page has the same sections: what the manager is for, its API, an example, its diagnostics, and its pitfalls. The full signatures are in the API reference.