diff --git a/cmd/info/main.go b/cmd/info/main.go new file mode 100644 index 0000000..97ff77c --- /dev/null +++ b/cmd/info/main.go @@ -0,0 +1,48 @@ +package main + +import ( + "fmt" + "os" + "time" + + "github.com/theater/picomap/lib/client" + "github.com/theater/picomap/lib/picoserial" +) + +func main() { + if err := run(); err != nil { + fmt.Fprintf(os.Stderr, "error: %v\n", err) + os.Exit(1) + } +} + +func run() error { + dev, err := picoserial.FindDevice() + if err != nil { + return err + } + if dev == "" { + return fmt.Errorf("no device found") + } + + fmt.Printf("Device: %s\n", dev) + t, err := picoserial.Open(dev) + if err != nil { + return err + } + c := client.New(t, 2*time.Second) + info, err := c.Info() + c.Close() + if err != nil { + return err + } + + fmt.Printf("Board ID: %02X%02X%02X%02X%02X%02X%02X%02X\n", + info.BoardID[0], info.BoardID[1], info.BoardID[2], info.BoardID[3], + info.BoardID[4], info.BoardID[5], info.BoardID[6], info.BoardID[7]) + fmt.Printf("MAC: %02X:%02X:%02X:%02X:%02X:%02X\n", + info.MAC[0], info.MAC[1], info.MAC[2], + info.MAC[3], info.MAC[4], info.MAC[5]) + + return nil +} diff --git a/cmd/load/main.go b/cmd/load/main.go index 84765da..f0b7274 100644 --- a/cmd/load/main.go +++ b/cmd/load/main.go @@ -65,32 +65,6 @@ func run(buildDir string) error { fmt.Println("Rebooting...") _ = picotool.Reboot() - time.Sleep(3 * time.Second) - - dev, err = picoserial.FindDevice() - if err != nil { - return err - } - if dev != "" { - t, err := picoserial.Open(dev) - if err != nil { - return err - } - c := client.New(t, 2*time.Second) - info, err := c.Info() - c.Close() - if err != nil { - fmt.Fprintf(os.Stderr, "warning: Info request failed: %v\n", err) - } else { - fmt.Printf("Board ID: %02X%02X%02X%02X%02X%02X%02X%02X\n", - info.BoardID[0], info.BoardID[1], info.BoardID[2], info.BoardID[3], - info.BoardID[4], info.BoardID[5], info.BoardID[6], info.BoardID[7]) - fmt.Printf("MAC: %02X:%02X:%02X:%02X:%02X:%02X\n", - info.MAC[0], info.MAC[1], info.MAC[2], - info.MAC[3], info.MAC[4], info.MAC[5]) - } - } - fmt.Println("Done.") return nil }