Class SmartDashboard

java.lang.Object
edu.wpi.first.wpilibj.smartdashboard.SmartDashboard

public final class SmartDashboard
extends Object
The SmartDashboard class is the bridge between robot programs and the SmartDashboard on the laptop.

When a value is put into the SmartDashboard here, it pops up on the SmartDashboard on the laptop. Users can put values into and get values from the SmartDashboard.

  • Method Details

    • setNetworkTableInstance

      public static void setNetworkTableInstance​(NetworkTableInstance inst)
      Set the NetworkTable instance used for entries. For testing purposes; use with caution.
      Parameters:
      inst - NetworkTable instance
    • putData

      public static void putData​(String key, Sendable data)
      Maps the specified key to the specified value in this table. The key can not be null. The value can be retrieved by calling the get method with a key that is equal to the original key.
      Parameters:
      key - the key
      data - the value
      Throws:
      IllegalArgumentException - If key is null
    • putData

      public static void putData​(Sendable value)
      Maps the specified key (where the key is the name of the Sendable) to the specified value in this table. The value can be retrieved by calling the get method with a key that is equal to the original key.
      Parameters:
      value - the value
      Throws:
      IllegalArgumentException - If key is null
    • getData

      public static Sendable getData​(String key)
      Returns the value at the specified key.
      Parameters:
      key - the key
      Returns:
      the value
      Throws:
      IllegalArgumentException - if the key is null
    • getEntry

      public static NetworkTableEntry getEntry​(String key)
      Gets the entry for the specified key.
      Parameters:
      key - the key name
      Returns:
      Network table entry.
    • containsKey

      public static boolean containsKey​(String key)
      Checks the table and tells if it contains the specified key.
      Parameters:
      key - the key to search for
      Returns:
      true if the table as a value assigned to the given key
    • getKeys

      public static Set<String> getKeys​(int types)
      Get the keys stored in the SmartDashboard table of NetworkTables.
      Parameters:
      types - bitmask of types; 0 is treated as a "don't care".
      Returns:
      keys currently in the table
    • getKeys

      public static Set<String> getKeys()
      Get the keys stored in the SmartDashboard table of NetworkTables.
      Returns:
      keys currently in the table.
    • setPersistent

      public static void setPersistent​(String key)
      Makes a key's value persistent through program restarts. The key cannot be null.
      Parameters:
      key - the key name
    • clearPersistent

      public static void clearPersistent​(String key)
      Stop making a key's value persistent through program restarts. The key cannot be null.
      Parameters:
      key - the key name
    • isPersistent

      public static boolean isPersistent​(String key)
      Returns whether the value is persistent through program restarts. The key cannot be null.
      Parameters:
      key - the key name
      Returns:
      True if the value is persistent.
    • putBoolean

      public static boolean putBoolean​(String key, boolean value)
      Put a boolean in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • setDefaultBoolean

      public static boolean setDefaultBoolean​(String key, boolean defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • getBoolean

      public static boolean getBoolean​(String key, boolean defaultValue)
      Returns the boolean the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • putNumber

      public static boolean putNumber​(String key, double value)
      Put a number in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • setDefaultNumber

      public static boolean setDefaultNumber​(String key, double defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • getNumber

      public static double getNumber​(String key, double defaultValue)
      Returns the number the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • putString

      public static boolean putString​(String key, String value)
      Put a string in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • setDefaultString

      public static boolean setDefaultString​(String key, String defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • getString

      public static String getString​(String key, String defaultValue)
      Returns the string the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • putBooleanArray

      public static boolean putBooleanArray​(String key, boolean[] value)
      Put a boolean array in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • putBooleanArray

      public static boolean putBooleanArray​(String key, Boolean[] value)
      Put a boolean array in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • setDefaultBooleanArray

      public static boolean setDefaultBooleanArray​(String key, boolean[] defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • setDefaultBooleanArray

      public static boolean setDefaultBooleanArray​(String key, Boolean[] defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • getBooleanArray

      public static boolean[] getBooleanArray​(String key, boolean[] defaultValue)
      Returns the boolean array the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • getBooleanArray

      public static Boolean[] getBooleanArray​(String key, Boolean[] defaultValue)
      Returns the boolean array the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • putNumberArray

      public static boolean putNumberArray​(String key, double[] value)
      Put a number array in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • putNumberArray

      public static boolean putNumberArray​(String key, Double[] value)
      Put a number array in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • setDefaultNumberArray

      public static boolean setDefaultNumberArray​(String key, double[] defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • setDefaultNumberArray

      public static boolean setDefaultNumberArray​(String key, Double[] defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • getNumberArray

      public static double[] getNumberArray​(String key, double[] defaultValue)
      Returns the number array the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • getNumberArray

      public static Double[] getNumberArray​(String key, Double[] defaultValue)
      Returns the number array the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • putStringArray

      public static boolean putStringArray​(String key, String[] value)
      Put a string array in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • setDefaultStringArray

      public static boolean setDefaultStringArray​(String key, String[] defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • getStringArray

      public static String[] getStringArray​(String key, String[] defaultValue)
      Returns the string array the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • putRaw

      public static boolean putRaw​(String key, byte[] value)
      Put a raw value (byte array) in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      Returns:
      False if the table key already exists with a different type
    • setDefaultRaw

      public static boolean setDefaultRaw​(String key, byte[] defaultValue)
      Gets the current value in the table, setting it if it does not exist.
      Parameters:
      key - the key
      defaultValue - the default value to set if key does not exist.
      Returns:
      False if the table key exists with a different type
    • getRaw

      public static byte[] getRaw​(String key, byte[] defaultValue)
      Returns the raw value (byte array) the key maps to. If the key does not exist or is of different type, it will return the default value.
      Parameters:
      key - the key to look up
      defaultValue - the value to be returned if no value is found
      Returns:
      the value associated with the given key or the given default value if there is no value associated with the key
    • postListenerTask

      public static void postListenerTask​(Runnable task)
      Posts a task from a listener to the ListenerExecutor, so that it can be run synchronously from the main loop on the next call to updateValues().
      Parameters:
      task - The task to run synchronously from the main thread.
    • updateValues

      public static void updateValues()
      Puts all sendable data to the dashboard.