Skip to content

Commit 9c733c9

Browse files
committed
add gearing hit to MockedSparkEncoder
1 parent 81f31a4 commit 9c733c9

2 files changed

Lines changed: 18 additions & 3 deletions

File tree

src/main/java/org/carlmontrobotics/lib199/sim/MockedCANCoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public MockedCANCoder(CANCoder canCoder) {
3030
device = SimDevice.create("CANCoder", port);
3131
position = device.createDouble("count", Direction.kInput, 0);
3232
motorId = device.createDouble("motorId", Direction.kOutput, -1);
33-
motorType = device.createDouble("motor", Direction.kOutput, MotorType.NONE.id);
33+
motorType = device.createDouble("motorType", Direction.kOutput, MotorType.NONE.id);
3434
gearing = device.createDouble("gearing", Direction.kOutput, 1);
3535
sim = canCoder.getSimCollection();
3636
Lib199Subsystem.registerPeriodic(this::update);

src/main/java/org/carlmontrobotics/lib199/sim/MockedSparkEncoder.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,30 @@
11
package org.carlmontrobotics.lib199.sim;
22

3+
import java.util.HashMap;
4+
35
import com.revrobotics.REVLibError;
46

57
import edu.wpi.first.hal.SimDevice;
68
import edu.wpi.first.hal.SimDouble;
79
import edu.wpi.first.hal.SimDevice.Direction;
810

911
public class MockedSparkEncoder implements AutoCloseable {
12+
13+
private static final HashMap<Integer, MockedSparkEncoder> sims = new HashMap<>();
14+
1015
private SimDevice device;
1116
private SimDouble dpp;
1217
private SimDouble count;
18+
private SimDouble gearing;
1319
// Default value for a CANEncoder
1420
private final int countsPerRevolution = 4096;
1521

1622
public MockedSparkEncoder(int id) {
17-
// Match motor on CAN 0 with channels [0, 1], CAN 1 to channels [2, 3], etc.
18-
// Probably not the best way to do it but it works
1923
device = SimDevice.create("CANEncoder_SparkMax", id);
2024
dpp = device.createDouble("distancePerPulse", Direction.kOutput, 1);
2125
count = device.createDouble("count", Direction.kInput, 0);
26+
gearing = device.createDouble("gearing", Direction.kOutput, 1);
27+
sims.put(id, this);
2228
}
2329

2430
public double getPosition() {
@@ -46,4 +52,13 @@ public double getPositionConversionFactor() {
4652
public void close() {
4753
device.close();
4854
}
55+
56+
public void setGearing(double gearing) {
57+
this.gearing.set(gearing);
58+
}
59+
60+
public void setGearing(int port, double gearing) {
61+
if(sims.containsKey(port)) sims.get(port).setGearing(gearing);
62+
}
63+
4964
}

0 commit comments

Comments
 (0)