/* This package provides tools to dialog with the hardware. */ package hardware import ( "fmt" "log" // "github.com/google/gousb" "github.com/karalabe/usb" ) func SearchForDevices() error { devices, err := usb.Enumerate(0, 0) if err != nil { log.Fatalf("Erreur lors de la recherche des périphériques USB: %v", err) } for _, device := range devices { fmt.Printf("Device: %s\n", device.Manufacturer) } return nil } // ////// Interfaces ////// // type InterfaceDriver struct { // DeviceName string // DeviceManufacturer string // DeviceModel string // Protocol string // Location string // } // func SearchForDevices() error { // ctx := gousb.NewContext() // defer ctx.Close() // // Recherche des périphériques USB // devs, err := ctx.OpenDevices(func(desc *gousb.DeviceDesc) bool { // // Return CDC interfaces // fmt.Printf("Vendor: %s\n", desc.Vendor) // return desc.Vendor == gousb.ID(0x2717) // // return false // }) // if err != nil { // log.Fatalf("Erreur lors de la recherche des périphériques USB: %v", err) // } // defer func() { // for _, dev := range devs { // _ = dev.Close() // } // }() // for _, dev := range devs { // // Recherche des interfaces // log.Printf("Device: %s\n", dev.String()) // manufacturer, err := dev.Manufacturer() // if err == nil { // fmt.Printf("%s\n", manufacturer) // } // } // // dev, err := ctx.OpenDeviceWithVIDPID(gousb.ID(0x05E3), gousb.ID(0x0610)) // // if err != nil { // // log.Fatalf("Erreur lors de la recherche des périphériques USB: %v", err) // // } // // manufacturer, err := dev.Manufacturer() // // if err == nil { // // log.Printf("Device: %s\n", manufacturer) // // } // return nil // } ////// Controllers //////