kunerd / clerk

Hardware independent HD44780 LCD library written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 started/help

Have a look at the How-to for a detailed description on getting started with clerk on a RaspberryPi.

If you have any questions, just create a ticket or ping me on Mozillas IRC channels #rust or rust-embedded.

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 and #rust-embedded.

License

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

About

Hardware independent HD44780 LCD library written in Rust

License:MIT License


Languages

Language:Rust 100.0%