コード例 #1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            bool connected = false;

            try
            {
                host.Text = settings["host"] as string;
                port.Text = settings["port"] as string;
                uid.Text  = settings["uid"] as string;
                connected = settings["connected"].Equals(true);
            }
            catch (KeyNotFoundException)
            {
                settings["host"]      = host.Text;
                settings["port"]      = port.Text;
                settings["uid"]       = uid.Text;
                settings["connected"] = connected;
                settings.Save();
            }

            if (connected &&
                (ipcon == null ||
                 ipcon.GetConnectionState() == IPConnection.CONNECTION_STATE_DISCONNECTED))
            {
                Connect();
            }
        }
コード例 #2
0
        private bool EstablishMasterBrickConnection()
        {
            if (_ipConnection == null)
            {
                _ipConnection = new IPConnection();
            }

            var retries = 0;

            while ((_ipConnection.GetConnectionState() != IPConnection.CONNECTION_STATE_CONNECTED) && retries < 3)
            {
                retries++;
                try
                {
                    _ipConnection.Connect(_masterBrickHost, _masterBrickPort);
                    return(true);
                }
                catch (Exception e)
                {
                    Console.WriteLine($"Caught a Tinkerforge Exception ({e.Message}). Try number {retries.ToString()}");
                }

                if (retries > 1)
                {
                    Thread.Sleep(1500);
                }
            }

            return(false);
        }