Skip to content

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.

Pcal95555Handler(BaseI2c& i2c_device, BaseGpio* interrupt_pin = nullptr);
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.

Pca9685Handler(BaseI2c& i2c_device);
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.

Ws2812Handler(const Config& config);
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).

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()