Class SendableRegistry
- java.lang.Object
-
- edu.wpi.first.wpilibj.smartdashboard.SendableRegistry
-
public class SendableRegistry extends Object
The SendableRegistry class is the public interface for registering sensors and actuators for use on dashboards and LiveWindow.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSendableRegistry.CallbackDataData passed to foreachLiveWindow() callback function.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidadd(Sendable sendable, String name)Adds an object to the registry.static voidadd(Sendable sendable, String moduleType, int channel)Adds an object to the registry.static voidadd(Sendable sendable, String moduleType, int moduleNumber, int channel)Adds an object to the registry.static voidadd(Sendable sendable, String subsystem, String name)Adds an object to the registry.static voidaddChild(Sendable parent, Object child)Adds a child object to an object.static voidaddLW(Sendable sendable, String name)Adds an object to the registry and LiveWindow.static voidaddLW(Sendable sendable, String moduleType, int channel)Adds an object to the registry and LiveWindow.static voidaddLW(Sendable sendable, String moduleType, int moduleNumber, int channel)Adds an object to the registry and LiveWindow.static voidaddLW(Sendable sendable, String subsystem, String name)Adds an object to the registry and LiveWindow.static booleancontains(Sendable sendable)Determines if an object is in the registry.static voiddisableLiveWindow(Sendable sendable)Disables LiveWindow for an object.static voidenableLiveWindow(Sendable sendable)Enables LiveWindow for an object.static voidforeachLiveWindow(int dataHandle, Consumer<SendableRegistry.CallbackData> callback)Iterates over LiveWindow-enabled objects in the registry.static ObjectgetData(Sendable sendable, int handle)Gets arbitrary data associated with an object in the registry.static intgetDataHandle()Gets a unique handle for setting/getting data with setData() and getData().static StringgetName(Sendable sendable)Gets the name of an object.static StringgetSubsystem(Sendable sendable)Gets the subsystem name of an object.static voidpublish(Sendable sendable, NetworkTable table)Publishes an object in the registry to a network table.static booleanremove(Sendable sendable)Removes an object from the registry.static ObjectsetData(Sendable sendable, int handle, Object data)Associates arbitrary data with an object in the registry.static voidsetName(Sendable sendable, String name)Sets the name of an object.static voidsetName(Sendable sendable, String moduleType, int channel)Sets the name of an object with a channel number.static voidsetName(Sendable sendable, String moduleType, int moduleNumber, int channel)Sets the name of an object with a module and channel number.static voidsetName(Sendable sendable, String subsystem, String name)Sets both the subsystem name and device name of an object.static voidsetSubsystem(Sendable sendable, String subsystem)Sets the subsystem name of an object.static voidupdate(Sendable sendable)Updates network table information from an object.
-
-
-
Method Detail
-
add
public static void add(Sendable sendable, String name)
Adds an object to the registry.- Parameters:
sendable- object to addname- component name
-
add
public static void add(Sendable sendable, String moduleType, int channel)
Adds an object to the registry.- Parameters:
sendable- object to addmoduleType- A string that defines the module name in the label for the valuechannel- The channel number the device is plugged into
-
add
public static void add(Sendable sendable, String moduleType, int moduleNumber, int channel)
Adds an object to the registry.- Parameters:
sendable- object to addmoduleType- A string that defines the module name in the label for the valuemoduleNumber- The number of the particular module typechannel- The channel number the device is plugged into
-
add
public static void add(Sendable sendable, String subsystem, String name)
Adds an object to the registry.- Parameters:
sendable- object to addsubsystem- subsystem namename- component name
-
addLW
public static void addLW(Sendable sendable, String name)
Adds an object to the registry and LiveWindow.- Parameters:
sendable- object to addname- component name
-
addLW
public static void addLW(Sendable sendable, String moduleType, int channel)
Adds an object to the registry and LiveWindow.- Parameters:
sendable- object to addmoduleType- A string that defines the module name in the label for the valuechannel- The channel number the device is plugged into
-
addLW
public static void addLW(Sendable sendable, String moduleType, int moduleNumber, int channel)
Adds an object to the registry and LiveWindow.- Parameters:
sendable- object to addmoduleType- A string that defines the module name in the label for the valuemoduleNumber- The number of the particular module typechannel- The channel number the device is plugged into
-
addLW
public static void addLW(Sendable sendable, String subsystem, String name)
Adds an object to the registry and LiveWindow.- Parameters:
sendable- object to addsubsystem- subsystem namename- component name
-
addChild
public static void addChild(Sendable parent, Object child)
Adds a child object to an object. Adds the child object to the registry if it's not already present.- Parameters:
parent- parent objectchild- child object
-
remove
public static boolean remove(Sendable sendable)
Removes an object from the registry.- Parameters:
sendable- object to remove- Returns:
- true if the object was removed; false if it was not present
-
contains
public static boolean contains(Sendable sendable)
Determines if an object is in the registry.- Parameters:
sendable- object to check- Returns:
- True if in registry, false if not.
-
getName
public static String getName(Sendable sendable)
Gets the name of an object.- Parameters:
sendable- object- Returns:
- Name (empty if object is not in registry)
-
setName
public static void setName(Sendable sendable, String name)
Sets the name of an object.- Parameters:
sendable- objectname- name
-
setName
public static void setName(Sendable sendable, String moduleType, int channel)
Sets the name of an object with a channel number.- Parameters:
sendable- objectmoduleType- A string that defines the module name in the label for the valuechannel- The channel number the device is plugged into
-
setName
public static void setName(Sendable sendable, String moduleType, int moduleNumber, int channel)
Sets the name of an object with a module and channel number.- Parameters:
sendable- objectmoduleType- A string that defines the module name in the label for the valuemoduleNumber- The number of the particular module typechannel- The channel number the device is plugged into
-
setName
public static void setName(Sendable sendable, String subsystem, String name)
Sets both the subsystem name and device name of an object.- Parameters:
sendable- objectsubsystem- subsystem namename- device name
-
getSubsystem
public static String getSubsystem(Sendable sendable)
Gets the subsystem name of an object.- Parameters:
sendable- object- Returns:
- Subsystem name (empty if object is not in registry)
-
setSubsystem
public static void setSubsystem(Sendable sendable, String subsystem)
Sets the subsystem name of an object.- Parameters:
sendable- objectsubsystem- subsystem name
-
getDataHandle
public static int getDataHandle()
Gets a unique handle for setting/getting data with setData() and getData().- Returns:
- Handle
-
setData
public static Object setData(Sendable sendable, int handle, Object data)
Associates arbitrary data with an object in the registry.- Parameters:
sendable- objecthandle- data handle returned by getDataHandle()data- data to set- Returns:
- Previous data (may be null)
-
getData
public static Object getData(Sendable sendable, int handle)
Gets arbitrary data associated with an object in the registry.- Parameters:
sendable- objecthandle- data handle returned by getDataHandle()- Returns:
- data (may be null if none associated)
-
enableLiveWindow
public static void enableLiveWindow(Sendable sendable)
Enables LiveWindow for an object.- Parameters:
sendable- object
-
disableLiveWindow
public static void disableLiveWindow(Sendable sendable)
Disables LiveWindow for an object.- Parameters:
sendable- object
-
publish
public static void publish(Sendable sendable, NetworkTable table)
Publishes an object in the registry to a network table.- Parameters:
sendable- objecttable- network table
-
update
public static void update(Sendable sendable)
Updates network table information from an object.- Parameters:
sendable- object
-
foreachLiveWindow
public static void foreachLiveWindow(int dataHandle, Consumer<SendableRegistry.CallbackData> callback)Iterates over LiveWindow-enabled objects in the registry. It is *not* safe to call other SendableRegistry functions from the callback.- Parameters:
dataHandle- data handle to get data object passed to callbackcallback- function to call for each object
-
-