44 lines
1.2 KiB
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));
|
|
}
|
|
} |