sh1106 0.1.2

I2C driver for the SH1106 OLED display controller
Documentation

SH1106 driver

Build Status

SH116 display module showing the Rust logo

I2C driver for the SH1106 OLED display written in 100% Rust

Documentation

From examples/text.rs:

// ...snip, see examples/text.rs for runnable code ...

let i2c = BlockingI2c::i2c1(
    dp.I2C1,
    (scl, sda),
    &mut afio.mapr,
    Mode::Fast {
        frequency: 400_000,
        duty_cycle: DutyCycle::Ratio2to1,
    },
    clocks,
    &mut rcc.apb1,
    1000,
    10,
    1000,
    1000,
);

let mut disp: GraphicsMode<_> = Builder::new().connect_i2c(i2c).into();

disp.init().unwrap();
disp.flush().unwrap();

disp.draw(
    Font6x8::render_str("Hello world!")
        .with_stroke(Some(1u8.into()))
        .into_iter(),
);
disp.draw(
    Font6x8::render_str("Hello Rust!")
        .with_stroke(Some(1u8.into()))
        .translate(Coord::new(0, 16))
        .into_iter(),
);

disp.flush().unwrap();

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.