powerpods/goTool/cmd_deadzone.go
simon d24b0cb5c3 Add goTool autotest with bench configs and UART scenarios.
JSON configs describe network and node MACs; scenarios run command
sequences with expect checks. Share UART client API across CLI and tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 23:36:28 +02:00

34 lines
880 B
Go

package main
import (
"flag"
"fmt"
"powerpod/gotool/pb"
)
func runDeadzone(sp *serialPort, args []string) error {
fs := flag.NewFlagSet("deadzone", flag.ExitOnError)
write := fs.Bool("set", false, "write deadzone (default: read)")
deadzone := fs.Uint("value", 100, "deadzone in raw accel LSB (with -set)")
clientID := fs.Uint("client", 0, "client id (0=local master BMA456)")
all := fs.Bool("all", false, "apply to all registered slaves (master only)")
if err := fs.Parse(args); err != nil {
return err
}
r, err := sp.accelDeadzone(&pb.AccelDeadzoneRequest{
Write: *write,
Deadzone: uint32(*deadzone),
ClientId: uint32(*clientID),
AllClients: *all,
})
if err != nil {
return err
}
fmt.Printf("deadzone=%d client_id=%d success=%v slaves_updated=%d\n",
r.GetDeadzone(), r.GetClientId(), r.GetSuccess(), r.GetSlavesUpdated())
return nil
}