summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Porte <microjoe@microjoe.org>2020-03-27 21:09:28 +0100
committerRomain Porte <microjoe@microjoe.org>2020-03-27 21:10:11 +0100
commit40fdeae490aac54544fa46213c6d6ebd6adaa5b9 (patch)
tree3d348a18c92f9aab0e2222c4fd46ad756db5d9a0
parent8b1f75040a7a29fc5582752f9669c9477966eb3e (diff)
downloadcharlcd-40fdeae490aac54544fa46213c6d6ebd6adaa5b9.tar.gz
charlcd-40fdeae490aac54544fa46213c6d6ebd6adaa5b9.zip
simplify docs, upgrade readme
-rw-r--r--README.md24
-rw-r--r--src/lib.rs3
2 files changed, 24 insertions, 3 deletions
diff --git a/README.md b/README.md
index a6686f9..007943c 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,25 @@
-A rust crate to interact with the mainline Linux charlcd.c driver.
+# charlcd
[![Latest version](https://img.shields.io/crates/v/charlcd.svg)](https://crates.io/crates/charlcd)
[![Documentation](https://docs.rs/charlcd/badge.svg)](https://docs.rs/charlcd)
[![License](https://img.shields.io/crates/l/charlcd.svg)](https://crates.io/crates/charlcd)
+A rust crate to interact with the mainline Linux charlcd.c driver.
+
Or, said boldly: _a crate to **correctly** interact with HD44780 LCD
screens on embedded Linux devices_.
+# Demo
+
![Photo of a test on HD44780 20x4
screen](https://crates.microjoe.org/charlcd/media/docs/test.jpg)
+The use of these kinds of photographies is used all over the
+[documentation](https://crates.io/crates/charlcd) to explain the before and
+after of every available function. Be sure to check them all!
+
+# Rationale
+
A lot of developers are relying on userspace libraries to interact with the
very popular HD44780 LCD screens, but these implementations are lacking
proper abstractions and usually all reimplement the same communication
@@ -61,5 +71,17 @@ device entry, while letting the kernel driver implement the communication
with the screen — instead of going from scratch and using ioctl over
`/dev/i2c-*` like many other libraries do.
+# Known bugs
+
+The charlcd driver is currently not able to report screen size to userspace.
+This is mitigated in the library by having a look at the device-tree entries
+directly.
+
+# Going further
+
For more information about this and a demo on *real hardware*, see [this blog
article](https://blog.microjoe.org/2019/hd44780-lcd-i2c-screen-using-linux-mainline-charlcd-driver.html).
+
+# License
+
+Apache v2.
diff --git a/src/lib.rs b/src/lib.rs
index f00fed0..f9c4967 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,5 +1,4 @@
-#![feature(external_doc)]
-#![doc(include = "../README.md")]
+//! A rust crate to interact with the mainline Linux charlcd.c driver.
mod codes;
pub mod custom_char;