|
5 | 5 | import maps.org.usfirst.frc.team449.robot.components.RotPerSecCANTalonSRXMap; |
6 | 6 | import org.usfirst.frc.team449.robot.util.Logger; |
7 | 7 |
|
| 8 | +import java.util.ArrayList; |
| 9 | +import java.util.List; |
| 10 | + |
8 | 11 | /** |
9 | 12 | * Component wrapper on the CTRE {@link CANTalon}, with unit conversions to/from RPS built in. Every |
10 | 13 | * non-unit-conversion in this class takes arguments in post-gearing RPS. |
@@ -118,13 +121,33 @@ public RotPerSecCANTalonSRX(RotPerSecCANTalonSRXMap.RotPerSecCANTalonSRX map) { |
118 | 121 | canTalon.EnableCurrentLimit(false); |
119 | 122 | } |
120 | 123 |
|
| 124 | + slaves = new ArrayList<>(); |
| 125 | + |
121 | 126 | //Set up slaves. |
122 | 127 | for (MotorMap.Motor slave : map.getSlaveList()) { |
123 | 128 | CANTalon tmp = new CANTalon(slave.getPort()); |
124 | | - tmp.changeControlMode(CANTalon.TalonControlMode.Follower); |
125 | | - tmp.set(map.getPort()); |
| 129 | + tmp.reverseSensor(false); |
| 130 | + tmp.setInverted(false); |
| 131 | + tmp.ConfigFwdLimitSwitchNormallyOpen(map.getFwdLimNormOpen()); |
| 132 | + tmp.ConfigRevLimitSwitchNormallyOpen(map.getRevLimNormOpen()); |
| 133 | + tmp.enableLimitSwitch(map.getFwdLimEnabled(), map.getRevLimEnabled()); |
| 134 | + tmp.enableForwardSoftLimit(map.getFwdSoftLimEnabled()); |
| 135 | + tmp.setForwardSoftLimit(map.getFwdSoftLimVal()); |
| 136 | + tmp.enableReverseSoftLimit(map.getRevSoftLimEnabled()); |
| 137 | + tmp.setReverseSoftLimit(map.getRevSoftLimVal()); |
| 138 | + tmp.enableBrakeMode(map.getBrakeMode()); |
| 139 | + tmp.enable(); |
| 140 | + if (map.hasCurrentLimit()) { |
| 141 | + tmp.setCurrentLimit(map.getCurrentLimit()); |
| 142 | + tmp.EnableCurrentLimit(true); |
| 143 | + } else { |
| 144 | + //If we don't have a current limit, disable current limiting. |
| 145 | + tmp.EnableCurrentLimit(false); |
| 146 | + } |
126 | 147 | //To invert slaves, use reverseOutput. See section 9.1.4 of the TALON SRX Software Reference Manual. |
127 | 148 | tmp.reverseOutput(slave.getInverted()); |
| 149 | + tmp.changeControlMode(CANTalon.TalonControlMode.Follower); |
| 150 | + tmp.set(map.getPort()); |
128 | 151 | } |
129 | 152 | } |
130 | 153 |
|
|
0 commit comments