diff --git a/src/app.cpp b/src/app.cpp
index 7969a4b..022c225 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -141,7 +141,8 @@ void setupSettingsGet()
void setupSettingsPost()
{
- server.on("/api/settings", HTTP_PUT, [](AsyncWebServerRequest *request) { /* nothing and dont remove it */ }, NULL, [](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) {
+ server.on(
+ "/api/settings", HTTP_PUT, [](AsyncWebServerRequest *request) { /* nothing and dont remove it */ }, NULL, [](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) {
DynamicJsonDocument doc(2048);
DeserializationError error = deserializeJson(doc, data);
@@ -179,7 +180,6 @@ void setupSettingsPost()
void setupCurrentImage()
{
server.on("/current-image", HTTP_GET, [](AsyncWebServerRequest *request) {
-
uint8_t *bitmap = display.getBuffer();
int16_t w = display.width();
int16_t h = display.height();
@@ -197,10 +197,10 @@ void setupCurrentImage()
//response->addHeader("Server", "ESP Async Web Server");
write16(*response, 0x4D42); // BMP signature
- write32(*response, fileSize); // fileSize
+ write32(*response, fileSize); // fileSize
write32(*response, 0); // creator bytes
write32(*response, imageOffset); // image offset
- write32(*response, headerSize); // Header size
+ write32(*response, headerSize); // Header size
write32(*response, w); // image width
write32(*response, h); // image height
write16(*response, 1); // # planes
@@ -283,7 +283,8 @@ void setupWifiScan()
*/
void setupWifiConnect()
{
- server.on("/api/wifi/connect", HTTP_POST, [](AsyncWebServerRequest *request) { /* nothing and dont remove it */ }, NULL, [](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) {
+ server.on(
+ "/api/wifi/connect", HTTP_POST, [](AsyncWebServerRequest *request) { /* nothing and dont remove it */ }, NULL, [](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) {
DynamicJsonDocument doc(1024);
DeserializationError error = deserializeJson(doc, data);
@@ -316,6 +317,7 @@ static void handle_update_progress_cb(AsyncWebServerRequest *request, String fil
{
Serial.printf("UploadStart: %s\n", filename.c_str());
ImageNew(0, 0, 0, 0, true);
+ PlaylistResetTimer();
}
ImageWriteBuffer(data, len);
@@ -331,39 +333,11 @@ static void handle_update_progress_cb(AsyncWebServerRequest *request, String fil
void setupApiFace()
{
- server.on("/api/face", HTTP_POST, [](AsyncWebServerRequest *request) {
- Serial.println("post request");
-
- /*
- int params = request->params();
- for (int i = 0; i < params; i++)
- {
- AsyncWebParameter *p = request->getParam(i);
- if (p->isFile())
- {
- Serial.printf("
FILE[%s]: %s, size: %u", p->name().c_str(), p->value().c_str(), p->size());
- }
- else if (p->isPost())
- {
- Serial.printf("POST[%s]: %s", p->name().c_str(), p->value().c_str());
- }
- else
- {
- Serial.printf("GET[%s]: %s", p->name().c_str(), p->value().c_str());
- }
- }
-
- if (request->hasParam("dithering", true))
- {
- AsyncWebParameter *p = request->getParam("dithering", true);
- Serial.println(p->value());
- dithering = p->value().toInt() == 1;
- }
- */
-
- request->send(200, "application/ld+json; charset=utf-8", "{}");
- },
- handle_update_progress_cb);
+ server.on(
+ "/api/face", HTTP_POST, [](AsyncWebServerRequest *request) {
+ request->send(200, "application/ld+json; charset=utf-8", "{}");
+ },
+ handle_update_progress_cb);
}
void setupApiUpdate()
diff --git a/src/imageJPEG.cpp b/src/imageJPEG.cpp
index 214ea38..777e5e7 100644
--- a/src/imageJPEG.cpp
+++ b/src/imageJPEG.cpp
@@ -115,6 +115,7 @@ void on_drawPixel(uint32_t x, uint32_t y, uint32_t color)
{
// new block
uint32_t originOffsetY = ((y / 16) * 16);
+ //Serial.println("new block");
for (uint16_t _y = 0; _y <= BLOCK_SIZE; _y++)
{
@@ -123,7 +124,36 @@ void on_drawPixel(uint32_t x, uint32_t y, uint32_t color)
uint32_t originX = _x;
uint32_t originY = originOffsetY + _y + (blockPageY * 16);
uint8_t originColor = blockDelta[(_y * MAX_WIDTH) + _x];
- draw_XXX(originX, originY, originColor);
+ //draw_XXX(originX, originY, originColor);
+
+ uint8_t blue = originColor & 0x001F; // 5 bits blue
+ uint8_t green = originColor & 0x07E0; // 6 bits green
+ uint8_t red = originColor & 0xF800; // 5 bits red
+
+ if (false && originX <= 70)
+ {
+ //uint8_t r = ((((originColor >> 11) & 0x1F) * 527) + 23) >> 6;
+ //uint8_t g = ((((originColor >> 5) & 0x3F) * 259) + 33) >> 6;
+ //uint8_t b = (((originColor & 0x1F) * 527) + 23) >> 6;
+ uint8_t r = red;
+ uint8_t g = green;
+ uint8_t b = blue;
+
+ Serial.print("Pixel @ y: ");
+ Serial.print(y);
+ Serial.print(" x: ");
+ Serial.print(x);
+
+ Serial.print(" Color, R:");
+ Serial.print(r);
+ Serial.print(", G:");
+ Serial.print(g);
+ Serial.print(", B:");
+ Serial.println(b);
+ }
+
+ uint8_t rgba[4] = {red, green, blue, 0};
+ ImageProcessPixel(originX, originY, rgba);
}
}
@@ -173,7 +203,34 @@ bool tft_output(int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t *bitmap)
// geht richtig
//display.writePixel(x + i, y, bitmap[j * w + i]);
- // geht auch aber letzte zeil fehlt
+ if (_y == 0 && x + i <= 70)
+ {
+ uint32_t originColor = bitmap[j * w + i];
+
+ uint8_t blue = originColor & 0x001F; // 5 bits blue
+ uint8_t green = originColor & 0x07E0; // 6 bits green
+ uint8_t red = originColor & 0xF800; // 5 bits red
+
+ //uint8_t r = ((((originColor >> 11) & 0x1F) * 527) + 23) >> 6;
+ //uint8_t g = ((((originColor >> 5) & 0x3F) * 259) + 33) >> 6;
+ //uint8_t b = (((originColor & 0x1F) * 527) + 23) >> 6;
+ uint8_t r = red;
+ uint8_t g = green;
+ uint8_t b = blue;
+
+ Serial.print("Pixel @ y: ");
+ Serial.print(_y);
+ Serial.print(" x: ");
+ Serial.print(x + i);
+
+ Serial.print(" Color, R:");
+ Serial.print(r);
+ Serial.print(", G:");
+ Serial.print(g);
+ Serial.print(", B:");
+ Serial.println(b);
+ }
+
on_drawPixel(x + i, _y, bitmap[j * w + i]);
}
}