![]() |
WPILibC++ 2025.3.2
|
The SendableRegistry class is the public interface for registering sensors and actuators for use on dashboards and LiveWindow. More...
#include <wpi/sendable/SendableRegistry.h>
Classes | |
| struct | CallbackData |
| Data passed to ForeachLiveWindow() callback function. More... | |
Public Types | |
| using | UID = size_t |
Public Member Functions | |
| SendableRegistry ()=delete | |
Static Public Member Functions | |
| static void | EnsureInitialized () |
| Initializes the SendableRegistry. | |
| static void | SetLiveWindowBuilderFactory (std::function< std::unique_ptr< SendableBuilder >()> factory) |
| Sets the factory for LiveWindow builders. | |
| static void | Add (Sendable *sendable, std::string_view name) |
| Adds an object to the registry. | |
| static void | Add (Sendable *sendable, std::string_view moduleType, int channel) |
| Adds an object to the registry. | |
| static void | Add (Sendable *sendable, std::string_view moduleType, int moduleNumber, int channel) |
| Adds an object to the registry. | |
| static void | Add (Sendable *sendable, std::string_view subsystem, std::string_view name) |
| Adds an object to the registry. | |
| static void | AddLW (Sendable *sendable, std::string_view name) |
| Adds an object to the registry and LiveWindow. | |
| static void | AddLW (Sendable *sendable, std::string_view moduleType, int channel) |
| Adds an object to the registry and LiveWindow. | |
| static void | AddLW (Sendable *sendable, std::string_view moduleType, int moduleNumber, int channel) |
| Adds an object to the registry and LiveWindow. | |
| static void | AddLW (Sendable *sendable, std::string_view subsystem, std::string_view name) |
| Adds an object to the registry and LiveWindow. | |
| static void | AddChild (Sendable *parent, Sendable *child) |
| Adds a child object to an object. | |
| static void | AddChild (Sendable *parent, void *child) |
| Adds a child object to an object. | |
| static bool | Remove (Sendable *sendable) |
| Removes an object from the registry. | |
| static void | Move (Sendable *to, Sendable *from) |
| Moves an object in the registry (for use in move constructors/assignments). | |
| static bool | Contains (const Sendable *sendable) |
| Determines if an object is in the registry. | |
| static std::string | GetName (const Sendable *sendable) |
| Gets the name of an object. | |
| static void | SetName (Sendable *sendable, std::string_view name) |
| Sets the name of an object. | |
| static void | SetName (Sendable *sendable, std::string_view moduleType, int channel) |
| Sets the name of an object with a channel number. | |
| static void | SetName (Sendable *sendable, std::string_view moduleType, int moduleNumber, int channel) |
| Sets the name of an object with a module and channel number. | |
| static void | SetName (Sendable *sendable, std::string_view subsystem, std::string_view name) |
| Sets both the subsystem name and device name of an object. | |
| static std::string | GetSubsystem (const Sendable *sendable) |
| Gets the subsystem name of an object. | |
| static void | SetSubsystem (Sendable *sendable, std::string_view subsystem) |
| Sets the subsystem name of an object. | |
| static int | GetDataHandle () |
| Gets a unique handle for setting/getting data with SetData() and GetData(). | |
| static std::shared_ptr< void > | SetData (Sendable *sendable, int handle, std::shared_ptr< void > data) |
| Associates arbitrary data with an object in the registry. | |
| static std::shared_ptr< void > | GetData (Sendable *sendable, int handle) |
| Gets arbitrary data associated with an object in the registry. | |
| static void | EnableLiveWindow (Sendable *sendable) |
| Enables LiveWindow for an object. | |
| static void | DisableLiveWindow (Sendable *sendable) |
| Disables LiveWindow for an object. | |
| static UID | GetUniqueId (Sendable *sendable) |
| Get unique id for an object. | |
| static Sendable * | GetSendable (UID uid) |
| Get sendable object for a given unique id. | |
| static void | Publish (UID sendableUid, std::unique_ptr< SendableBuilder > builder) |
| Publishes an object in the registry. | |
| static void | Update (UID sendableUid) |
| Updates published information from an object. | |
| static void | ForeachLiveWindow (int dataHandle, wpi::function_ref< void(CallbackData &cbdata)> callback) |
| Iterates over LiveWindow-enabled objects in the registry. | |
The SendableRegistry class is the public interface for registering sensors and actuators for use on dashboards and LiveWindow.
| using wpi::SendableRegistry::UID = size_t |
|
delete |
|
static |
Adds an object to the registry.
| sendable | object to add |
| moduleType | A string that defines the module name in the label for the value |
| channel | The channel number the device is plugged into |
|
static |
Adds an object to the registry.
| sendable | object to add |
| moduleType | A string that defines the module name in the label for the value |
| moduleNumber | The number of the particular module type |
| channel | The channel number the device is plugged into |
|
static |
Adds an object to the registry.
| sendable | object to add |
| name | component name |
|
static |
Adds an object to the registry.
| sendable | object to add |
| subsystem | subsystem name |
| name | component name |
Adds a child object to an object.
Adds the child object to the registry if it's not already present.
| parent | parent object |
| child | child object |
|
static |
Adds a child object to an object.
Adds the child object to the registry if it's not already present.
| parent | parent object |
| child | child object |
|
static |
Adds an object to the registry and LiveWindow.
| sendable | object to add |
| moduleType | A string that defines the module name in the label for the value |
| channel | The channel number the device is plugged into |
|
static |
Adds an object to the registry and LiveWindow.
| sendable | object to add |
| moduleType | A string that defines the module name in the label for the value |
| moduleNumber | The number of the particular module type |
| channel | The channel number the device is plugged into |
|
static |
Adds an object to the registry and LiveWindow.
| sendable | object to add |
| name | component name |
|
static |
Adds an object to the registry and LiveWindow.
| sendable | object to add |
| subsystem | subsystem name |
| name | component name |
|
static |
Determines if an object is in the registry.
| sendable | object to check |
|
static |
Disables LiveWindow for an object.
| sendable | object |
|
static |
Enables LiveWindow for an object.
| sendable | object |
|
static |
Initializes the SendableRegistry.
This is used to ensure initialization and destruction order relative to Sendables.
|
static |
Iterates over LiveWindow-enabled objects in the registry.
It is not safe to call other SendableRegistry functions from the callback (this will likely deadlock).
| dataHandle | data handle to get data pointer passed to callback |
| callback | function to call for each object |
|
static |
Gets arbitrary data associated with an object in the registry.
| sendable | object |
| handle | data handle returned by GetDataHandle() |
|
static |
|
static |
Gets the name of an object.
| sendable | object |
Get sendable object for a given unique id.
| uid | unique id |
|
static |
Gets the subsystem name of an object.
| sendable | object |
Get unique id for an object.
Since objects can move, use this instead of storing Sendable* directly if ownership is in question.
| sendable | object |
Moves an object in the registry (for use in move constructors/assignments).
| to | new object |
| from | old object |
|
static |
Publishes an object in the registry.
| sendableUid | sendable unique id |
| builder | publisher backend |
|
static |
Removes an object from the registry.
| sendable | object to remove |
|
static |
Associates arbitrary data with an object in the registry.
| sendable | object |
| handle | data handle returned by GetDataHandle() |
| data | data to set |
|
static |
Sets the factory for LiveWindow builders.
| factory | factory function |
|
static |
Sets the name of an object with a channel number.
| sendable | object |
| moduleType | A string that defines the module name in the label for the value |
| channel | The channel number the device is plugged into |
|
static |
Sets the name of an object with a module and channel number.
| sendable | object |
| moduleType | A string that defines the module name in the label for the value |
| moduleNumber | The number of the particular module type |
| channel | The channel number the device is plugged into |
|
static |
Sets the name of an object.
| sendable | object |
| name | name |
|
static |
Sets both the subsystem name and device name of an object.
| sendable | object |
| subsystem | subsystem name |
| name | device name |
|
static |
Sets the subsystem name of an object.
| sendable | object |
| subsystem | subsystem name |
|
static |
Updates published information from an object.
| sendableUid | sendable unique id |