コード例 #1
0
        public byte[] GetTPDU(out KNXAddr src)
        {
            var r = GetTPDUAsync().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[] CacheReadSync(GroupAddr dest, ushort age, out KNXAddr src)
        {
            var r = CacheReadSyncAsync(dest, age).Result;

            src = r.Item2;
            return(r.Item1);
        }
コード例 #4
0
        public async Task MWriteIndividualAddressesAsync(KNXAddr dest)
        {
            var ibuf = new byte[4];

            StoreUshort(ibuf, 2, dest.Value);
            var data = await DoProtocolNoCheck(ibuf, 2, 0x0040);

            var code = LoadUshort(data, 0);

            if (code == 0x0041)
            {
                throw new ApplicationException("Address in use");
            }
            if (code == 0x0042)
            {
                throw new ApplicationException("Address not available");
            }
            if (code == 0x0043)
            {
                throw new TimeoutException();
            }
            if (code != 0x0040)
            {
                throw new ProtocolViolationException();
            }
        }
コード例 #5
0
        public byte[] GetGroupSrc(out KNXAddr src, out GroupAddr dest)
        {
            var r = GetGroupSrcAsync().Result;

            src  = r.Item2;
            dest = r.Item3;
            return(r.Item1);
        }
コード例 #6
0
        public async Task SendTPDUAsync(KNXAddr dest, byte[] data)
        {
            var ibuf = new byte[4 + data.Length];

            StoreUshort(ibuf, 0, 0x0025);
            StoreUshort(ibuf, 2, dest.Value);
            data.CopyTo(ibuf, 4);
            await SendRequestAsync(ibuf);
        }
コード例 #7
0
        public async Task MCWritePlainAsync(KNXAddr addr, byte[] buf)
        {
            var ibuf = new byte[6 + buf.Length];

            StoreUshort(ibuf, 0, 0x005b);
            StoreUshort(ibuf, 2, addr.Value);
            StoreUshort(ibuf, 4, (ushort)buf.Length);
            buf.CopyTo(ibuf, 6);
            await DoProtocol(ibuf, 2, 0x005b);
        }
コード例 #8
0
        public async Task MCWriteAsync(KNXAddr addr, byte[] buf)
        {
            var ibuf = new byte[6 + buf.Length];

            StoreUshort(ibuf, 0, 0x0052);
            StoreUshort(ibuf, 2, addr.Value);
            StoreUshort(ibuf, 4, (ushort)buf.Length);
            buf.CopyTo(ibuf, 6);
            await SendRequestAsync(ibuf);

            var data = await GetRequestAsync();

            if (LoadInt16(data, 0) == 0x0044)
            {
                throw new IOException();
            }
            CheckProtocol(data, 0x0052, 2);
        }
コード例 #9
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task<ushort> MGetMaskVersionAsync(KNXAddr dest)
 {
     var data = await DoProtocol_Ushort(4, 0x0031, dest.Value);
     return LoadUshort(data, 2);
 }
コード例 #10
0
 public void OpenTTPDU(KNXAddr src)
 {
     OpenTTPDUAsync(src).Wait();
 }
コード例 #11
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;
 }
コード例 #12
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public byte[] GetTPDU(out KNXAddr src)
 {
     var r = GetTPDUAsync().Result;
     src = r.Item2;
     return r.Item1;
 }
コード例 #13
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task SendTPDUAsync(KNXAddr dest, byte[] data)
 {
     var ibuf = new byte[4 + data.Length];
     StoreUshort(ibuf, 0, 0x0025);
     StoreUshort(ibuf, 2, dest.Value);
     data.CopyTo(ibuf, 4);
     await SendRequestAsync(ibuf);
 }
コード例 #14
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void OpenTConnection(KNXAddr dest)
 {
     OpenTConnectionAsync(dest).Wait();
 }
コード例 #15
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void MProgmodeToggle(KNXAddr dest)
 {
     MProgmodeToggleAsync(dest).Wait();
 }
