About The Project
This library is a Rust implementation of framebuffer approach that is often used when driving hardware displays. The goal is to perform bulk-write of all the screen pixels at once, avoiding multiple individual updates that could lead to screen flickering.
This library has been designed to work with Rust's embedded-graphics library.
Built With
Getting Started
Make sure you have your rust
environment configurated
Installation
-
Add library to your
Cargo.toml
... [] = "0.1.0"
-
Use the library in you code
use FrameBuf; ... let mut display = ST7789 new; static mut FBUFF: = FrameBuf; let fbuff = unsafe ; fbuff.clear_black; new .draw.unwrap; // write to the actual display :-) let u16_iter = fbuff .into_iter .map; // those are the offsets for my physical ST7789 display display.set_pixels;
-
Your flickering problems should be solved at this point :)
Roadmap
- add tests
- add rustdocs
- CI integration with GithHub Actions
- better error generation & handling
See the open issues for a full list of proposed features (and known issues).
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Bernard Kobos - @bkobos - bkobos@gmail.com
Project Link: https://github.com/bernii/embedded-graphics-framebuf
Acknowledgments
- proven examlpes from adamgreid (imlplementation)
- st7789 driver by almindor
- super helpful embedded-graphics matrix chat