/// <summary> /// Read messages from the Arduino /// </summary> /// <param name="message"></param> /// <returns>Returns amount of bytes</returns> public byte Read(MMessage message) { if (this.BytesToRead > 5 && this.ReadByte() == message.Begin[0] && this.ReadByte() == message.Begin[1]) { //Read action & Data lenght message.Action = (byte)this.ReadByte(); message.DataLen = (byte)this.ReadByte(); if (message.DataLen > 58) { message.DataLen = 58; } this.Read(message.Data, 0, message.DataLen); message.Data[message.DataLen] = 0; //Corruption check this.Read(message.Corruptioncheck, 0, 2); message.PossiblyCorrupt = message.Corruptioncheck[0] != message.End[0] || message.Corruptioncheck[1] != message.End[1]; return((byte)(message.DataLen + 6)); } return(0); }
/// <summary> /// Write a message to Arduino /// </summary> /// <param name="message"></param> /// <returns></returns> public byte Write(MMessage message) { message.Header[0] = message.Action; message.Header[1] = message.DataLen; this.Write(message.Begin, 0, 2); this.Write(message.Header, 0, 2); this.Write(message.Data, 0, message.DataLen); this.Write(message.End, 0, 2); return((byte)(message.DataLen + 6)); }
/// <summary> /// Write a message to Arduino /// </summary> /// <param name="message"></param> /// <returns></returns> public byte Write(MMessage message) { message.Header[0] = message.Action; message.Header[1] = message.DataLen; this.Write(message.Begin, 0, 2); this.Write(message.Header, 0, 2); this.Write(message.Data, 0, message.DataLen); this.Write(message.End, 0, 2); return (byte)(message.DataLen + 6); }
public RP6Control(Arduino arduino) { _arduino = arduino; _moveMessage = new MMessage(); }
/// <summary> /// Read messages from the Arduino /// </summary> /// <param name="message"></param> /// <returns>Returns amount of bytes</returns> public byte Read(MMessage message) { if (this.BytesToRead > 5 && this.ReadByte() == message.Begin[0] && this.ReadByte() == message.Begin[1]) { //Read action & Data lenght message.Action = (byte)this.ReadByte(); message.DataLen = (byte)this.ReadByte(); if (message.DataLen > 58) { message.DataLen = 58; } this.Read(message.Data, 0, message.DataLen); message.Data[message.DataLen] = 0; //Corruption check this.Read(message.Corruptioncheck, 0, 2); message.PossiblyCorrupt = message.Corruptioncheck[0] != message.End[0] || message.Corruptioncheck[1] != message.End[1]; return (byte)(message.DataLen + 6); } return 0; }