feat(lcd): migrate driver to platform and replace jpg demo with png
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include "domain.h"
|
||||
|
||||
static const char *TAG = "rest_print";
|
||||
#define SCREEN_PREVIEW_TIMEOUT_MS 200
|
||||
|
||||
typedef struct {
|
||||
bool scale_to_width;
|
||||
@@ -355,6 +356,42 @@ static esp_err_t rest_server_send_image_generation_error(httpd_req_t *req,
|
||||
return rest_server_send_error(req, "502 Bad Gateway", message);
|
||||
}
|
||||
|
||||
static void rest_server_try_preview_raster(const char *source,
|
||||
const uint8_t *raster,
|
||||
size_t raster_len,
|
||||
uint16_t width,
|
||||
uint16_t height) {
|
||||
if (raster == NULL || raster_len == 0 || width == 0 || height == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
char preview_err[96] = {0};
|
||||
esp_err_t preview_rc = screen_preview_show_raster(raster,
|
||||
raster_len,
|
||||
width,
|
||||
height,
|
||||
SCREEN_PREVIEW_TIMEOUT_MS,
|
||||
preview_err,
|
||||
sizeof(preview_err));
|
||||
if (preview_rc == ESP_OK) {
|
||||
ESP_LOGI(TAG,
|
||||
"screen preview updated (%s), size=%ux%u",
|
||||
source != NULL ? source : "unknown",
|
||||
(unsigned)width,
|
||||
(unsigned)height);
|
||||
return;
|
||||
}
|
||||
if (preview_rc == ESP_ERR_NOT_SUPPORTED) {
|
||||
return;
|
||||
}
|
||||
|
||||
ESP_LOGW(TAG,
|
||||
"screen preview skipped (%s), rc=0x%x, msg=%s",
|
||||
source != NULL ? source : "unknown",
|
||||
(unsigned)preview_rc,
|
||||
preview_err[0] != '\0' ? preview_err : "preview failed");
|
||||
}
|
||||
|
||||
static esp_err_t rest_server_print_image_binary(httpd_req_t *req) {
|
||||
bool scale_to_width = true;
|
||||
uint8_t threshold = 160;
|
||||
@@ -419,6 +456,7 @@ static esp_err_t rest_server_print_image_binary(httpd_req_t *req) {
|
||||
(unsigned)width,
|
||||
(unsigned)height,
|
||||
(unsigned)raster_len);
|
||||
rest_server_try_preview_raster("upload", raster, raster_len, width, height);
|
||||
|
||||
esp_err_t submit_rc = rest_server_print_submit_raster_job_and_reply(req,
|
||||
raster,
|
||||
@@ -562,6 +600,7 @@ static esp_err_t rest_server_print_image_generate(httpd_req_t *req) {
|
||||
(unsigned)width,
|
||||
(unsigned)height,
|
||||
(unsigned)raster_len);
|
||||
rest_server_try_preview_raster("generated", raster, raster_len, width, height);
|
||||
|
||||
char warning[160] = {0};
|
||||
if (request_id[0] != '\0') {
|
||||
|
||||
Reference in New Issue
Block a user