https://github.com/kunerd/clerk
Hardware independent HD44780 LCD library written in Rust
https://github.com/kunerd/clerk
hd44780 rust-embedded rust-lang
Last synced: 5 days ago
JSON representation
Hardware independent HD44780 LCD library written in Rust
- Host: GitHub
- URL: https://github.com/kunerd/clerk
- Owner: kunerd
- License: mit
- Created: 2017-06-18T14:29:54.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-07-11T10:11:30.000Z (over 1 year ago)
- Last Synced: 2025-10-25T10:41:43.591Z (5 months ago)
- Topics: hd44780, rust-embedded, rust-lang
- Language: Rust
- Homepage:
- Size: 104 KB
- Stars: 12
- Watchers: 4
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# clerk
[](https://travis-ci.org/kunerd/clerk)
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
- [x] Clear display
- [ ] Return home (but is possible via `seek()`)
- [x] Entry mode settings
- [x] Cursor and display shift
- [x] Function set
- [x] Display control settings
- [x] Set DDRAM address (high level interface via `seek()`)
- [x] Set CGRAM address
- [x] Read/write DDRAM
- [x] Read/write CGRAM (create custom characters)
- [x] 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](https://github.com/kunerd/clerk/wiki/How-to-use-HD44780-LCD-from-Rust) for a detailed description on getting started with `clerk` on a RaspberryPi.
If you have any questions, just [create a ticket](https://github.com/kunerd/clerk/issues/new) or ping me on Mozillas IRC channels `#rust` or `rust-embedded`.
## Contribution
All kinds of contributions are highly welcome (see TODOs). [Create tickets](https://github.com/kunerd/clerk/issues/new) 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](docs/CONTRIBUTING.md) or https://opensource.org/licenses/MIT)