Beispiel #1
0
        public byte[] GetTPDU(out KNXAddr src)
        {
            var r = GetTPDUAsync().Result;

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

            src = r.Item2;
            return(r.Item1);
        }
Beispiel #3
0
        public byte[] CacheReadSync(GroupAddr dest, ushort age, out KNXAddr src)
        {
            var r = CacheReadSyncAsync(dest, age).Result;

            src = r.Item2;
            return(r.Item1);
        }
Beispiel #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();
            }
        }
Beispiel #5
0
        public byte[] GetGroupSrc(out KNXAddr src, out GroupAddr dest)
        {
            var r = GetGroupSrcAsync().Result;

            src  = r.Item2;
            dest = r.Item3;
            return(r.Item1);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #9
0
 public async Task<ushort> MGetMaskVersionAsync(KNXAddr dest)
 {
     var data = await DoProtocol_Ushort(4, 0x0031, dest.Value);
     return LoadUshort(data, 2);
 }
Beispiel #10
0
 public void OpenTTPDU(KNXAddr src)
 {
     OpenTTPDUAsync(src).Wait();
 }
Beispiel #11
0
 public byte[] CacheReadSync(GroupAddr dest, ushort age, out KNXAddr src)
 {
     var r = CacheReadSyncAsync(dest, age).Result;
     src = r.Item2;
     return r.Item1;
 }
Beispiel #12
0
 public byte[] GetTPDU(out KNXAddr src)
 {
     var r = GetTPDUAsync().Result;
     src = r.Item2;
     return r.Item1;
 }
Beispiel #13
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);
 }
Beispiel #14
0
 public void OpenTConnection(KNXAddr dest)
 {
     OpenTConnectionAsync(dest).Wait();
 }
Beispiel #15
0
 public void MProgmodeToggle(KNXAddr dest)
 {
     MProgmodeToggleAsync(dest).Wait();
 }
Beispiel #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());
        }
Beispiel #17
0
 public void MCIndividualOpen(KNXAddr dest)
 {
     MCIndividualOpenAsync(dest).Wait();
 }
Beispiel #18
0
 public async Task MCIndividualOpenAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0049, dest.Value);
 }
Beispiel #19
0
 public void MCConnect(KNXAddr dest)
 {
     MCConnectAsync(dest).Wait();
 }
Beispiel #20
0
 public async Task MCConnectAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0050, dest.Value);
 }
Beispiel #21
0
 public async Task OpenTTPDUAsync(KNXAddr src)
 {
     await DoProtocol_UshortByte(2, 0x0024, src.Value, (byte)0);
 }
Beispiel #22
0
 public void MProgmodeOn(KNXAddr dest)
 {
     MProgmodeOnAsync(dest).Wait();
 }
Beispiel #23
0
 public bool MProgmodeStatus(KNXAddr dest)
 {
     return MProgmodeStatusAsync(dest).Result;
 }
Beispiel #24
0
 public byte[] MCRead(KNXAddr addr, int buf_len)
 {
     return(MCReadAsync(addr, buf_len).Result);
 }
Beispiel #25
0
 public void MWriteIndividualAddresses(KNXAddr dest)
 {
     MWriteIndividualAddressesAsync(dest).Wait();
 }
Beispiel #26
0
 public void MCConnect(KNXAddr dest)
 {
     MCConnectAsync(dest).Wait();
 }
Beispiel #27
0
 public async Task OpenTTPDUAsync(KNXAddr src)
 {
     await DoProtocol_UshortByte(2, 0x0024, src.Value, (byte) 0);
 }
Beispiel #28
0
 public void MCIndividualOpen(KNXAddr dest)
 {
     MCIndividualOpenAsync(dest).Wait();
 }
Beispiel #29
0
 public async Task OpenTIndividualAsync(KNXAddr dest, bool writeOnly)
 {
     await DoProtocol_UshortByte(2, 0x0021, dest.Value, (byte)((writeOnly) ? 0xff : 0));
 }
Beispiel #30
0
 public byte[] MCRead(KNXAddr addr, int buf_len)
 {
     return MCReadAsync(addr, buf_len).Result;
 }
