Files
klubhaus-doorbell/.crushmemory

36 lines
1.4 KiB
Plaintext

# Doorbell Touch - Build Harness
## Session Handoff Note
⚠️ ALWAYS check `mise.toml` for available build tasks before compiling/uploading. Run `mise tasks` to list.
## Quick Commands
```bash
BOARD=esp32-32e-4 mise run compile # Compile
BOARD=esp32-32e-4 mise run upload # Upload (auto-kills monitor)
BOARD=esp32-32e-4 mise run monitor # Start JSON monitor daemon
BOARD=esp32-32e-4 mise run log-tail # Watch colored logs
BOARD=esp32-32e-4 mise run cmd COMMAND=dashboard # Send command
BOARD=esp32-32e-4 mise run state # Show device state
BOARD=esp32-32e-4 mise run install # Install libs (shared + board)
```
## Files
- `mise.toml` - Tasks (compile, upload, monitor, log-tail, cmd, state, install, clean)
- `scripts/lockfile.sh` - Lockfile functions (acquire_lock, kill_locked)
- `scripts/monitor-agent.py` - Serial monitor with JSON log + command FIFO
- `scripts/install-shared.sh` - Shared Arduino libs (ArduinoJson, NTPClient)
- `boards/{BOARD}/install.sh` - Board-specific vendor libs
## Monitor Daemon
- JSON log: `/tmp/doorbell-$BOARD.jsonl` - `{"ts":123.456,"line":"..."}`
- State: `/tmp/doorbell-$BOARD-state.json` - `{"screen":"DASHBOARD",...}`
- Cmd: `echo 'dashboard' > /tmp/doorbell-$BOARD-cmd.fifo`
## Boards
- esp32-32e (original 2.8" ILI9341)
- esp32-32e-4 (4" ST7796)
- esp32-s3-lcd-43 (4.3" S3 display)
## Known Fixes
- dashboard/off admin commands now reset inactivity timer (DoorbellLogic.cpp:234,240)