From 601b28ccaeb2114d1b40d0661096c9d9c4015880 Mon Sep 17 00:00:00 2001 From: mbz4 <30321314+mbz4@users.noreply.github.com> Date: Wed, 13 May 2026 03:08:07 +0300 Subject: [PATCH 1/6] update readme, add hero splashes --- .github/assets/burger_menu.png | Bin 0 -> 14981 bytes .github/assets/confirm_submenu.png | Bin 0 -> 12018 bytes .github/assets/main_menu.png | Bin 0 -> 28773 bytes .github/assets/pwr_menu.png | Bin 0 -> 17898 bytes README.md | 12 ++++++++++++ 5 files changed, 12 insertions(+) create mode 100644 .github/assets/burger_menu.png create mode 100644 .github/assets/confirm_submenu.png create mode 100644 .github/assets/main_menu.png create mode 100644 .github/assets/pwr_menu.png diff --git a/.github/assets/burger_menu.png b/.github/assets/burger_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..8f757f47793ceca298886f8390c5b9a493bf2b88 GIT binary patch literal 14981 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

8&^;IPx@AyU@abb5~puq`;p;V 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 literal 0 HcmV?d00001 diff --git a/.github/assets/confirm_submenu.png b/.github/assets/confirm_submenu.png new file mode 100644 index 0000000000000000000000000000000000000000..f27cb18b5ed6a23fbc7c205eb3e40e63c14c45f4 GIT binary patch literal 12018 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 GxBmsL41)Lo literal 0 HcmV?d00001 diff --git a/.github/assets/main_menu.png b/.github/assets/main_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..dc155e349d5cd554ec1e5c85db60776ed87897aa GIT binary patch literal 28773 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 + Main page — power, RSC logo, brightness + volume sliders with toggle icons, burger menu, back arrow +

+ --- ## Features @@ -161,6 +165,9 @@ Sliders are inverted: top = max, bottom = min (matches the 180°-flipped enclosu ### Burger menu (`E_PG_BURGER_MENU`) +Burger menu popup + + Settings popup. | Element | Action | @@ -172,6 +179,9 @@ Settings popup. ### Power popup (`E_PG_PWR`) +Burger menu popup + + 2×2 grid for power actions, split by a horizontal line. | Row | Left | Right | @@ -183,6 +193,8 @@ Plus a back arrow to dismiss. Destructive actions route through a reusable confi ### Mode transitions +Burger menu popup + | From | To | Trigger | |---|---|---| | FACE | MENU | Long-press (~1 s) anywhere | From 6c245d39c64958392e839a0c4005a5249f2208c9 Mon Sep 17 00:00:00 2001 From: mbz4 <30321314+mbz4@users.noreply.github.com> Date: Wed, 13 May 2026 15:56:12 +0300 Subject: [PATCH 2/6] rm notes from cache --- docs/notes.md | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 docs/notes.md diff --git a/docs/notes.md b/docs/notes.md deleted file mode 100644 index 89268d6..0000000 --- a/docs/notes.md +++ /dev/null @@ -1,47 +0,0 @@ -## continuing dev for RSC CYD firmware, v0.3.0 in progress, branch dev/mbz - -* GUISlice based Builder-side UI design well underway. - * E_PG_MAIN laid out: burger (top-right), help (?), RSC logo (centre-left), two sliders (volume + brightness) with toggle icons below (audio mute, auto-bright A-in-sun), plus power (top-left), back-arrow (right middle), mic (bottom-right). -* Icon pipeline partly automated (lives at ~/Documents/RSC/CYDisplays_resources/image2c-linux-x64-3.02/resources/): - * icon_prep.sh — bash + ImageMagick, PNG → resize → auto-invert → threshold → bilevel → transparent. Flags: -s WxH, -i auto|on|off, -c (emit C array). - * pbm_to_gslc_c.py — Python helper, byte-identical to Image2C output except for one cosmetic last-line trailing-whitespace pad. Functionally identical. - * All ~12 icons in 1bpp monochrome, white-on-transparent. -* Design discipline locked to black-and-white for future e-ink compatibility + flash savings. - -### Open queue, priority-ordered: - -1. Create four popup pages in Builder — E_PG_POPUP_MENU (from burger), E_PG_POPUP_HELP (?), E_PG_POPUP_STATUS (RSC logo), E_PG_POPUP_PWR (power confirm "[Yes]/[Cancel]"). -2. Wire main-page triggers via each button's Popup Page Enum property. -3. Convert three icons to Togglable Image Buttons — mic (mic_on ↔ mute_on), audio (volume_loud/volume_low (whether slider above/below 50% maybe?) ↔ volume_mute (backend send to alsamixer via daemon service to host - mutes RSC; no daemon/host side app yet)), auto-bright (with/without A (invokes onboard LDR to auto adjust brightness, works - needs plumbing after CYD UI deployed...)). Set Toggle?=true. Manually update Image Select Extern (Builder doesn't propagate?)... new to this... -4. Clarify the back-arrow's role on main page: exits menu to face-mode (Grobot animated faces, MIT); retains position for popup submenus as a 'back'. - -(DONE, test pending once face built) Phase B firmware-side integration — main.cpp refactor for FACE/MENU mode switching, GUIslice init wiring, touch routing branch, Start/Face overlay via direct TFT_eSPI (not GUIslice). Builder output gets pasted into project via four surgical edits already documented. - -(PENDING, after phase B validated...) Phase C — dispatch table wiring in button callbacks via findCommand(). Toggles read state via gslc_ElemXTogglebtnGetState(). - -### Filed for later: - -* Power-off semantic for USB-powered CYD (deep-sleep + wake-on-touch, or just blank display). ...actually the power popup menu i want it to show host ctrl (RPi) e.g. reboot/shutdown; and cyd ctrl, e.g. reset (loads defaults, wipes NVS)/reboot (reloads as is) -* Status popup dynamic redraw — per-element gslc_ElemSetRedraw for live fields (uptime, mem). Uses the format() callback pattern from v0.2.1. ...thought is that user taps the big RSC icon in base menu and that pops up a bunch of stats, e.g. fw version, uptime, then host side stuff like loaded model, or some usage facts... -* Submenu nav within popups if needed later; for now single-level popups only. -* Host-side Codium extension (face simulator + menu authoring + serial bridge). -* TEXT mode design pass. -* Grobot mouth (fork vs rewrite, defer). -* we dont have a BMS or much PMIC stuff onboard but later might add e.g. voltages per rail in status maybe... maybe battery % (progress bar) - -### Stuff to remember: - -Dispatch table is the spine. Every UI surface, UART command, menu tap routes through findCommand(). The durable contract. Communicates with host service (pending separately) which would reside on the RPi in the RSC... the CYD talks to RPi via Serial and the dispatch table (config.cpp) is the API we can work with, extend, adjust etc. -UART grammar key:value, key?, plain key is the wire contract. -Wired-only project (USB to RPi/laptop). No WiFi/BT/OTA. -CYD: ESP32-2432S028R, 320×240 ILI9341 SPI 55 MHz, XPT2046 resistive touch bitbanged, ~300 KB heap, 4 MB flash. -platformio.ini: TFT_eSPI pinned 2.5.43. GUIslice via lib_deps. -DGSLC_FEATURE_COMPOUND=1 required for keypads. -DTOUCH_DEBUG commented for clean builds. -Audio routes through host running alsamixer over serial; CYD is the control surface, not the audio path. -Touch targets ≥40 px, 48 px ideal (i put icons as 40x40px, maybe ok). Sliders preferred over keypads for continuous values. -Builder generates .ino + _GSLC.h — paste-into-project workflow, not platformio template. -No Base Page needed (single-pane with overlays). (technically this is phase B and mostly done, pending tests...) -Every popup must have a dismiss path (Close button or similar). (that's the same back icon thingy we have on base menu - i want to keep that exact same location for each menu) - -### Preferences carried forward: - -British English, active voice. Brief diff points (file + location + change), not full file rewrites. Ask before token-burny work. Save tokens by default. One-fix-at-a-time rhythm with checkpoints. Omit time/effort estimates entirely. Don't invent API specifics — verify from docs or examples. Don't pre-conclude on architectural decisions; surface options with trade-offs (prefer tabular representations over long prose). \ No newline at end of file From 7779e2066a54a563b81a571b5a86eca18dbe0db5 Mon Sep 17 00:00:00 2001 From: mbz4 <30321314+mbz4@users.noreply.github.com> Date: Wed, 13 May 2026 16:00:49 +0300 Subject: [PATCH 3/6] update sprite placement, alt text --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3931d24..6ec4f32 100644 --- a/README.md +++ b/README.md @@ -179,8 +179,7 @@ Settings popup. ### Power popup (`E_PG_PWR`) -Burger menu popup - +Power popup — Pi and CYD actions in 2×2 grid 2×2 grid for power actions, split by a horizontal line. @@ -191,9 +190,10 @@ Settings popup. Plus a back arrow to dismiss. Destructive actions route through a reusable confirm popup (`E_PG_POPUP_CONFIRM`) with Yes / Cancel; recoverable actions fire immediately. -### Mode transitions +Confirm popup for destructive actions -Burger menu popup + +### Mode transitions | From | To | Trigger | |---|---|---| From 4439053acd744b54594744756f87add7ec9db98a Mon Sep 17 00:00:00 2001 From: mbz4 <30321314+mbz4@users.noreply.github.com> Date: Wed, 13 May 2026 16:03:31 +0300 Subject: [PATCH 4/6] trying html 2 column layout --- README.md | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6ec4f32..aacea70 100644 --- a/README.md +++ b/README.md @@ -165,8 +165,9 @@ Sliders are inverted: top = max, bottom = min (matches the 180°-flipped enclosu ### Burger menu (`E_PG_BURGER_MENU`) -Burger menu popup - + + + + + +
Settings popup. @@ -177,9 +178,21 @@ Settings popup. | Stats text | Firmware version (tag + commits, `+` suffix if dirty), uptime, free heap — refreshes 1 Hz while open | | Back arrow | Close popup | + + +Burger menu popup + +
+ + ### Power popup (`E_PG_PWR`) -Power popup — Pi and CYD actions in 2×2 grid + + + + + +
2×2 grid for power actions, split by a horizontal line. @@ -190,8 +203,15 @@ Settings popup. Plus a back arrow to dismiss. Destructive actions route through a reusable confirm popup (`E_PG_POPUP_CONFIRM`) with Yes / Cancel; recoverable actions fire immediately. -Confirm popup for destructive actions + + +Power popup — Pi and CYD actions in 2×2 grid
+Confirm popup for destructive actions +
### Mode transitions From f61f49a7a893c5649e8287aa28f140ed9e382592 Mon Sep 17 00:00:00 2001 From: mbz4 <30321314+mbz4@users.noreply.github.com> Date: Wed, 13 May 2026 16:11:06 +0300 Subject: [PATCH 5/6] omit width percent --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index aacea70..afbd917 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ Sliders are inverted: top = max, bottom = min (matches the 180°-flipped enclosu - -
+ Settings popup. @@ -179,7 +179,7 @@ Settings popup. | Back arrow | Close popup | + Burger menu popup @@ -192,7 +192,7 @@ Settings popup. - -
+ 2×2 grid for power actions, split by a horizontal line. @@ -204,7 +204,7 @@ Settings popup. Plus a back arrow to dismiss. Destructive actions route through a reusable confirm popup (`E_PG_POPUP_CONFIRM`) with Yes / Cancel; recoverable actions fire immediately. + Power popup — Pi and CYD actions in 2×2 grid
Confirm popup for destructive actions From c81215f5844a412057656fa37a9f09e5fe4fcaf3 Mon Sep 17 00:00:00 2001 From: mbz4 <30321314+mbz4@users.noreply.github.com> Date: Wed, 13 May 2026 16:16:27 +0300 Subject: [PATCH 6/6] put sprites inline 3x1 --- README.md | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index afbd917..4534853 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,19 @@ Adding a new UART command automatically makes it accessible from on-screen widge Three GUIslice pages plus a confirm popup, navigated entirely by touch. + + + + + + + + + + + +
Burger menu — settings popupPower popup — Pi and CYD actionsConfirm popup for destructive actions
Burger menuPower popupConfirm popup
+ ### Main page (`E_PG_MAIN`) Default screen after long-pressing into menu mode. @@ -165,10 +178,6 @@ Sliders are inverted: top = max, bottom = min (matches the 180°-flipped enclosu ### Burger menu (`E_PG_BURGER_MENU`) - - - - - -
- Settings popup. | Element | Action | @@ -178,22 +187,9 @@ Settings popup. | Stats text | Firmware version (tag + commits, `+` suffix if dirty), uptime, free heap — refreshes 1 Hz while open | | Back arrow | Close popup | - - -Burger menu popup - -
- ### Power popup (`E_PG_PWR`) - - - - - -
- 2×2 grid for power actions, split by a horizontal line. | Row | Left | Right | @@ -203,15 +199,6 @@ Settings popup. Plus a back arrow to dismiss. Destructive actions route through a reusable confirm popup (`E_PG_POPUP_CONFIRM`) with Yes / Cancel; recoverable actions fire immediately. - - -Power popup — Pi and CYD actions in 2×2 grid
-Confirm popup for destructive actions - -
### Mode transitions @@ -227,7 +214,7 @@ Idle timeout is suspended while `touch_debug:on` — useful when debugging touch --- -## UART command grammar +## UART commands All commands travel over USB serial at **115200 baud**, newline-terminated.