private void ReceiveData(object sender, SerialDataReceivedEventArgs args) { int bytesPending = port.BytesToRead; byte[] buffer = new byte[bytesPending]; port.Read(buffer, 0, bytesPending); foreach (byte b in buffer) { Destuffer.Add(b); } }
private void HandleIncommingFrame(Destuffer caller, byte[] frame) { try { var response = new Packet(frame); if (response.Code != 0x00) { if (response.IsFunction) { lock (lockObject) { if (current != null) { current.SetResponse(response); } state = CommState.COMPLETED; } } else { try { lock (lockObject) { messages.Enqueue(response); } } catch (Exception e) { Log.Error(e.Message); } } } else { lock (lockObject) { currentException = new UnknownFunctionCallException(String.Format("Error: {0}", response.GetByte(0))); state = CommState.ERROR; } } } catch {} }