Slaves send HEARTBEAT every 1s; the master marks clients inactive after 3s without traffic and reactivates on reconnect. CLIENT_INFO reports last_ping as milliseconds since the last packet, not uptime. Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
# goTool
|
|
|
|
Host-side UART client for the Powerpod **master** ESP.
|
|
|
|
Full system documentation (roles, ESP-NOW, framing, protobuf): [`../main/README.md`](../main/README.md).
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
cd goTool
|
|
go mod tidy
|
|
go run . -port /dev/ttyUSB0 version
|
|
go run . -port /dev/ttyUSB0 clients
|
|
```
|
|
|
|
| Flag | Default | Description |
|
|
|------|---------|-------------|
|
|
| `-port` | (required) | Serial port on master UART (GPIO2/3 adapter) |
|
|
| `-baud` | `921600` | Must match firmware `UART_BAUD_RATE` |
|
|
|
|
### Commands
|
|
|
|
| Command | UART payload | Description |
|
|
|---------|--------------|-------------|
|
|
| `version` | `0x03` | Prints `version` and `git_hash` from firmware |
|
|
| `clients` | `0x04` | Lists slaves registered on the master via ESP-NOW |
|
|
|
|
`clients` requires slaves to have responded to master discover broadcasts first.
|
|
|
|
Example output:
|
|
|
|
```
|
|
clients (2):
|
|
[0] id=42 mac=aabbccddeeff ver=1 available=true used=false last_ping=250 last_success_ping=250
|
|
```
|
|
|
|
## Regenerate protobuf
|
|
|
|
```bash
|
|
protoc --go_out=./pb --go_opt=paths=source_relative \
|
|
--go_opt=Muart_messages.proto=powerpod/gotool/pb \
|
|
-I ../main/proto ../main/proto/uart_messages.proto
|
|
```
|