|
| | Max22200Handler (BaseSpi &spi, BaseGpio &enable, BaseGpio &cmd, BaseGpio *fault=nullptr) noexcept |
| | Construct MAX22200 handler.
|
| |
| | ~Max22200Handler () noexcept |
| |
| | Max22200Handler (const Max22200Handler &)=delete |
| |
| Max22200Handler & | operator= (const Max22200Handler &)=delete |
| |
| | Max22200Handler (Max22200Handler &&)=delete |
| |
| Max22200Handler & | operator= (Max22200Handler &&)=delete |
| |
| max22200::DriverStatus | Initialize () noexcept |
| | Initialize driver (ENABLE HIGH, read/clear STATUS, set ACTIVE).
|
| |
| bool | EnsureInitialized () noexcept |
| | Ensure driver is initialized (lazy init entrypoint).
|
| |
| max22200::DriverStatus | Initialize (const max22200::BoardConfig &board_config) noexcept |
| | Initialize with board configuration.
|
| |
| max22200::DriverStatus | Deinitialize () noexcept |
| | Deinitialize — disable all channels, ACTIVE=0, ENABLE LOW.
|
| |
| bool | IsInitialized () const noexcept |
| | Check if initialized.
|
| |
| max22200::DriverStatus | ConfigureChannel (uint8_t channel, const max22200::ChannelConfig &config) noexcept |
| | Configure a channel completely.
|
| |
| max22200::DriverStatus | SetupCdrChannel (uint8_t channel, uint16_t hit_ma, uint16_t hold_ma, float hit_time_ms) noexcept |
| | Quick CDR setup with milliamp values.
|
| |
| max22200::DriverStatus | SetupVdrChannel (uint8_t channel, float hit_duty_pct, float hold_duty_pct, float hit_time_ms) noexcept |
| | Quick VDR setup with duty cycle percentages.
|
| |
| max22200::DriverStatus | EnableChannel (uint8_t channel) noexcept |
| | Enable a channel.
|
| |
| max22200::DriverStatus | DisableChannel (uint8_t channel) noexcept |
| | Disable a channel.
|
| |
| max22200::DriverStatus | EnableAllChannels () noexcept |
| | Enable all channels.
|
| |
| max22200::DriverStatus | DisableAllChannels () noexcept |
| | Disable all channels.
|
| |
| bool | IsChannelEnabled (uint8_t channel) noexcept |
| | Check if a channel is enabled.
|
| |
| max22200::DriverStatus | SetChannelsMask (uint8_t mask) noexcept |
| | Set channels enabled by bitmask.
|
| |
| max22200::DriverStatus | GetStatus (max22200::StatusConfig &status) noexcept |
| | Read the STATUS register.
|
| |
| max22200::DriverStatus | GetChannelFaults (uint8_t channel, max22200::FaultStatus &faults) noexcept |
| | Read fault flags for a channel.
|
| |
| bool | HasFault () noexcept |
| | Check if any fault is present.
|
| |
| max22200::DriverStatus | ClearFaults () noexcept |
| | Clear all fault flags.
|
| |
| max22200::DriverStatus | ReadFaultRegister (max22200::FaultStatus &faults) noexcept |
| | Read fault register into status.
|
| |
| DriverType * | GetDriver () noexcept |
| | Get the underlying driver for advanced operations.
|
| |
| const DriverType * | GetDriver () const noexcept |
| |
| void | DumpDiagnostics () noexcept |
| | Dump diagnostics to logger.
|
| |
Unified handler for MAX22200 octal solenoid/motor driver.
Provides thread-safe access to all MAX22200 driver features:
- 8-channel output control (enable/disable)
- CDR (Current Drive Regulation) and VDR (Voltage Drive Regulation) modes
- HIT/HOLD current and timing configuration
- Channel-pair modes (independent, parallel, half-bridge, full-bridge)
- Fault monitoring and diagnostics
- DPM (Detect Plunger Movement) configuration
- Convenience APIs with real-unit parameters