ESP32S2_Cal_Demo/main/app_task_epd.c

39 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];
static uint8_t current_frame = 0;
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);
memset(frame_data[current_frame], 0xFF, 15000);
memset(frame_data[(~current_frame) & 0x01], 0xFF, 15000);
gd_epd_042_load(&epd, frame_data[current_frame], frame_data[(~current_frame) & 0x01]);
gd_epd_042_update(&epd);
gd_epd_042_deepsleep(&epd);
for(;;) {
vTaskDelay(10000);
}
}