Exemple #1
0
 public void Connector_ConnectivityChanged(LinkUpConnector connector, LinkUpConnectivityState connectivity)
 {
     if (connectivity == LinkUpConnectivityState.Connected)
     {
         Update();
     }
 }
Exemple #2
0
 private void _DataPort_ReveivedPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     Dispatcher.Invoke(delegate()
     {
         textBox_DataOut.Text = Encoding.UTF8.GetString(packet.Data);
     });
 }
Exemple #3
0
 private void Connector_ConnectivityChanged(LinkUpConnector connector, LinkUpConnectivityState connectivity)
 {
     _SyncContext.Post(o =>
     {
         ConnectivityState = connectivity;
     }
                       , null);
 }
Exemple #4
0
 private void Connector_MetricUpdate(LinkUpConnector connector, double bytesSentPerSecond, double bytesReceivedPerSecond)
 {
     _SyncContext.Post(o =>
     {
         BytesSentPerSec     = bytesSentPerSecond;
         BytesReceivedPerSec = bytesReceivedPerSecond;
     }
                       , null);
 }
Exemple #5
0
 private static void Connector_ReveivedPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     lock (Console.Out)
     {
         Console.ForegroundColor = ConsoleColor.Cyan;
         Console.WriteLine("- Master from Slave:\n\t{0}", string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
         Console.ResetColor();
     }
 }
Exemple #6
0
 private static void SentPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     lock (Console.Out)
     {
         Console.ForegroundColor = ConsoleColor.Yellow;
         Console.WriteLine("- Sent Data:\n\t{0}", string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
         Console.ResetColor();
     }
 }
Exemple #7
0
 private static void Connector_SentPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     lock (Console.Out)
     {
         Console.ForegroundColor = ConsoleColor.Yellow;
         Console.WriteLine("{0} - Sent:\n\t{1}", watch.ElapsedTicks * 1000 / Stopwatch.Frequency, string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
         Console.ResetColor();
     }
 }
        internal LinkUpSubNode(LinkUpConnector connector, LinkUpNode master)
        {
            _Master    = master;
            _Connector = connector;
            _Connector.ReveivedPacket += _Connector_ReveivedPacket;
#if NET45 || NETCOREAPP2_0
            _PingTimer          = new Timer(500);
            _PingTimer.Elapsed += _PingTimer_Elapsed;
            _PingTimer.Start();
#endif
        }
Exemple #9
0
 private void Connector_ReveivedPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     if (addData)
     {
         Context.Post((c) =>
         {
             lock (Data)
             {
                 Data.Add(packet);
                 Count = Data.Count;
             }
         }, null);
     }
     //Console.WriteLine("{0} - Receive:\n\t{1}", watch.ElapsedTicks * 1000 / Stopwatch.Frequency, string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
 }
Exemple #10
0
 private static void ClientToServer_ReveivedPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     //lock (Console.Out)
     //{
     //    Console.ForegroundColor = ConsoleColor.Yellow;
     //    if (packet.Data.Length > 2 && packet.Data[0] == 0x01 && packet.Data[1] == 0x9)
     //    {
     //       Console.WriteLine("- Reveived ({0}):\n\t{1}", count++, string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
     //    }
     //    else
     //    {
     //Console.WriteLine("- Reveived:\n\t{0}", string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
     //    }
     //    Console.ResetColor();
     //}
 }
Exemple #11
0
 private static void ClientToServer_SentPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     //lock (Console.Out)
     //{
     //    Console.ForegroundColor = ConsoleColor.Magenta;
     //    Console.WriteLine("- Sent:\n\t{0}", string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
     //    Console.ResetColor();
     //}
     //lock (Console.Out)
     //{
     //    if (packet.Data.Length > 2 && packet.Data[0] == 0x02 && packet.Data[1] == 0x9)
     //    {
     //Console.WriteLine("- Sent: {0}", string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
     //    }
     //}
 }
