Add runtime UV protection toggle and treat near-zero sense as external power.
Per-pod NVS enable (default off) via UART/ESP-NOW/dashboard, and skip UV latch when LiPo ADC reads ~0 mV so USB/external supply still boots. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -400,6 +400,31 @@ go run . -port /dev/ttyUSB0 log-level -set -level 3
|
||||
|
||||
Dashboard: Master card → dropdown **ESP Log-Level** with **Lesen** / **Setzen**.
|
||||
|
||||
### Battery UV protection
|
||||
|
||||
Runtime enable for software LiPo under-voltage protection (NVS `uv_en` per pod). Disable also clears `uv_latch`. `all_clients` applies to master + every registered slave; `slaves_only` with `all_clients` skips the master.
|
||||
|
||||
```http
|
||||
GET /api/battery-uv?client_id=0
|
||||
POST /api/battery-uv
|
||||
Content-Type: application/json
|
||||
{"write": true, "enabled": false, "client_id": 0}
|
||||
{"write": true, "enabled": false, "all_clients": true}
|
||||
{"write": true, "enabled": false, "all_clients": true, "slaves_only": true}
|
||||
```
|
||||
|
||||
```json
|
||||
{"success": true, "client_id": 0, "enabled": false, "latched": false, "slaves_updated": 0}
|
||||
```
|
||||
|
||||
```bash
|
||||
go run . -port /dev/ttyUSB0 battery-uv
|
||||
go run . -port /dev/ttyUSB0 battery-uv -set -enable=false -client 0
|
||||
go run . -port /dev/ttyUSB0 battery-uv -set -enable=false -all
|
||||
```
|
||||
|
||||
Dashboard: Master **UV-Schutz** checkbox + **Alle an/aus**; per-slave **UV** column.
|
||||
|
||||
### Input send mode (slave accel/tap ESP-NOW TX path)
|
||||
|
||||
Debug A/B for how slaves transmit `ACCEL_SAMPLE` / `TAP_EVENT`. Default on slaves is `best_effort` (0). Master remembers the last mode for GET; write pushes via ESP-NOW.
|
||||
@@ -486,6 +511,7 @@ Same as external API:
|
||||
| Unicast test | `POST /api/unicast-test` |
|
||||
| Echo ping | `POST /api/echo-ping` (per-slave latency; UI shows Host ms + ESP ms) |
|
||||
| Master log level | `GET` / `POST /api/log-level` or CLI `log-level` |
|
||||
| UV protection | `GET` / `POST /api/battery-uv` or CLI `battery-uv` |
|
||||
| Input-Send mode | `GET` / `PUT /api/input-send-mode` or CLI `input-send-mode` |
|
||||
| Tap notify S/D/T | `PUT /api/clients/{id}/tap-notify` |
|
||||
| Tap receive (UI) | Live stream + tap notify; see WebSocket doc for external API |
|
||||
|
||||
Reference in New Issue
Block a user