@@ -4,31 +4,41 @@ import com.ctre.phoenix6.hardware.TalonFX
44import org.strykeforce.telemetry.measurable.Measurable
55import org.strykeforce.telemetry.measurable.Measure
66import org.strykeforce.telemetry.measurable.toDouble
7+ import kotlin.concurrent.timerTask
78
89// Device Status
910internal const val ACCELERATION = " ACCELERATION"
11+ internal const val ACCEL_SCALE = " ACCEL_SCALE"
1012internal const val BRIDGE_OUTPUT = " BRIDGE_OUTPUT"
1113internal const val DEVICE_TEMP = " DEVICE_TEMP"
1214internal const val DIFF_AVG_POS = " DIFF_AVG_POS"
15+ internal const val DIFF_AVG_POS_SCALE = " DIFF_AVG_POS_SCALE"
1316internal const val DIFF_AVG_VEL = " DIFF_AVG_VEL"
17+ internal const val DIFF_AVG_VEL_SCALE = " DIFF_AVG_VEL_SCALE"
1418internal const val DIFF_DIFF_POS = " DIFF_DIFF_POS"
19+ internal const val DIFF_DIFF_POS_SCALE = " DIFF_DIFF_POS_SCALE"
1520internal const val DIFF_DIFF_VEL = " DIFF_DIFF_VEL"
21+ internal const val DIFF_DIFF_VEL_SCALE = " DIFF_DIFF_VEL_SCALE"
1622internal const val DUTY_CYCLE = " DUTY_CYCLE"
1723internal const val FWD_LIM = " FWD_LIM"
1824internal const val IS_PRO_LIC = " IS_PRO_LIC"
1925internal const val IS_MM_RUNNING = " IS_MM_RUNNING"
2026internal const val MOTOR_VOLTAGE = " MOTOR_VOLTAGE"
2127internal const val POSITION = " POSITION"
28+ internal const val POS_SCALE = " POS_SCALE"
2229internal const val PROCESSOR_TEMP = " PROCESSOR_TEMP"
2330internal const val HAS_RESET_OCCURRED = " HAS_RESET_OCCURRED"
2431internal const val REV_LIM = " REV_LIM"
2532internal const val ROTOR_POS = " ROTOR_POS"
33+ internal const val ROTOR_POS_SCALE = " ROTOR_POS_SCALE"
2634internal const val ROTOR_VEL = " ROTOR_VEL"
35+ internal const val ROTOR_VEL_SCALE = " ROTOR_VEL_SCALE"
2736internal const val STATOR_CURRENT = " STATOR_CURRENT"
2837internal const val SUPPLY_CURRENT = " SUPPLY_CURRENT"
2938internal const val SUPPLY_VOLTAGE = " SUPPLY_VOLTAGE"
3039internal const val TORQUE_CURRENT = " TORQUE_CURRENT"
3140internal const val VELOCITY = " VELOCITY"
41+ internal const val VEL_SCALE = " VEL_SCALE"
3242
3343// PID
3444internal const val CLOSED_LOOP_D_OUTPUT = " CLOSED_LOOP_D_OUTPUT"
@@ -83,32 +93,41 @@ class TalonFXMeasureable @JvmOverloads constructor(
8393 override val description : String = " TalonFX ${talonFX.deviceID} "
8494): Measurable {
8595
86-
96+ val scaleFactor = 1000.0 ;
8797 override val deviceId = talonFX.deviceID
8898 override val measures = setOf (
8999 Measure (ACCELERATION , " Acceleration" ) {talonFX.acceleration.valueAsDouble},
100+ Measure (ACCEL_SCALE , " Accel. scaled" ) {talonFX.acceleration.valueAsDouble * scaleFactor},
90101 Measure (BRIDGE_OUTPUT , " Bridge Output" ) {talonFX.bridgeOutput.valueAsDouble},
91102 Measure (DEVICE_TEMP , " Device Temperature C" ){talonFX.deviceTemp.valueAsDouble},
92103 Measure (DIFF_AVG_POS , " Differential Avg Position" ) {talonFX.differentialAveragePosition.valueAsDouble},
104+ Measure (DIFF_AVG_POS_SCALE ," Diff Avg Pos scaled" ){talonFX.differentialAveragePosition.valueAsDouble * scaleFactor},
93105 Measure (DIFF_AVG_VEL , " Differential Avg Velocity" ) {talonFX.differentialAverageVelocity.valueAsDouble},
106+ Measure (DIFF_AVG_VEL_SCALE , " Diff Avg Vel scaled" ){talonFX.differentialAverageVelocity.valueAsDouble * scaleFactor},
94107 Measure (DIFF_DIFF_POS , " Differential Difference Position" ){talonFX.differentialDifferencePosition.valueAsDouble},
108+ Measure (DIFF_DIFF_POS_SCALE , " Diff Diff Pos scaled" ){talonFX.differentialDifferencePosition.valueAsDouble * scaleFactor},
95109 Measure (DIFF_DIFF_VEL , " Differential Difference Velocity" ){talonFX.differentialDifferenceVelocity.valueAsDouble},
110+ Measure (DIFF_DIFF_VEL_SCALE , " Diff Diff Vel scale" ){talonFX.differentialDifferenceVelocity.valueAsDouble * scaleFactor},
96111 Measure (DUTY_CYCLE , " Applied Duty Cycle" ){talonFX.dutyCycle.value},
97112 Measure (FWD_LIM , " Forward Limit Switch Closed" ){talonFX.forwardLimit.valueAsDouble},
98113 Measure (IS_PRO_LIC , " Is Pro Licensed" ){talonFX.isProLicensed.valueAsDouble},
99114 Measure (IS_MM_RUNNING , " Motion Magic Running" ){talonFX.motionMagicIsRunning.valueAsDouble},
100115 Measure (MOTOR_VOLTAGE , " Motor Voltage" ){talonFX.motorVoltage.valueAsDouble},
101116 Measure (POSITION , " Position" ){talonFX.position.valueAsDouble},
117+ Measure (POS_SCALE , " Pos. scaled" ){talonFX.position.valueAsDouble * scaleFactor},
102118 Measure (PROCESSOR_TEMP , " Processor Temp" ){talonFX.processorTemp.valueAsDouble},
103119 Measure (HAS_RESET_OCCURRED , " Has Reset Occurred" ){talonFX.hasResetOccurred().toDouble()},
104120 Measure (REV_LIM , " Reverse Limit Switch Closed" ){talonFX.reverseLimit.valueAsDouble},
105121 Measure (ROTOR_POS , " Rotor Position" ){talonFX.rotorPosition.valueAsDouble},
122+ Measure (ROTOR_POS_SCALE , " Rotor Pos scaled" ){ talonFX.rotorPosition.valueAsDouble * scaleFactor},
106123 Measure (ROTOR_VEL , " Rotor Velocity" ){talonFX.rotorVelocity.valueAsDouble},
124+ Measure (ROTOR_VEL_SCALE , " Rotor Vel scaled" ){talonFX.rotorVelocity.valueAsDouble * scaleFactor},
107125 Measure (STATOR_CURRENT , " Stator Current" ){talonFX.statorCurrent.valueAsDouble},
108126 Measure (SUPPLY_CURRENT , " Supply Current" ){talonFX.supplyCurrent.valueAsDouble},
109127 Measure (SUPPLY_VOLTAGE , " Supply Voltage" ){talonFX.supplyVoltage.valueAsDouble},
110128 Measure (TORQUE_CURRENT , " Torque Current" ){talonFX.torqueCurrent.valueAsDouble},
111129 Measure (VELOCITY , " Velocity" ){talonFX.velocity.valueAsDouble},
130+ Measure (VEL_SCALE , " Vel. scaled" ){talonFX.velocity.valueAsDouble * scaleFactor},
112131 Measure (IS_INVERTED , " Is Inverted" ){talonFX.inverted.toDouble()},
113132
114133 Measure (CLOSED_LOOP_D_OUTPUT , " Closed Loop Derivative Output" ){talonFX.closedLoopDerivativeOutput.valueAsDouble},
0 commit comments