void OnNewResponse(Response response) { if (NewResponse != null) NewResponse(this, response); }
void OnDataRecieved(object sender, DataRecievedEventArgs args) { if (IsDisposed) return; var buffer = args.data.ToList(); if (buffer.Count < 2) return; buffer.RemoveRange(0, IsExtendedMode ? 3 : 2); foreach (var b in buffer) { if (LocalResult.Count > 0) { LocalResult.Add(b); if (b == 0x3E) { var bytes = CreateInputBytes(LocalResult); LocalResult = new List<byte>(); var response = new Response { Bytes = bytes.ToList() }; if (UseId) { response.Id = BytesHelper.ExtractInt(bytes.ToList(), 0); } OnResponseRecieved(response); OnNewResponse(response); return; } } if (b == 0x7E) { if (!IsExtendedMode) { if (buffer.IndexOf(0x7e) == 0) IsExtendedMode = false; if (buffer.IndexOf(0x7e) == 1) IsExtendedMode = true; } LocalResult = new List<byte> { b }; } if (RequestCollection.Count() == 0) AutoWaitEvent.Set(); } }
void UsbRunner2_NewResponse(UsbHid usbHid, Response response) { Trace.WriteLine("UsbRunner2_NewResponse " + BytesHelper.BytesToString(response.Bytes)); }
void OnResponseRecieved(Response response) { if (UseId) { var request = RequestCollection.GetById(response.Id); RequestCollection.RemoveById(response.Id); if (request != null) { Responses.Add(response); } } else { var request = RequestCollection.GetFirst(); if (request != null) { Responses.Clear(); Responses.Add(response); if (Responses.Count != 0) RequestCollection.Clear(); } } }
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) { ; } }