Пример #1
0
        public void SetUp()
        {
            NetworkTable.Shutdown();

            /*
             * //We can't run NT or File based tests on the simulator. Just auto pass them.
             * if (RobotBase.IsSimulation)
             * {
             *  return;
             * }
             */
            try
            {
                string file = "networktables.ini";
                if (File.Exists(file))
                {
                    File.Delete(file);
                }

                using (StreamWriter writer = new StreamWriter(file))
                {
                    writer.Write("[NetworkTables Storage 3.0]\ndouble \"/Preferences/checkedValueInt\"=2\ndouble \"/Preferences/checkedValueDouble\"=.2\ndouble \"/Preferences/checkedValueFloat\"=3.14\ndouble \"/Preferences/checkedValueLong\"=172\nstring \"/Preferences/checkedValueString\"=\"hello \\nHow are you ?\"\nboolean \"/Preferences/checkedValueBoolean\"=false\n");
                }
            }
            catch (IOException exception)
            {
                Console.WriteLine(exception);
            }

            NetworkTable.Initialize();

            pref      = Preferences.Instance;
            prefTable = NetworkTable.GetTable("Preferences");
            check     = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
        }
Пример #2
0
        static void Main(string[] args)
        {
            NetworkTable.SetClientMode();
            NetworkTable.SetIPAddress("10.44.88.2");
            NetworkTable.SetNetworkIdentity("KangarooRunner");
            ITable runnerTable = NetworkTable.GetTable("SmartDashboard");

            CameraWatcher watcher = new CameraWatcher();
            VisionProcess proc    = new VisionProcess();

            Timer timer = new Timer((o) =>
            {
                runnerTable.PutNumber("Kangaroo Battery", System.Windows.Forms.SystemInformation.PowerStatus.BatteryLifePercent);
                bool connected = watcher.Alive;
                if (connected)
                {
                    proc.Start();
                }
                else
                {
                    proc.Stop();
                }
            }, null, 5000, 5000);

            Thread.Sleep(Timeout.Infinite);
        }
 public void TestSetClientModeWhileRunningServer()
 {
     NetworkTable.SetServerMode();
     Assert.That(NetworkTable.Client, Is.False);
     NetworkTable.Initialize();
     Assert.Throws <InvalidOperationException>(NetworkTable.SetClientMode);
 }
Пример #4
0
 public static void SetUpBeforeClass()
 {
     if (RobotBase.IsReal)
     {
         s_table = NetworkTable.GetTable("SmartDashboard");
     }
 }
        public void TestSavePersistent()
        {
            string key1     = "key1";
            string toWrite1 = "val1";

            m_table.PutString(key1, toWrite1);
            m_table.SetFlags(key1, EntryFlags.Persistent);

            string key2 = "key2";

            m_table.PutBoolean(key2, true);
            m_table.SetFlags(key2, EntryFlags.Persistent);

            string fileName = "testfile.txt";

            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }

            NetworkTable.SavePersistent(fileName);

            string[] lines = File.ReadAllLines(fileName);

            Assert.That(lines.Length, Is.GreaterThanOrEqualTo(3));
            Assert.That(lines[0], Contains.Substring("[NetworkTables Storage 3.0]"));
            Assert.That(lines[1], Contains.Substring($"string \"/Table/{key1}\"=\"{toWrite1}\""));
            Assert.That(lines[2], Contains.Substring($"boolean \"/Table/{key2}\"=true"));
        }
 public void TestDoubleInitializeServer()
 {
     NetworkTable.SetServerMode();
     Assert.That(NetworkTable.Client, Is.False);
     NetworkTable.Initialize();
     Assert.DoesNotThrow(NetworkTable.Initialize);
 }
        public void TestLoadPersistent()
        {
            const string key1 = "key1";
            const string key2 = "key2";
            const string val1 = "val1";

            string[] toWrite = new[]
            {
                "[NetworkTables Storage 3.0]",
                $"string \"/Table/{key1}\"=\"{val1}\"",
                $"boolean \"/Table/{key2}\"=true",
                ""
            };

            string fileName = "testfile.txt";

            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }

            File.WriteAllLines(fileName, toWrite);

            IList <string> errors = NetworkTable.LoadPersistent(fileName);

            Assert.That(errors.Count, Is.EqualTo(0));

            HashSet <string> entries = m_table.GetKeys();

            Assert.That(entries.Count, Is.EqualTo(2));

            Assert.That(m_table.GetString(key1, ""), Is.EqualTo(val1));
            Assert.That(m_table.GetBoolean(key2, false), Is.EqualTo(true));
        }
