|
14 | 14 | import com.revrobotics.spark.SparkMax; |
15 | 15 | import com.revrobotics.spark.SparkBase.PersistMode; |
16 | 16 | import com.revrobotics.spark.config.SparkBaseConfig; |
| 17 | +import com.revrobotics.spark.config.SparkFlexConfig; |
17 | 18 | import com.revrobotics.spark.config.SparkBaseConfig.IdleMode; |
18 | 19 | import com.revrobotics.spark.config.SparkMaxConfig; |
19 | 20 | import com.revrobotics.servohub.ServoHub.ResetMode; |
@@ -128,7 +129,7 @@ public static SparkMax createSparkMax(int id, int temperatureLimit) { |
128 | 129 | // MotorErrors.reportError(controller.setFF(0)); |
129 | 130 | config.closedLoop.velocityFF(0); |
130 | 131 |
|
131 | | - spark.configure(config, SparkBase.ResetMode.kResetSafeParameters, PersistMode.kNoPersistParameters); |
| 132 | + spark.configure(config, SparkBase.ResetMode.kResetSafeParameters, SparkBase.PersistMode.kPersistParameters); |
132 | 133 |
|
133 | 134 | return spark; |
134 | 135 | } |
@@ -169,7 +170,28 @@ public static SparkFlex createSparkFlex(int id, SparkBaseConfig config) { |
169 | 170 | return spark; |
170 | 171 | } |
171 | 172 |
|
172 | | - //delete configureSpark(SparkBase, Config) because SparkBase.configure() already does that. |
| 173 | + private static SparkBaseConfig baseSparkConfig(MotorConfig motorConfig) { |
| 174 | + SparkMaxConfig config = new SparkMaxConfig(); |
| 175 | + |
| 176 | + config.idleMode(IdleMode.kBrake); |
| 177 | + |
| 178 | + config.voltageCompensation(12);//FIXME does this need to be different for different motors? |
| 179 | + config.smartCurrentLimit(motorConfig.currentLimitAmps); |
| 180 | + |
| 181 | + config.closedLoop |
| 182 | + .minOutput(-1) |
| 183 | + .maxOutput(1) |
| 184 | + .pid(0,0,0) |
| 185 | + .velocityFF(0); |
| 186 | + |
| 187 | + return config; |
| 188 | + } |
| 189 | + private static SparkMaxConfig baseSparkMaxConfig(MotorConfig motorConfig){ |
| 190 | + return (SparkMaxConfig) baseSparkConfig(motorConfig);//FIXME apply needed config changes for each controller |
| 191 | + } |
| 192 | + private static SparkFlexConfig baseSparkFlexConfig(MotorConfig motorConfig){ |
| 193 | + return (SparkFlexConfig) baseSparkConfig(motorConfig);//criminal casting usage |
| 194 | + } |
173 | 195 |
|
174 | 196 | /** |
175 | 197 | * @deprecated Use {@link SensorFactory#createCANCoder(int)} instead. |
|
0 commit comments