Files
dmxconnect/hardware/interfaces.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 //////