#include #include #include #include "epd_driver.h" #include "staticmap.h" #include "utilities.h" uint8_t* framebuffer; void setup(void) { epd_init(); framebuffer = (uint8_t*)heap_caps_malloc(EPD_WIDTH * EPD_HEIGHT / 2, MALLOC_CAP_SPIRAM); if (!framebuffer) { printf("alloc memory failed !!!"); while (1) ; } memset(framebuffer, 0xFF, EPD_WIDTH * EPD_HEIGHT / 2); int32_t width = staticmap_width; int32_t height = staticmap_height; const uint8_t* data = staticmap_data; Rect_t area = { .x = EPD_WIDTH - width, .y = 0, .width = width, .height = height}; epd_poweron(); epd_clear(); epd_draw_image(area, (uint8_t*)data, BLACK_ON_WHITE); epd_poweroff(); } void loop(void) { vTaskDelay(pdMS_TO_TICKS(100)); } extern "C" void app_main(void) { setup(); while (1) { loop(); } }