compat w new esp-gfx
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
version: "2.0.0"
|
||||
version: "2.0.1"
|
||||
description: "ST7567 128x64 display driver"
|
||||
url: "https://git.drath.cc/drath/esp-st7567"
|
||||
dependencies:
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include <driver/i2c_master.h>
|
||||
#include <driver/gpio.h>
|
||||
|
||||
static const char *TAG = "ST7567";
|
||||
|
||||
@@ -154,16 +155,19 @@ esp_err_t st7567_set_contrast(const st7567_device_t *dev, uint8_t contrast) {
|
||||
return st7567_send_cmd(dev, contrast);
|
||||
}
|
||||
|
||||
void st7567_clear_buffer(st7567_device_t *dev) {
|
||||
esp_err_t st7567_clear_buffer(void *p) {
|
||||
st7567_device_t* dev = p;
|
||||
memset(dev->framebuffer, 0, sizeof(dev->framebuffer));
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
esp_err_t st7567_clear(st7567_device_t *dev) {
|
||||
esp_err_t st7567_clear(void *dev) {
|
||||
st7567_clear_buffer(dev);
|
||||
return st7567_update_screen(dev);
|
||||
}
|
||||
|
||||
esp_err_t st7567_update_screen(const st7567_device_t *dev) {
|
||||
esp_err_t st7567_update_screen(const void *p) {
|
||||
const st7567_device_t* dev = p;
|
||||
for (uint8_t page = 0; page < ST7567_PAGES; page++) {
|
||||
esp_err_t ret;
|
||||
if ((ret = st7567_send_cmd(dev, ST7567_CMD_PAGE_ADDR | page)) != ESP_OK)
|
||||
@@ -192,10 +196,12 @@ static void st7567_set_pixel_color(st7567_device_t *dev, const uint8_t x, const
|
||||
dev->framebuffer[byte_index] &= ~(1 << bit_index);
|
||||
}
|
||||
|
||||
void st7567_draw_pixel(void *dev, const uint8_t x, const uint8_t y) {
|
||||
esp_err_t st7567_draw_pixel(void *dev, const uint8_t x, const uint8_t y) {
|
||||
st7567_set_pixel_color(dev, x, y, 1);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
void st7567_clear_pixel(void *dev, const uint8_t x, const uint8_t y) {
|
||||
esp_err_t st7567_clear_pixel(void *dev, const uint8_t x, const uint8_t y) {
|
||||
st7567_set_pixel_color(dev, x, y, 0);
|
||||
return ESP_OK;
|
||||
}
|
||||
@@ -5,7 +5,6 @@
|
||||
#include <soc/gpio_num.h>
|
||||
#include <driver/spi_master.h>
|
||||
#include <driver/i2c_master.h>
|
||||
#include <driver/gpio.h>
|
||||
|
||||
// Display dimensions
|
||||
#define ST7567_WIDTH 128
|
||||
@@ -98,9 +97,9 @@ esp_err_t st7567_init_spi(const st7567_config_spi_t *config, st7567_device_t *de
|
||||
/**
|
||||
* @brief Clear the display (just wipe framebuffer, don't send any commands)
|
||||
*
|
||||
* @param dev Device handle
|
||||
* @param p Device handle
|
||||
*/
|
||||
void st7567_clear_buffer(st7567_device_t *dev);
|
||||
esp_err_t st7567_clear_buffer(void *p);
|
||||
|
||||
/**
|
||||
* @brief Clear the display (both GDRAM and local framebuffer)
|
||||
@@ -108,7 +107,7 @@ void st7567_clear_buffer(st7567_device_t *dev);
|
||||
* @param dev Device handle
|
||||
* @return esp_err_t ESP_OK on success
|
||||
*/
|
||||
esp_err_t st7567_clear(st7567_device_t *dev);
|
||||
esp_err_t st7567_clear(void *dev);
|
||||
|
||||
/**
|
||||
* @brief Set contrast (electronic volume)
|
||||
@@ -122,10 +121,10 @@ esp_err_t st7567_set_contrast(const st7567_device_t *dev, uint8_t contrast);
|
||||
/**
|
||||
* @brief Push the local framebuffer contents to the display
|
||||
*
|
||||
* @param dev Device handle
|
||||
* @param p Device handle
|
||||
* @return esp_err_t ESP_OK on success
|
||||
*/
|
||||
esp_err_t st7567_update_screen(const st7567_device_t *dev);
|
||||
esp_err_t st7567_update_screen(const void *p);
|
||||
|
||||
/**
|
||||
* @brief Turn a pixel ON at given coordinates
|
||||
@@ -133,7 +132,7 @@ esp_err_t st7567_update_screen(const st7567_device_t *dev);
|
||||
* @param x x coordinate
|
||||
* @param y y coordinate
|
||||
*/
|
||||
void st7567_draw_pixel(void *dev, uint8_t x, uint8_t y);
|
||||
esp_err_t st7567_draw_pixel(void *dev, uint8_t x, uint8_t y);
|
||||
|
||||
/**
|
||||
* @brief Turn a pixel OFF at given coordinates
|
||||
@@ -141,4 +140,4 @@ void st7567_draw_pixel(void *dev, uint8_t x, uint8_t y);
|
||||
* @param x x coordinate
|
||||
* @param y y coordinate
|
||||
*/
|
||||
void st7567_clear_pixel(void *dev, uint8_t x, uint8_t y);
|
||||
esp_err_t st7567_clear_pixel(void *dev, uint8_t x, uint8_t y);
|
||||
Reference in New Issue
Block a user