Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/utkumaden/esp-idf-lcd
Generic LCD Driver as an ESP32 Component
https://github.com/utkumaden/esp-idf-lcd
character-lcd display driver esp-idf esp32 esp32-idf lcd lcd16x2
Last synced: about 1 month ago
JSON representation
Generic LCD Driver as an ESP32 Component
- Host: GitHub
- URL: https://github.com/utkumaden/esp-idf-lcd
- Owner: utkumaden
- License: mit
- Created: 2022-08-22T11:35:03.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-23T08:39:11.000Z (almost 2 years ago)
- Last Synced: 2024-10-15T09:12:42.227Z (3 months ago)
- Topics: character-lcd, display, driver, esp-idf, esp32, esp32-idf, lcd, lcd16x2
- Language: C
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Generic LCD driver as a ESP32 Component
=======================================This is a generic LCD driver wrapped as a ESP32 component. You are free to use
the driver component as you wish as long as you follow the license agreement in
[LICENSE.md](LICENSE.md).Usage Example
-------------```c
int lcdBusIO(lcdDriver_t *driver, bool rw, bool rs, bool en, uint8_t data)
{
// Implement for your own setup.
}int lcdDelay(lcdDriver_t *driver, uint32_t delay)
{
// Implement for your own setup.
return usleep((useconds_t)delay);
}void app_main(void)
{
lcdDriver_t lcd = {
.userData = NULL,
.dimensions = {16, 2},
.writeOnly = true,
.fourBits = true
};// Do GPIO initialization.
// Reset GPIO pins to their default state.
lcdBusIO(&lcd, false, false, false, 0xFF);lcdLoadDefaultTiming(&lcd); // Load default LCD timings.
lcdInit(&lcd); // Initialize the LCD and driver.lcdDirection(&lcd, true); // Set the direction to forward.
lcdSetDisplay(&lcd, true, false, false); // Enable display.
lcdHome(&lcd); // Home the LCD cursor.lcdPutZString(&driver, "Hello World!");
}
```TO-DO
-----
* Implement read-write mode.
* Implement 8-bit mode.