# Changelog ## 2026-10-17 — SoftSPI touch + LVGL inverse (fix mux) - VSPI remux broke SD mount and froze touch at raw(0,4095). - Touch back to SoftSPI on 25/32/39/33; SD keeps exclusive VSPI 18/19/23/5. - Same temperature UI map, then invert LVGL ROTATION_270 for button hits. ## 2026-10-17 — Touch = temperature driver + LVGL inverse - Attempted XPT2046 HW SPI + VSPI pin mux; superseded (broke SD/touch). ## 2026-10-17 — Touch calib from COM3 logs - Logged live `Touch phys/logic` on COM3; inverted physical X so bottom matches UI. - On-screen `Touch L:x,y` debug; larger 150×60 buttons. - Verified Speaker ON/OFF via serial during capture. ## 2026-10-17 — Fix touch Y (buttons dead zone) - Root cause: feeding already-landscape 320x240 points while LVGL also applies ROTATION_270 (double transform) → only upper ~1/3 hit-tested correctly. - Fix: report physical 240x320 coords; let LVGL rotate (matches `lv_indev.c`). ## 2026-10-17 — Restore LVGL touch - SoftSPI + LVGL `lv_indev` (with `lv_indev_set_display`). - Larger clickable speaker/play buttons. ## 2026-10-17 — Fix touch offset - SoftSPI touch now uses the same rotation=2 transform + map as `temperature`. - (Pressure-only path was too strict; superseded by restore above.) ## 2026-10-17 — Prebuilt firmware folder - Add `firmware/cyd/` with bin + `flash.ps1` / `flash.bat` (same pattern as temperature). - Add `firmware/export_from_build.ps1` to refresh archived binaries after builds. - Track `firmware/**/*.bin` in git; document flash-without-compile in README. ## 2026-10-17 — Touch speaker control + music - SoftSPI XPT2046 touch (GPIO 32/39/25/33/36), coexists with SD. - LVGL buttons: **Speaker ON/OFF**, **Play Music / Stop**. - Non-blocking built-in melody (Twinkle Twinkle); no auto beeps. - Docs updated. ## 2026-10-17 — Speaker audio test - Add GPIO26 speaker path (onboard SC8002B amp / P4 connector). - (Superseded by touch control above.) ## 2026-10-17 — Initial - CYD TF/microSD mount (VSPI) + LVGL storage info UI.