Crates.io | gc9a01a_driver |
lib.rs | gc9a01a_driver |
version | 1.0.0 |
source | src |
created_at | 2024-07-29 22:10:26.415195 |
updated_at | 2024-09-12 11:20:35.90251 |
description | Display Driver to Support for GC9A01A LCD 1.28 inch with embedded-graphics support |
homepage | |
repository | https://github.com/GordonCox/gc9a01a_driver.git |
max_upload_size | |
id | 1319251 |
size | 34,643 |
This crate provides a driver for the GC9A01A 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
.
With the release of version 1.0.0, the crate now includes support for the updated embedded-hal 1.0.0 and embedded-graphics 0.8.1. This update ensures better compatibility and performance for modern embedded projects.
Key changes:
1.0.0
, which introduces new traits and API changes for hardware abstraction.0.8.1
, providing improved rendering capabilities and API adjustments for embedded graphics.toml
Copy code
[dependencies] embedded-hal = { version = "1.0.0" } embedded-graphics = { version = "0.8.1" }
For projects that still rely on the older version of the crate, version 0.3.2 continues to provide compatibility with embedded-hal 0.2 and embedded-graphics 0.7.1. This is useful for maintaining projects that use older libraries or hardware.
toml
Copy code
[dependencies] embedded-hal = { version = "0.2" } embedded-graphics = { version = "0.7.1" }
To upgrade from version 0.3.2 to 1.0.0, you'll need to adjust your project's dependencies and refactor the code to account for any API changes in the dependencies, especially with embedded-hal.
To use this crate, add the following dependencies to your Cargo.toml
:
embedded-hal
embedded-graphics
gc9a01a_driver
The GC9A01A
struct provides methods to interact with the display. Key methods include:
new
: Creates a new instance of the GC9A01A driver.init
: Initializes the display with a given delay provider.set_orientation
: Sets the display orientation.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.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.Contributions are welcome! Please feel free to submit a pull request or open an issue.
This project is licensed under the MIT License - see the LICENSE file for details.