Files
tide-display/ePaper-ESP-IDF/main/main.cpp
Peter Siegmund 4ef60ec997 new endless loop
Signed-off-by: Peter Siegmund <peter@rdkr.com>
2024-05-31 11:04:44 +02:00

47 lines
882 B
C++

#include <esp_task_wdt.h>
#include <stdio.h>
#include <string.h>
#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();
}
}