Пример #8
0
 internal ShuffleboardInstance(NetworkTableInstance ntInstance)
 {
     m_rootTable        = ntInstance.GetTable(Shuffleboard.kBaseTableName);
     m_rootMetaTable    = m_rootTable.GetSubTable(".metadata");
     m_selectedTabEntry = m_rootMetaTable.GetEntry("Selected");
     UsageReporting.Report(ResourceType.Shuffleboard, 0);
 }
 public void TestDoubleInitializeClient()
 {
     NetworkTable.SetClientMode();
     Assert.That(NetworkTable.Client, Is.True);
     NetworkTable.Initialize();
     Assert.DoesNotThrow(NetworkTable.Initialize);
 }
 /// <summary>
 /// Starts up the network binding engine, including network table access. Only call once during normal program execution
 /// </summary>
 /// <param name="team">The team number to use for mDNS connection</param>
 /// <param name="dispatcher">The dispatcher of the UI thread so writes can happen</param>
 /// <param name="useDriverStation">Whether the network bindings should use the driver station connection</param>
 public static void Initialize(int team, Dispatcher dispatcher, bool useDriverStation)
 {
     if (!IsRunning)
     {
         assignmentDispatch = dispatcher;
         NetworkTable.SetClientMode();
         if (team == 0)
         {
             NetworkTable.SetIPAddress("localhost");
         }
         else
         {
             NetworkTable.SetTeam(team);
         }
         NetworkTable.SetUpdateRate(0.1);
         NetworkTable.SetDSClientEnabled(useDriverStation);
         NetworkTable.SetNetworkIdentity("C# Dashboard");
         NetworkTable.Initialize();
         foreach (INotifyPropertyChanged item in propertyLookup.Keys)
         {
             (item as DependencyNotifyListener)?.RefreshBindings();
         }
         NetworkUtil.SmartDashboard.AddTableListener(OnNetworkTableChange, true);
         IsRunning = true;
     }
 }
Пример #11
0
 public Property(NetworkTable table, string key)
 {
     Entry          = table.GetEntry(key);
     Listener       = new NtEntryListener(0);
     Update         = null;
     CreateListener = null;
 }
Пример #12
0
 public App()
 {
     NetworkTable.SetClientMode();
     NetworkTable.SetIPAddress(@"127.0.0.1");
     NetworkTable.SetNetworkIdentity(@"BRONCBOTZ_DASHBOARD2");
     NetworkTable.Initialize();
 }
Пример #13
0
 public static void ClassSetup()
 {
     if (RobotBase.IsReal)
     {
         s_table = NetworkTable.GetTable("_RELAY_CROSS_CONNECT_TEST_");
     }
 }
