public async Task <BaosFrame> GetDatapointDescriptions() { byte[] data = { 0xF0, 0x03, 0x00, 0x00, 0x03, 0xE8 }; var frame = BaosFrame.Create(data); return(await SendFrame(frame)); }
public async Task <BaosFrame> SetDatapointValue(ushort datapointId, ReadOnlyMemory <byte> value) { var dp = BitConverter.GetBytes(datapointId).Reverse().ToArray(); byte[] data = { 0xF0, 0x06, dp[0], dp[1], 0x00, 0x01, dp[0], dp[1], 0x03, (byte)value.Length }; byte[] dg = new byte[data.Length + value.Length]; Array.Copy(data, 0, dg, 0, data.Length); Array.Copy(value.ToArray(), 0, dg, data.Length, value.Length); var frame = BaosFrame.Create(dg); return(await SendFrame(frame)); }
public async Task <IReadOnlyCollection <DatapointValue> > GetDatapointValue(short startDatapointId, short numberOfDatapoints) { var dp = BitConverter.GetBytes(startDatapointId).Reverse().ToArray(); var dpCount = BitConverter.GetBytes(numberOfDatapoints).Reverse().ToArray(); byte[] data = { 0xF0, 0x05, dp[0], dp[1], dpCount[0], dpCount[1], 0x00 }; var frame = BaosFrame.Create(data); var response = await SendFrame(frame); if (response != null) { return(ParseDatapointValues((LongFrame)response)); } return(null); }