ESP32S2_Cal_Demo/main/app_task_epd.c

44 lines
1.2 KiB
C

#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
#include "app_lib_epd_impl.h"
static uint8_t frame_data[15000][2];
extern const unsigned char pixiv_82311703[];
TaskHandle_t xTaskEPDExampleHandle = NULL;
void vTaskEPDExample(void *pvParameters) {
app_lib_epd_impl_t epd_impl = {0};
gd_epd_042_t epd = {
.cb = {
.write_data_cb = (gd_epd_042_ret_t (*)(void *, uint8_t *, uint32_t))app_lib_epd_impl_write_data,
.write_cmd_cb = (gd_epd_042_ret_t (*)(void *, uint8_t *, uint8_t))app_lib_epd_impl_write_cmd,
.poll_busy_cb = (gd_epd_042_ret_t (*)(void *))app_lib_epd_impl_poll_busy,
.reset_cb = (gd_epd_042_ret_t (*)(void *))app_lib_epd_impl_reset
},
.user_data = &epd_impl
};
app_lib_epd_impl_init(&epd_impl);
gd_epd_042_init(&epd);
vTaskDelay(pdMS_TO_TICKS(100));
memset(frame_data[0], 0xFF, 15000);
memcpy(frame_data[1], pixiv_82311703, 15000);
gd_epd_042_load(&epd, frame_data[0], frame_data[1]);
gd_epd_042_update(&epd);
vTaskDelay(pdMS_TO_TICKS(100));
gd_epd_042_deepsleep(&epd);
for(;;) {
vTaskDelay(pdMS_TO_TICKS(10000));
}
}