hd44780-driver

crates.io crates.io travis-ci.org API

Implementation of the embedded-hal traits for the HD44780.

Examples

Examples for several different boards can be found here

Any platform that implements the embedded-hal traits is supported by this library! See awesome-embedded-rust for a list of supported platforms.

Getting Started

This library aims to keep it simple in that to get started all you will have to do is supply the HD44780::new function a bunch of pins from your platform that implement the OutputPin trait for embedded-hal as well as a struct that implements the delay traits DelayUs<u16> and DelayMs<u8>.

```rust // Pseudo-code: check the HAL crate for your specific device for exact code to get pins / delay // It is recommended to use push/pull output pins, but if your specific LCD device has pull-up resistors // an open/drain output pin should work too

let mut delay = Delay::new();

let mut lcd = HD44780::new4bit( d4.intopushpulloutput(&mut port), // Register Select pin d3.intopushpull_output(&mut port), // Enable pin

d9.into_push_pull_output(&mut port),  // d4
d10.into_push_pull_output(&mut port), // d5
d11.into_push_pull_output(&mut port), // d6
d12.into_push_pull_output(&mut port), // d7
&mut delay,

);

// Unshift display and set cursor to 0 lcd.reset(&mut delay);

// Clear existing characters lcd.clear(&mut delay);

// Display the following string lcd.write_str("Hello, world!", &mut delay);

// Move the cursor to the second line lcd.setcursorpos(40, &mut delay);

// Display the following string on the second line lcd.write_str("I'm on line 2!", &mut delay); ```

Features

Todo

Contributing

License

This project is licensed under MIT license (LICENSE or https://opensource.org/licenses/MIT)