aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/pos
Commit message (Collapse)AuthorAgeFilesLines
* Web flasher moves from /pos to /flash; /pos redirects there.Adam Soltys2026-09-213-418/+6
| | | | | | | | coinos v3 takes /pos for the point-of-sale till, so the terminal flasher needs its own address. Old links keep working through the redirect. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01Tmfg8k5f3TbNJS34qiqHAp
* pos: reset the device and release the serial port when leaving the flasherAdam Soltys2026-09-141-6/+34
| | | | | | | | | | | | Connecting loads the esptool stub and parks the chip in the ROM download mode; only a successful flash reset it and closed the port. Navigating away, a failed connect, or a failed flash left the device looking frozen (OLED keeps its last frame, LED pin pulled up, keypad dead) with the browser still holding the port. Reset + release on component destroy and pagehide, on connect failure, and from a new Disconnect button. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01VMi2Y1oKPZ3TeeFmLej47y
* pos: offer "Flash latest release" from a published firmware manifestAdam Soltys2026-09-041-1/+70
| | | | | | | | | | | | Host the ESP32-C3 firmware under static/firmware (bootloader, partition table, boot_app0, app) with a manifest.json written by coinos-pos's publish.sh. The flasher fetches the manifest, downloads every part, verifies sizes, flashes them at their offsets and resets the device. The config partition is not in the manifest so credentials survive. Manual .bin upload stays available underneath. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_014gVYGi29FjTeLdNTiutkZx
* pos: hard-reset the device after flashingAdam Soltys2026-09-041-0/+28
| | | | | | | | | | esptool-js leaves the chip in the ROM bootloader stub after writeFlash, so the device appeared dead until power-cycled. Pulse RTS the way esptool.py does, drop the port (the C3 re-enumerates), and show a "device restarted" message next to the Connect button. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_014gVYGi29FjTeLdNTiutkZx
* pos: refuse to flash anything that is not a valid LittleFS imageAdam Soltys2026-09-042-1/+40
| | | | | | | | | | The flasher hex-encoded whatever the /flash endpoint returned, so a server error body was written to devices as the config partition. Check the response status, require a 128KB image with the LittleFS magic, and surface the error above the form instead. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_014gVYGi29FjTeLdNTiutkZx
* fix importsAdam Soltys2026-02-091-0/+2
|
* update flash pageAdam Soltys2025-09-262-50/+173
|
* default tokenAdam Soltys2025-09-132-10/+13
|
* pos routeAdam Soltys2025-09-112-0/+126