@@ -48,7 +48,9 @@ public class Robot extends TimedRobot implements Logged {
4848 private final CommandScheduler scheduler = CommandScheduler .getInstance ();
4949
5050 private final CommandXboxController driveController ;
51- private final OperatorController operatorController ;
51+ private final CommandXboxController operatorController ;
52+
53+ private final OperatorController operatorController2 ;
5254
5355 private final Swerve swerve ;
5456 private final Tail tail ;
@@ -103,7 +105,9 @@ public Robot() {
103105
104106 // * SUBSYSTEM INIT
105107 driveController = new CommandXboxController (0 );
106- operatorController = new OperatorController (1 );
108+ operatorController = new CommandXboxController (1 );
109+
110+ operatorController2 = new OperatorController (3 );
107111
108112 Optional <SwerveDriveSimulation > swerveSim =
109113 Robot .isSimulation ()
@@ -165,12 +169,103 @@ public Robot() {
165169
166170 tail .setDefaultCommand (
167171 Commands .sequence (
172+ tail .setRollerSpeedCmmd (0.0 ),
168173 tail .runPoseZeroingCmmd ()
169174 .onlyIf (() -> !tail .isZeroed () && Superstructure .isTailSafe (elevator , tail )),
170- tail .setTargetPoseCmmd (Tail .POSE_MAX_REVS )
171- .until (() -> Superstructure .isTailSafe (elevator , tail )),
172- tail .setTargetPoseCmmd (Tail .POSE_MIN_REVS ).until (() -> tail .inSetpointRange ()),
173- tail .stopMotorInputCmmd ()));
175+ tail .setTargetPoseCmmd (Tail .POSE_MIN_REVS )));
176+
177+ chute .setDefaultCommand (chute .runChuteSpeedCmmd (0.0 ));
178+
179+ // .until(() -> Superstructure.isTailSafe(elevator, tail)),
180+ // tail.setTargetPoseCmmd(Tail.POSE_MIN_REVS).until(() -> tail.inSetpointRange()),
181+ // tail.stopMotorInputCmmd()));
182+
183+ // driveController
184+ // .a()
185+ // .whileTrue(chute.runChuteSpeedCmmd(Chute.INTAKE_SPEED))
186+ // .onFalse(chute.runChuteSpeedCmmd(0.0));
187+
188+ // driveController.a().whileTrue(tail.setTargetPoseCmmd(0.0));
189+
190+ // driveController.x().whileTrue(tail.setTargetPoseCmmd(Tail.POSE_MIN_REVS));
191+ /*
192+ driveController
193+ .x()
194+ .whileTrue(tail.setRollerSpeedCmmd(1.4))
195+ .whileFalse(tail.setRollerSpeedCmmd(0));
196+
197+ driveController
198+ .a()
199+ .whileTrue(tail.setRollerSpeedCmmd(-1.4))
200+ .whileFalse(tail.setRollerSpeedCmmd(0));
201+
202+ driveController
203+ .y()
204+ .whileTrue(chute.runChuteSpeedCmmd(-1).alongWith(tail.setRollerSpeedCmmd(1.3)))
205+ .whileFalse(chute.runChuteSpeedCmmd(0).alongWith(tail.setRollerSpeedCmmd(0)));
206+
207+ driveController.b().whileTrue(elevator.setTargetPoseCmmd(Elevator.POSE_L3));
208+ */
209+ // driveController.x().whileTrue(tail.setRollerSpeedCmmd(1)).onFalse(tail.setRollerSpeedCmmd(0.0));
210+
211+ // * ELEVATOR LEVEL 1 COMMAND
212+ operatorController
213+ .a ()
214+ .whileTrue (
215+ tail .setTargetPoseCmmd (Tail .POSE_MOVE_REVS )
216+ .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
217+ .andThen (tail .setTargetPoseCmmd (Tail .POSE_MIN_REVS )))
218+ .whileTrue (this .setElevatorToStowed ().onlyIf (() -> tail .inSetpointRange ()));
219+
220+ // * ELEVATOR LEVEL 2 COMMAND
221+ operatorController
222+ .x ()
223+ .whileTrue (
224+ tail .setTargetPoseCmmd (Tail .POSE_MOVE_REVS )
225+ .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
226+ .andThen (tail .setTargetPoseCmmd (Tail .POSE_L2 )))
227+ .whileTrue (
228+ elevator .setTargetPoseCmmd (Elevator .POSE_L2 ).onlyIf (() -> tail .inSetpointRange ()));
229+
230+ // * ELEVATOR LEVEL 3 COMMAND
231+ operatorController
232+ .b ()
233+ .whileTrue (
234+ tail .setTargetPoseCmmd (Tail .POSE_MOVE_REVS )
235+ .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
236+ .andThen (tail .setTargetPoseCmmd (Tail .POSE_L3 )))
237+ .whileTrue (
238+ elevator .setTargetPoseCmmd (Elevator .POSE_L3 ).onlyIf (() -> tail .inSetpointRange ()));
239+
240+ // * ELEVATOR LEVEL 4 COMMAND
241+ operatorController
242+ .y ()
243+ .whileTrue (
244+ tail .setTargetPoseCmmd (Tail .POSE_MOVE_REVS )
245+ .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
246+ .andThen (tail .setTargetPoseCmmd (Tail .POSE_L4 )))
247+ .whileTrue (
248+ elevator .setTargetPoseCmmd (Elevator .POSE_L4 ).onlyIf (() -> tail .inSetpointRange ()));
249+
250+ // * INTAKING CORAL COMMAND
251+ operatorController
252+ .leftBumper ()
253+ .whileTrue (chute .runChuteSpeedCmmd (Chute .INTAKE_SPEED )
254+ .alongWith (tail .setRollerSpeedCmmd (Tail .INTAKING_SPEEDS )));
255+
256+ // * OUTTAKING CORAL COMMAND
257+ operatorController
258+ .rightBumper ()
259+ .whileTrue (
260+ chute
261+ .runChuteSpeedCmmd (Chute .OUTAKE_SPEED )
262+ .alongWith (tail .setRollerSpeedCmmd (Tail .OUTTAKING_SPEEDS )));
263+
264+
265+ // * SCORING CORAL COMMAND
266+ driveController
267+ .rightBumper ()
268+ .whileTrue (tail .setRollerSpeedCmmd (Tail .OUTPUTTING_SPEEDS ));
174269
175270 // * SUPERSTRUCTURE INIT
176271 Map <Requests , Trigger > triggerMap = new HashMap <Superstructure .Requests , Trigger >();
@@ -181,14 +276,15 @@ public Robot() {
181276 // * AUTON INIT
182277 autonChooser = Autonomous .configureAutons (swerve );
183278 SmartDashboard .putData ("Select Auton" , autonChooser );
184-
185- new Superstructure (
186- elevator ,
187- tail ,
188- chute ,
189- triggerMap ,
190- operatorController .getBranchTarget (),
191- operatorController .getLevelTarget ());
279+ /*
280+ new Superstructure(
281+ elevator,
282+ tail,
283+ chute,
284+ triggerMap
285+ operatorController2.getBranchTarget(),
286+ operatorController2.getLevelTarget());
287+ */
192288 }
193289
194290 @ Override
@@ -224,4 +320,11 @@ public void teleopInit() {}
224320 public void testInit () {
225321 CommandScheduler .getInstance ().cancelAll ();
226322 }
323+
324+ private Command setElevatorToStowed () {
325+ return elevator
326+ .setTargetPoseCmmd (1.0 )
327+ .until (() -> elevator .inSetpointRange () || elevator .getSetpoint () > elevator .getPose ())
328+ .andThen (elevator .stopMotorInputCmmd ());
329+ }
227330}
0 commit comments