Exemple #12
0
        internal void UpdateSettings(bool connectionSettingsChanged)
        {
            SettingsUpdated();

            if (connectionSettingsChanged)
            {
                if (Node != null)
                {
                    Node.Dispose();
                    Node = null;
                }

                if (SettingViewModel.SelectedHost != null)
                {
                    _Connector = new LinkUpTcpClientConnector(IPAddress.Parse(SettingViewModel.SelectedHost.IpAddress), SettingViewModel.SelectedHost.Port);

                    _Connector.DebugDump = false;

                    _Connector.ConnectivityChanged += Connector_ConnectivityChanged;
                    _Connector.ConnectivityChanged += IOProxy.Connector_ConnectivityChanged;
                    _Connector.MetricUpdate        += Connector_MetricUpdate;

                    Node      = new LinkUpNode();
                    Node.Name = NodeName;
                    Node.AddSubNode(Connector);
                    IOProxy.Node = Node;

                    IOProxy.UpdateLinkUpBindings();
                }
            }

            _SettingContainer.Save();
            if (Connector != null && Connector.ConnectivityState == LinkUpConnectivityState.Connected)
            {
                _IOProxy.UpdateSettings();
            }
        }
Exemple #13
0
 private static void ClientToServer_ReveivedPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     Console.ForegroundColor = ConsoleColor.Yellow;
     Console.WriteLine("- Client from Server:\n\t{0}", string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
     Console.ResetColor();
 }
Exemple #14
0
 private static void Connector_ConnectivityChanged(LinkUpConnector connector, LinkUpConnectivityState connectivity)
 {
     Console.WriteLine(connectivity);
 }
