private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) { int bytes = _port.BytesToRead; byte[] buffer = new byte[bytes]; _port.Read(buffer, 0, bytes); //Console.Write("Data received: "); foreach (byte bt in buffer) { //Console.Write(bt.ToString("X2")); //Console.Write(" "); if (_readingCommand) { ProcessReadedByte(bt); } else { if (bt == StartByte) { _readingCommand = true; _commandData = new ReadedCommandData(); } } } //Console.WriteLine(" "); }
private byte CalcCRC(ReadedCommandData rcd) { byte crc = CalcCRC(rcd.Data, rcd.Len); crc += StartByte; crc += rcd.Code; crc += rcd.Len; return(crc); }
private void ProcessCommand(ReadedCommandData rcd) { var responce = BasicResponce.Create((Commands)rcd.Code, rcd.Data); if (ReceivedResponce != null) { Console.WriteLine(responce.ToString()); ReceivedResponce(responce); } //Console.WriteLine("FRF: Received command:" + rcd.Code.ToString()); }