Beispiel #1
0
        public async Task <BaosFrame> GetDatapointDescriptions()
        {
            byte[] data  = { 0xF0, 0x03, 0x00, 0x00, 0x03, 0xE8 };
            var    frame = BaosFrame.Create(data);

            return(await SendFrame(frame));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
        }