Class SwerveModuleTelemetryConfig
java.lang.Object
yams.core.telemetry.SwerveModuleTelemetryConfig
Swerve module 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
SwerveModuleTelemetryConfig telemetryCfg =
new SwerveModuleTelemetryConfig()
// choose a verbosity preset (LOW / MID / HIGH), or enable fields individually below
.withTelemetryVerbosity(TelemetryVerbosity.HIGH)
.withAbsoluteEncoder()
.withState()
// disable NT4 output (e.g. during competition) and log to DataLog instead
.withoutNetworkTables()
.withDataLogName("swerve/modules/frontleft");
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.SwerveModuleTelemetryConfig(TelemetryVerbosity verbosity) Constructor with verbosity preset. -
Method Summary
Modifier and TypeMethodDescriptionGet the entry name for theSwerveModulein DataLog.Map<SwerveModuleTelemetry.DoubleTelemetryField, DoubleTelemetry<SwerveModuleTelemetry.DoubleTelemetryField>> Get the configured double fields.booleanLog telemetry to NT4?Map<SwerveModuleTelemetry.StructTelemetryField, StructTelemetry<?, SwerveModuleTelemetry.StructTelemetryField>> Get the configured struct fields.Enables the absolute encoder angle logging.withCustom(SwerveModuleTelemetry.DoubleTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveModuleTelemetry.DoubleTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveModuleTelemetry.StructTelemetryField[] field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withCustom(SwerveModuleTelemetry.StructTelemetryField field, boolean value) Escape hatch for unimplemented fields which should be enabled or disabled.withDataLogName(String dataLogName) Set up a DataLog entry for thisSwerveModulewithNetworkTables(boolean NT4Telemetry) Enable or disable NT4 Telemetry.Disable NetworkTable output.Enables theSwerveModuleVelocitylogging.withTelemetryVerbosity(TelemetryVerbosity verbosity) Setup withTelemetryVerbosity
-
Constructor Details
-
SwerveModuleTelemetryConfig
public SwerveModuleTelemetryConfig()Default constructor. -
SwerveModuleTelemetryConfig
Constructor with verbosity preset.- Parameters:
verbosity-TelemetryVerbosityto use by default.
-
-
Method Details
-
withDataLogName
Set up a DataLog entry for thisSwerveModule- Parameters:
dataLogName- DataLog entry name- Returns:
SwerveModuleTelemetryConfigfor 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:
SwerveModuleTelemetryConfigfor chaining.
-
withoutNetworkTables
Disable NetworkTable output.- Returns:
SwerveModuleTelemetryConfigfor chaining.
-
withTelemetryVerbosity
Setup withTelemetryVerbosity- Parameters:
verbosity-TelemetryVerbosityto use.- Returns:
SwerveModuleTelemetryConfigfor chaining.
-
getDataLogName
Get the entry name for theSwerveModulein DataLog.- Returns:
- DataLog entry name.
-
getNT4Enabled
public boolean getNT4Enabled()Log telemetry to NT4?- Returns:
- should Telemetry be sent to NT4.
-
getDoubleFields
public Map<SwerveModuleTelemetry.DoubleTelemetryField, DoubleTelemetry<SwerveModuleTelemetry.DoubleTelemetryField>> getDoubleFields()Get the configured double fields.- Returns:
- Configured
DoubleTelemetryfor eachSwerveModuleTelemetry.DoubleTelemetryField
-
getStructFields
public Map<SwerveModuleTelemetry.StructTelemetryField, StructTelemetry<?, SwerveModuleTelemetry.StructTelemetryField>> getStructFields()Get the configured struct fields.- Returns:
- Configured
StructTelemetryfor eachSwerveModuleTelemetry.StructTelemetryField
-
withAbsoluteEncoder
Enables the absolute encoder angle logging.- Returns:
SwerveModuleTelemetryConfigfor chaining.
-
withState
Enables theSwerveModuleVelocitylogging.- Returns:
SwerveModuleTelemetryConfigfor chaining.
-
withCustom
public SwerveModuleTelemetryConfig withCustom(SwerveModuleTelemetry.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:
SwerveModuleTelemetryConfigfor chaining
-
withCustom
public SwerveModuleTelemetryConfig withCustom(SwerveModuleTelemetry.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:
SwerveModuleTelemetryConfigfor chaining
-
withCustom
public SwerveModuleTelemetryConfig withCustom(SwerveModuleTelemetry.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:
SwerveModuleTelemetryConfigfor chaining
-
withCustom
public SwerveModuleTelemetryConfig withCustom(SwerveModuleTelemetry.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:
SwerveModuleTelemetryConfigfor chaining
-