From b75f198e6856f75700bac88ac36640e8afed7461 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Thu, 2 Oct 2025 19:17:47 -0700 Subject: [PATCH 01/37] Create MovingMotor.java --- .../java/com/team766/robot/filip/mechanisms/MovingMotor.java | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java @@ -0,0 +1 @@ + From e8f24570c03a63bb64be8f505e0631e17620bf22 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Thu, 2 Oct 2025 20:03:16 -0700 Subject: [PATCH 02/37] Update MovingMotor.java --- .../team766/robot/filip/mechanisms/MovingMotor.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java index 8b1378917..598657d8e 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java @@ -1 +1,9 @@ - +public class FilipMovingMotor extends MechanismWithStatus { + public record MovingMotorStatus(doublecurrentPosition) implements Status {} + protected MovingMotorStatus updateStatus() { + return 4 + } + RobotProvider.instance.getMotor() + public Motor() {} + +} From 6d26c33b9f2ce13b420c488722d937cfc24e5644 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Thu, 2 Oct 2025 20:15:07 -0700 Subject: [PATCH 03/37] Update MovingMotor.java --- .../java/com/team766/robot/filip/mechanisms/MovingMotor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java index 598657d8e..50902dacb 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java @@ -5,5 +5,5 @@ protected MovingMotorStatus updateStatus() { } RobotProvider.instance.getMotor() public Motor() {} - + otorController.set() } From 8a472bed79c8e533e429232661866bcdb6c6515c Mon Sep 17 00:00:00 2001 From: filip-dob Date: Thu, 2 Oct 2025 20:20:42 -0700 Subject: [PATCH 04/37] Update MovingMotor.java --- .../java/com/team766/robot/filip/mechanisms/MovingMotor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java index 50902dacb..93aa12ec7 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java @@ -5,5 +5,6 @@ protected MovingMotorStatus updateStatus() { } RobotProvider.instance.getMotor() public Motor() {} - otorController.set() + MotorController.set(){} + run(){} } From 536ea03d6f260590c00014fbc58abdadc75aaf88 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Thu, 2 Oct 2025 20:36:35 -0700 Subject: [PATCH 05/37] Update MovingMotor.java --- .../robot/filip/mechanisms/MovingMotor.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java index 93aa12ec7..b8d3fd7ed 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java @@ -1,10 +1,23 @@ +package com.team766.robot.filip.mechanisms; + +// importing previous functions, classes needed + +import com.team766.framework.MechanismWithStatus; +import com.team766.framework.Status; +import com.team766.hal.MotorController; +import com.team766.hal.RobotProvider; + + + +// double is a type (tuple) + public class FilipMovingMotor extends MechanismWithStatus { - public record MovingMotorStatus(doublecurrentPosition) implements Status {} - protected MovingMotorStatus updateStatus() { - return 4 + public record MovingMotorStatus(double currentPosition) implements Status {} + // creating a motor object + MotorController motor = RobotProvider.instance.getMotor("leftMotor"); + public FilipMovingMotor() {} + public void moveSpeed(double speed) { + motor.set(speed); } - RobotProvider.instance.getMotor() - public Motor() {} - MotorController.set(){} - run(){} + } From 11052db769e1e77fe7a0eed13798f53fcbd13ad5 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 8 Oct 2025 18:39:28 -0700 Subject: [PATCH 06/37] Update MovingMotor.java --- .../java/com/team766/robot/filip/mechanisms/MovingMotor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java index b8d3fd7ed..5095171d1 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java @@ -9,11 +9,14 @@ -// double is a type (tuple) +// double is a type (int.int) public class FilipMovingMotor extends MechanismWithStatus { public record MovingMotorStatus(double currentPosition) implements Status {} // creating a motor object + protected MovingMotorStatus updateStatus(){ + return new MovingMotorStatus(67); + } MotorController motor = RobotProvider.instance.getMotor("leftMotor"); public FilipMovingMotor() {} public void moveSpeed(double speed) { From fa711e67f08b669c0eee8469ae3a0dc4a5b9a555 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 8 Oct 2025 18:43:33 -0700 Subject: [PATCH 07/37] Update MovingMotor.java From f6f790f4c68cb6716c6053965873c4a72934671c Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 8 Oct 2025 19:41:39 -0700 Subject: [PATCH 08/37] Update MovingMotor.java --- .../com/team766/robot/filip/mechanisms/MovingMotor.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java index 5095171d1..fc19a54ec 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java @@ -12,10 +12,12 @@ // double is a type (int.int) public class FilipMovingMotor extends MechanismWithStatus { - public record MovingMotorStatus(double currentPosition) implements Status {} + + public record MovingMotorStatus(double currentPosition) implements Status + } // creating a motor object protected MovingMotorStatus updateStatus(){ - return new MovingMotorStatus(67); + return new MovingMotorStatus(motor.getSensorPosition()); } MotorController motor = RobotProvider.instance.getMotor("leftMotor"); public FilipMovingMotor() {} From 596372e0c25f1a10bc33a14f51ffe8f7168baae9 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 15 Oct 2025 19:47:42 -0700 Subject: [PATCH 09/37] Create Drive --- src/main/java/com/team766/robot/filip/mechanisms/Drive | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/main/java/com/team766/robot/filip/mechanisms/Drive diff --git a/src/main/java/com/team766/robot/filip/mechanisms/Drive b/src/main/java/com/team766/robot/filip/mechanisms/Drive new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/mechanisms/Drive @@ -0,0 +1 @@ + From cd102e90632e5fff3b133745b127e0278c503517 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 18 Oct 2025 13:52:29 -0700 Subject: [PATCH 10/37] Create MoveMotor class extending Procedure --- .../java/com/team766/robot/filip/procedures/MoveMotor.java | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/java/com/team766/robot/filip/procedures/MoveMotor.java diff --git a/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java b/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java new file mode 100644 index 000000000..92668e924 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java @@ -0,0 +1,3 @@ +public class MoveMotor extends Procedure { + private FilipMovingMotor motor; +} From addc85fb6cf7db519e90a8266bf2b0e1f597c327 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 18 Oct 2025 14:15:59 -0700 Subject: [PATCH 11/37] Add constructor to MoveMotor for motor initialization --- .../java/com/team766/robot/filip/procedures/MoveMotor.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java b/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java index 92668e924..1cd52f0c0 100644 --- a/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java +++ b/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java @@ -1,3 +1,7 @@ public class MoveMotor extends Procedure { private FilipMovingMotor motor; + public MoveMotor(MovingMotor myMotor){ + motor = reserve(myMotor); + } + } From f6bdc76b195becfdfc049c196a0a954d1142084e Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 18 Oct 2025 14:28:38 -0700 Subject: [PATCH 12/37] implemented procedure --- .../robot/filip/procedures/MoveMotor.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java b/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java index 1cd52f0c0..eb1b2b9f4 100644 --- a/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java +++ b/src/main/java/com/team766/robot/filip/procedures/MoveMotor.java @@ -1,7 +1,17 @@ +package com.team766.robot.filip.procedures; +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.filip.mechanisms.FilipMovingMotor; + public class MoveMotor extends Procedure { private FilipMovingMotor motor; - public MoveMotor(MovingMotor myMotor){ + public MoveMotor(FilipMovingMotor myMotor){ motor = reserve(myMotor); } - -} + @Override + public void run(Context context) { + motor.moveSpeed(1); + context.waitForSeconds(5); + motor.moveSpeed(0); + } +} \ No newline at end of file From 5b5eecf119a5238f5af8469c1fb8cb8ccae7fcc8 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 18 Oct 2025 14:30:23 -0700 Subject: [PATCH 13/37] implemented procedure --- .../mechanisms/{MovingMotor.java => FilipMovingMotor.java} | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) rename src/main/java/com/team766/robot/filip/mechanisms/{MovingMotor.java => FilipMovingMotor.java} (85%) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java similarity index 85% rename from src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java rename to src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java index fc19a54ec..c2c58da70 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/MovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java @@ -11,10 +11,9 @@ // double is a type (int.int) -public class FilipMovingMotor extends MechanismWithStatus { +public class FilipMovingMotor extends MechanismWithStatus { - public record MovingMotorStatus(double currentPosition) implements Status - } + public record MovingMotorStatus(double currentPosition) implements Status {} // creating a motor object protected MovingMotorStatus updateStatus(){ return new MovingMotorStatus(motor.getSensorPosition()); From ef8943a02ef5dbaa3a3dc9f5361752afe15687b8 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 18 Oct 2025 14:36:05 -0700 Subject: [PATCH 14/37] bug/clarity fixes --- .../robot/filip/mechanisms/FilipMovingMotor.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java index c2c58da70..4f1e50a8c 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java @@ -8,18 +8,16 @@ import com.team766.hal.RobotProvider; - -// double is a type (int.int) - public class FilipMovingMotor extends MechanismWithStatus { - + MotorController motor = RobotProvider.instance.getMotor("leftMotor"); public record MovingMotorStatus(double currentPosition) implements Status {} // creating a motor object + + public FilipMovingMotor() {} protected MovingMotorStatus updateStatus(){ return new MovingMotorStatus(motor.getSensorPosition()); } - MotorController motor = RobotProvider.instance.getMotor("leftMotor"); - public FilipMovingMotor() {} + public void moveSpeed(double speed) { motor.set(speed); } From 404ed3eaa4b29cb4d51842d4e27038235a97141a Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 18 Oct 2025 15:52:56 -0700 Subject: [PATCH 15/37] bug/clarity fixes --- src/main/java/com/team766/robot/filip/OI.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/java/com/team766/robot/filip/OI.java diff --git a/src/main/java/com/team766/robot/filip/OI.java b/src/main/java/com/team766/robot/filip/OI.java new file mode 100644 index 000000000..e69de29bb From ab4bf5a61aef46c8ad4c1210195334c111e4a8b8 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 22 Oct 2025 18:31:01 -0700 Subject: [PATCH 16/37] Rename Drive to Drive.java --- .../java/com/team766/robot/filip/mechanisms/{Drive => Drive.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/team766/robot/filip/mechanisms/{Drive => Drive.java} (100%) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/Drive b/src/main/java/com/team766/robot/filip/mechanisms/Drive.java similarity index 100% rename from src/main/java/com/team766/robot/filip/mechanisms/Drive rename to src/main/java/com/team766/robot/filip/mechanisms/Drive.java From 3e6b02d7bef4730aab347776603d030a2613e26b Mon Sep 17 00:00:00 2001 From: filip-dob <100043837+qntmcube@users.noreply.github.com> Date: Wed, 22 Oct 2025 18:41:25 -0700 Subject: [PATCH 17/37] commited oi and tank drive --- src/main/java/com/team766/robot/filip/OI.java | 33 +++++++++++++++++++ .../com/team766/robot/filip/mechanisms/Drive | 1 - .../team766/robot/filip/mechanisms/Drive.java | 27 +++++++++++++++ .../robot/filip/procedures/Autonomous.java | 0 4 files changed, 60 insertions(+), 1 deletion(-) delete mode 100644 src/main/java/com/team766/robot/filip/mechanisms/Drive create mode 100644 src/main/java/com/team766/robot/filip/mechanisms/Drive.java create mode 100644 src/main/java/com/team766/robot/filip/procedures/Autonomous.java diff --git a/src/main/java/com/team766/robot/filip/OI.java b/src/main/java/com/team766/robot/filip/OI.java index e69de29bb..19faa9437 100644 --- a/src/main/java/com/team766/robot/filip/OI.java +++ b/src/main/java/com/team766/robot/filip/OI.java @@ -0,0 +1,33 @@ +package com.team766.robot.filip; + +import java.util.Set; +import static com.team766.framework.RulePersistence.*; +import com.team766.framework.RuleEngine; +import com.team766.hal.RobotProvider; +import com.team766.robot.filip.mechanisms.Drive; +import com.team766.hal.JoystickReader; +import com.team766.robot.common.constants.InputConstants; + +public class OI extends RuleEngine { + public OI(Drive drive) { + final JoystickReader leftJoystick = RobotProvider.instance.getJoystick(0); + final JoystickReader rightJoystick = RobotProvider.instance.getJoystick(1); + addRule("RUN_LEFT_MOTOR", + leftJoystick.whenAxisMoved(InputConstants.AXIS_FORWARD_BACKWARD), + ONCE_AND_HOLD, + Set.of(drive), + () -> { + drive.move_left(leftJoystick.getAxis(InputConstants.AXIS_FORWARD_BACKWARD)); + } + ); + + addRule("RUN_RIGHT_MOTOR", + rightJoystick.whenAxisMoved(InputConstants.AXIS_FORWARD_BACKWARD), + ONCE_AND_HOLD, + Set.of(drive), + () -> { + drive.move_right(rightJoystick.getAxis(InputConstants.AXIS_FORWARD_BACKWARD)); + } + ); + } +} \ No newline at end of file diff --git a/src/main/java/com/team766/robot/filip/mechanisms/Drive b/src/main/java/com/team766/robot/filip/mechanisms/Drive deleted file mode 100644 index 8b1378917..000000000 --- a/src/main/java/com/team766/robot/filip/mechanisms/Drive +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/main/java/com/team766/robot/filip/mechanisms/Drive.java b/src/main/java/com/team766/robot/filip/mechanisms/Drive.java new file mode 100644 index 000000000..66b669d26 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/mechanisms/Drive.java @@ -0,0 +1,27 @@ + +package com.team766.robot.filip.mechanisms; + +import com.team766.framework.MechanismWithStatus; +import com.team766.framework.Status; +import com.team766.hal.MotorController; +import com.team766.hal.RobotProvider; + +public class Drive extends MechanismWithStatus { + MotorController motor_left = RobotProvider.instance.getMotor("leftMotor"); + MotorController motor_right = RobotProvider.instance.getMotor("rightMotor"); + public record DriveStatus(double pos_motor_left, double pos_motor_right) implements Status {} + + public Drive() {} + + public void move_left(double speed) { + motor_left.set(speed); + } + + public void move_right(double speed) { + motor_right.set(speed); + } + + protected DriveStatus updateStatus() { + return new DriveStatus(motor_left.getSensorPosition(), motor_right.getSensorPosition()); + } +} \ No newline at end of file diff --git a/src/main/java/com/team766/robot/filip/procedures/Autonomous.java b/src/main/java/com/team766/robot/filip/procedures/Autonomous.java new file mode 100644 index 000000000..e69de29bb From 13b93c44d906707509869da4ea75fa835076d8bc Mon Sep 17 00:00:00 2001 From: filip-dob <100043837+qntmcube@users.noreply.github.com> Date: Wed, 22 Oct 2025 18:57:54 -0700 Subject: [PATCH 18/37] commited oi and tank drive --- .../robot/filip/procedures/Autonomous.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/main/java/com/team766/robot/filip/procedures/Autonomous.java b/src/main/java/com/team766/robot/filip/procedures/Autonomous.java index e69de29bb..d70bf087e 100644 --- a/src/main/java/com/team766/robot/filip/procedures/Autonomous.java +++ b/src/main/java/com/team766/robot/filip/procedures/Autonomous.java @@ -0,0 +1,29 @@ +package com.team766.robot.filip.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.filip.mechanisms.Drive; +import com.team766.robot.filip.mechanisms.FilipMovingMotor; + +public class Autonomous extends Procedure { + private FilipMovingMotor motor; + private Drive drive; + public Autonomous(Drive myDrive, FilipMovingMotor myMotor){ + drive = reserve(myDrive); + motor = reserve(myMotor); + } + public void run(Context context) { + drive.move_left(1); + drive.move_right(1); + + context.waitForSeconds(5); + + drive.move_left(0); + drive.move_right(0); + + motor.moveSpeed(1); + context.waitForSeconds(3); + motor.moveSpeed(0); + } + +} From 4a2e47cc9c81c6324251cd28b3e0a59918af763a Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 25 Oct 2025 15:30:20 -0700 Subject: [PATCH 19/37] w --- .../java/com/team766/robot/filip/Robot.java | 53 +++++++++++++++++++ .../team766/robot/filip/mechanisms/Drive.java | 3 -- 2 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/team766/robot/filip/Robot.java diff --git a/src/main/java/com/team766/robot/filip/Robot.java b/src/main/java/com/team766/robot/filip/Robot.java new file mode 100644 index 000000000..a8d538124 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/Robot.java @@ -0,0 +1,53 @@ +package com.team766.robot.filip; + +import com.ctre.phoenix.led.Animation; +import com.ctre.phoenix.led.FireAnimation; +import com.ctre.phoenix.led.RainbowAnimation; +import com.team766.framework.Conditions; +import com.team766.framework.Conditions.LogicalAnd; +import com.team766.framework.RuleEngine; +import com.team766.framework.Status; +import com.team766.logging.Category; +import com.team766.robot.common.constants.ColorConstants; +import com.team766.robot.common.mechanisms.LEDString; +import com.team766.robot.common.mechanisms.SwerveDrive; +import edu.wpi.first.wpilibj.DriverStation; +import com.ctre.phoenix.led.CANdle; +import com.ctre.phoenix.led.CANdle.LEDStripType; +import edu.wpi.first.wpilib.TimedRobot; +import static com.team766.framework.RulePersistence; +import com.team766.common.constants.InputConstants; +import com.tean766.framework.JoystickReader;; + + +public class Robot extends TimedRobot, RuleEngine { + + + JoystickReader button1 = RobotProvider.instance.getButton(1); + JoystickReader button2 = RobotProvider.instance.getButton(2); + JoystickReader button3 = RobotProvider.instance.getButton(3); + + public void RobotInit() { + CANdle _candle = new CANdle(1, "light bus"); + Joystick _joystick = new Joystick(0); + _candle.configLEDType(LEDStripType.GRB); + } + addRule("Yellow for Cone" + button1.whenButton(); + ONCE_AND_HOLD, + set.of(ledString) + ) + addRule("Purple for Cube" + button2.whenButton(); + ONCE_AND_HOLD, + set.of(ledString), + () -> {ledString.setLEDs(128, 0, 128, 0, 0, 8);} + ) + addRule("Rainbow for Defense" + button3.whenButton(), + ONCE_AND_HOLD, + set.of(RainbowAnimation), + () -> {RainbowAnimation anim = new RainbowAnimation(); + _candle.animate(anim);} + ) +} \ No newline at end of file diff --git a/src/main/java/com/team766/robot/filip/mechanisms/Drive.java b/src/main/java/com/team766/robot/filip/mechanisms/Drive.java index 2eea9e9c3..13653b59b 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/Drive.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/Drive.java @@ -1,5 +1,4 @@ -<<<<<<< HEAD package com.team766.robot.filip.mechanisms; import com.team766.framework.MechanismWithStatus; @@ -26,5 +25,3 @@ protected DriveStatus updateStatus() { return new DriveStatus(motor_left.getSensorPosition(), motor_right.getSensorPosition()); } } -======= ->>>>>>> ab4bf5a61aef46c8ad4c1210195334c111e4a8b8 From 17fd2c2034919eb08829071141101fca94a4cf7c Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 25 Oct 2025 15:54:17 -0700 Subject: [PATCH 20/37] ,m lkm --- src/main/java/com/team766/robot/filip/Robot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/team766/robot/filip/Robot.java b/src/main/java/com/team766/robot/filip/Robot.java index a8d538124..5ad6260b6 100644 --- a/src/main/java/com/team766/robot/filip/Robot.java +++ b/src/main/java/com/team766/robot/filip/Robot.java @@ -20,7 +20,7 @@ import com.tean766.framework.JoystickReader;; -public class Robot extends TimedRobot, RuleEngine { +public class Robot extends RuleEngine { JoystickReader button1 = RobotProvider.instance.getButton(1); From 3ff956043c3af371044c03527e22fe6939055bd0 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Sat, 25 Oct 2025 16:06:08 -0700 Subject: [PATCH 21/37] as --- src/main/java/com/team766/robot/filip/Robot.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/Robot.java b/src/main/java/com/team766/robot/filip/Robot.java index 5ad6260b6..69f0b3e89 100644 --- a/src/main/java/com/team766/robot/filip/Robot.java +++ b/src/main/java/com/team766/robot/filip/Robot.java @@ -35,18 +35,18 @@ public void RobotInit() { addRule("Yellow for Cone" button1.whenButton(); ONCE_AND_HOLD, - set.of(ledString) + _candle, ) addRule("Purple for Cube" button2.whenButton(); ONCE_AND_HOLD, - set.of(ledString), + _candle, () -> {ledString.setLEDs(128, 0, 128, 0, 0, 8);} ) addRule("Rainbow for Defense" button3.whenButton(), ONCE_AND_HOLD, - set.of(RainbowAnimation), + anim, () -> {RainbowAnimation anim = new RainbowAnimation(); _candle.animate(anim);} ) From d420bd9905933f9aa43b7c18107cd9bce451e82f Mon Sep 17 00:00:00 2001 From: filip-dob <100043837+qntmcube@users.noreply.github.com> Date: Sat, 1 Nov 2025 13:27:14 -0700 Subject: [PATCH 22/37] bkbk --- .../com/team766/robot/filip/{Robot.java => LightsCANdle.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/team766/robot/filip/{Robot.java => LightsCANdle.java} (100%) diff --git a/src/main/java/com/team766/robot/filip/Robot.java b/src/main/java/com/team766/robot/filip/LightsCANdle.java similarity index 100% rename from src/main/java/com/team766/robot/filip/Robot.java rename to src/main/java/com/team766/robot/filip/LightsCANdle.java From 4edd2e558b9ea191de3c4ade7bb40fcc6d363b65 Mon Sep 17 00:00:00 2001 From: filip-dob <100043837+qntmcube@users.noreply.github.com> Date: Sat, 1 Nov 2025 16:40:25 -0700 Subject: [PATCH 23/37] sakaaaadf --- .../com/team766/robot/filip/LightsCANdle.java | 76 ++++++++----------- src/main/java/com/team766/robot/filip/OI.java | 4 +- .../java/com/team766/robot/filip/Shooter.java | 13 ++++ 3 files changed, 48 insertions(+), 45 deletions(-) create mode 100644 src/main/java/com/team766/robot/filip/Shooter.java diff --git a/src/main/java/com/team766/robot/filip/LightsCANdle.java b/src/main/java/com/team766/robot/filip/LightsCANdle.java index 69f0b3e89..cd9dcacce 100644 --- a/src/main/java/com/team766/robot/filip/LightsCANdle.java +++ b/src/main/java/com/team766/robot/filip/LightsCANdle.java @@ -1,53 +1,43 @@ package com.team766.robot.filip; +import java.util.Set; +import static com.team766.framework.RulePersistence.*; +import com.team766.framework.RuleGroup; +import com.team766.hal.JoystickReader; +import com.team766.hal.RobotProvider; +import com.team766.robot.common.mechanisms.LEDString; +import com.team766.robot.common.constants.ColorConstants; import com.ctre.phoenix.led.Animation; -import com.ctre.phoenix.led.FireAnimation; import com.ctre.phoenix.led.RainbowAnimation; -import com.team766.framework.Conditions; -import com.team766.framework.Conditions.LogicalAnd; -import com.team766.framework.RuleEngine; -import com.team766.framework.Status; -import com.team766.logging.Category; -import com.team766.robot.common.constants.ColorConstants; -import com.team766.robot.common.mechanisms.LEDString; -import com.team766.robot.common.mechanisms.SwerveDrive; -import edu.wpi.first.wpilibj.DriverStation; -import com.ctre.phoenix.led.CANdle; -import com.ctre.phoenix.led.CANdle.LEDStripType; -import edu.wpi.first.wpilib.TimedRobot; -import static com.team766.framework.RulePersistence; -import com.team766.common.constants.InputConstants; -import com.tean766.framework.JoystickReader;; +import com.team766.robot.common.constants.InputConstants; + +public class LightsCANdle extends RuleGroup{ + private final LEDString lights = new LEDString("lights"); + private final LEDString.Segment lightStrip = lights.makeSegment(0,7); + public LightsCANdle () { + final Animation rainbow = new RainbowAnimation(); + final JoystickReader joystick = RobotProvider.instance.getJoystick(0); -public class Robot extends RuleEngine { + addRule("Yellow for Cone", + joystick.whenButton(InputConstants.GAMEPAD_A_BUTTON), + ONCE, + Set.of(lights), + () -> {lightStrip.setColor(ColorConstants.YELLOW);} + ); + addRule("Purple for Cube", + joystick.whenButton(InputConstants.GAMEPAD_B_BUTTON), + ONCE, + Set.of(lights), + () -> {lightStrip.setColor(ColorConstants.PURPLE);} + ); - JoystickReader button1 = RobotProvider.instance.getButton(1); - JoystickReader button2 = RobotProvider.instance.getButton(2); - JoystickReader button3 = RobotProvider.instance.getButton(3); - - public void RobotInit() { - CANdle _candle = new CANdle(1, "light bus"); - Joystick _joystick = new Joystick(0); - _candle.configLEDType(LEDStripType.GRB); + addRule("Rainbow for Defense", + joystick.whenButton(InputConstants.GAMEPAD_X_BUTTON), + ONCE, + Set.of(lights), + () -> {lightStrip.animate(rainbow);} + ); } - addRule("Yellow for Cone" - button1.whenButton(); - ONCE_AND_HOLD, - _candle, - ) - addRule("Purple for Cube" - button2.whenButton(); - ONCE_AND_HOLD, - _candle, - () -> {ledString.setLEDs(128, 0, 128, 0, 0, 8);} - ) - addRule("Rainbow for Defense" - button3.whenButton(), - ONCE_AND_HOLD, - anim, - () -> {RainbowAnimation anim = new RainbowAnimation(); - _candle.animate(anim);} - ) } \ No newline at end of file diff --git a/src/main/java/com/team766/robot/filip/OI.java b/src/main/java/com/team766/robot/filip/OI.java index 19faa9437..1dfdc1c63 100644 --- a/src/main/java/com/team766/robot/filip/OI.java +++ b/src/main/java/com/team766/robot/filip/OI.java @@ -17,7 +17,7 @@ public OI(Drive drive) { ONCE_AND_HOLD, Set.of(drive), () -> { - drive.move_left(leftJoystick.getAxis(InputConstants.AXIS_FORWARD_BACKWARD)); + drive.move_left(leftJoystick.getAxis(InputConstants.GAMEPAD_LEFT_STICK_YAXIS)); } ); @@ -26,7 +26,7 @@ public OI(Drive drive) { ONCE_AND_HOLD, Set.of(drive), () -> { - drive.move_right(rightJoystick.getAxis(InputConstants.AXIS_FORWARD_BACKWARD)); + drive.move_right(rightJoystick.getAxis(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS)); } ); } diff --git a/src/main/java/com/team766/robot/filip/Shooter.java b/src/main/java/com/team766/robot/filip/Shooter.java new file mode 100644 index 000000000..bad02ac9c --- /dev/null +++ b/src/main/java/com/team766/robot/filip/Shooter.java @@ -0,0 +1,13 @@ +package com.team766.robot.filip; + +import com.team766.framework.RuleGroup; +import com.team766.hal.JoystickReader; +import com.team766.hal.RobotProvider; +import com.team766.hal.MotorController; + +public class ShooterOI extends RuleGroup{ + JoystickReader controller = RobotProvider.instance.getJoystick(0); + MotorController shooter = RobotProvider.instance.getMotor("shooter"); + + +} From 7cb977172ae260ba29c65e8d1ccd490445e6c2e0 Mon Sep 17 00:00:00 2001 From: filip-dob <100043837+qntmcube@users.noreply.github.com> Date: Sat, 1 Nov 2025 16:41:10 -0700 Subject: [PATCH 24/37] fj --- src/main/java/com/team766/robot/filip/OI.java | 13 ++++++------ .../java/com/team766/robot/filip/Shooter.java | 20 ++++++++++++++----- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/OI.java b/src/main/java/com/team766/robot/filip/OI.java index 1dfdc1c63..125fea1a0 100644 --- a/src/main/java/com/team766/robot/filip/OI.java +++ b/src/main/java/com/team766/robot/filip/OI.java @@ -10,24 +10,25 @@ public class OI extends RuleEngine { public OI(Drive drive) { - final JoystickReader leftJoystick = RobotProvider.instance.getJoystick(0); - final JoystickReader rightJoystick = RobotProvider.instance.getJoystick(1); + final JoystickReader joystick = RobotProvider.instance.getJoystick(0); + addRule("RUN_LEFT_MOTOR", - leftJoystick.whenAxisMoved(InputConstants.AXIS_FORWARD_BACKWARD), + joystick.whenAxisMoved(InputConstants.GAMEPAD_LEFT_STICK_YAXIS), ONCE_AND_HOLD, Set.of(drive), () -> { - drive.move_left(leftJoystick.getAxis(InputConstants.GAMEPAD_LEFT_STICK_YAXIS)); + drive.move_left(joystick.getAxis(InputConstants.GAMEPAD_LEFT_STICK_YAXIS)); } ); addRule("RUN_RIGHT_MOTOR", - rightJoystick.whenAxisMoved(InputConstants.AXIS_FORWARD_BACKWARD), + joystick.whenAxisMoved(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS), ONCE_AND_HOLD, Set.of(drive), () -> { - drive.move_right(rightJoystick.getAxis(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS)); + drive.move_right(joystick.getAxis(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS)); } ); + } } \ No newline at end of file diff --git a/src/main/java/com/team766/robot/filip/Shooter.java b/src/main/java/com/team766/robot/filip/Shooter.java index bad02ac9c..f47b892f2 100644 --- a/src/main/java/com/team766/robot/filip/Shooter.java +++ b/src/main/java/com/team766/robot/filip/Shooter.java @@ -1,13 +1,23 @@ package com.team766.robot.filip; -import com.team766.framework.RuleGroup; -import com.team766.hal.JoystickReader; +import com.team766.framework.MechanismWithStatus; +import com.team766.framework.Status; import com.team766.hal.RobotProvider; import com.team766.hal.MotorController; -public class ShooterOI extends RuleGroup{ - JoystickReader controller = RobotProvider.instance.getJoystick(0); +public class Shooter extends MechanismWithStatus{ MotorController shooter = RobotProvider.instance.getMotor("shooter"); + public record ShooterStatus(double pos_shooter, double motorSpeed) implements Status {} - + public Shooter(){ + + } + + public void shootSpeed (double speed) { + shooter.set(speed); + } + + protected ShooterStatus updateStatus(){ + return new ShooterStatus(shooter.getSensorPosition(), shooter.getSensorVelocity()); + } } From ad76258903180f20d1193eeb88002f6f122b258b Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 18:50:41 -0800 Subject: [PATCH 25/37] Refactor OI class to OI_A with new joystick handling --- src/main/java/com/team766/robot/filip/OI.java | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/OI.java b/src/main/java/com/team766/robot/filip/OI.java index 125fea1a0..9ea138aae 100644 --- a/src/main/java/com/team766/robot/filip/OI.java +++ b/src/main/java/com/team766/robot/filip/OI.java @@ -1,34 +1,29 @@ package com.team766.robot.filip; -import java.util.Set; import static com.team766.framework.RulePersistence.*; -import com.team766.framework.RuleEngine; -import com.team766.hal.RobotProvider; -import com.team766.robot.filip.mechanisms.Drive; + +import com.team766.framework.RuleGroup; import com.team766.hal.JoystickReader; +import com.team766.hal.RobotProvider; +import com.team766.robot.Kevan.mechanisms.Drive; import com.team766.robot.common.constants.InputConstants; +import java.util.Set; -public class OI extends RuleEngine { - public OI(Drive drive) { - final JoystickReader joystick = RobotProvider.instance.getJoystick(0); - - addRule("RUN_LEFT_MOTOR", - joystick.whenAxisMoved(InputConstants.GAMEPAD_LEFT_STICK_YAXIS), - ONCE_AND_HOLD, - Set.of(drive), - () -> { - drive.move_left(joystick.getAxis(InputConstants.GAMEPAD_LEFT_STICK_YAXIS)); - } - ); - - addRule("RUN_RIGHT_MOTOR", - joystick.whenAxisMoved(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS), +public class OI_A extends RuleGroup { + public OI_A(Drive drive) { + final JoystickReader joystick1 = RobotProvider.instance.getJoystick(0); + addRule( + "handle_axis_moved", + joystick1.whenAnyAxisMoved( + InputConstants.AXIS_FORWARD_BACKWARD, InputConstants.AXIS_LEFT_RIGHT), ONCE_AND_HOLD, Set.of(drive), () -> { - drive.move_right(joystick.getAxis(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS)); - } - ); - + double forward_backward = + joystick1.getAxis(InputConstants.AXIS_FORWARD_BACKWARD); + double left_right = joystick1.getAxis(InputConstants.AXIS_LEFT_RIGHT); + drive.move_left(forward_backward + left_right); + drive.move_right(forward_backward - left_right); + }); } -} \ No newline at end of file +} From a1ab8f7f6a740ba397340bcabe2a296a9abd5426 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 18:52:59 -0800 Subject: [PATCH 26/37] Implement OI_MAyhem for robot control --- .../java/com/team766/robot/filip/OI_MAyhem | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/main/java/com/team766/robot/filip/OI_MAyhem diff --git a/src/main/java/com/team766/robot/filip/OI_MAyhem b/src/main/java/com/team766/robot/filip/OI_MAyhem new file mode 100644 index 000000000..82224c963 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/OI_MAyhem @@ -0,0 +1,66 @@ +package com.team766.robot.filip; + +import static com.team766.framework.RulePersistence.*; + +import com.team766.framework.Context; +import com.team766.framework.RuleGroup; +import com.team766.hal.JoystickReader; +import com.team766.hal.RobotProvider; +import com.team766.robot.Kevan.mechanisms.Drive; +import com.team766.robot.Kevan.mechanisms.Intake; +import com.team766.robot.Kevan.mechanisms.Shooter; +import com.team766.robot.common.constants.InputConstants; +import java.util.Set; + +// Tank Drive OI +public class OI_MAyhem extends RuleGroup { + public OI_MAYHEM(Drive drive, Shooter shooter, Intake intake, Context context) { + final JoystickReader gamePad1 = RobotProvider.instance.getJoystick(0); + addRule( + "RUN_LEFT_MOTOR", + gamePad1.whenAxisMoved(InputConstants.GAMEPAD_LEFT_STICK_YAXIS), + ONCE_AND_HOLD, + Set.of(drive), + () -> { + drive.move_right(gamePad1.getAxis(InputConstants.GAMEPAD_LEFT_STICK_YAXIS)); + }); + + addRule( + "RUN_RIGHT_MOTOR", + gamePad1.whenAxisMoved(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS), + ONCE_AND_HOLD, + Set.of(drive), + () -> { + drive.move_left(gamePad1.getAxis(InputConstants.GAMEPAD_RIGHT_STICK_YAXIS)); + }); + addRule( + "RUN_INTAKE", + gamePad1.whenButton(InputConstants.GAMEPAD_RIGHT_BUMPER_BUTTON), + ONCE_AND_HOLD, + Set.of(intake), + () -> { + intake.SetIntake(1); + }) + .withFinishedTriggeringProcedure( + intake, + () -> { + intake.SetIntake(0); + }); + addRule( + "SHOOT_SET_POWER", + gamePad1.whenAxisMoved(InputConstants.GAMEPAD_RIGHT_TRIGGER), + ONCE_AND_HOLD, + Set.of(shooter), + () -> { + shooter.SetShooterSpeed( + gamePad1.getAxis(InputConstants.GAMEPAD_RIGHT_TRIGGER)); + context.waitForSeconds(0.25); + shooter.SetTransferSpeed(1); + }) + .withFinishedTriggeringProcedure( + shooter, + () -> { + shooter.SetTransferSpeed(0); + }); + } +} From 9dab3029bbd37f832498a550d33baf921771b9c5 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 18:54:12 -0800 Subject: [PATCH 27/37] Refactor Shooter class and update motor handling --- .../java/com/team766/robot/filip/Shooter.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/Shooter.java b/src/main/java/com/team766/robot/filip/Shooter.java index f47b892f2..a73f97cf9 100644 --- a/src/main/java/com/team766/robot/filip/Shooter.java +++ b/src/main/java/com/team766/robot/filip/Shooter.java @@ -1,23 +1,28 @@ -package com.team766.robot.filip; +package com.team766.robot.Kevan.mechanisms; import com.team766.framework.MechanismWithStatus; import com.team766.framework.Status; -import com.team766.hal.RobotProvider; import com.team766.hal.MotorController; +import com.team766.hal.RobotProvider; + +public class Shooter extends MechanismWithStatus { + + MotorController shooter_motor = RobotProvider.instance.getMotor("shooter_motor"); + MotorController tranfer_motor = RobotProvider.instance.getMotor("transfer_motor"); -public class Shooter extends MechanismWithStatus{ - MotorController shooter = RobotProvider.instance.getMotor("shooter"); - public record ShooterStatus(double pos_shooter, double motorSpeed) implements Status {} + public record ShooterStatus(double currentPosition) implements Status {} - public Shooter(){ + public Shooter() {} + public void SetShooterSpeed(double motorPower) { + shooter_motor.set(motorPower); } - public void shootSpeed (double speed) { - shooter.set(speed); + public void SetTransferSpeed(double motorPower) { + tranfer_motor.set(motorPower); } - protected ShooterStatus updateStatus(){ - return new ShooterStatus(shooter.getSensorPosition(), shooter.getSensorVelocity()); + protected ShooterStatus updateStatus() { + return new ShooterStatus(0); } } From 6559401058d003f9106c2164d4aaea9630510fbf Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 18:55:14 -0800 Subject: [PATCH 28/37] Refactor FilipMovingMotor to MovingMotor class --- .../filip/mechanisms/FilipMovingMotor.java | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java index 4f1e50a8c..ddf7445ec 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java @@ -1,25 +1,27 @@ -package com.team766.robot.filip.mechanisms; - -// importing previous functions, classes needed +package com.team766.robot.Kevan.mechanisms; import com.team766.framework.MechanismWithStatus; import com.team766.framework.Status; import com.team766.hal.MotorController; import com.team766.hal.RobotProvider; +public class MovingMotor extends MechanismWithStatus { + + public MovingMotor() {} + + MotorController motor = RobotProvider.instance.getMotor("mainMotor"); + + public void move(double motorPower) { + motor.set(motorPower); + } -public class FilipMovingMotor extends MechanismWithStatus { - MotorController motor = RobotProvider.instance.getMotor("leftMotor"); - public record MovingMotorStatus(double currentPosition) implements Status {} - // creating a motor object + public record MovingMotorStatus(double currentPosition) implements Status {} - public FilipMovingMotor() {} - protected MovingMotorStatus updateStatus(){ - return new MovingMotorStatus(motor.getSensorPosition()); - } - - public void moveSpeed(double speed) { - motor.set(speed); - } + public void stop() { + motor.set(0); + } + protected MovingMotorStatus updateStatus() { + return new MovingMotorStatus(motor.getSensorPosition()); + } } From a519f89f2b910a66b5f435517f44ebb45e8b451f Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 18:56:50 -0800 Subject: [PATCH 29/37] Rename MovingMotor class to FilipMovingMotor --- .../team766/robot/filip/mechanisms/FilipMovingMotor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java index ddf7445ec..8ad3542d8 100644 --- a/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java +++ b/src/main/java/com/team766/robot/filip/mechanisms/FilipMovingMotor.java @@ -1,13 +1,13 @@ -package com.team766.robot.Kevan.mechanisms; +package com.team766.robot.filip.mechanisms; import com.team766.framework.MechanismWithStatus; import com.team766.framework.Status; import com.team766.hal.MotorController; import com.team766.hal.RobotProvider; -public class MovingMotor extends MechanismWithStatus { +public class FilipMovingMotor extends MechanismWithStatus { - public MovingMotor() {} + public FilipMovingMotor() {} MotorController motor = RobotProvider.instance.getMotor("mainMotor"); From f636b89cb51fea67c94ac7e128bb2ed6b1b76013 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 18:57:23 -0800 Subject: [PATCH 30/37] Update package declaration for Shooter class --- src/main/java/com/team766/robot/filip/Shooter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/team766/robot/filip/Shooter.java b/src/main/java/com/team766/robot/filip/Shooter.java index a73f97cf9..85b74876d 100644 --- a/src/main/java/com/team766/robot/filip/Shooter.java +++ b/src/main/java/com/team766/robot/filip/Shooter.java @@ -1,4 +1,4 @@ -package com.team766.robot.Kevan.mechanisms; +package com.team766.robot.filip.mechanisms; import com.team766.framework.MechanismWithStatus; import com.team766.framework.Status; From d01f659ba38beb9a6e27a3880ba6ba79d2f1738f Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 19:07:56 -0800 Subject: [PATCH 31/37] Refactor Autonomous class for new mechanisms and procedures --- .../robot/filip/procedures/Autonomous.java | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/team766/robot/filip/procedures/Autonomous.java b/src/main/java/com/team766/robot/filip/procedures/Autonomous.java index 0c47ff853..def36bbf4 100644 --- a/src/main/java/com/team766/robot/filip/procedures/Autonomous.java +++ b/src/main/java/com/team766/robot/filip/procedures/Autonomous.java @@ -1,29 +1,35 @@ -package com.team766.robot.filip.procedures; +package com.team766.robot.Kevan.procedures; import com.team766.framework.Context; import com.team766.framework.Procedure; -import com.team766.robot.filip.mechanisms.Drive; -import com.team766.robot.filip.mechanisms.FilipMovingMotor; +import com.team766.robot.Kevan.mechanisms.Drive; +import com.team766.robot.Kevan.mechanisms.Intake; +import com.team766.robot.Kevan.mechanisms.Shooter; public class Autonomous extends Procedure { - private FilipMovingMotor motor; private Drive drive; - public Autonomous(Drive myDrive, FilipMovingMotor myMotor){ - drive = reserve(myDrive); - motor = reserve(myMotor); - } - public void run(Context context) { - drive.move_left(1); - drive.move_right(1); - - context.waitForSeconds(5); + private Shooter shooter; + private Intake intake; - drive.move_left(0); - drive.move_right(0); + public Autonomous(Drive myDrive, Shooter myShooter, Intake myIntake) { + this.drive = reserve(myDrive); + this.shooter = reserve(myShooter); + this.intake = reserve(myIntake); + } - motor.moveSpeed(1); - context.waitForSeconds(3); - motor.moveSpeed(0); + public void run(Context context) { + context.waitForSeconds(1); + context.runParallel(new DriveProcedure(drive, 1.25)); + context.runParallel(new ShootProcedure(shooter, 0.8)); + context.runParallel(new TurnProcedure(drive, 0.25, 0.5)); + context.runParallel(new DriveProcedure(drive, 0.3125)); + context.runParallel(new IntakeProcedure(intake)); + context.runParallel(new DriveProcedure(drive, 0.3125)); + context.runParallel(new IntakeProcedure(intake)); + context.runParallel(new TurnProcedure(drive, 0.5, 0.5)); + context.runParallel(new DriveProcedure(drive, 0.625)); + context.runParallel(new TurnProcedure(drive, 0.25, 0.5)); + context.runParallel(new ShootProcedure(shooter, 0.8)); + context.runParallel(new ShootProcedure(shooter, 0.8)); } - } From a80f9b9f6d560ba3a0464b8bedd0212dcd7b7404 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 19:10:57 -0800 Subject: [PATCH 32/37] Rename package from Kevan to filip --- .../java/com/team766/robot/filip/procedures/Autonomous.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/team766/robot/filip/procedures/Autonomous.java b/src/main/java/com/team766/robot/filip/procedures/Autonomous.java index def36bbf4..9d9ce2ff6 100644 --- a/src/main/java/com/team766/robot/filip/procedures/Autonomous.java +++ b/src/main/java/com/team766/robot/filip/procedures/Autonomous.java @@ -1,4 +1,4 @@ -package com.team766.robot.Kevan.procedures; +package com.team766.robot.filip.procedures; import com.team766.framework.Context; import com.team766.framework.Procedure; From ceff264018ba816d6b72fa7623988bc09dd39925 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 19:14:27 -0800 Subject: [PATCH 33/37] Add DriveProcedure for straight movement control --- .../filip/procedures/DriveProcedure.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/main/java/com/team766/robot/filip/procedures/DriveProcedure.java diff --git a/src/main/java/com/team766/robot/filip/procedures/DriveProcedure.java b/src/main/java/com/team766/robot/filip/procedures/DriveProcedure.java new file mode 100644 index 000000000..b25bf4404 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/procedures/DriveProcedure.java @@ -0,0 +1,22 @@ +package com.team766.robot.Kevan.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.Kevan.mechanisms.Drive; + +public class DriveProcedure extends Procedure { + + private Drive drive; + private double seconds; + + public DriveProcedure(Drive myDrive, double seconds) { + drive = reserve(myDrive); + this.seconds = seconds; + } + + public void run(Context context) { + drive.move_straight(0.8); + context.waitForSeconds(seconds); + drive.move_straight(0); + } +} From dad4383e3677fc3f755574ddda2ef2580cb65dcf Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 19:16:33 -0800 Subject: [PATCH 34/37] Add IntakeProcedure class for managing intake actions --- .../filip/procedures/IntakeProcedure.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/com/team766/robot/filip/procedures/IntakeProcedure.java diff --git a/src/main/java/com/team766/robot/filip/procedures/IntakeProcedure.java b/src/main/java/com/team766/robot/filip/procedures/IntakeProcedure.java new file mode 100644 index 000000000..33fc09e24 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/procedures/IntakeProcedure.java @@ -0,0 +1,20 @@ +package com.team766.robot.Kevan.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.Kevan.mechanisms.Intake; + +public class IntakeProcedure extends Procedure { + + private Intake intake; + + public IntakeProcedure(Intake myIntake) { + intake = reserve(myIntake); + } + + public void run(Context context) { + intake.SetIntake(1); + context.waitForSeconds(0.5); + intake.SetIntake(0); + } +} From 5544582712aa8a8851a8c9c724ef80792dd4724a Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 19:25:13 -0800 Subject: [PATCH 35/37] Implement ShootProcedure for shooter control --- .../filip/procedures/ShootProcedure.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/main/java/com/team766/robot/filip/procedures/ShootProcedure.java diff --git a/src/main/java/com/team766/robot/filip/procedures/ShootProcedure.java b/src/main/java/com/team766/robot/filip/procedures/ShootProcedure.java new file mode 100644 index 000000000..75c99d2c7 --- /dev/null +++ b/src/main/java/com/team766/robot/filip/procedures/ShootProcedure.java @@ -0,0 +1,25 @@ +package com.team766.robot.filip.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.Kevan.mechanisms.Shooter; + +public class ShootProcedure extends Procedure { + + private Shooter shooter; + private double power; + + public ShootProcedure(Shooter myShooter, double power) { + shooter = reserve(myShooter); + this.power = power; + } + + public void run(Context context) { + shooter.SetShooterSpeed(power); + context.waitForSeconds(0.25); + shooter.SetTransferSpeed(1); + context.waitForSeconds(0.5); + shooter.SetTransferSpeed(0); + shooter.SetShooterSpeed(0); + } +} From a6cfa4a134ddfb4427a2cb65566e8b16062b8ab3 Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 19:25:56 -0800 Subject: [PATCH 36/37] Implement TurnProcedure for robot driving control --- .../robot/filip/procedures/TurnProcedure.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/com/team766/robot/filip/procedures/TurnProcedure.java diff --git a/src/main/java/com/team766/robot/filip/procedures/TurnProcedure.java b/src/main/java/com/team766/robot/filip/procedures/TurnProcedure.java new file mode 100644 index 000000000..20f29ebff --- /dev/null +++ b/src/main/java/com/team766/robot/filip/procedures/TurnProcedure.java @@ -0,0 +1,24 @@ +package com.team766.robot.filip.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.Kevan.mechanisms.Drive; + +public class TurnProcedure extends Procedure { + + private Drive drive; + private double seconds; + private double motorPower; + + public TurnProcedure(Drive myDrive, double seconds, double motorPower) { + drive = reserve(myDrive); + this.seconds = seconds; + this.motorPower = motorPower; + } + + public void run(Context context) { + drive.turn_right(motorPower); + context.waitForSeconds(seconds); + drive.move_straight(0); + } +} From dad434e16bfd9dfd52558be5af487a091f2afceb Mon Sep 17 00:00:00 2001 From: filip-dob Date: Wed, 5 Nov 2025 19:32:04 -0800 Subject: [PATCH 37/37] Implement Intake mechanism with motor control --- .../robot/filip/mechanisms/Intake.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/main/java/com/team766/robot/filip/mechanisms/Intake.java diff --git a/src/main/java/com/team766/robot/filip/mechanisms/Intake.java b/src/main/java/com/team766/robot/filip/mechanisms/Intake.java new file mode 100644 index 000000000..aa37285aa --- /dev/null +++ b/src/main/java/com/team766/robot/filip/mechanisms/Intake.java @@ -0,0 +1,23 @@ +package com.team766.robot.Kevan.mechanisms; + +import com.team766.framework.MechanismWithStatus; +import com.team766.framework.Status; +import com.team766.hal.MotorController; +import com.team766.hal.RobotProvider; + +public class Intake extends MechanismWithStatus { + + MotorController intake_motor = RobotProvider.instance.getMotor("intake_motor"); + + public record IntakeStatus(double currentPosition) implements Status {} + + public Intake() {} + + public void SetIntake(double motorPower) { + intake_motor.set(motorPower); + } + + protected IntakeStatus updateStatus() { + return new IntakeStatus(0); + } +}