Exemple #15
0
 private static void Connector_MetricUpdate(LinkUpConnector connector, double bytesSentPerSecond, double bytesReceivedPerSecond)
 {
     Console.WriteLine("S: {0:0.0} Mbit/s\t\tR: {1:0.0} MBit/s", bytesSentPerSecond / 1024 / 1024 * 8, bytesReceivedPerSecond / 1024 / 1024 * 8);
 }
        private void _Connector_ReveivedPacket(LinkUpConnector connector, LinkUpPacket packet)
        {
            try
            {
                LinkUpLogic logic = LinkUpLogic.ParseFromPacket(packet);
                if (logic is LinkUpNameRequest)
                {
                    LinkUpNameRequest nameRequest = logic as LinkUpNameRequest;

                    if (nameRequest.LabelType == LinkUpLabelType.Node)
                    {
                        _IsInitialized = true;
                        _Name          = nameRequest.Name;

                        LinkUpNameResponse nameResponse = new LinkUpNameResponse();
                        nameResponse.Name       = nameRequest.Name;
                        nameResponse.Identifier = 0;
                        nameResponse.LabelType  = LinkUpLabelType.Node;
                        //_Master.RemoveLabels(_Name);
                        Task.Run(() =>
                        {
                            _Connector.SendPacket(nameResponse.ToPacket());
                        });
                    }
                    if (nameRequest.LabelType != LinkUpLabelType.Node)
                    {
                        LinkUpLabel label = _Master.AddSubLabel(string.Format("{0}/{1}", _Name, nameRequest.Name), nameRequest.LabelType, nameRequest.Options);
                        if (label.ChildIdentifier == 0)
                        {
                            label.ChildIdentifier = GetNextIdentifier();
                            //Console.WriteLine("ID: {0} Name: {1}", label.ChildIdentifier, label.Name);
                        }
                        label.Owner = this;

                        LinkUpNameResponse nameResponse = new LinkUpNameResponse();
                        nameResponse.Name       = nameRequest.Name;
                        nameResponse.Identifier = label.ChildIdentifier;
                        nameResponse.LabelType  = nameRequest.LabelType;

                        _Connector.SendPacket(nameResponse.ToPacket());

                        if (label.LabelType == LinkUpLabelType.Event)
                        {
                            Task.Run(() =>
                            {
                                try
                                {
                                    (label as LinkUpEventLabel).Resubscribe();
                                }
                                catch (Exception ex) { }
                            });
                        }
                    }
                }
                else if (logic is LinkUpEventFireRequest)
                {
                    LinkUpEventFireRequest eventFireRequest = (LinkUpEventFireRequest)logic;
                    LinkUpLabel            label            = _Master.Labels.FirstOrDefault(c => c.ChildIdentifier == eventFireRequest.Identifier);
                    if (label != null)
                    {
                        if (label is LinkUpEventLabel)
                        {
                            (label as LinkUpEventLabel).DoEvent(eventFireRequest.Data);
                        }
                    }
                }
                else if (logic is LinkUpEventSubscribeResponse)
                {
                    LinkUpEventSubscribeResponse eventSubscribeResponse = (LinkUpEventSubscribeResponse)logic;
                    LinkUpLabel label = _Master.Labels.FirstOrDefault(c => c.ChildIdentifier == eventSubscribeResponse.Identifier);
                    if (label != null)
                    {
                        if (label is LinkUpEventLabel)
                        {
                            (label as LinkUpEventLabel).SubscribeDone();
                        }
                    }
                }
                else if (logic is LinkUpEventUnsubscribeResponse)
                {
                    LinkUpEventUnsubscribeResponse eventUnsubscribeResponse = (LinkUpEventUnsubscribeResponse)logic;
                    LinkUpLabel label = _Master.Labels.FirstOrDefault(c => c.ChildIdentifier == eventUnsubscribeResponse.Identifier);
                    if (label != null)
                    {
                        if (label is LinkUpEventLabel)
                        {
                            (label as LinkUpEventLabel).UnsubscribeDone();
                        }
                    }
                }
                else if (logic is LinkUpPropertyGetResponse)
                {
                    LinkUpPropertyGetResponse propertyGetResponse = (LinkUpPropertyGetResponse)logic;
                    LinkUpLabel label = _Master.Labels.FirstOrDefault(c => c.ChildIdentifier == propertyGetResponse.Identifier);
                    if (label != null)
                    {
                        if (label is LinkUpPropertyLabelBase)
                        {
                            (label as LinkUpPropertyLabelBase).GetDone(propertyGetResponse.Data);
                        }
                    }
                }
                else if (logic is LinkUpPropertySetResponse)
                {
                    LinkUpPropertySetResponse propertySetResponse = (LinkUpPropertySetResponse)logic;
                    LinkUpLabel label = _Master.Labels.FirstOrDefault(c => c.ChildIdentifier == propertySetResponse.Identifier);
                    if (label != null)
                    {
                        if (label is LinkUpPropertyLabelBase)
                        {
                            (label as LinkUpPropertyLabelBase).SetDone();
                        }
                    }
                }
                else if (logic is LinkUpFunctionCallResponse)
                {
                    LinkUpFunctionCallResponse functionCallResponse = (LinkUpFunctionCallResponse)logic;
                    LinkUpLabel label = _Master.Labels.FirstOrDefault(c => c.ChildIdentifier == functionCallResponse.Identifier);
                    if (label != null)
                    {
                        if (label is LinkUpFunctionLabel)
                        {
                            (label as LinkUpFunctionLabel).DoEvent(functionCallResponse.Data);
                        }
                    }
                }
                else if (logic is LinkUpPingResponse)
                {
                    _LostPings = 0;
                }
            }
            catch (Exception)
            {
            }
        }
Exemple #17
0
 private static void SlaveToMaster_ReveivedPacket(LinkUpConnector connector, LinkUpPacket packet)
 {
     Console.ForegroundColor = ConsoleColor.Magenta;
     Console.WriteLine("- Slave from Master:\n\t{0}", string.Join(" ", packet.Data.Select(b => string.Format("{0:X2} ", b))));
     Console.ResetColor();
 }