Files
overland-controller/docs/PARITY_MATRIX.md
T

110 lines
2.6 KiB
Markdown

# Command Parity Matrix
This document tracks feature parity across the three control surfaces.
Control surfaces:
- USB serial console
- UART JSON protocol
- HTTP API
## Current Parity
| Feature | USB Serial | UART JSON | HTTP API | Notes |
|---|---:|---:|---:|---|
| Status | Yes | Yes | Yes | `/status` equals `status_request` |
| Config view | Yes | Yes | Yes | `/config` equals `config_request` |
| Relay control | Yes | Yes | Yes | Preferred HTTP endpoint is `POST /relay/set` |
| Device name config | Yes | Yes | Yes | `devicename`, `config_device`, `/config/device` |
| Relay config | Yes | Yes | Yes | `relayname`, `config_relay`, `/config/relay` |
| Temperature config | Yes | Yes | Yes | `tempname`, `config_temp`, `/config/temp` |
| BMS config | Yes | Yes | Yes | `bmsname`/`bmsaddr`, `config_bms`, `/config/bms` |
| Save config | Yes | Yes | Yes | `save`, `save_config`, `/config/save` |
| Factory reset | Yes | Yes | Yes | AP remains recovery path |
| BMS setup enter | Yes | Yes | Yes | Setup pauses normal BMS reconnect behavior |
| BMS setup exit | Yes | Yes | Yes | Returns to normal mode |
| BLE scan | Yes | Yes | Yes | Some BMS devices require repeated scans |
| Select BMS | Yes | Yes | Yes | Uses most recent scan result index |
| WiFi config | Yes | Yes | Yes | Supports multiple saved STA networks |
| WiFi priority | Yes | Yes | Yes | Lower priority number is tried first |
| WiFi connect | Yes | Yes | Yes | AP remains available |
| WiFi clear | Yes | Yes | Yes | Clears saved STA networks |
## Preferred Command Model
Use generic IDs everywhere.
Relays:
relay_1
relay_2
Temperature sensors:
temp_1 through temp_8
Preferred relay command shape:
{
"type": "set_relay",
"id": "relay_1",
"state": true
}
Legacy UART relay fields may still be accepted:
relay
enabled
Preferred HTTP relay endpoint:
POST /relay/set
Legacy HTTP relay routes may remain for compatibility:
GET /relay/relay_1/on
GET /relay/relay_1/off
GET /relay/relay_2/on
GET /relay/relay_2/off
## Response Shape Standard
Success responses should include:
ok: true
Error responses should include:
ok: false
error: "error_code"
Status/config responses should preserve the generic data model used by `/status`.
---
# Project Status
API/UART/USB parity status:
COMPLETE
Covered:
Status
Configuration
Relays
WiFi
BMS
Temperature Sensors
Save Config
Factory Reset
Future additions must be implemented on:
USB Serial
UART JSON
HTTP API
before parity is considered maintained.