コード例 #16
0
        public async Task <byte[]> MCReadAsync(KNXAddr addr, int buf_len)
        {
            var data = await DoProtocol_UshortUshort(2, 0x0051, addr.Value, (ushort)buf_len);

            return(data.Skip(2).ToArray());
        }
コード例 #17
0
 public void MCIndividualOpen(KNXAddr dest)
 {
     MCIndividualOpenAsync(dest).Wait();
 }
コード例 #18
0
 public async Task MCIndividualOpenAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0049, dest.Value);
 }
コード例 #19
0
 public void MCConnect(KNXAddr dest)
 {
     MCConnectAsync(dest).Wait();
 }
コード例 #20
0
 public async Task MCConnectAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0050, dest.Value);
 }
コード例 #21
0
 public async Task OpenTTPDUAsync(KNXAddr src)
 {
     await DoProtocol_UshortByte(2, 0x0024, src.Value, (byte)0);
 }
コード例 #22
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void MProgmodeOn(KNXAddr dest)
 {
     MProgmodeOnAsync(dest).Wait();
 }
コード例 #23
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public bool MProgmodeStatus(KNXAddr dest)
 {
     return MProgmodeStatusAsync(dest).Result;
 }
コード例 #24
0
 public byte[] MCRead(KNXAddr addr, int buf_len)
 {
     return(MCReadAsync(addr, buf_len).Result);
 }
コード例 #25
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void MWriteIndividualAddresses(KNXAddr dest)
 {
     MWriteIndividualAddressesAsync(dest).Wait();
 }
コード例 #26
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void MCConnect(KNXAddr dest)
 {
     MCConnectAsync(dest).Wait();
 }
コード例 #27
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task OpenTTPDUAsync(KNXAddr src)
 {
     await DoProtocol_UshortByte(2, 0x0024, src.Value, (byte) 0);
 }
コード例 #28
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void MCIndividualOpen(KNXAddr dest)
 {
     MCIndividualOpenAsync(dest).Wait();
 }
コード例 #29
0
 public async Task OpenTIndividualAsync(KNXAddr dest, bool writeOnly)
 {
     await DoProtocol_UshortByte(2, 0x0021, dest.Value, (byte)((writeOnly) ? 0xff : 0));
 }
コード例 #30
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public byte[] MCRead(KNXAddr addr, int buf_len)
 {
     return MCReadAsync(addr, buf_len).Result;
 }
コード例 #31
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;
 }
コード例 #32
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task MCWritePlainAsync(KNXAddr addr, byte[] buf)
 {
     var ibuf = new byte[6 + buf.Length];
     StoreUshort(ibuf, 0, 0x005b);
     StoreUshort(ibuf, 2, addr.Value);
     StoreUshort(ibuf, 4, (ushort) buf.Length);
     buf.CopyTo(ibuf, 6);
     await DoProtocol(ibuf, 2, 0x005b);
 }
コード例 #33
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task MCConnectAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0050, dest.Value);
 }
コード例 #34
0
 public void SendTPDU(KNXAddr dest, byte[] data)
 {
     SendTPDUAsync(dest, data).Wait();
 }
コード例 #35
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task MCIndividualOpenAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0049, dest.Value);
 }
コード例 #36
0
 public void MCWritePlain(KNXAddr addr, byte[] buf)
 {
     MCWritePlainAsync(addr, buf).Wait();
 }
コード例 #37
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task<byte[]> MCReadAsync(KNXAddr addr, int buf_len)
 {
     var data = await DoProtocol_UshortUshort(2, 0x0051, addr.Value, (ushort)buf_len);
     return data.Skip(2).ToArray();
 }
コード例 #38
0
        public async Task <ushort> MGetMaskVersionAsync(KNXAddr dest)
        {
            var data = await DoProtocol_Ushort(4, 0x0031, dest.Value);

            return(LoadUshort(data, 2));
        }
