IOP hardware I/O device drivers — displays, sensors, actuators. Pure-static HAPI components; no host-side buffers, no dynamic allocation.
#include <oneIO/display/i2cOled.h> // I2C via Wire
#include <oneIO/display/spiOled.h> // SPI
using MyOled = oneIO::display::I2cOledWire<Wire, SDA, SCL>;
MyOled::begin();
MyOled::clear();
MyOled::setCursor(0, 0); // col in pixels, row in pages (8 px each)
MyOled::print('A');
MyOled::fillRect(0, 0, 128, 1, 0x00);#include <oneIO/display/i2cLcd.h>
using MyLcd = oneIO::display::I2cLcd<AvrTwiMaster<>, 0x27>;
MyLcd::begin();
MyLcd::setCursor(0, 0);
MyLcd::print("Hello");
MyLcd::clear();For direct parallel wiring, use Hd44780<RS, EN, D4, D5, D6, D7> with OneBit OutPin types.
#include <oneIO/sensor/ds18b20.h>#include <oneIO/sensor/mpu6050.h>OledDisplay<MyOled> and LcdDisplay<MyLcd, cols, rows> from OneMenu wrap these drivers for menu output.