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

    • 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.
    • setFlags

      public static void setFlags​(String key, int flags)
      Sets flags on the specified key in this table. The key can not be null.
      Parameters:
      key - the key name
      flags - the flags to set (bitmask)
    • clearFlags

      public static void clearFlags​(String key, int flags)
      Clears flags on the specified key in this table. The key can not be null.
      Parameters:
      key - the key name
      flags - the flags to clear (bitmask)
    • getFlags

      public static int getFlags​(String key)
      Returns the flags for the specified key.
      Parameters:
      key - the key name
      Returns:
      the flags, or 0 if the key is not defined
    • delete

      public static void delete​(String key)
      Deletes the specified key in this table. The key can not be null.
      Parameters:
      key - the key name
    • 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
    • putRaw

      public static boolean putRaw​(String key, ByteBuffer value, int len)
      Put a raw value (bytes from a byte buffer) in the table.
      Parameters:
      key - the key to be assigned to
      value - the value that will be assigned
      len - the length of the value
      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.