#ifndef IMPL_EPD_H #define IMPL_EPD_H #include "driver/gpio.h" #include "driver/spi_master.h" #include "esp_system.h" #include "freertos/FreeRTOS.h" #include "freertos/semphr.h" #include "freertos/task.h" // #include "epd_panel_gdew042t2.h" typedef struct { spi_device_handle_t spi; SemaphoreHandle_t busy_semaphore; } impl_epd_handle_t; esp_err_t impl_epd_init(void *handle); epd_ret_t impl_epd_write_command(void *handle, uint8_t *command, uint32_t len); epd_ret_t impl_epd_write_data(void *handle, uint8_t *data, uint32_t len); epd_ret_t impl_epd_reset(void *handle); epd_ret_t impl_epd_poll_busy(void *handle); epd_ret_t impl_epd_delay(void *handle, uint32_t msec); #endif