Пример #14
0
 public void Setup()
 {
     s_me.Setup();
     m_table = NetworkTable.GetTable("TEST_PID");
     m_controller = new PIDController(m_kP, m_kI, m_kD, s_me.GetEncoder(), s_me.GetMotor());
     m_controller.InitTable(m_table);
 }
 public void TestBadPersistentFileRead()
 {
     Assert.Throws <PersistentException>(() =>
     {
         NetworkTable.LoadPersistent("invalid.txt");
     });
 }
        public void TestPersistentLoadError()
        {
            const string key1 = "key1";
            const string key2 = "key2";
            const string val1 = "val1";

            string[] toWrite = new[]
            {
                "[NetworkTables Storage 3.0]",
                $"string \"/Table/{key1}\"=\"{val1}\"",
                $"boolean \"/Table/{key2}\"=invalid",
                ""
            };

            string fileName = "testfile.txt";

            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }

            File.WriteAllLines(fileName, toWrite);

            IList <string> errors = NetworkTable.LoadPersistent(fileName);

            Assert.That(errors.Count, Is.EqualTo(1));
            Assert.That(errors[0], Contains.Substring("3: unrecognized boolean value, not 'true' or 'false'"));
        }
 public void TestServerShutdown()
 {
     NetworkTable.SetServerMode();
     NetworkTable.Initialize();
     Assert.That(NetworkTable.Running, Is.True);
     NetworkTable.Shutdown();
     Assert.That(NetworkTable.Running, Is.False);
 }
Пример #18
0
 public void TestStaticListeners()
 {
     NetworkTable.AddGlobalConnectionListener(((remote, info, conn) =>
     {
         Console.WriteLine("Connected");
     }), true);
     Assert.Pass();
 }
Пример #19
0
 public override void BuildInto(NetworkTable parentTable, NetworkTable metaTable)
 {
     BuildMetadata(metaTable);
     if (!m_entry.IsValid)
     {
         m_entry = parentTable.GetEntry(Title);
     }
 }
Пример #20
0
 private void ConnectClicked(object sender, RoutedEventArgs e)
 {
     NetworkTable.Shutdown();
     NetworkTable.SetIPAddress(Properties.Settings.Default.LastServer.ToString());
     NetworkTable.SetClientMode();
     NetworkTable.Initialize();
     DialogResult = true;
     Close();
 }
 public ContourDataAnalyzer()
 {
     //StaticResources.NetworkTablesAddress = "127.0.0.1";
     NetworkTable.SetClientMode();
     NetworkTable.SetUpdateRate(0.1);
     NetworkTable.SetNetworkIdentity("CocoNutsImageProcessing");
     NetworkTable.SetIPAddress(StaticResources.NetworkTablesAddress);
     table = NetworkTable.GetTable("CamData");
 }
Пример #22
0
        public static void Init()
        {
            Console.WriteLine("Initializing NT");
            NetworkTable.setClientMode();
            NetworkTable.setIPAddress("localhost");
            table = NetworkTable.getTable("kinect");

            jan1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
        }
Пример #23
0
 /// <summary>
 /// Creates a new RobotBase. When this is called, it initializes NetworkTables and the
 /// <see cref="DriverStation"/>
 /// </summary>
 protected RobotBase()
 {
     NetworkTable.SetNetworkIdentity("Robot");
     NetworkTable.SetPersistentFilename("/home/lvuser/networktables.ini");
     NetworkTable.SetServerMode();
     m_ds = DriverStation.Instance;
     NetworkTable.GetTable("");
     NetworkTable.GetTable("LiveWindow").GetSubTable("~STATUS~").PutBoolean("LW Enabled", false);
 }
 public void FixtureTeardown()
 {
     NetworkTable.Shutdown();
     NetworkTable.SetIPAddress("127.0.0.1");
     NetworkTable.SetPersistentFilename(NetworkTable.DefaultPersistentFileName);
     NetworkTable.SetPort(10000);
     NetworkTable.SetServerMode();
     NetworkTable.Initialize();
 }
Пример #25
0
        public override void BuildInto(NetworkTable parentTable, NetworkTable metaTable)
        {
            BuildMetadata(metaTable);
            metaTable.GetEntry("Controllable").SetBoolean(false);

            var entry = parentTable.GetEntry(Title);

            m_setter(entry, m_supplier());
        }
