public static SensorMessage FromRawMessage(string str) { if (string.IsNullOrEmpty(str)) return null; string[] parts = str.Split(new char[] {';'}, StringSplitOptions.None); if (parts.Length != 6) return null; string rawPayload = parts[5].Trim(); //var payload; //if ((MessageType)byte.Parse(parts[2]) == MessageType.Stream) //{ // payload = []; // for (var i = 0; i < rawpayload.length; i+=2) // payload.push(parseInt(rawpayload.substring(i, i + 2), 16)); //} //else // payload = rawpayload; SensorMessage msg = null; try { msg = new SensorMessage( byte.Parse(parts[0]), byte.Parse(parts[1]), (SensorMessageType)byte.Parse(parts[2]), byte.Parse(parts[3]) == 1, byte.Parse(parts[4]), parts[5]); } catch (Exception) { } return msg; }
public void Send(SensorMessage message) { if (isConnected) { } }
public void Send(SensorMessage message) { if (serialPort.IsOpen && message != null) serialPort.WriteLine(message.ToRawMessage()); }
public SensorMessageEventArgs(SensorMessage message) { Message = message; }