Skip to content

Commit b95c86b

Browse files
committed
2 parents 2ab6c93 + cbdbd94 commit b95c86b

File tree

6 files changed

+104
-11
lines changed

6 files changed

+104
-11
lines changed

src/main/java/frc/team5115/Constants.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,6 @@ public static enum Mode {
3737

3838
public static final byte ARM_MOTOR_ID = 11;
3939
public static final byte INTAKE_MOTOR_ID = 12;
40-
public static final byte DISPENSER_MOTOR_ID = 13;
41-
public static final byte DEALGAE_MOTOR_ID = 14;
42-
43-
public static final byte CLIMB_INAKE_SENSOR = 2;
44-
public static final byte BACK_CORAL_SENSOR = 0;
45-
public static final byte FRONT_CORAL_SENSOR = 3;
46-
47-
public static final byte ELEVATOR_FIRST_SENSOR_ID = 1;
48-
public static final byte ELEVATOR_SECOND_SENSOR_ID = 4;
49-
public static final byte ELEVATOR_THIRD_SENSOR_ID = 9;
50-
// public static final byte ELEVATOR_FOURTH_SENSOR_ID = 6;
5140

5241
public static final byte BLOCK_ACTUATOR_ID = 9;
5342

src/main/java/frc/team5115/RobotContainer.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
import frc.team5115.subsystems.drive.ModuleIO;
2525
import frc.team5115.subsystems.drive.ModuleIOSim;
2626
import frc.team5115.subsystems.drive.ModuleIOSparkMax;
27+
import frc.team5115.subsystems.outtake.Outtake;
28+
import frc.team5115.subsystems.outtake.OuttakeIO;
29+
import frc.team5115.subsystems.outtake.OuttakeIOReal;
30+
import frc.team5115.subsystems.outtake.OuttakeIOSim;
2731
import frc.team5115.subsystems.vision.PhotonVision;
2832
import frc.team5115.subsystems.vision.PhotonVisionIO;
2933
import frc.team5115.subsystems.vision.PhotonVisionIOReal;
@@ -43,6 +47,7 @@ public class RobotContainer {
4347
private final Drivetrain drivetrain;
4448
private final PhotonVision vision;
4549
private final Bling bling;
50+
private final Outtake outtake;
4651

4752
// Controllers
4853
private final CommandXboxController joyDrive = new CommandXboxController(0);
@@ -80,6 +85,7 @@ public RobotContainer() {
8085
new ModuleIOSparkMax(3));
8186
vision = new PhotonVision(new PhotonVisionIOReal(), drivetrain);
8287
bling = new Bling(new BlingIOReal());
88+
outtake = new Outtake(new OuttakeIOReal(hub));
8389
clearForMatchEntry =
8490
Shuffleboard.getTab("SmartDashboard").add("ClearForMatch", false).getEntry();
8591
break;
@@ -91,6 +97,7 @@ public RobotContainer() {
9197
gyro, new ModuleIOSim(), new ModuleIOSim(), new ModuleIOSim(), new ModuleIOSim());
9298
vision = new PhotonVision(new PhotonVisionIOSim(), drivetrain);
9399
bling = new Bling(new BlingIOSim());
100+
outtake = new Outtake(new OuttakeIOSim());
94101
clearForMatchEntry = null;
95102
break;
96103

@@ -102,6 +109,7 @@ public RobotContainer() {
102109
gyro, new ModuleIO() {}, new ModuleIO() {}, new ModuleIO() {}, new ModuleIO() {});
103110
vision = new PhotonVision(new PhotonVisionIO() {}, drivetrain);
104111
bling = new Bling(new BlingIO() {});
112+
outtake = new Outtake(new OuttakeIO() {});
105113
clearForMatchEntry = null;
106114
break;
107115
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package frc.team5115.subsystems.outtake;
2+
3+
import edu.wpi.first.wpilibj2.command.Command;
4+
import edu.wpi.first.wpilibj2.command.Commands;
5+
import edu.wpi.first.wpilibj2.command.SubsystemBase;
6+
import org.littletonrobotics.junction.Logger;
7+
8+
public class Outtake extends SubsystemBase {
9+
private final OuttakeIO io;
10+
private final OuttakeIOInputsAutoLogged inputs = new OuttakeIOInputsAutoLogged();
11+
12+
public Outtake(OuttakeIO io) {
13+
this.io = io;
14+
}
15+
16+
@Override
17+
public void periodic() {
18+
io.updateInputs(inputs);
19+
Logger.processInputs(this.getName(), inputs);
20+
}
21+
22+
private Command extend() {
23+
return Commands.runOnce(() -> io.setPneumatic(true), this);
24+
}
25+
26+
private Command retract() {
27+
return Commands.runOnce(() -> io.setPneumatic(false), this);
28+
}
29+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package frc.team5115.subsystems.outtake;
2+
3+
import org.littletonrobotics.junction.AutoLog;
4+
5+
public interface OuttakeIO {
6+
7+
@AutoLog
8+
public static class OuttakeIOInputs {
9+
boolean state;
10+
}
11+
12+
public default void updateInputs(OuttakeIOInputs inputs) {}
13+
14+
public default void setPneumatic(boolean extend) {}
15+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package frc.team5115.subsystems.outtake;
2+
3+
import edu.wpi.first.wpilibj.DoubleSolenoid;
4+
import edu.wpi.first.wpilibj.PneumaticHub;
5+
import frc.team5115.Constants;
6+
7+
public class OuttakeIOReal implements OuttakeIO {
8+
private final DoubleSolenoid extender;
9+
private boolean state;
10+
11+
public OuttakeIOReal(PneumaticHub hub) {
12+
extender =
13+
hub.makeDoubleSolenoid(
14+
Constants.DEALGAE_FORWARD_CHANNEL, Constants.DEALGAE_REVERSE_CHANNEL);
15+
}
16+
17+
@Override
18+
public void updateInputs(OuttakeIOInputs inputs) {
19+
inputs.state = state;
20+
}
21+
22+
@Override
23+
public void setPneumatic(boolean extend) {
24+
state = extend;
25+
extender.set(extend ? DoubleSolenoid.Value.kForward : DoubleSolenoid.Value.kReverse);
26+
}
27+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package frc.team5115.subsystems.outtake;
2+
3+
import edu.wpi.first.wpilibj.DoubleSolenoid;
4+
import edu.wpi.first.wpilibj.PneumaticsModuleType;
5+
import edu.wpi.first.wpilibj.simulation.DoubleSolenoidSim;
6+
7+
public class OuttakeIOSim implements OuttakeIO {
8+
private final DoubleSolenoidSim extenderSim;
9+
private boolean state = false;
10+
11+
public OuttakeIOSim() {
12+
extenderSim = new DoubleSolenoidSim(PneumaticsModuleType.REVPH, 0, 0);
13+
}
14+
15+
@Override
16+
public void updateInputs(OuttakeIOInputs inputs) {
17+
inputs.state = state;
18+
}
19+
20+
@Override
21+
public void setPneumatic(boolean extend) {
22+
state = extend;
23+
extenderSim.set((extend ? DoubleSolenoid.Value.kForward : DoubleSolenoid.Value.kReverse));
24+
}
25+
}

0 commit comments

Comments
 (0)