HardFOC Flux V1 HAL
Unified HAL API for the HardFOC Flux valve-control platform (ESP32-S3)
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
flux_hal_types.hpp File Reference

Shared HAL types for Flux V1: the manager error catalog and the facade result. More...

#include <cstdint>
Include dependency graph for flux_hal_types.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  flux::hal::HalResult
 Facade operation result. More...
 

Namespaces

namespace  flux
 
namespace  flux::hal
 

Enumerations

enum class  flux::hal::ManagerError : uint16_t {
  flux::hal::None = 0 , flux::hal::NotInitialized = 1 , flux::hal::BindFailed = 2 , flux::hal::HardwareFault = 3 ,
  flux::hal::InvalidArgument = 4 , flux::hal::Busy = 5 , flux::hal::Unsupported = 6 , flux::hal::DependencyNotReady = 7
}
 Lifecycle / bind failure catalog shared by every manager (GetManagerError()). More...
 

Functions

constexpr const char * flux::hal::ToString (ManagerError e) noexcept
 Short name of a ManagerError, for logs and diagnostics.
 

Detailed Description

Shared HAL types for Flux V1: the manager error catalog and the facade result.

Purpose

Two error lanes, as in pw-hal's coding standards (coding-standards-managers.md ยง2): managers return bool and stash a flux::hal::ManagerError (read with GetManagerError()); facades return a flux::hal::HalResult. Do not add a third per-manager error enum when flux::hal::ManagerError fits.

The older per-manager operation enums (hf_valve_err_t, CommError, TemperatureError, LedError, ...) stay on the existing operation APIs and their GetLastError(); they are migrated when a manager is next reworked, not in one sweep.

Ownership

Types only. No MCU or RTOS header.

Thread safety: value types; no shared state.

Author
HardFOC Team
Date
2026