clerk 0.4.0

A fully featured hardware agnostic HD44780 LCD controlling library.
Documentation
# clerk

[![Build Status](https://travis-ci.org/kunerd/clerk.svg?branch=master)](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 help
Just [create a ticket](https://github.com/kunerd/clerk/issues/new).

## 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.

## License
This project is licensed under MIT license ([LICENSE](docs/CONTRIBUTING.md) or https://opensource.org/licenses/MIT)