TouchPlaited v1.5.0 — settings memory
The Simple Touch now remembers where you left it. Power-cycle the device and it comes back with the same sound, kit, and settings — no save button, no SD card, nothing to do.
Added
- Settings memory. A few seconds after you stop changing things, the current state is written to the Seed's QSPI flash automatically and restored on the next boot: the engine and effective Basic Pitch params, per-mode volumes/drives/blends, FX sends, all seq settings and the genre, octaves and root, the drum kit, the Basic Pitch randomize snapshots, and the arp's and Rec's independent sounds.
- Restored values follow the same pickup doctrine as everything else: a pot doesn't take over until it crosses the value it's holding, so knobs sitting in arbitrary positions at power-on never stomp the restored sound.
- Deliberately not saved: whatever a physical switch dictates at boot (SW2 playmode, SW1 scale), transport states, and the note recorder's loop content (that's a take, not a setting). First boot after flashing still starts randomized — it remembers from your first tweak onward, and settings survive firmware reflashes too.
Under the hood
This firmware executes from the same QSPI chip it saves to, which libDaisy's storage helpers refuse outright — so saves go through a small SRAM-resident flash routine and an append-only, CRC-checked journal that never needs a (slow, audible) sector erase while audio runs. Writes cost ~1 ms in a gap the audio interrupt rides out, wear is negligible by construction, and a save torn by a power cut simply falls back to the previous one. Two STM32H7 hardware traps are handled along the way — an MPU guard against speculative-prefetch bus stalls, and a guard band below the top of flash for the QUADSPI prefetch erratum (both documented in the README).
Installing
TouchPlaited.bin runs from QSPI flash, so the Daisy bootloader must be on the Seed first (one-time per device — see the README). Then put the Seed in bootloader mode (tap RESET, LED pulses) and upload the .bin with the Daisy Web Programmer, or:
dfu-util -a 0 -s 0x90040000:leave -D TouchPlaited.bin
Full controls reference: MANUAL.md