1 unstable release
0.1.0 | Sep 24, 2024 |
---|
#984 in Hardware support
38KB
485 lines
ST7789V2 Display Driver
This crate provides a driver for the ST7789V2 display, enabling basic operations such as initialization, clearing the screen, setting pixels, drawing images, and displaying buffers. The driver is built using the embedded-hal
and embedded-graphics
crates to ensure compatibility with various embedded platforms. The crate has been updated to accommodate the latest versions of embedded-hal
and embedded-graphics
.
toml
Copy code
[dependencies] embedded-hal = { version = "1.0.0" } embedded-graphics = { version = "0.7.1" }
Legacy Support in Version 0.3.2
For projects that still rely on the older version of the crate, version 0.3.2 continues to provide compatibility with embedded-graphics 0.7.1. This is useful for maintaining projects that use older libraries or hardware.
Features
- Initialization of the ST7789V2 display
- Clearing the screen
- Setting individual pixels
- Drawing images and displaying buffers
- Partial updates to the display
Usage
Adding the Crate
To use this crate, add the following dependencies to your Cargo.toml
:
embedded-hal
embedded-graphics
st7789v2_driver
API Overview
ST7789V2
The ST7789V2
struct provides methods to interact with the display. Key methods include:
new
: Creates a new instance of the ST7789V2 driver.init
: Initializes the display with a given delay provider.clear_screen
: Clears the screen with a specific color.write_pixel
: Sets the color of a single pixel.draw_image
: Draws an image from a slice of RGB565 data.show
: Displays the provided buffer on the screen.show_region
: Updates only the specified region of the display with the provided buffer.
FrameBuffer
The FrameBuffer
struct represents a frame buffer and includes methods to manipulate it:
new
: Creates a new frame buffer.get_buffer
: Returns a reference to the buffer.clear
: Clears the frame buffer with the specified color.copy_region
: Copies a region from another buffer into this buffer.
Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Dependencies
~3.5MB
~35K SLoC