|
HardFOC Flux V1 HAL
Unified HAL API for the HardFOC Flux valve-control platform (ESP32-S3)
|
Communication channels manager for the HardFOC Flux V1 platform. More...
#include <array>#include <atomic>#include <cstdint>#include "core/hf-core-drivers/internal/hf-internal-interface-wrap/inc/base/BaseSpi.h"#include "core/hf-core-drivers/internal/hf-internal-interface-wrap/inc/base/BaseCan.h"#include "core/hf-core-drivers/internal/hf-internal-interface-wrap/inc/base/BaseUart.h"#include "core/hf-core-drivers/internal/hf-internal-interface-wrap/inc/base/BaseUsbSerialJtag.h"#include "RtosMutex.h"#include "flux_hal/flux_hal_types.hpp"Go to the source code of this file.
Classes | |
| struct | CommSystemDiagnostics |
| System-level diagnostics snapshot for communication channels. More... | |
| class | CommChannelsManager |
| Singleton managing all board communication channels for Flux V1. More... | |
| struct | CommChannelsManager::UartAcquireConfig |
| Lazy-acquire configuration for a hardware UART port. More... | |
Enumerations | |
| enum class | CommError : uint8_t { SUCCESS = 0 , NOT_INITIALIZED , INITIALIZATION_FAILED , BUS_NOT_AVAILABLE , DEVICE_NOT_FOUND , INVALID_BUS_INDEX , INVALID_DEVICE_INDEX , DEVICE_ALREADY_EXISTS , DEVICE_CREATION_FAILED , COMMUNICATION_FAILED , INVALID_PARAMETER , MUTEX_LOCK_FAILED } |
| Communication channels manager error codes for consistent error reporting. More... | |
| enum class | SpiDeviceId : uint8_t { MAX22200_SOLENOID_DRIVER = 0 , TLE92466_LOWSIDE_DRIVER = 1 , ADS7952_ADC_0 = 2 , DEVICE_COUNT } |
| SPI device identifiers for the Flux V1 board. More... | |
Functions | |
| constexpr const char * | CommErrorToString (CommError error) noexcept |
| Convert CommError to a human-readable string. | |
| CommChannelsManager & | GetCommChannelsManager () noexcept |
| Convenience accessor — equivalent to CommChannelsManager::GetInstance(). | |
Communication channels manager for the HardFOC Flux V1 platform.
Manages board communication buses (SPI, CAN, lazy UART) for the Flux valve-control board. SPI talks to:
GetI2cBus() always returns nullptr.The bus objects are created by the platform binding (bsp_bind/FluxPlatformBind.h) in its static storage; this manager decides which buses and chip selects exist (pin map + board config) and holds Base* pointers only, so this header is MCU-free.
|
strong |
Communication channels manager error codes for consistent error reporting.
Manager-layer errors for communication bus lifecycle and device operations. Covers SPI, I2C, and CAN bus management failures.
|
strong |
SPI device identifiers for the Flux V1 board.
SPI2 bus: MAX22200 + TLE92466ED (shared bus, valves) SPI3 bus: ADS7952 ADC devices (dedicated bus, external ADC)
|
constexprnoexcept |
Convert CommError to a human-readable string.
| error | Error code to convert. |
|
inlinenoexcept |
Convenience accessor — equivalent to CommChannelsManager::GetInstance().