improve display code

pull/1/head
Thomas Ballmann 4 years ago
parent 1c290c1bc6
commit d1fc388bf9

@ -13,11 +13,8 @@ GFXcanvas1 *displayCanvas;
File tmpFileCache; File tmpFileCache;
long startMills; long startMills;
// bmp // bmp filldata
void write16(File &f, uint16_t v); uint8_t bmpFilldata[] = {0x0, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0};
void write32(File &f, uint32_t v);
uint8_t filldata3[] = {0x0, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0};
// bmp
void setupDisplay() void setupDisplay()
{ {
@ -116,6 +113,20 @@ void exportJPG(GFXcanvas1 *_canvas, const char *fileName, uint8_t q)
tmpFileCache.close(); tmpFileCache.close();
} }
void write16(File &f, uint16_t v)
{
f.write(uint8_t(v));
f.write(uint8_t(v >> 8));
}
void write32(File &f, uint32_t v)
{
f.write(uint8_t(v));
f.write(uint8_t(v >> 8));
f.write(uint8_t(v >> 16));
f.write(uint8_t(v >> 24));
}
void exportBMP(GFXcanvas1 *_canvas, const char *fileName) void exportBMP(GFXcanvas1 *_canvas, const char *fileName)
{ {
Serial.println(F("exportBMP")); Serial.println(F("exportBMP"));
@ -156,7 +167,7 @@ void exportBMP(GFXcanvas1 *_canvas, const char *fileName)
uint32_t j = 0; uint32_t j = 0;
for (uint32_t i = 34; i < imageOffset; i++) for (uint32_t i = 34; i < imageOffset; i++)
{ {
tmpFileCache.write(filldata3[j++]); // remaining header bytes tmpFileCache.write(bmpFilldata[j++]); // remaining header bytes
} }
uint32_t rowidx = w * h / 8; uint32_t rowidx = w * h / 8;
@ -185,19 +196,6 @@ void exportBMP(GFXcanvas1 *_canvas, const char *fileName)
tmpFileCache.close(); tmpFileCache.close();
} }
void write16(File &f, uint16_t v)
{
f.write(uint8_t(v));
f.write(uint8_t(v >> 8));
}
void write32(File &f, uint32_t v)
{
f.write(uint8_t(v));
f.write(uint8_t(v >> 8));
f.write(uint8_t(v >> 16));
f.write(uint8_t(v >> 24));
}
uint8_t displayPixelBWRatio() uint8_t displayPixelBWRatio()
{ {
@ -257,7 +255,7 @@ size_t write32(uint8_t *buffer, uint32_t v)
return sizeof(uint32_t); return sizeof(uint32_t);
} }
int displayStreamPrintScreenBMP(uint8_t *buffer, size_t maxLen, size_t index) int displaySnapshotBMPStream(uint8_t *buffer, size_t maxLen, size_t index)
{ {
GFXcanvas1 *_canvas = displayCanvas; GFXcanvas1 *_canvas = displayCanvas;
@ -291,7 +289,7 @@ int displayStreamPrintScreenBMP(uint8_t *buffer, size_t maxLen, size_t index)
uint32_t j = 0; uint32_t j = 0;
for (uint32_t i = 34; i < imageOffset; i++) for (uint32_t i = 34; i < imageOffset; i++)
{ {
pointer += write8(buffer + pointer, filldata3[j++]); pointer += write8(buffer + pointer, bmpFilldata[j++]);
} }
return pointer; return pointer;

@ -20,6 +20,6 @@ uint8_t displayPixelBWRatio();
void displayPrintScreenJPG(const char *fileName, uint8_t q); void displayPrintScreenJPG(const char *fileName, uint8_t q);
void displayPrintScreenBMP(const char *fileName); void displayPrintScreenBMP(const char *fileName);
int displayStreamPrintScreenBMP(uint8_t *buffer, size_t maxLen, size_t index); int displaySnapshotBMPStream(uint8_t *buffer, size_t maxLen, size_t index);
#endif #endif
Loading…
Cancel
Save