コード例 #1
0
        public byte[] CacheReadSync(GroupAddr dest, ushort age, out KNXAddr src)
        {
            var r = CacheReadSyncAsync(dest, age).Result;

            src = r.Item2;
            return(r.Item1);
        }
コード例 #2
0
        public byte[] CacheRead(GroupAddr dest, out KNXAddr src)
        {
            var r = CacheReadAsync(dest).Result;

            src = r.Item2;
            return(r.Item1);
        }
コード例 #3
0
        public byte[] GetGroupSrc(out KNXAddr src, out GroupAddr dest)
        {
            var r = GetGroupSrcAsync().Result;

            src  = r.Item2;
            dest = r.Item3;
            return(r.Item1);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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)));
        }
コード例 #6
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void CacheRemove(GroupAddr dest)
 {
     CacheRemoveAsync(dest).Wait();
 }
コード例 #7
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task CacheRemoveAsync(GroupAddr dest)
 {
     await DoProtocol(0x0073);
 }
コード例 #8
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public byte[] CacheReadSync(GroupAddr dest, ushort age, out KNXAddr src)
 {
     var r = CacheReadSyncAsync(dest, age).Result;
     src = r.Item2;
     return r.Item1;
 }
コード例 #9
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 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));
 }
コード例 #10
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public byte[] CacheRead(GroupAddr dest, out KNXAddr src)
 {
     var r = CacheReadAsync(dest).Result;
     src = r.Item2;
     return r.Item1;
 }
コード例 #11
0
 public void OpenTGroup(GroupAddr dest, bool writeOnly)
 {
     OpenTGroupAsync(dest, writeOnly).Wait();
 }
コード例 #12
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 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);
 }
コード例 #13
0
 public async Task CacheRemoveAsync(GroupAddr dest)
 {
     await DoProtocol(0x0073);
 }
コード例 #14
0
 public void SendGroup(GroupAddr dest, byte[] data)
 {
     SendGroupAsync(dest, data).Wait();
 }
コード例 #15
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task OpenTGroupAsync(GroupAddr dest, bool writeOnly)
 {
     await DoProtocol_UshortByte(2, 0x0022, dest.Value, (byte)((writeOnly) ? 0xff : 0));
 }
コード例 #16
0
 public void CacheRemove(GroupAddr dest)
 {
     CacheRemoveAsync(dest).Wait();
 }
コード例 #17
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void OpenTGroup(GroupAddr dest, bool writeOnly)
 {
     OpenTGroupAsync(dest, writeOnly).Wait();
 }
コード例 #18
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public byte[] GetGroupSrc(out KNXAddr src, out GroupAddr dest)
 {
     var r = GetGroupSrcAsync().Result;
     src = r.Item2;
     dest = r.Item3;
     return r.Item1;
 }
コード例 #19
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void SendGroup(GroupAddr dest, byte[] data)
 {
     SendGroupAsync(dest, data).Wait();
 }
コード例 #20
0
 public async Task OpenTGroupAsync(GroupAddr dest, bool writeOnly)
 {
     await DoProtocol_UshortByte(2, 0x0022, dest.Value, (byte)((writeOnly) ? 0xff : 0));
 }