Skip to content
/ clerk Public

Hardware independent HD44780 LCD library written in Rust

License

Notifications You must be signed in to change notification settings

kunerd/clerk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)