コード例 #39
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task MCWriteAsync(KNXAddr addr, byte[] buf)
 {
     var ibuf = new byte[6 + buf.Length];
     StoreUshort(ibuf, 0, 0x0052);
     StoreUshort(ibuf, 2, addr.Value);
     StoreUshort(ibuf, 4, (ushort)buf.Length);
     buf.CopyTo(ibuf, 6);
     await SendRequestAsync(ibuf);
     var data = await GetRequestAsync();
     if (LoadInt16(data, 0) == 0x0044)
         throw new IOException();
     CheckProtocol(data, 0x0052, 2);
 }
コード例 #40
0
 public ushort MGetMaskVersion(KNXAddr dest)
 {
     return(MGetMaskVersionAsync(dest).Result);
 }
コード例 #41
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void MCWritePlain(KNXAddr addr, byte[] buf)
 {
     MCWritePlainAsync(addr, buf).Wait();
 }
コード例 #42
0
 public void MProgmodeOn(KNXAddr dest)
 {
     MProgmodeOnAsync(dest).Wait();
 }
コード例 #43
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public ushort MGetMaskVersion(KNXAddr dest)
 {
     return MGetMaskVersionAsync(dest).Result;
 }
コード例 #44
0
        public async Task <bool> MProgmodeStatusAsync(KNXAddr dest)
        {
            var data = await DoProtocol_UshortByte(3, 0x0030, dest.Value, (byte)3);

            return(LoadByte(data, 2) != 0);
        }
コード例 #45
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task<bool> MProgmodeStatusAsync(KNXAddr dest)
 {
     var data = await DoProtocol_UshortByte(3, 0x0030, dest.Value, (byte) 3);
     return LoadByte(data, 2) != 0;
 }
コード例 #46
0
 public bool MProgmodeStatus(KNXAddr dest)
 {
     return(MProgmodeStatusAsync(dest).Result);
 }
コード例 #47
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task MProgmodeToggleAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0030, dest.Value, (byte) 2);
 }
コード例 #48
0
 public async Task MProgmodeToggleAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0030, dest.Value, (byte)2);
 }
コード例 #49
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task MWriteIndividualAddressesAsync(KNXAddr dest)
 {
     var ibuf = new byte[4];
     StoreUshort(ibuf, 2, dest.Value);
     var data = await DoProtocolNoCheck(ibuf, 2, 0x0040);
     var code = LoadUshort(data, 0);
     if (code == 0x0041)
         throw new ApplicationException("Address in use");
     if (code == 0x0042)
         throw new ApplicationException("Address not available");
     if (code == 0x0043)
         throw new TimeoutException();
     if (code != 0x0040)
         throw new ProtocolViolationException();
 }
コード例 #50
0
 public void MProgmodeToggle(KNXAddr dest)
 {
     MProgmodeToggleAsync(dest).Wait();
 }
コード例 #51
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task OpenTConnectionAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0020, dest.Value, (byte)0);
 }
コード例 #52
0
 public void MWriteIndividualAddresses(KNXAddr dest)
 {
     MWriteIndividualAddressesAsync(dest).Wait();
 }
コード例 #53
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public async Task OpenTIndividualAsync(KNXAddr dest, bool writeOnly)
 {
     await DoProtocol_UshortByte(2, 0x0021, dest.Value, (byte) ((writeOnly) ? 0xff : 0));
 }
コード例 #54
0
 public async Task OpenTConnectionAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0020, dest.Value, (byte)0);
 }
コード例 #55
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void OpenTTPDU(KNXAddr src)
 {
     OpenTTPDUAsync(src).Wait();
 }
コード例 #56
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;
 }
コード例 #57
0
ファイル: KNXConnection.cs プロジェクト: k-eex/knxd
 public void SendTPDU(KNXAddr dest, byte[] data)
 {
     SendTPDUAsync(dest, data).Wait();
 }
コード例 #58
0
 public void OpenTConnection(KNXAddr dest)
 {
     OpenTConnectionAsync(dest).Wait();
 }