# UI Controls Gallery — context for an AI assistant You are looking at the source of **ui.digitalview.com**, a small static website by **Digital View** (an LCD controller-board manufacturer — https://www.digitalview.com). This file explains what the site is, why it exists, and how to extend it, **purely in the context of Digital View controller boards**. Read it before editing anything here. --- ## 1. The idea in one paragraph Digital View's LCD controller boards can be controlled over **RS-232** — a serial command set for adjusting a display's functions (brightness, contrast, input source, colour temperature, power, and so on). Because those functions are reachable by command, a display developer doesn't have to rely on the board's physical buttons and on-screen-display (OSD) menu — they can build their **own on-screen user interface** that sends the commands. This gallery is a showcase of such interfaces: lots of different, often playful, UI "skins" that all do the same real job. The hook is fun/visual design; the serious point underneath is "you can drive a real Digital View display from a UI you design." ## 2. Why it matters (the value proposition) - A custom UI can replace or augment the OSD — better UX, branding, touch-friendliness. - It enables a **closed-loop control system**: the UI sends a command, the panel acts, status can be read back. - On a board like the **ALC-4096**, the RS-232 link runs over **USB-C alongside the video and the touch signal** — so a *single cable* from a PC to the display carries everything. Other boards do the same with separate cables (RS-232 serial + USB for touch + HDMI/DP for video). Same capability, different cabling. ## 3. RS-232 on Digital View boards — and the big caveat Typical serial settings: **9600 baud, 8 data bits, no parity, 1 stop bit (8N1)**, on the **CN8** connector (a 6-pin JST). Commands can also be sent over USB-C (as a serial device) or over Ethernet (via an AI-50 board) on boards that support it. Control methods seen on the ALC-4096: OSD buttons, IR remote, DDC/CI (over the video cable), and RS-232 (CN8 / USB-C / Ethernet). Real command examples (verified): - **ALC-4096** — Brightness (backlight level) = byte `0xE0`; Contrast = `0x82`; Black Level = `0x81`. - **SVX-4096** — backlight on/off = `0xE1` then ASCII `'1'`/`'0'`. > ⚠️ **Per-model variation is the rule, not the exception.** The Digital View range has many > controller boards. **Do not assume they share commands, functions, or value ranges.** > Notice that SVX brightness-ish control is `0xE1` while ALC brightness is `0xE0` — the > opcodes already differ. Not every board offers every function, and some functions have > different ranges by necessity. **Always confirm against the specific board's user guide / > RS-232 command list** before treating a command as real. When an opcode isn't confirmed > for the board in question, mark it as a placeholder rather than inventing one. **Where the authoritative command list lives:** the specific commands and values for a controller board are in **that board's product manual, on its own product page** at https://www.digitalview.com/controller-summary — that is the source of truth, not this file. General reference (protocol, wiring, worked example) — Digital View RS-232 application note: https://www.digitalview.website/downloads/application-notes/appnote-rs-232.pdf **Value encoding.** Values go out as *ASCII-coded hex*, not as a raw byte: 60% → `"3C"` → bytes `33 43`; 100% → `"64"` → bytes `36 34`. So a full brightness frame is `E0 33 43`. The gallery's brightness controls and `demo/demo1.html` both use this format. ## 4. How this site is built Plain static HTML/CSS/JS — no framework, no build step. Hosted on Hostinger (LiteSpeed); deploy = upload the files to `public_html/`. ``` UI/ ├── index.html # the gallery shell: site header + intro + filter bar + grid + footer ├── controls.js # the manifest: window.CONTROLS = [ {…}, … ] ← the only file you edit to add a control ├── .htaccess # forces no-cache on html/js so uploads show immediately (LiteSpeed defaults to a 7-day cache) ├── assets/ # digital-view-logo-green.png (header), digital-view-logo.webp (footer, white) ├── controls/.html # one self-contained control per FILE (flat; no per-control folders) └── demo/ # full-page demos: demo1.html (live control panel) + demo2.html (telemetry dashboard) ``` Filenames are meaningful, not `index.html` — only the site root is `index.html`. - **Each control is its own complete HTML page** and is embedded in the gallery via an `