Got the Dial fetching parameters from zombieverter on boot. Also created a one-click install link in the release notes below in case anyone is interested. Again, all coding done by ClaudeAI
# Release Notes — v2.2.1
## ZombieVerter Dial Display — Auto Parameter Fetch & One-Click Web Installer
---
## What's New
### Automatic Parameter Fetch from VCU
The display now downloads its parameter list directly from the ZombieVerter VCU at boot via SDO segmented transfer — no more manual `params.json` upload required.
**Boot sequence:**
1. On first power-up with the VCU connected, the display fetches the full parameter schema (~30KB) from the VCU over CAN
2. The splash screen shows live progress: **"Fetching params from VCU..."**
3. On success: **"VCU params loaded!"** — the file is automatically saved to internal storage for future use
4. If the VCU is not connected at boot, the display falls back to the last cached parameter file
5. If no cache exists, a minimal set of default parameters is used
**Three-tier fallback system:**
| Priority | Source | When used |
|----------|--------|-----------|
| 1 | VCU (live SDO fetch) | VCU powered and CAN connected at boot |
| 2 | Cached `/params.json` (SPIFFS) | VCU not available, but previously fetched |
| 3 | Built-in sample params | No VCU and no cache — limited functionality |
This means after one successful boot with the VCU connected, the display works correctly even if the VCU is off when the display powers up. It also means that if you upgrade your VCU firmware and the parameter list changes, the display automatically picks up the new list on next boot with the VCU connected.
### One-Click Web Installer
A browser-based installer is now available — no development tools, no drivers, no command line required.
**Visit:** `
https://robertwa1974.github.io/Zombieve ... l-Display/
- Works in Chrome and Edge (Web Serial API required)
- Flashes firmware, web interface, and all supporting files in a single operation
- Takes approximately 30–60 seconds
- M5Stack Dial connects automatically — no button pressing required
The installer is automatically rebuilt and published every time a new release is pushed to GitHub.
---
## Bug Fixes
- Fixed SDO task startup order — SDOManager now starts after the VCU parameter fetch completes, preventing frame routing conflicts during boot
- Removed leftover `buildParamsJsonCache` / `cachedParamsJson` code from CANData that was no longer used
---
## Technical Notes
- Parameter fetch uses CANopen segmented upload protocol on SDO index `0x5001` (the ZombieVerter strings index)
- Download runs synchronously before SDOManager starts, reading directly from TWAI to avoid FreeRTOS queue conflicts
- On a typical 200-parameter VCU, the download takes 3–5 seconds (~4400 segments × 7 bytes)
- Fetched file is saved to SPIFFS as `/params.json`, overwriting any previously uploaded file
- GitHub Actions workflow builds `factory.bin` (merged binary at offset `0x0`) and deploys to GitHub Pages on every push to `main`
---
## Upgrade Notes
- Flash firmware only (no filesystem change required if you already have v2.1.0)
- On first boot after upgrade, the display will attempt to fetch parameters from the VCU
- Any manually uploaded `params.json` will be overwritten on the next successful VCU fetch — this is intentional and ensures the display always has the correct parameter list for the connected VCU firmware version
- If you want to prevent overwriting a custom `params.json`, connect the display without the VCU powered on — it will load from SPIFFS instead