Beispiel #31
0
 public byte[] CacheRead(GroupAddr dest, out KNXAddr src)
 {
     var r = CacheReadAsync(dest).Result;
     src = r.Item2;
     return r.Item1;
 }
Beispiel #32
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);
 }
Beispiel #33
0
 public async Task MCConnectAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0050, dest.Value);
 }
Beispiel #34
0
 public void SendTPDU(KNXAddr dest, byte[] data)
 {
     SendTPDUAsync(dest, data).Wait();
 }
Beispiel #35
0
 public async Task MCIndividualOpenAsync(KNXAddr dest)
 {
     await DoProtocol_Ushort(2, 0x0049, dest.Value);
 }
Beispiel #36
0
 public void MCWritePlain(KNXAddr addr, byte[] buf)
 {
     MCWritePlainAsync(addr, buf).Wait();
 }
Beispiel #37
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();
 }
Beispiel #38
0
        public async Task <ushort> MGetMaskVersionAsync(KNXAddr dest)
        {
            var data = await DoProtocol_Ushort(4, 0x0031, dest.Value);

            return(LoadUshort(data, 2));
        }
Beispiel #39
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);
 }
Beispiel #40
0
 public ushort MGetMaskVersion(KNXAddr dest)
 {
     return(MGetMaskVersionAsync(dest).Result);
 }
Beispiel #41
0
 public void MCWritePlain(KNXAddr addr, byte[] buf)
 {
     MCWritePlainAsync(addr, buf).Wait();
 }
Beispiel #42
0
 public void MProgmodeOn(KNXAddr dest)
 {
     MProgmodeOnAsync(dest).Wait();
 }
Beispiel #43
0
 public ushort MGetMaskVersion(KNXAddr dest)
 {
     return MGetMaskVersionAsync(dest).Result;
 }
Beispiel #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);
        }
Beispiel #45
0
 public async Task<bool> MProgmodeStatusAsync(KNXAddr dest)
 {
     var data = await DoProtocol_UshortByte(3, 0x0030, dest.Value, (byte) 3);
     return LoadByte(data, 2) != 0;
 }
Beispiel #46
0
 public bool MProgmodeStatus(KNXAddr dest)
 {
     return(MProgmodeStatusAsync(dest).Result);
 }
Beispiel #47
0
 public async Task MProgmodeToggleAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0030, dest.Value, (byte) 2);
 }
Beispiel #48
0
 public async Task MProgmodeToggleAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0030, dest.Value, (byte)2);
 }
Beispiel #49
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();
 }
Beispiel #50
0
 public void MProgmodeToggle(KNXAddr dest)
 {
     MProgmodeToggleAsync(dest).Wait();
 }
Beispiel #51
0
 public async Task OpenTConnectionAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0020, dest.Value, (byte)0);
 }
Beispiel #52
0
 public void MWriteIndividualAddresses(KNXAddr dest)
 {
     MWriteIndividualAddressesAsync(dest).Wait();
 }
Beispiel #53
0
 public async Task OpenTIndividualAsync(KNXAddr dest, bool writeOnly)
 {
     await DoProtocol_UshortByte(2, 0x0021, dest.Value, (byte) ((writeOnly) ? 0xff : 0));
 }
Beispiel #54
0
 public async Task OpenTConnectionAsync(KNXAddr dest)
 {
     await DoProtocol_UshortByte(2, 0x0020, dest.Value, (byte)0);
 }
Beispiel #55
0
 public void OpenTTPDU(KNXAddr src)
 {
     OpenTTPDUAsync(src).Wait();
 }
Beispiel #56
0
 public byte[] GetGroupSrc(out KNXAddr src, out GroupAddr dest)
 {
     var r = GetGroupSrcAsync().Result;
     src = r.Item2;
     dest = r.Item3;
     return r.Item1;
 }
Beispiel #57
0
 public void SendTPDU(KNXAddr dest, byte[] data)
 {
     SendTPDUAsync(dest, data).Wait();
 }
Beispiel #58
0
 public void OpenTConnection(KNXAddr dest)
 {
     OpenTConnectionAsync(dest).Wait();
 }