HardFOC Flux V1 HAL
Unified HAL API for the HardFOC Flux valve-control platform (ESP32-S3)
Loading...
Searching...
No Matches
Public Attributes | List of all members
FluxHalDiagnostics Struct Reference

Board-level bring-up snapshot: every manager's state and every fitted part's readiness. More...

#include <Flux.h>

Collaboration diagram for FluxHalDiagnostics:
[legend]

Public Attributes

bool initialized {false}
 Flux::EnsureInitialized() succeeded (every required manager up)
 
bool all_managers_up {false}
 Every manager, required and optional, is initialised.
 
bool all_healthy {false}
 ... and none reports an error (none degraded)
 
flux::hal::ManagerError first_error {flux::hal::ManagerError::None}
 First error in init order.
 
const char * first_error_manager {nullptr}
 Manager that reported it.
 
std::array< ManagerDiagnostic, kFluxManagerCount > managers {}
 In initialisation order.
 
bool max22200_ready {false}
 MAX22200 solenoid driver came up.
 
bool tle92466_ready {false}
 TLE92466ED proportional driver came up.
 
bool pressure_bus_ready {false}
 ADS7952 SPI bus and chip select are up.
 
bool ads7952_ready {false}
 ADS7952 device 0 came up.
 
bool internal_adc_ready {false}
 MCU ADC (NTC, VBUS) came up.
 
bool can_ready {false}
 CAN controller object exists.
 
bool die_temp_ready {false}
 MCU die sensor came up.
 
bool ntc_ready {false}
 Board NTC came up.
 
bool mcp9700_ready {false}
 MCP9700 on the ADS7952 came up.
 
bool status_led_ready {false}
 WS2812 status LED came up.
 

Detailed Description

Board-level bring-up snapshot: every manager's state and every fitted part's readiness.

Filled by Flux::CollectDiagnostics. Managers fail closed, so a part that did not come up shows here as not ready and its manager as not initialised with a reason; the part flags are valid even when their manager failed (they say which part is missing).

Member Data Documentation

◆ ads7952_ready

bool FluxHalDiagnostics::ads7952_ready {false}

ADS7952 device 0 came up.

◆ all_healthy

bool FluxHalDiagnostics::all_healthy {false}

... and none reports an error (none degraded)

◆ all_managers_up

bool FluxHalDiagnostics::all_managers_up {false}

Every manager, required and optional, is initialised.

◆ can_ready

bool FluxHalDiagnostics::can_ready {false}

CAN controller object exists.

◆ die_temp_ready

bool FluxHalDiagnostics::die_temp_ready {false}

MCU die sensor came up.

◆ first_error

flux::hal::ManagerError FluxHalDiagnostics::first_error {flux::hal::ManagerError::None}

First error in init order.

◆ first_error_manager

const char* FluxHalDiagnostics::first_error_manager {nullptr}

Manager that reported it.

◆ initialized

bool FluxHalDiagnostics::initialized {false}

Flux::EnsureInitialized() succeeded (every required manager up)

◆ internal_adc_ready

bool FluxHalDiagnostics::internal_adc_ready {false}

MCU ADC (NTC, VBUS) came up.

◆ managers

std::array<ManagerDiagnostic, kFluxManagerCount> FluxHalDiagnostics::managers {}

In initialisation order.

◆ max22200_ready

bool FluxHalDiagnostics::max22200_ready {false}

MAX22200 solenoid driver came up.

◆ mcp9700_ready

bool FluxHalDiagnostics::mcp9700_ready {false}

MCP9700 on the ADS7952 came up.

◆ ntc_ready

bool FluxHalDiagnostics::ntc_ready {false}

Board NTC came up.

◆ pressure_bus_ready

bool FluxHalDiagnostics::pressure_bus_ready {false}

ADS7952 SPI bus and chip select are up.

◆ status_led_ready

bool FluxHalDiagnostics::status_led_ready {false}

WS2812 status LED came up.

◆ tle92466_ready

bool FluxHalDiagnostics::tle92466_ready {false}

TLE92466ED proportional driver came up.


The documentation for this struct was generated from the following file: