@@ -34,8 +34,10 @@ public class MockSparkBase extends MockedMotorBase {
3434 private final SparkPIDController pidController ;
3535 private final MockedSparkMaxPIDController pidControllerImpl ;
3636 private SparkAbsoluteEncoder absoluteEncoder = null ;
37+ private MockedEncoder absoluteEncoderImpl = null ;
3738 private MockedEncoder alternateEncoder = null ;
3839 private SparkAnalogSensor analogSensor = null ;
40+ private MockedEncoder analogSensorImpl = null ;
3941 private final String name ;
4042
4143 /**
@@ -183,6 +185,18 @@ public double getBusVoltage() {
183185 @ Override
184186 public void close () {
185187 controllers .remove (port );
188+ if (encoder != null ) {
189+ encoder .close ();
190+ }
191+ if (absoluteEncoderImpl != null ) {
192+ absoluteEncoderImpl .close ();
193+ }
194+ if (analogSensorImpl != null ) {
195+ analogSensorImpl .close ();
196+ }
197+ if (alternateEncoder != null ) {
198+ alternateEncoder .close ();
199+ }
186200 super .close ();
187201 }
188202
@@ -196,7 +210,7 @@ public void close() {
196210 */
197211 public synchronized SparkAbsoluteEncoder getAbsoluteEncoder (SparkAbsoluteEncoder .Type encoderType ) {
198212 if (absoluteEncoder == null ) {
199- MockedEncoder absoluteEncoderImpl = new MockedEncoder (
213+ absoluteEncoderImpl = new MockedEncoder (
200214 SimDevice .create ("CANDutyCycle:" + name , port ), 0 , false ,
201215 true , true );
202216 absoluteEncoder = Mocks .createMock (SparkAbsoluteEncoder .class , absoluteEncoderImpl , new REVLibErrorAnswer ());
@@ -243,7 +257,8 @@ public synchronized RelativeEncoder getAlternateEncoder(SparkMaxAlternateEncoder
243257 */
244258 public synchronized SparkAnalogSensor getAnalog (SparkAnalogSensor .Mode mode ) {
245259 if (analogSensor == null ) {
246- MockedEncoder analogSensorImpl = new MockedEncoder (SimDevice .create ("CANAIn:" + name , port ), 0 , true , true );
260+ analogSensorImpl = new MockedEncoder (
261+ SimDevice .create ("CANAIn:" + name , port ), 0 , true , true );
247262 analogSensor = Mocks .createMock (SparkAnalogSensor .class , analogSensorImpl , new REVLibErrorAnswer ());
248263 }
249264 return analogSensor ;
0 commit comments