コード例 #1
0
ファイル: Program.cs プロジェクト: tweichselbaumer/LinkUp
        private static void Main(string[] args)
        {
            byte[] data = new byte[] { 0x99, 0x0A, 0x01, 0xAA, 0x01, 0xAA, 0xAA, 0x01, 0xAA, 0x05, 0x55,
                                       0x8A, 0x55, 0xB9, 0x55, 0x75, 0x01, 0x02, 0x6F, 0xFF, 0x99, 0x99,
                                       0x0A, 0x01, 0xAA, 0x01, 0xAA, 0xAA, 0x01, 0xAA, 0x05, 0x55, 0x8A,
                                       0x55, 0xB9, 0x55, 0x75, 0x01, 0x02, 0x6F, 0xFF, 0x99 };

            BlockingCollection <byte[]> col1 = new BlockingCollection <byte[]>();
            BlockingCollection <byte[]> col2 = new BlockingCollection <byte[]>();

            LinkUpMemoryConnector slaveToMaster = new LinkUpMemoryConnector(col1, col2);
            LinkUpMemoryConnector masterToSlave = new LinkUpMemoryConnector(col2, col1);

            slaveToMaster.ReveivedPacket += SlaveToMaster_ReveivedPacket;
            masterToSlave.ReveivedPacket += MasterToSlave_ReveivedPacket;

            slaveToMaster.SendPacket(new LinkUpPacket()
            {
                Data = data
            });
            masterToSlave.SendPacket(new LinkUpPacket()
            {
                Data = data
            });

            Console.Read();
        }
コード例 #2
0
        private static LinkUpNode CreateNode(LinkUpNode masterNode, string name)
        {
            LinkUpNode node = new LinkUpNode();

            node.Name = name;

            BlockingCollection <byte[]> col1 = new BlockingCollection <byte[]>();
            BlockingCollection <byte[]> col2 = new BlockingCollection <byte[]>();

            LinkUpMemoryConnector slaveToMaster = new LinkUpMemoryConnector(col1, col2);
            LinkUpMemoryConnector masterToSlave = new LinkUpMemoryConnector(col2, col1);

            node.MasterConnector = slaveToMaster;
            masterNode.AddSubNode(masterToSlave);

            node.AddLabel <LinkUpPropertyLabel <int> >("val1");
            node.AddLabel <LinkUpPropertyLabel <int> >("val2");

            return(node);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: tweichselbaumer/LinkUp
        private static void StaticTest1()
        {
            byte[] data = new byte[] { 0x99, 0xa, 0x1, 0xAA, 0x1, 0xAA, 0xAA, 0x1, 0xAA, 0x5, 0x55, 0x8A, 0x55, 0xB9, 0x55, 0x75, 0x1, 0x2, 0x6F, 0xFF, 0x99, 0x99, 0xa, 0x1, 0xAA, 0x1, 0xAA, 0xAA, 0x1, 0xAA, 0x5, 0x55, 0x8A, 0x55, 0xB9, 0x55, 0x75, 0x1, 0x2, 0x6F, 0xFF, 0x99 };

            BlockingCollection <byte[]> col1 = new BlockingCollection <byte[]>();
            BlockingCollection <byte[]> col2 = new BlockingCollection <byte[]>();

            LinkUpMemoryConnector c1 = new LinkUpMemoryConnector(col1, col2);
            LinkUpMemoryConnector c2 = new LinkUpMemoryConnector(col2, col1);

            c1.ReveivedPacket += MasterToSlave_ReveivedPacket;
            c2.ReveivedPacket += SlaveToMaster_ReveivedPacket;

            c1.SendPacket(new LinkUpPacket()
            {
                Data = data
            });

            Console.Read();
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: tweichselbaumer/LinkUp
        private static void StaticTest2()
        {
            BlockingCollection <byte[]> col1 = new BlockingCollection <byte[]>();
            BlockingCollection <byte[]> col2 = new BlockingCollection <byte[]>();

            BlockingCollection <byte[]> col3 = new BlockingCollection <byte[]>();
            BlockingCollection <byte[]> col4 = new BlockingCollection <byte[]>();

            LinkUpMemoryConnector masterToSlave = new LinkUpMemoryConnector(col1, col2);
            LinkUpMemoryConnector slaveToMaster = new LinkUpMemoryConnector(col2, col1);

            LinkUpMemoryConnector masterToSuper = new LinkUpMemoryConnector(col3, col4);
            LinkUpMemoryConnector superToMaster = new LinkUpMemoryConnector(col4, col3);

            masterToSlave.ReveivedPacket += MasterToSlave_ReveivedPacket;
            slaveToMaster.ReveivedPacket += SlaveToMaster_ReveivedPacket;
            masterToSuper.ReveivedPacket += MasterToSuper_ReveivedPacket;
            superToMaster.ReveivedPacket += SuperToMaster_ReveivedPacket;

            LinkUpNode super = new LinkUpNode();

            super.AddSubNode(superToMaster);
            super.Name = "super";

            LinkUpNode master = new LinkUpNode();

            master.AddSubNode(masterToSlave);
            master.MasterConnector = masterToSuper;
            master.Name            = "master";

            LinkUpNode slave = new LinkUpNode();

            slave.MasterConnector = slaveToMaster;
            slave.Name            = "slave";

            LinkUpPropertyLabel <int> value2 = master.AddLabel <LinkUpPropertyLabel <int> >("value2");
            LinkUpPropertyLabel <int> value1 = slave.AddLabel <LinkUpPropertyLabel <int> >("value1");

            value1.Value = 10;
            value2.Value = 1011;

            Console.WriteLine("Continue after init!");
            Console.ReadLine();

            LinkUpPropertyLabel <int> value1Ref = (LinkUpPropertyLabel <int>)master.Labels.FirstOrDefault(c => c.Name == "master/slave/value1");

            Console.WriteLine("value1Ref: " + value1Ref.Value);

            value1Ref.Value = 123;
            Console.WriteLine("value1: " + value1.Value);
            value1Ref.Value = 10;
            Console.WriteLine("value1: " + value1.Value);

            LinkUpPropertyLabel <int> value1RefSuper = (LinkUpPropertyLabel <int>)super.Labels.FirstOrDefault(c => c.Name == "super/master/slave/value1");

            Console.WriteLine("value1RefSuper: " + value1RefSuper.Value);

            value1RefSuper.Value = 123;
            Console.WriteLine("value1: " + value1.Value);
            value1RefSuper.Value = 10;
            Console.WriteLine("value1: " + value1.Value);

            LinkUpPropertyLabel <int> value2RefSuper = (LinkUpPropertyLabel <int>)super.Labels.FirstOrDefault(c => c.Name == "super/master/value2");

            Console.WriteLine("value2RefSuper: " + value2RefSuper.Value);

            value2RefSuper.Value = 1245;
            Console.WriteLine("value2: " + value2.Value);
            value2RefSuper.Value = 1152;
            Console.WriteLine("value2: " + value2.Value);

            Console.WriteLine("done");
            Console.ReadLine();
        }