Changed
- GIF animation is faster. Frame delay was 125cs (1.25s/frame, ~7.5s loop) normal and 50cs (0.5s/frame, ~3s loop) when any agent is in a requesting state. Now 60cs (0.6s/frame, 3.6s loop) and 25cs (0.25s/frame, 1.5s loop) respectively — about 2x snappier across the board, and the requesting "pulse the fire icon" mode actually feels urgent now.
Fixed
-
Faster recovery when the iDotMatrix firmware wedges. v0.2.5's slower inter-packet pacing was meant to prevent the buffer-overflow class of freeze, but the next freeze showed the first write of a fresh send hanging — meaning the device had already entered a wedged state that no amount of client-side pacing prevents. Tuned for fast recovery instead:
- `BLE_WRITE_TIMEOUT_SECS` 5 → 2
- `BLE_MAX_CONSECUTIVE_TIMEOUTS` 3 → 2
- Reconnect-path `disconnect()` timeout 5s → 1s (it hangs anyway when the device is wedged — better to drop the handle and start a fresh scan)
- Post-disconnect backoff 3s → 1s
- `BLE_INTER_PACKET_MS` 1000 → 250 (walked back from v0.2.5; the 1s value didn't help and may have stressed the BLE link more)
Total recovery time from wedge: ~12s → ~5s.