1
1
package org .team1540 .robot2024 .subsystems .drive ;
2
2
3
3
import com .ctre .phoenix6 .BaseStatusSignal ;
4
- import com .ctre .phoenix6 .CANBus ;
5
4
import com .ctre .phoenix6 .StatusSignal ;
6
5
import com .ctre .phoenix6 .configs .MotorOutputConfigs ;
7
6
import com .ctre .phoenix6 .controls .VoltageOut ;
11
10
import com .ctre .phoenix6 .signals .NeutralModeValue ;
12
11
import edu .wpi .first .math .geometry .Rotation2d ;
13
12
import edu .wpi .first .math .util .Units ;
13
+ import org .team1540 .robot2024 .util .PhoenixTimeSyncSignalRefresher ;
14
14
import org .team1540 .robot2024 .util .swerve .SwerveFactory ;
15
15
16
16
import static org .team1540 .robot2024 .Constants .Drivetrain .*;
17
- import static org .team1540 .robot2024 .Constants .SwerveConfig .CAN_BUS ;
18
17
19
18
/**
20
19
* Module IO implementation for Talon FX drive motor controller, Talon FX turn motor controller, and
@@ -44,15 +43,11 @@ public class ModuleIOTalonFX implements ModuleIO {
44
43
private final StatusSignal <Double > turnAppliedVolts ;
45
44
private final StatusSignal <Double > turnCurrent ;
46
45
47
- private final boolean isCANFD ;
48
-
49
46
public ModuleIOTalonFX (SwerveFactory .SwerveModuleHW hw ) {
50
47
driveTalon = hw .driveMotor ;
51
48
turnTalon = hw .turnMotor ;
52
49
cancoder = hw .cancoder ;
53
50
54
- isCANFD = CANBus .isNetworkFD (CAN_BUS );
55
-
56
51
setDriveBrakeMode (true );
57
52
setTurnBrakeMode (true );
58
53
@@ -79,32 +74,20 @@ public ModuleIOTalonFX(SwerveFactory.SwerveModuleHW hw) {
79
74
turnCurrent );
80
75
driveTalon .optimizeBusUtilization ();
81
76
turnTalon .optimizeBusUtilization ();
77
+
78
+ PhoenixTimeSyncSignalRefresher .registerSignals (drivePosition , turnPosition );
82
79
}
83
80
84
81
@ Override
85
82
public void updateInputs (ModuleIOInputs inputs ) {
86
- if (isCANFD ) {
87
- BaseStatusSignal .waitForAll (0.01 , drivePosition , turnPosition );
88
- BaseStatusSignal .refreshAll (
89
- driveVelocity ,
90
- driveAppliedVolts ,
91
- driveCurrent ,
92
- turnAbsolutePosition ,
93
- turnVelocity ,
94
- turnAppliedVolts ,
95
- turnCurrent );
96
- } else {
97
- BaseStatusSignal .refreshAll (
98
- drivePosition ,
99
- driveVelocity ,
100
- driveAppliedVolts ,
101
- driveCurrent ,
102
- turnAbsolutePosition ,
103
- turnPosition ,
104
- turnVelocity ,
105
- turnAppliedVolts ,
106
- turnCurrent );
107
- }
83
+ BaseStatusSignal .refreshAll (
84
+ driveVelocity ,
85
+ driveAppliedVolts ,
86
+ driveCurrent ,
87
+ turnAbsolutePosition ,
88
+ turnVelocity ,
89
+ turnAppliedVolts ,
90
+ turnCurrent );
108
91
109
92
inputs .drivePositionRad = Units .rotationsToRadians (drivePosition .getValueAsDouble ()) / DRIVE_GEAR_RATIO ;
110
93
inputs .driveVelocityRadPerSec = Units .rotationsToRadians (driveVelocity .getValueAsDouble ()) / DRIVE_GEAR_RATIO ;
0 commit comments