Class SmartMotorControllerTelemetryConfig

java.lang.Object
yams.core.telemetry.SmartMotorControllerTelemetryConfig

public class SmartMotorControllerTelemetryConfig extends Object
Smart motor controller 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

SmartMotorControllerTelemetryConfig telemetryCfg =
    new SmartMotorControllerTelemetryConfig()
        // choose a verbosity preset (LOW / MID / HIGH), or enable fields individually below
        .withTelemetryVerbosity(TelemetryVerbosity.HIGH)
        // optionally enable individual fields on top of the preset
        .withStatorCurrent()
        .withTemperature()
        .withOutputVoltage()
        .withSetpointPosition()
        .withSetpointVelocity()
        .withSetpointForce()
        .withMechanismPosition()
        .withMechanismVelocity()
        .withRotorPosition()
        .withRotorVelocity()
        .withMeasurementPosition()
        .withMeasurementVelocity()
        .withMechanismUpperLimit()
        .withMechanismLowerLimit()
        .withTemperatureLimit()
        .withVelocityControl()
        .withMotionProfile()
        .withArmFeedforward()
        .withElevatorFeedforward()
        .withSimpleFeedforward()
        // disable NT4 output (e.g. during competition) and log to DataLog instead
        .withoutNetworkTables()
        .withDataLogName("motors/shooter");