clerk 0.4.0

A fully featured hardware agnostic HD44780 LCD controlling library.
Documentation

clerk

Build Status

Hardware independent HD44780 LCD library written in Rust

The library's goal is to provide a high level interface to control HD44780 compliant LCD displays. It does not rely on std and therefore it should work on PCs as well as on embedded devices. Its main goal is to provide all features defined in the HD44780 spec.

Current state

This library is actively maintained and most of the features described in the HD44780 spec are implemented. The current work mainly concentrates on providing a first stable version.

Features

  • Clear display
  • Return home (but is possible via seek())
  • Entry mode settings
  • Cursor and display shift
  • Function set
  • Display control settings
  • Set DDRAM address (high level interface via seek())
  • Set CGRAM address
  • Read/write DDRAM
  • Read/write CGRAM (create custom characters)
  • Read busy flag and cursor address

TODOs

  • more unit and integration testing
  • error handling
  • feature flags to allow additional (high level) functions
  • conditional compilation for different hardware variants (read-only, read-write)
  • test on different targets (currently only tested on Raspberry Pi)

Documentation

https://docs.rs/clerk

Getting help

Just create a ticket.

Contribution

All kinds of contributions are highly welcome (see TODOs). Create tickets with feature requests, design ideas and so on. You can also find me on Mozillas IRC channel #rust.

License

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