I/O, PWM, LEDs and displays¶
Handlers for the PCA9555 / PCAL9555A I/O expander, the PCA9685 PWM controller, WS2812 LED strips and the ISF15ACP4 OLED pushbutton.
Pcal95555Handler¶
Unified handler for the PCA9555 / PCAL9555A 16-bit I2C GPIO expander.
- Header:
handlers/pcal95555/Pcal95555Handler.h - Switch:
HF_CORE_ENABLE_PCAL95555(default OFF) - Driver: hf-pcal95555-driver
- Host test:
tests/host/test_pcal95555.cpp
| Group | Public methods |
|---|---|
| Initialization and Lifecycle | EnsureInitialized(), EnsureDeinitialized(), IsInitialized() |
| Basic GPIO Operations | SetDirection(), SetOutput(), ReadInput(), Toggle(), SetPullMode(), GetPullMode() |
| Batch GPIO Operations | SetDirections(), SetOutputs(), SetOutputsVerified(), SetPullModes() |
| Interrupt Management | HasInterruptSupport(), IsInterruptConfigured(), DrainPendingInterrupts(), GetAllInterruptMasks(), GetAllInterruptStatus() |
| Pin Factory | PinCount(), GetI2cAddress(), AttachStaticPin(), CreateGpioPin(), GetGpioPin(), GetGpioPinRaw(), ReadAllInputLevels(), ProgramPortsAbsolute(), ReadConfigAndOutputPorts(), ReadOutputLatchFromWire(), ReadStandardRegisterBank(), VerifyOutputPinEffect(), IsPinCreated(), GetCreatedPinMask() |
| PCAL9555A Advanced Features (Agile I/O) | HasAgileIO(), GetChipVariant(), SetPolarityInversion(), SetMultiplePolarityInversion(), SetInterruptMask(), GetInterruptStatus(), SetDriveStrength(), EnableInputLatch(), SetOutputMode(), ResetToDefault() |
| Error Management | GetErrorFlags(), ClearErrorFlags() |
| Diagnostics | DumpDiagnostics() |
Pca9685Handler¶
Unified handler for the PCA9685 16-channel 12-bit PWM controller.
- Header:
handlers/pca9685/Pca9685Handler.h - Switch:
HF_CORE_ENABLE_PCA9685(default OFF) - Driver: hf-pca9685-driver
- Host test:
tests/host/test_pca9685.cpp
| Group | Public methods |
|---|---|
| Initialization and Lifecycle | EnsureInitialized(), EnsureDeinitialized(), IsInitialized() |
| Wrapper Factories | ChannelCount(), GetI2cAddress(), GetPwmAdapter(), CreateGpioPin(), GetGpioPin(), IsPinCreated() |
| Error Management | GetErrorFlags(), ClearErrorFlags() |
| Diagnostics | DumpDiagnostics() |
| Direct Driver Access | GetDriver() |
Ws2812Handler¶
Unified handler for WS2812 addressable LED strips using RMT peripheral.
- Header:
handlers/ws2812/Ws2812Handler.h - Switch:
HF_CORE_ENABLE_WS2812(default OFF) - Driver: hf-ws2812-rmt-driver
| Group | Public methods |
|---|---|
| All | Initialize(), EnsureInitialized(), Deinitialize(), IsInitialized(), GetNumLeds(), GetStrip(), GetDriver(), GetAnimator(), visitDriver(), visitAnimator(), DumpDiagnostics(), GetDescription(), GetDefaultConfig() |
Isf15acp4Handler¶
HAL handler for NKK ISF15ACP4 SmartDisplay OLED pushbutton (SSD1331 SPI).
- Header:
handlers/isf15acp4/Isf15acp4Handler.h - Switch:
HF_CORE_ENABLE_ISF15ACP4(default OFF) - Driver: hf-isf15acp4-driver
Isf15acp4Handler(
BaseSpi& spi,
BaseGpio& cs,
BaseGpio& dc,
BaseGpio& reset,
const Isf15acp4HandlerConfig& config = {},
BaseGpio* vcc_enable = nullptr,
BaseGpio* switch_in = nullptr,
bool switch_active_low = true);
| Group | Public methods |
|---|---|
| All | EnsureInitialized(), EnsureDeinitialized(), Deinitialize(), IsInitialized(), DisplayOn(), DisplayOff(), FillScreen(), Present(), CreateGraphicsContext(), IsPressed(), visitDriver(), GetDriver(), GetDisplay(), GetErrorFlags(), ClearErrorFlags(), DumpDiagnostics() |