|
HardFOC Flux V1 HAL
Unified HAL API for the HardFOC Flux valve-control platform (ESP32-S3)
|
Singleton owning the Flux board's persistent-storage namespaces. More...
#include <NvsManager.h>
Public Member Functions | |
| NvsManager (const NvsManager &)=delete | |
| NvsManager & | operator= (const NvsManager &)=delete |
| NvsManager (NvsManager &&)=delete | |
| NvsManager & | operator= (NvsManager &&)=delete |
| bool | EnsureInitialized () noexcept |
| Initialize NVS flash (once) and open all Flux namespaces. | |
| bool | IsInitialized () const noexcept |
| bool | Deinitialize () noexcept |
| Close namespaces (call after other subsystems if they may persist on shutdown). | |
| hf_nvs_err_t | GetLastError () const noexcept |
| Last NVS error from the most recent failing operation (any region). | |
| flux::hal::ManagerError | GetManagerError () const noexcept |
Lifecycle / bind error of the last EnsureInitialized() (shared catalog). | |
| BaseNvs & | App () noexcept |
General application storage (flux namespace). | |
| BaseNvs & | Calibration () noexcept |
Calibration and tuning blobs (flux_cal namespace). | |
| BaseNvs & | Config () noexcept |
Device configuration (flux_cfg namespace). | |
| void | DumpStatistics () const noexcept |
Static Public Member Functions | |
| static NvsManager & | GetInstance () noexcept |
Private Member Functions | |
| NvsManager () noexcept | |
| ~NvsManager ()=default | |
| void | SetLastError (hf_nvs_err_t e) noexcept |
Private Attributes | |
| BaseNvs & | app_ |
flux (binding slot 0) | |
| BaseNvs & | calibration_ |
flux_cal (binding slot 1) | |
| BaseNvs & | config_ |
flux_cfg (binding slot 2) | |
| std::atomic< bool > | initialized_ {false} |
| hf_nvs_err_t | last_error_ {hf_nvs_err_t::NVS_SUCCESS} |
| std::atomic< flux::hal::ManagerError > | manager_error_ {flux::hal::ManagerError::NotInitialized} |
Singleton owning the Flux board's persistent-storage namespaces.
Initialization runs before communication managers so calibration or board identity can be read early. Namespaces (at most 15 characters):
"flux" — general application key-value"flux_cal" — calibration / factory tuning blobs"flux_cfg" — structured device configuration
|
delete |
|
delete |
|
privatenoexcept |
|
privatedefault |
|
inlinenoexcept |
General application storage (flux namespace).
|
inlinenoexcept |
Calibration and tuning blobs (flux_cal namespace).
|
inlinenoexcept |
Device configuration (flux_cfg namespace).
|
noexcept |
Close namespaces (call after other subsystems if they may persist on shutdown).
|
noexcept |
|
noexcept |
Initialize NVS flash (once) and open all Flux namespaces.
|
staticnoexcept |
|
inlinenoexcept |
Last NVS error from the most recent failing operation (any region).
|
inlinenoexcept |
Lifecycle / bind error of the last EnsureInitialized() (shared catalog).
ManagerError::None when initialised; otherwise why bring-up failed.
|
inlinenoexcept |
|
delete |
|
delete |
|
inlineprivatenoexcept |
|
private |
flux (binding slot 0)
|
private |
flux_cal (binding slot 1)
|
private |
flux_cfg (binding slot 2)
|
private |
|
private |
|
private |