public static List<UsbHidInfo> FindAllUsbHidInfo() { try { var usbHidInfos = new List<UsbHidInfo>(); var usbHidPorts = USBDeviceFinder.FindDevices(0xC251, 0x1303); foreach (var usbHidPort in usbHidPorts) { var usbHid = new UsbHid(); usbHid.SetUsbHidPort(usbHidPort); var usbHidInfo = new UsbHidInfo() { UsbHid = usbHid }; usbHidInfos.Add(usbHidInfo); } foreach (var usbHidInfo in usbHidInfos) { usbHidInfo.Initialize(); } return usbHidInfos; } catch (Exception e) { return new List<UsbHidInfo>(); } }
void UsbRunner2_NewResponse(UsbHid usbHid, Response response) { Trace.WriteLine("UsbRunner2_NewResponse " + BytesHelper.BytesToString(response.Bytes)); }
static void UsbUsbHid_DeviceRemoved(UsbHid usbUsbHid) { var usbHidInfo = UsbHidInfos.FirstOrDefault(x => x.UsbHid == usbUsbHid); if (usbHidInfo != null) { UsbHidInfos.Remove(usbHidInfo); } if (UsbRemoved != null) UsbRemoved(); }
void Button_Click_3(object sender, RoutedEventArgs e) { UsbHid = new UsbHid(); UsbHid.Open(); UsbHid.NewResponse += new Action<UsbHid, Response>(UsbRunner2_NewResponse); }
static void OnNewResponse(UsbHid usbHid, Response response) { try { var usbHidInfo = UsbHidInfos.FirstOrDefault(x => x.UsbHid != null && x.UsbHid == usbHid); if (usbHidInfo != null) { if (NewResponse != null) NewResponse(usbHidInfo.USBDevice, response); } } catch (Exception e) { ; } }