modulino 0.2.0

A hardware-agnostic, no_std Rust driver for Arduino Modulino breakout boards
Documentation
use embedded_hal_mock::eh1::i2c::{Mock as I2cMock, Transaction as I2cTransaction};
use modulino::Hub;

#[test]
fn test_hub_select_and_clear() {
    let addr = 0x70; // Default TCA9548A multiplexer address

    let expectations = [
        // 1. select(port 0) -> writes 1 << 0 = 0x01
        I2cTransaction::write(addr, vec![0x01]),
        // 2. select(port 5) -> writes 1 << 5 = 0x20
        I2cTransaction::write(addr, vec![0x20]),
        // 3. clear() -> writes 0x00
        I2cTransaction::write(addr, vec![0x00]),
    ];

    let i2c = I2cMock::new(&expectations);
    let mut hub = Hub::new(i2c);

    hub.select(0).unwrap();
    hub.select(5).unwrap();
    hub.clear().unwrap();

    hub.release().done();
}