Remove USB/serial support: network-only protocol, drop tinyusb and PICOBOOT

This commit is contained in:
Ian Gulliver
2026-04-17 11:20:57 -07:00
parent 23587c41e2
commit cdc113285a
16 changed files with 4 additions and 343 deletions

View File

@@ -23,14 +23,12 @@ type target struct {
}
type targetFlags struct {
usb string
udp string
iface string
}
func addTargetFlags(fs *flag.FlagSet) *targetFlags {
tf := &targetFlags{}
fs.StringVar(&tf.usb, "usb", "", "comma-separated USB serial devices")
fs.StringVar(&tf.udp, "udp", "", "comma-separated UDP IP addresses")
fs.StringVar(&tf.iface, "iface", "", "network interface for multicast discovery")
return tf
@@ -39,17 +37,6 @@ func addTargetFlags(fs *flag.FlagSet) *targetFlags {
func (tf *targetFlags) connect(timeout time.Duration) ([]target, error) {
var targets []target
if tf.usb != "" {
for _, dev := range strings.Split(tf.usb, ",") {
dev = strings.TrimSpace(dev)
c, err := client.NewSerial(dev, timeout)
if err != nil {
return nil, fmt.Errorf("usb %s: %w", dev, err)
}
targets = append(targets, target{dev, c})
}
}
if tf.udp != "" {
for _, addr := range strings.Split(tf.udp, ",") {
addr = strings.TrimSpace(addr)
@@ -84,21 +71,6 @@ func (tf *targetFlags) connect(timeout time.Duration) ([]target, error) {
}
}
if tf.usb == "" && tf.udp == "" && tf.iface == "" {
devs, err := client.ListSerial()
if err != nil {
return nil, err
}
for _, dev := range devs {
c, err := client.NewSerial(dev, timeout)
if err != nil {
slog.Warn("connect error", "dev", dev, "err", err)
continue
}
targets = append(targets, target{dev, c})
}
}
if len(targets) == 0 {
return nil, fmt.Errorf("no devices found")
}
@@ -113,7 +85,7 @@ func closeTargets(targets []target) {
func main() {
if len(os.Args) < 2 {
fmt.Fprintf(os.Stderr, "usage: picomap <command> [args...]\n\ncommands:\n info\n flash-status\n load\n log\n reboot\n picoboot\n test\n")
fmt.Fprintf(os.Stderr, "usage: picomap <command> [args...]\n\ncommands:\n info\n flash-status\n load\n log\n reboot\n test\n")
os.Exit(1)
}
cmd := os.Args[1]
@@ -131,12 +103,10 @@ func main() {
err = cmdLog(args)
case "reboot":
err = cmdReboot(args)
case "picoboot":
err = cmdPICOBOOT(args)
case "test":
err = cmdTestGroup(args)
default:
fmt.Fprintf(os.Stderr, "usage: picomap <command> [args...]\n\ncommands:\n info\n flash-status\n load\n log\n reboot\n picoboot\n test\n")
fmt.Fprintf(os.Stderr, "usage: picomap <command> [args...]\n\ncommands:\n info\n flash-status\n load\n log\n reboot\n test\n")
os.Exit(1)
}
if err != nil {
@@ -253,27 +223,6 @@ func cmdReboot(args []string) error {
return nil
}
func cmdPICOBOOT(args []string) error {
fs := flag.NewFlagSet("picoboot", flag.ExitOnError)
tf := addTargetFlags(fs)
fs.Parse(args)
targets, err := tf.connect(500 * time.Millisecond)
if err != nil {
return err
}
defer closeTargets(targets)
for _, t := range targets {
if err := t.client.PICOBOOT(); err != nil {
slog.Error("picoboot error", "via", t.name, "err", err)
continue
}
slog.Info("picoboot", "via", t.name)
}
return nil
}
func boardSerial(id [8]byte) string {
return fmt.Sprintf("%02X%02X%02X%02X%02X%02X%02X%02X",
id[0], id[1], id[2], id[3], id[4], id[5], id[6], id[7])