Beispiel #1
0
        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(" ");
        }
Beispiel #2
0
        private byte CalcCRC(ReadedCommandData rcd)
        {
            byte crc = CalcCRC(rcd.Data, rcd.Len);

            crc += StartByte;
            crc += rcd.Code;
            crc += rcd.Len;

            return(crc);
        }
Beispiel #3
0
        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());
        }