From b2e3be2f4e419ca298e3d1d9e34064030278c0aa Mon Sep 17 00:00:00 2001 From: FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Sat, 30 May 2026 17:31:11 -0700 Subject: [PATCH 1/6] mapping states Co-Authored-By: lameesnotlame <258483139+lameesnotlame@users.noreply.github.com> --- .../java/frc/robot/commands/states/MapStatesToButtons.java | 0 src/main/java/frc/robot/subsystems/StateMachine.java | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 src/main/java/frc/robot/commands/states/MapStatesToButtons.java diff --git a/src/main/java/frc/robot/commands/states/MapStatesToButtons.java b/src/main/java/frc/robot/commands/states/MapStatesToButtons.java new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/frc/robot/subsystems/StateMachine.java b/src/main/java/frc/robot/subsystems/StateMachine.java index d7a1e0e..f39c212 100644 --- a/src/main/java/frc/robot/subsystems/StateMachine.java +++ b/src/main/java/frc/robot/subsystems/StateMachine.java @@ -31,6 +31,13 @@ public RobotState getRobotState() { public Command tryState(RobotState desiredState) { switch (desiredState) { case NONE: + switch (currentRobotState) { + case NONE: + case INTAKING: + return new None(); + } + break; + case INTAKING: switch (currentRobotState) { case NONE: return new None(); From db5160219637d87fcd8ed71d436c81436720b3dd Mon Sep 17 00:00:00 2001 From: FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Sat, 30 May 2026 17:34:06 -0700 Subject: [PATCH 2/6] mapped states Co-Authored-By: lameesnotlame <258483139+lameesnotlame@users.noreply.github.com> --- .../commands/states/MapStatesToButtons.java | 4 ++ .../frc/robot/subsystems/StateMachine.java | 72 +++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/src/main/java/frc/robot/commands/states/MapStatesToButtons.java b/src/main/java/frc/robot/commands/states/MapStatesToButtons.java index e69de29..4365cf0 100644 --- a/src/main/java/frc/robot/commands/states/MapStatesToButtons.java +++ b/src/main/java/frc/robot/commands/states/MapStatesToButtons.java @@ -0,0 +1,4 @@ +package frc.robot.commands.states; + +public class MapStatesToButtons { +} diff --git a/src/main/java/frc/robot/subsystems/StateMachine.java b/src/main/java/frc/robot/subsystems/StateMachine.java index f39c212..a2b6b9f 100644 --- a/src/main/java/frc/robot/subsystems/StateMachine.java +++ b/src/main/java/frc/robot/subsystems/StateMachine.java @@ -22,6 +22,7 @@ public StateMachine() { public void setRobotState(RobotState robotState) { currentRobotState = robotState; + } public RobotState getRobotState() { @@ -34,6 +35,8 @@ public Command tryState(RobotState desiredState) { switch (currentRobotState) { case NONE: case INTAKING: + case REVERSING_SHOOTER: + case EJECTING_HOPPER: return new None(); } break; @@ -43,6 +46,75 @@ public Command tryState(RobotState desiredState) { return new None(); } break; + case SHOOTING: + switch (currentRobotState) { + case NONE: + return new None(); + } + break; + case REVERSING_SHOOTER: + switch (currentRobotState) { + case NONE: + return new None(); + } + break; + case PREP_ANYWHERE: + switch (currentRobotState) { + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case SHOOTING: + return new None(); + } + break; + case PREP_HUB: + switch (currentRobotState) { + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case SHOOTING: + return new None(); + } + break; + case PREP_CORNER: + switch (currentRobotState) { + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case SHOOTING: + return new None(); + } + break; + case PREP_NEUTRAL_TO_ALLIANCE: + switch (currentRobotState) { + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case SHOOTING: + return new None(); + } + break; + case PREP_OPPONENT_TO_ALLIANCE: + switch (currentRobotState) { + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case SHOOTING: + return new None(); + } + break; + case PREP_TOWER: + switch (currentRobotState) { + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case SHOOTING: + return new None(); + } + break; + case PREP_TRENCH: + switch (currentRobotState) { + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case SHOOTING: + return new None(); + } + break; + } return Commands .print("ITS SO OVER D: Invalid State Provided, Blame Eli. Attempted to go to: " + desiredState.toString() From 3e98a3787374198cdc9c42a33a30a5d99421b0fd Mon Sep 17 00:00:00 2001 From: FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Sat, 30 May 2026 19:57:31 -0700 Subject: [PATCH 3/6] statev machine button mapping Co-Authored-By: lameesnotlame <258483139+lameesnotlame@users.noreply.github.com> --- .../frc/robot/subsystems/StateMachine.java | 147 +++++++++++++++--- 1 file changed, 122 insertions(+), 25 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/StateMachine.java b/src/main/java/frc/robot/subsystems/StateMachine.java index a2b6b9f..f890137 100644 --- a/src/main/java/frc/robot/subsystems/StateMachine.java +++ b/src/main/java/frc/robot/subsystems/StateMachine.java @@ -8,7 +8,18 @@ import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.commands.states.EjectingHopper; +import frc.robot.commands.states.Intaking; import frc.robot.commands.states.None; +import frc.robot.commands.states.PrepAnywhere; +import frc.robot.commands.states.PrepCorner; +import frc.robot.commands.states.PrepHub; +import frc.robot.commands.states.PrepNeautralToAlliance; +import frc.robot.commands.states.PrepOpponentToAlliance; +import frc.robot.commands.states.PrepTower; +import frc.robot.commands.states.PrepTrench; +import frc.robot.commands.states.ReversingShooter; +import frc.robot.commands.states.Shooting; @Logged public class StateMachine extends SubsystemBase { @@ -36,6 +47,7 @@ public Command tryState(RobotState desiredState) { case NONE: case INTAKING: case REVERSING_SHOOTER: + case SHOOTING: case EJECTING_HOPPER: return new None(); } @@ -43,77 +55,162 @@ public Command tryState(RobotState desiredState) { case INTAKING: switch (currentRobotState) { case NONE: - return new None(); + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: + return new Intaking(); } break; case SHOOTING: switch (currentRobotState) { - case NONE: - return new None(); + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: + return new Shooting(); } break; case REVERSING_SHOOTER: switch (currentRobotState) { case NONE: - return new None(); + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: + return new ReversingShooter(); } break; case PREP_ANYWHERE: switch (currentRobotState) { - case EJECTING_HOPPER: + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: case REVERSING_SHOOTER: - case SHOOTING: - return new None(); + return new PrepAnywhere(); } break; case PREP_HUB: switch (currentRobotState) { - case EJECTING_HOPPER: + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: case REVERSING_SHOOTER: - case SHOOTING: - return new None(); + return new PrepHub(); } break; case PREP_CORNER: switch (currentRobotState) { - case EJECTING_HOPPER: + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: case REVERSING_SHOOTER: - case SHOOTING: - return new None(); + return new PrepCorner(); } break; case PREP_NEUTRAL_TO_ALLIANCE: switch (currentRobotState) { - case EJECTING_HOPPER: + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: case REVERSING_SHOOTER: - case SHOOTING: - return new None(); + return new PrepNeautralToAlliance(); } break; case PREP_OPPONENT_TO_ALLIANCE: switch (currentRobotState) { - case EJECTING_HOPPER: + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: case REVERSING_SHOOTER: - case SHOOTING: - return new None(); + return new PrepOpponentToAlliance(); } break; case PREP_TOWER: switch (currentRobotState) { - case EJECTING_HOPPER: + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: case REVERSING_SHOOTER: - case SHOOTING: - return new None(); + return new PrepTower(); } break; case PREP_TRENCH: switch (currentRobotState) { - case EJECTING_HOPPER: + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: case REVERSING_SHOOTER: - case SHOOTING: - return new None(); + return new PrepTrench(); } break; + case EJECTING_HOPPER: + switch (currentRobotState) { + case NONE: + case RETRACT_INTAKE: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TOWER: + case PREP_TRENCH: + return new EjectingHopper(); + } } return Commands From ccaf3dde14776cf0a6da703df30f52eeadc930e0 Mon Sep 17 00:00:00 2001 From: FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Sat, 30 May 2026 20:01:31 -0700 Subject: [PATCH 4/6] map states Co-Authored-By: jayden mendoza <244560677+jaymendo670-png@users.noreply.github.com> --- .../java/frc/robot/commands/states/MapStatesToButtons.java | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 src/main/java/frc/robot/commands/states/MapStatesToButtons.java diff --git a/src/main/java/frc/robot/commands/states/MapStatesToButtons.java b/src/main/java/frc/robot/commands/states/MapStatesToButtons.java deleted file mode 100644 index 4365cf0..0000000 --- a/src/main/java/frc/robot/commands/states/MapStatesToButtons.java +++ /dev/null @@ -1,4 +0,0 @@ -package frc.robot.commands.states; - -public class MapStatesToButtons { -} From 83156df8566941d237c695f6d72d5152dfed3f2c Mon Sep 17 00:00:00 2001 From: FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Sat, 30 May 2026 21:06:17 -0700 Subject: [PATCH 5/6] mapping states Co-Authored-By: jayden mendoza <244560677+jaymendo670-png@users.noreply.github.com> --- .../frc/robot/subsystems/StateMachine.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/main/java/frc/robot/subsystems/StateMachine.java b/src/main/java/frc/robot/subsystems/StateMachine.java index f890137..f85b1da 100644 --- a/src/main/java/frc/robot/subsystems/StateMachine.java +++ b/src/main/java/frc/robot/subsystems/StateMachine.java @@ -18,6 +18,7 @@ import frc.robot.commands.states.PrepOpponentToAlliance; import frc.robot.commands.states.PrepTower; import frc.robot.commands.states.PrepTrench; +import frc.robot.commands.states.RetractIntake; import frc.robot.commands.states.ReversingShooter; import frc.robot.commands.states.Shooting; @@ -78,6 +79,22 @@ public Command tryState(RobotState desiredState) { case PREP_TRENCH: return new Shooting(); } + case RETRACT_INTAKE: + switch (currentRobotState) { + case NONE: + case SHOOTING: + case EJECTING_HOPPER: + case REVERSING_SHOOTER: + case INTAKING: + case PREP_ANYWHERE: + case PREP_CORNER: + case PREP_HUB: + case PREP_NEUTRAL_TO_ALLIANCE: + case PREP_OPPONENT_TO_ALLIANCE: + case PREP_TRENCH: + + return new RetractIntake(); + } break; case REVERSING_SHOOTER: switch (currentRobotState) { @@ -105,6 +122,7 @@ public Command tryState(RobotState desiredState) { case PREP_TOWER: case PREP_TRENCH: case REVERSING_SHOOTER: + case INTAKING: return new PrepAnywhere(); } break; @@ -120,6 +138,7 @@ public Command tryState(RobotState desiredState) { case PREP_TOWER: case PREP_TRENCH: case REVERSING_SHOOTER: + case INTAKING: return new PrepHub(); } break; @@ -135,6 +154,7 @@ public Command tryState(RobotState desiredState) { case PREP_TOWER: case PREP_TRENCH: case REVERSING_SHOOTER: + case INTAKING: return new PrepCorner(); } break; @@ -150,6 +170,7 @@ public Command tryState(RobotState desiredState) { case PREP_TOWER: case PREP_TRENCH: case REVERSING_SHOOTER: + case INTAKING: return new PrepNeautralToAlliance(); } break; @@ -165,6 +186,7 @@ public Command tryState(RobotState desiredState) { case PREP_TOWER: case PREP_TRENCH: case REVERSING_SHOOTER: + case INTAKING: return new PrepOpponentToAlliance(); } break; @@ -180,6 +202,7 @@ public Command tryState(RobotState desiredState) { case PREP_TOWER: case PREP_TRENCH: case REVERSING_SHOOTER: + case INTAKING: return new PrepTower(); } break; @@ -195,6 +218,7 @@ public Command tryState(RobotState desiredState) { case PREP_TOWER: case PREP_TRENCH: case REVERSING_SHOOTER: + case INTAKING: return new PrepTrench(); } break; @@ -209,6 +233,7 @@ public Command tryState(RobotState desiredState) { case PREP_OPPONENT_TO_ALLIANCE: case PREP_TOWER: case PREP_TRENCH: + case INTAKING: return new EjectingHopper(); } From c92e3d7c410899659ba0b63961accd0fd29fccd2 Mon Sep 17 00:00:00 2001 From: FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Sat, 30 May 2026 21:15:16 -0700 Subject: [PATCH 6/6] states mapping Co-Authored-By: jayden mendoza <244560677+jaymendo670-png@users.noreply.github.com> --- src/main/java/frc/robot/subsystems/StateMachine.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/StateMachine.java b/src/main/java/frc/robot/subsystems/StateMachine.java index f85b1da..bf2b31f 100644 --- a/src/main/java/frc/robot/subsystems/StateMachine.java +++ b/src/main/java/frc/robot/subsystems/StateMachine.java @@ -11,16 +11,10 @@ import frc.robot.commands.states.EjectingHopper; import frc.robot.commands.states.Intaking; import frc.robot.commands.states.None; -import frc.robot.commands.states.PrepAnywhere; -import frc.robot.commands.states.PrepCorner; -import frc.robot.commands.states.PrepHub; -import frc.robot.commands.states.PrepNeautralToAlliance; -import frc.robot.commands.states.PrepOpponentToAlliance; -import frc.robot.commands.states.PrepTower; -import frc.robot.commands.states.PrepTrench; import frc.robot.commands.states.RetractIntake; import frc.robot.commands.states.ReversingShooter; -import frc.robot.commands.states.Shooting; +import frc.robot.commands.states.*; +import frc.robot.commands.states.preps.*; @Logged public class StateMachine extends SubsystemBase { @@ -171,7 +165,7 @@ public Command tryState(RobotState desiredState) { case PREP_TRENCH: case REVERSING_SHOOTER: case INTAKING: - return new PrepNeautralToAlliance(); + return new PrepNeutralToAlliance(); } break; case PREP_OPPONENT_TO_ALLIANCE: