generated from thinkode/modelRepository
83 lines
1.8 KiB
Go
83 lines
1.8 KiB
Go
/*
|
|
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 //////
|