bspIo Driver

Overview

The bspIo module provides a register-level GPIO driver for STM32 targets. The driver is the stateless bios::Gpio class, which wraps the GPIO peripheral registers (MODER, OTYPER, OSPEEDR, PUPDR, AFR, IDR, BSRR, ODR) behind typed accessors.

A pin is described by a GpioConfig struct: port, pin number, mode (input / output / alternate / analog), output type, speed, pull resistor, and alternate function number. Gpio::configure() applies a complete GpioConfig in one call and enables the port clock via Gpio::enablePortClock(). Individual setters (setMode, setOutputType, setSpeed, setPull, setAlternateFunction) and the pin accessors (readPin, writePin, togglePin) are available for dynamic use.

Pin assignments are a board decision and are supplied by the board configuration, not by this module.