Class SwerveDriveTelemetryConfig
java.lang.Object
yams.core.telemetry.SwerveDriveTelemetryConfig
Swerve drive telemetry configuration.
Use this builder to select exactly which fields are published to NetworkTables and/or DataLog.
Every field is disabled by default; call the individual with*() methods to opt in, or use
withTelemetryVerbosity(TelemetryVerbosity) to enable a predefined set.
Example
SwerveDriveTelemetryConfig telemetryCfg =
new SwerveDriveTelemetryConfig()
// choose a verbosity preset (LOW / MID / HIGH), or enable fields individually below
.withTelemetryVerbosity(TelemetryVerbosity.HIGH)
// optionally enable individual fields on top of the preset
.withPose()
.withGyro()
.withCurrentRobotRelativeChassisSpeeds()
.withFieldRelativeChassisSpeeds()
.withDesiredRobotRelativeChassisSpeeds()
.withDesiredModuleStates()
.withCurrentModuleStates()
// disable NT4 output (e.g. during competition) and log to DataLog instead
.withoutNetworkTables()
.withDataLogName("swerve");
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructorSwerveDriveTelemetryConfig(TelemetryVerbosity verbosity) Constructor with verbosity preset. -
Method Summary
Modifier and TypeMethodDescriptionMap<SwerveDriveTelemetry.BooleanTelemetryField, BooleanTelemetry<SwerveDriveTelemetry.BooleanTelemetryField>> Get the configured boolean fields.Get the entry name for theSwerveDrivein DataLog.Map<SwerveDriveTelemetry.DoubleTelemetryField, DoubleTelemetry<SwerveDriveTelemetry.DoubleTelemetryField>> getDoubleFields(SwerveDrive drive) Get the configured double fields.booleanLog telemetry to NT4?Map<SwerveDriveTelemetry.StructArrayTelemetryField, StructArrayTelemetry<?, SwerveDriveTelemetry.StructArrayTelemetryField>> Get the configured struct array fields.Map<SwerveDriveTelemetry.StructTelemetryField, StructTelemetry<?, SwerveDriveTelemetry.StructTelemetryField>> Get the configured struct fields.Enables the measured module states logging.Enables the measured robot relative chassis speeds logging.withCustom(SwerveDriveTelemetry.BooleanTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveDriveTelemetry.BooleanTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveDriveTelemetry.DoubleTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveDriveTelemetry.DoubleTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveDriveTelemetry.StructArrayTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveDriveTelemetry.StructArrayTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveDriveTelemetry.StructTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveDriveTelemetry.StructTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withDataLogName(String dataLogName) Set up a DataLog entry for thisSwerveDriveEnables the last-commanded desired module states logging.Enables the last-commanded desired robot relative chassis speeds logging.Enables the measured field relative chassis speeds logging.withGyro()Enables the gyro angle logging.withNetworkTables(boolean NT4Telemetry) Enable or disable NT4 Telemetry.Disable NetworkTable output.withPose()Enables the pose logging.withTelemetryVerbosity(TelemetryVerbosity verbosity) Setup withTelemetryVerbosity
-
Constructor Details
-
SwerveDriveTelemetryConfig
public SwerveDriveTelemetryConfig()Default constructor -
SwerveDriveTelemetryConfig
Constructor with verbosity preset.- Parameters:
verbosity-TelemetryVerbosityto use.
-
-
Method Details
-
withDataLogName
Set up a DataLog entry for thisSwerveDrive- Parameters:
dataLogName- DataLog entry name- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withNetworkTables
Enable or disable NT4 Telemetry. This will not create NT4 entries and is generally only advisable during competition matches.- Parameters:
NT4Telemetry- NT4 Boolean- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withoutNetworkTables
Disable NetworkTable output.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withTelemetryVerbosity
Setup withTelemetryVerbosity- Parameters:
verbosity-TelemetryVerbosityto use.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
getDataLogName
Get the entry name for theSwerveDrivein DataLog.- Returns:
- DataLog entry name.
-
getNT4Enabled
public boolean getNT4Enabled()Log telemetry to NT4?- Returns:
- should Telemetry be sent to NT4.
-
getStructFields
public Map<SwerveDriveTelemetry.StructTelemetryField, StructTelemetry<?, SwerveDriveTelemetry.StructTelemetryField>> getStructFields()Get the configured struct fields.- Returns:
- Configured
StructTelemetryfor eachSwerveDriveTelemetry.StructTelemetryField
-
getStructArrayFields
public Map<SwerveDriveTelemetry.StructArrayTelemetryField, StructArrayTelemetry<?, SwerveDriveTelemetry.StructArrayTelemetryField>> getStructArrayFields()Get the configured struct array fields.- Returns:
- Configured
StructArrayTelemetryfor eachSwerveDriveTelemetry.StructArrayTelemetryField
-
getDoubleFields
public Map<SwerveDriveTelemetry.DoubleTelemetryField, DoubleTelemetry<SwerveDriveTelemetry.DoubleTelemetryField>> getDoubleFields(SwerveDrive drive) Get the configured double fields.- Parameters:
drive-SwerveDriveused to seed the auto-align and module PID gain fields with the currently-configured PID values, so the tuning table starts from the real gains instead of0. Auto-align fields for a translation or rotation PID controller that is not configured are disabled.- Returns:
- Configured
DoubleTelemetryfor eachSwerveDriveTelemetry.DoubleTelemetryField
-
getBoolFields
public Map<SwerveDriveTelemetry.BooleanTelemetryField, BooleanTelemetry<SwerveDriveTelemetry.BooleanTelemetryField>> getBoolFields()Get the configured boolean fields.- Returns:
- Configured
BooleanTelemetryfor eachSwerveDriveTelemetry.BooleanTelemetryField
-
withPose
Enables the pose logging.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withGyro
Enables the gyro angle logging.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withDesiredRobotRelativeChassisSpeeds
Enables the last-commanded desired robot relative chassis speeds logging.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withCurrentRobotRelativeChassisSpeeds
Enables the measured robot relative chassis speeds logging.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withFieldRelativeChassisSpeeds
Enables the measured field relative chassis speeds logging.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withDesiredModuleStates
Enables the last-commanded desired module states logging.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withCurrentModuleStates
Enables the measured module states logging.- Returns:
SwerveDriveTelemetryConfigfor chaining.
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.DoubleTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.StructTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.DoubleTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.StructTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.StructArrayTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.StructArrayTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.BooleanTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-
withCustom
public SwerveDriveTelemetryConfig withCustom(SwerveDriveTelemetry.BooleanTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.- Parameters:
field- Field to configurevalue- Enable on true, Disable on false.- Returns:
SwerveDriveTelemetryConfigfor chaining
-