src.nth.io/

summaryrefslogtreecommitdiff
path: root/main/jpeg_decoder.c
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2026-06-14 17:37:51 -0500
committerLuke Hoersten <[email protected]>2026-06-14 17:37:51 -0500
commitcbc4904aa35191f59aff93df5ed36f09f4cfa943 (patch)
treeae854449c6665d1de2b418ec9bb10821b6ab5cef /main/jpeg_decoder.c
parent18ddde394832beb812181003016ff73498ac72a3 (diff)
Info screen: full /config + /state dump, replaces identity screen
Previously the 4-line "identity" screen showed only viewport name, mDNS host, IP, and state. Expanded to 15 lines covering the full GET /config + GET /state output (name, host, ip, state, configured, scrypted, orientation, brightness, idle, fw, uptime, frames, errs, free heap, free PSRAM), label/value pairs left-aligned with auto-scaled font. Renames "identity" → "info" throughout — symbol, log messages, README/TESTING references. Also: - Move the info-screen render's big locals (~1.6 KiB: lines[16][80] + scrypt[256] + vp_name[64]) to BSS. The touch task's 3 KiB stack was overflowing on every long-press, leaving whatever frame was previously on the panel — gave the appearance of a "blue screen" after the M5 test pattern. - Drop the ≥5 s touch factory-reset gesture and remove all stale references to it in docs and comments. NVS wipe is now a USB-side `idf.py erase-flash` operation only. - M5 follow-up TODO in jpeg_decoder.c: solid green renders ~black and solid blue renders green; not a byte-order issue (BGR setting turns red into blue). Tracked as a known M5 gap.
Diffstat (limited to 'main/jpeg_decoder.c')
-rw-r--r--main/jpeg_decoder.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/main/jpeg_decoder.c b/main/jpeg_decoder.c
index b34612d..259af65 100644
--- a/main/jpeg_decoder.c
+++ b/main/jpeg_decoder.c
@@ -71,6 +71,11 @@ esp_err_t jpeg_decoder_decode(size_t jpeg_len,
jpeg_decode_cfg_t dec_cfg = {
.output_format = JPEG_DECODE_OUT_FORMAT_RGB565,
.rgb_order = JPEG_DEC_RGB_ELEMENT_ORDER_RGB,
+ // TODO: known color bug on M5 — solid red renders correctly but solid
+ // green renders ~black and solid blue renders green. Likely a JPEG
+ // colorspace / channel-permutation issue, not a byte-order one
+ // (swapping to BGR turns red into blue, confirming RGB is the right
+ // element ordering). Needs follow-up.
.conv_std = JPEG_YUV_RGB_CONV_STD_BT601,
};