Прошло 2 года.
This commit is contained in:
44
lib/epdiy/examples/http-server/main/epd.c
Normal file
44
lib/epdiy/examples/http-server/main/epd.c
Normal file
@@ -0,0 +1,44 @@
|
||||
#include "epd.h"
|
||||
|
||||
static EpdiyHighlevelState hl;
|
||||
static EpdData data;
|
||||
|
||||
static inline void checkError(enum EpdDrawError err) {
|
||||
if (err != EPD_DRAW_SUCCESS) {
|
||||
ESP_LOGE("demo", "draw error: %X", err);
|
||||
}
|
||||
}
|
||||
|
||||
EpdData n_epd_data() {
|
||||
return data;
|
||||
}
|
||||
|
||||
void n_epd_setup(const EpdDisplay_t* display) {
|
||||
epd_init(&epd_board_v7, display, EPD_LUT_64K);
|
||||
epd_set_vcom(1560);
|
||||
hl = epd_hl_init(EPD_BUILTIN_WAVEFORM);
|
||||
epd_set_rotation(EPD_ROT_LANDSCAPE);
|
||||
data.width = epd_rotated_display_width();
|
||||
data.height = epd_rotated_display_height();
|
||||
data.temperature = epd_ambient_temperature();
|
||||
}
|
||||
|
||||
void n_epd_clear() {
|
||||
epd_poweron();
|
||||
epd_fullclear(&hl, data.temperature);
|
||||
epd_poweroff();
|
||||
}
|
||||
|
||||
void n_epd_draw(uint8_t* content, int x, int y, int width, int height) {
|
||||
uint8_t* fb = epd_hl_get_framebuffer(&hl);
|
||||
EpdRect area = {
|
||||
.x = x,
|
||||
.y = y,
|
||||
.width = width,
|
||||
.height = height,
|
||||
};
|
||||
epd_draw_rotated_image(area, content, fb);
|
||||
epd_poweron();
|
||||
checkError(epd_hl_update_screen(&hl, MODE_GC16, data.temperature));
|
||||
epd_poweroff();
|
||||
}
|
||||
Reference in New Issue
Block a user