# 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 | | `unicast-test` | `0x07` | Sends ESP-NOW unicast test to one slave (`-client`, `-seq`) | `clients` requires slaves to have responded to master discover broadcasts first. ```bash go run . -port /dev/ttyUSB0 unicast-test -client 16 -seq 42 ``` On success the slave serial log should show `UNICAST TEST OK from master … seq=42`. 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 ```