generated from thinkode/modelRepository
create hardware manager
This commit is contained in:
82
hardware/interfaces.go
Normal file
82
hardware/interfaces.go
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
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 //////
|
||||
Reference in New Issue
Block a user