public byte[] CacheReadSync(GroupAddr dest, ushort age, out KNXAddr src) { var r = CacheReadSyncAsync(dest, age).Result; src = r.Item2; return(r.Item1); }
public byte[] CacheRead(GroupAddr dest, out KNXAddr src) { var r = CacheReadAsync(dest).Result; src = r.Item2; return(r.Item1); }
public byte[] GetGroupSrc(out KNXAddr src, out GroupAddr dest) { var r = GetGroupSrcAsync().Result; src = r.Item2; dest = r.Item3; return(r.Item1); }
public async Task SendGroupAsync(GroupAddr dest, byte[] data) { var ibuf = new byte[4 + data.Length]; StoreUshort(ibuf, 0, 0x0027); StoreUshort(ibuf, 2, dest.Value); data.CopyTo(ibuf, 4); await SendRequestAsync(ibuf); }
public async Task <Tuple <byte[], KNXAddr> > CacheReadAsync(GroupAddr dest) { await SendRequestAsync(MakeRequest(0x0075, dest.Value)); var data = await GetRequestAsync(); CheckProtocol(data, 0x0075, 6); if (LoadInt16(data, 4) == 0) { throw new ApplicationException("Device not found"); } if (data.Length <= 6) { throw new ApplicationException("Entry not found"); } return(new Tuple <byte[], KNXAddr>(data.Skip(6).ToArray(), LoadKNXAddr(data, 2))); }
public void CacheRemove(GroupAddr dest) { CacheRemoveAsync(dest).Wait(); }
public async Task CacheRemoveAsync(GroupAddr dest) { await DoProtocol(0x0073); }
public byte[] CacheReadSync(GroupAddr dest, ushort age, out KNXAddr src) { var r = CacheReadSyncAsync(dest, age).Result; src = r.Item2; return r.Item1; }
public async Task<Tuple<byte[], KNXAddr>> CacheReadSyncAsync(GroupAddr dest, ushort age) { var ibuf = MakeRequest(0x0074, dest.Value, age); await SendRequestAsync(ibuf); var data = await GetRequestAsync(); CheckProtocol(data, 0x0074, 6); if (LoadInt16(data, 4) == 0) throw new ApplicationException("Device not found"); if (data.Length <= 6) throw new ApplicationException("Entry not found"); return new Tuple<byte[], KNXAddr>(data.Skip(6).ToArray(), LoadKNXAddr(data, 2)); }
public byte[] CacheRead(GroupAddr dest, out KNXAddr src) { var r = CacheReadAsync(dest).Result; src = r.Item2; return r.Item1; }
public void OpenTGroup(GroupAddr dest, bool writeOnly) { OpenTGroupAsync(dest, writeOnly).Wait(); }
public void SendGroup(GroupAddr dest, byte[] data) { SendGroupAsync(dest, data).Wait(); }
public async Task OpenTGroupAsync(GroupAddr dest, bool writeOnly) { await DoProtocol_UshortByte(2, 0x0022, dest.Value, (byte)((writeOnly) ? 0xff : 0)); }
public byte[] GetGroupSrc(out KNXAddr src, out GroupAddr dest) { var r = GetGroupSrcAsync().Result; src = r.Item2; dest = r.Item3; return r.Item1; }