Supported Types
Data is stored using string keys where slashes are used to denote subtables (similar to NetworkTables). Like NetworkTables, all logged values are persistent (they will continue to appear on subsequent cycles until updated).
Simple
The following simple data types are currently supported:
boolean, int, long, float, double, String, boolean[], int[], long[], float[], double[], String[], byte[]
Structured
Many WPILib classes can be serialized to binary data using structs or protobufs. Supported classes include Translation2d
, Pose3d
, and SwerveModuleState
with more coming soon. These classes can be logged as single values or arrays just like any simple type, and used as input or output fields.
AdvantageKit also supports logging the state of a Mechanism2d
object as an output. For details, see here.
Units
WPILib includes a units library that can be used to simplify unit conversions. Measure
objects can be logged and replayed by AdvantageKit. These values will be stored in the log as doubles using the base unit for the measurement type (e.g. distances will always be logged in meters).
Enums
Enum values can be logged and replayed by AdvantageKit. These values will be stored in the log as string values (using the name()
method).