Пример #26
0
        public void update(NetworkTable table, Boolean edit_mode)
        {
            this.CanEdit = edit_mode;

            try
            {
                // Gets NetTables data
                String[] m_nt_values = table.GetStringArray(m_key);

                if (m_length == m_nt_values.Length)
                {
                    for (int i = 0; i < m_buttons.Count; i++)
                    {
                        m_buttons[i].Text = m_nt_values[i];
                        if (m_buttons[i].Checked == true)
                        {
                            Console.Out.WriteLine(i);
                            m_nt_values[m_nt_values.Length - 1] = i.ToString();
                            table.PutStringArray(m_key, m_nt_values);
                        }
                    }
                }
                else
                {
                    foreach (RadioButton element in m_buttons)
                    {
                        element.MouseDown -= cascadeMouseDown;
                        element.MouseUp   -= cascadeMouseUp;
                        element.MouseMove -= cascadeMouseMove;
                        this.release();
                        this.Controls.Remove(element);
                    }

                    m_buttons = new List <RadioButton>();

                    for (int i = 0; i < m_nt_values.Length - 1; i++)
                    {
                        m_buttons.Add(new RadioButton());
                        m_buttons[i].MouseDown += cascadeMouseDown;
                        m_buttons[i].MouseUp   += cascadeMouseUp;
                        m_buttons[i].MouseMove += cascadeMouseMove;
                        m_buttons[i].Text       = m_nt_values[i];
                        m_buttons[i].AutoSize   = true;
                        this.Controls.Add(m_buttons[i]);
                        m_buttons[i].Location = new Point(0, 30 + 20 * i);
                    }

                    m_buttons[Convert.ToInt32(m_nt_values[m_nt_values.Length - 1])].Checked = true;

                    m_length = m_nt_values.Length;
                }
            }
            catch
            {
                Console.Out.WriteLine("Dashboards don't quit. This error is to make sure it doesn't!");
            }
        }
Пример #27
0
 private void networkTablesInit(string address)
 {
     NetworkTable.Shutdown();
     NetworkTable.SetClientMode();
     NetworkTable.SetIPAddress(address);
     TableManager.Instance.Table = NetworkTable.GetTable("DASHBOARD_2017");
     TableManager.Instance.Table.AddConnectionListener(new NetworkTableLister(this), true);
     TableManager.Instance.Table.AddTableListener(new TableActivityListener(this), true);
 }
 public void TestSetClientModeWhileStopped()
 {
     NetworkTable.SetServerMode();
     Assert.That(NetworkTable.Client, Is.False);
     NetworkTable.SetClientMode();
     Assert.That(NetworkTable.Client, Is.True);
     NetworkTable.SetClientMode();
     Assert.That(NetworkTable.Client, Is.True);
 }
Пример #29
0
        public void TestLeadingSlash()
        {
            NetworkTable.GlobalDeleteAll();
            var nt  = NetworkTable.GetTable("leadingslash");
            var nt2 = NetworkTable.GetTable("/leadingslash");

            Assert.That(nt.ContainsKey("testkey"), Is.False);
            nt2.PutNumber("testkey", 5);
            Assert.That(nt.ContainsKey("testkey"), Is.True);
        }
 public void TestSetPersistentFilename()
 {
     NetworkTable.SetPersistentFilename(NetworkTable.DefaultPersistentFileName);
     NetworkTable.SetPersistentFilename(NetworkTable.DefaultPersistentFileName);
     Assert.That(NetworkTable.PersistentFilename, Is.EqualTo(NetworkTable.DefaultPersistentFileName));
     NetworkTable.SetPersistentFilename("TestFile.txt");
     Assert.That(NetworkTable.PersistentFilename, Is.EqualTo("TestFile.txt"));
     NetworkTable.SetPersistentFilename(NetworkTable.DefaultPersistentFileName);
     Assert.That(NetworkTable.PersistentFilename, Is.EqualTo(NetworkTable.DefaultPersistentFileName));
 }