From 615dfd82d1a66372fa54f2b1dcdd5364cb241e53 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Wed, 12 Jan 2022 06:00:44 +0530 Subject: [PATCH 01/27] Create Intake.java --- .../java/frc4388/robot/subsystems/Intake.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/frc4388/robot/subsystems/Intake.java diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java new file mode 100644 index 0000000..50d508d --- /dev/null +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -0,0 +1,24 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc4388.robot.subsystems; + +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class Intake extends SubsystemBase { + + /** Creates a new Intake. */ + public Intake() { + + } + + @Override + public void periodic() { + // This method will be called once per scheduler run + } + + public void runWithTriggers(double leftTrigger, double rightTrigger){ + + } +} From 4d7dc303c8133ddc332294af9179c6e2b574d295 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Wed, 12 Jan 2022 06:34:13 +0530 Subject: [PATCH 02/27] Update Intake.java --- src/main/java/frc4388/robot/subsystems/Intake.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index 50d508d..b5041e8 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -21,4 +21,12 @@ public class Intake extends SubsystemBase { public void runWithTriggers(double leftTrigger, double rightTrigger){ } + + public void runIntake(double input) { + m_intakeMotor.set(input); + } + + Public vod runExtender(double input) { + m_extenderMotor.set(input); + } } From 26f79fa8d5254ec35047536354212847519d0b35 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Thu, 13 Jan 2022 05:41:53 +0530 Subject: [PATCH 03/27] Update Intake.java --- src/main/java/frc4388/robot/subsystems/Intake.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index b5041e8..6f220c1 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -18,15 +18,11 @@ public class Intake extends SubsystemBase { // This method will be called once per scheduler run } - public void runWithTriggers(double leftTrigger, double rightTrigger){ - - } - - public void runIntake(double input) { + public void runWithTriggers(double leftTrigger, double rightTrigger) { m_intakeMotor.set(input); } - Public vod runExtender(double input) { + public void runExtender(double input) { m_extenderMotor.set(input); } } From d2d44dc2c481b08a65fb4d83b3875dc08aa9d7d7 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Thu, 13 Jan 2022 05:50:39 +0530 Subject: [PATCH 04/27] Update Intake.java --- src/main/java/frc4388/robot/subsystems/Intake.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index 6f220c1..fc655ea 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -19,10 +19,10 @@ public class Intake extends SubsystemBase { } public void runWithTriggers(double leftTrigger, double rightTrigger) { - m_intakeMotor.set(input); + m_intakeMotor.set(rightTrigger - leftTrigger); } - public void runExtender(double input) { - m_extenderMotor.set(input); + public void runExtender(boolean extended) { + m_extenderMotor.set(extended ? 1 : 0); } } From 78e1c1a94e46aa03d143c7f7c63bfd91110f50fc Mon Sep 17 00:00:00 2001 From: aarav18 <57469559+aarav18@users.noreply.github.com> Date: Thu, 13 Jan 2022 18:06:38 -0700 Subject: [PATCH 05/27] Update Intake.java --- src/main/java/frc4388/robot/subsystems/Intake.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index fc655ea..7db1b7f 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -4,13 +4,19 @@ package frc4388.robot.subsystems; +import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; + import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Intake extends SubsystemBase { - /** Creates a new Intake. */ - public Intake() { + private WPI_TalonFX m_intakeMotor; + private WPI_TalonFX m_extenderMotor; + /** Creates a new Intake. */ + public Intake(WPI_TalonFX m_intakeMotor, WPI_TalonFX m_extenderMotor) { + this.m_intakeMotor = m_intakeMotor; + this.m_extenderMotor = m_extenderMotor; } @Override From 2f8a45fcb0e1650b9a6139543103b550f896e669 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Thu, 13 Jan 2022 19:03:01 -0700 Subject: [PATCH 06/27] Create intake.java --- .../java/frc4388/robot/commands/intake.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/java/frc4388/robot/commands/intake.java diff --git a/src/main/java/frc4388/robot/commands/intake.java b/src/main/java/frc4388/robot/commands/intake.java new file mode 100644 index 0000000..04fc49c --- /dev/null +++ b/src/main/java/frc4388/robot/commands/intake.java @@ -0,0 +1,17 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc4388.robot.commands; + +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class intake extends SubsystemBase { + /** Creates a new intake. */ + public intake() {} + + @Override + public void periodic() { + // This method will be called once per scheduler run + } +} From 5927e54b568b3748fc7681216795b2c8e0dd3919 Mon Sep 17 00:00:00 2001 From: aarav18 <57469559+aarav18@users.noreply.github.com> Date: Thu, 13 Jan 2022 19:05:30 -0700 Subject: [PATCH 07/27] Update intake.java --- src/main/java/frc4388/robot/commands/intake.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc4388/robot/commands/intake.java b/src/main/java/frc4388/robot/commands/intake.java index 04fc49c..dbf192a 100644 --- a/src/main/java/frc4388/robot/commands/intake.java +++ b/src/main/java/frc4388/robot/commands/intake.java @@ -6,7 +6,7 @@ package frc4388.robot.commands; import edu.wpi.first.wpilibj2.command.SubsystemBase; -public class intake extends SubsystemBase { +public class Intake extends SubsystemBase { /** Creates a new intake. */ public intake() {} From a58ee0c7952e48cf14450771a2375b9fa666a9b1 Mon Sep 17 00:00:00 2001 From: aarav18 <57469559+aarav18@users.noreply.github.com> Date: Thu, 13 Jan 2022 19:13:59 -0700 Subject: [PATCH 08/27] Delete intake.java --- .../java/frc4388/robot/commands/intake.java | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 src/main/java/frc4388/robot/commands/intake.java diff --git a/src/main/java/frc4388/robot/commands/intake.java b/src/main/java/frc4388/robot/commands/intake.java deleted file mode 100644 index dbf192a..0000000 --- a/src/main/java/frc4388/robot/commands/intake.java +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) FIRST and other WPILib contributors. -// Open Source Software; you can modify and/or share it under the terms of -// the WPILib BSD license file in the root directory of this project. - -package frc4388.robot.commands; - -import edu.wpi.first.wpilibj2.command.SubsystemBase; - -public class Intake extends SubsystemBase { - /** Creates a new intake. */ - public intake() {} - - @Override - public void periodic() { - // This method will be called once per scheduler run - } -} From e3954863cd6c3e455daa92dd2833eb4a36f12ff9 Mon Sep 17 00:00:00 2001 From: aarav18 <57469559+aarav18@users.noreply.github.com> Date: Thu, 13 Jan 2022 19:26:37 -0700 Subject: [PATCH 09/27] Update RobotContainer.java --- src/main/java/frc4388/robot/RobotContainer.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 7b69652..929f15c 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -10,6 +10,7 @@ import edu.wpi.first.wpilibj2.command.InstantCommand; import edu.wpi.first.wpilibj2.command.RunCommand; import edu.wpi.first.wpilibj2.command.button.JoystickButton; import frc4388.robot.Constants.*; +import frc4388.robot.subsystems.Intake; import frc4388.robot.subsystems.LED; import frc4388.robot.subsystems.SwerveDrive; import frc4388.utility.LEDPatterns; @@ -39,6 +40,7 @@ public class RobotContainer { m_robotMap.rightBackEncoder ); + private final Intake m_intake = new Intake(null, null); private final LED m_robotLED = new LED(m_robotMap.LEDController); /* Controllers */ @@ -59,6 +61,7 @@ public class RobotContainer { // continually sends updates to the Blinkin LED controller to keep the lights on m_robotLED.setDefaultCommand(new RunCommand(m_robotLED::updateLED, m_robotLED)); + // dri } /** @@ -71,6 +74,10 @@ public class RobotContainer { /* Driver Buttons */ /* Operator Buttons */ + new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) + .whenPressed(() -> m_intake.runExtender(true)) + .whenReleased(() -> m_intake.runExtender(false)); + // activates "Lit Mode" new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) From f483e4c21b42d39361ba448c10ffc30534737f99 Mon Sep 17 00:00:00 2001 From: aarav18 <57469559+aarav18@users.noreply.github.com> Date: Thu, 13 Jan 2022 19:29:53 -0700 Subject: [PATCH 10/27] Update RobotContainer.java --- src/main/java/frc4388/robot/RobotContainer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 929f15c..efad255 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -74,6 +74,8 @@ public class RobotContainer { /* Driver Buttons */ /* Operator Buttons */ + + // extends and retracts the extender new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) .whenPressed(() -> m_intake.runExtender(true)) .whenReleased(() -> m_intake.runExtender(false)); From 21294706a51b49bc6c3d5a83bd73207473d80ae2 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Thu, 20 Jan 2022 18:08:31 -0700 Subject: [PATCH 11/27] Update Intake.java --- src/main/java/frc4388/robot/subsystems/Intake.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index 7db1b7f..8c34527 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -14,9 +14,9 @@ public class Intake extends SubsystemBase { private WPI_TalonFX m_extenderMotor; /** Creates a new Intake. */ - public Intake(WPI_TalonFX m_intakeMotor, WPI_TalonFX m_extenderMotor) { - this.m_intakeMotor = m_intakeMotor; - this.m_extenderMotor = m_extenderMotor; + public Intake(WPI_TalonFX intakeMotor, WPI_TalonFX extenderMotor) { + m_intakeMotor = intakeMotor; + m_extenderMotor = extenderMotor; } @Override @@ -29,6 +29,12 @@ public class Intake extends SubsystemBase { } public void runExtender(boolean extended) { - m_extenderMotor.set(extended ? 1 : 0); + m_extenderMotor.set(extended ? 1 : -1); } } + +/* + Function toggle extender + bool = !bool +Configure limit switches forward and reverse +*/ \ No newline at end of file From c6083d8276c019b5ad4664b719adc3298d260cb0 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Thu, 20 Jan 2022 18:10:55 -0700 Subject: [PATCH 12/27] Update RobotContainer.java --- src/main/java/frc4388/robot/RobotContainer.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index efad255..85b3bf4 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -40,7 +40,7 @@ public class RobotContainer { m_robotMap.rightBackEncoder ); - private final Intake m_intake = new Intake(null, null); + private final Intake m_robotIntake = new Intake(null, null); private final LED m_robotLED = new LED(m_robotMap.LEDController); /* Controllers */ @@ -59,8 +59,12 @@ public class RobotContainer { new RunCommand(() -> m_robotSwerveDrive.driveWithInput(getDriverController().getLeftXAxis(), getDriverController().getLeftYAxis(), getDriverController().getRightXAxis(), false), m_robotSwerveDrive)); + m_robotIntake.setDefaultCommand( + new RunCommand(() -> m_robotIntake.runWithTriggers( + getDriverController().getLeftTriggerAxis(), getDriverController().getRightTriggerAxis()),m_robotIntake)); // continually sends updates to the Blinkin LED controller to keep the lights on - m_robotLED.setDefaultCommand(new RunCommand(m_robotLED::updateLED, m_robotLED)); + m_robotLED.setDefaultCommand( + new RunCommand(m_robotLED::updateLED, m_robotLED)); // dri } @@ -77,8 +81,8 @@ public class RobotContainer { // extends and retracts the extender new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) - .whenPressed(() -> m_intake.runExtender(true)) - .whenReleased(() -> m_intake.runExtender(false)); + .whenPressed(() -> m_robotIntake.runExtender(true)) + .whenReleased(() -> m_robotIntake.runExtender(false)); // activates "Lit Mode" new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) From e9bb3890b1ab11a1f270f32095f5ddcc17c33214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEZach=20Wilke?= <90875734+76842@users.noreply.github.com> Date: Fri, 21 Jan 2022 16:38:44 -0700 Subject: [PATCH 13/27] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9535c83..de0a2d1 100644 --- a/.gitignore +++ b/.gitignore @@ -160,3 +160,4 @@ bin/ # Simulation GUI and other tools window save file *-window.json +.vscode/launch.json From 5b14ed76ece5ae8cc0c3577826a090602e03af57 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Fri, 21 Jan 2022 17:09:53 -0700 Subject: [PATCH 14/27] Create REVLib.json --- vendordeps/REVLib.json | 73 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 vendordeps/REVLib.json diff --git a/vendordeps/REVLib.json b/vendordeps/REVLib.json new file mode 100644 index 0000000..997e2a4 --- /dev/null +++ b/vendordeps/REVLib.json @@ -0,0 +1,73 @@ +{ + "fileName": "REVLib.json", + "name": "REVLib", + "version": "2022.1.1", + "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", + "mavenUrls": [ + "https://maven.revrobotics.com/" + ], + "jsonUrl": "https://software-metadata.revrobotics.com/REVLib.json", + "javaDependencies": [ + { + "groupId": "com.revrobotics.frc", + "artifactId": "REVLib-java", + "version": "2022.1.1" + } + ], + "jniDependencies": [ + { + "groupId": "com.revrobotics.frc", + "artifactId": "REVLib-driver", + "version": "2022.1.1", + "skipInvalidPlatforms": true, + "isJar": false, + "validPlatforms": [ + "windowsx86-64", + "windowsx86", + "linuxaarch64bionic", + "linuxx86-64", + "linuxathena", + "linuxraspbian", + "osxx86-64" + ] + } + ], + "cppDependencies": [ + { + "groupId": "com.revrobotics.frc", + "artifactId": "REVLib-cpp", + "version": "2022.1.1", + "libName": "REVLib", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "windowsx86", + "linuxaarch64bionic", + "linuxx86-64", + "linuxathena", + "linuxraspbian", + "osxx86-64" + ] + }, + { + "groupId": "com.revrobotics.frc", + "artifactId": "REVLib-driver", + "version": "2022.1.1", + "libName": "REVLibDriver", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "windowsx86", + "linuxaarch64bionic", + "linuxx86-64", + "linuxathena", + "linuxraspbian", + "osxx86-64" + ] + } + ] +} \ No newline at end of file From 1e498bef56eba5fce2d3ce7d35831de721c0bc21 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Fri, 21 Jan 2022 17:09:57 -0700 Subject: [PATCH 15/27] Update Intake.java --- .../java/frc4388/robot/subsystems/Intake.java | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index 8c34527..571e332 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -4,19 +4,42 @@ package frc4388.robot.subsystems; +import com.ctre.phoenix.motorcontrol.NeutralMode; import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; +import edu.wpi.first.wpilibj.motorcontrol.Spark; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import com.revrobotics.CANSparkMax; +import com.revrobotics.SparkMaxLimitSwitch; +import com.revrobotics.CANSparkMax.IdleMode; public class Intake extends SubsystemBase { private WPI_TalonFX m_intakeMotor; - private WPI_TalonFX m_extenderMotor; + private CANSparkMax m_extenderMotor; + private SparkMaxLimitSwitch m_inLimit; + private SparkMaxLimitSwitch m_outLimit; + + public boolean toggle; /** Creates a new Intake. */ - public Intake(WPI_TalonFX intakeMotor, WPI_TalonFX extenderMotor) { + public Intake(WPI_TalonFX intakeMotor, Spark extenderMotor) { m_intakeMotor = intakeMotor; - m_extenderMotor = extenderMotor; + //m_extenderMotor = extenderMotor; + + + // m_intakeMotor.restoreFactoryDefaults(); + // m_extenderMotor.restoreFactoryDefaults(); + + m_intakeMotor.setNeutralMode(NeutralMode.Brake); + m_extenderMotor.setIdleMode(IdleMode.kBrake); + m_intakeMotor.setInverted(false); + m_extenderMotor.setInverted(true); + + m_inLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + m_outLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + m_inLimit.enableLimitSwitch(true); + m_outLimit.enableLimitSwitch(true); } @Override @@ -29,12 +52,11 @@ public class Intake extends SubsystemBase { } public void runExtender(boolean extended) { - m_extenderMotor.set(extended ? 1 : -1); + //m_extenderMotor.set(extended ? 1 : -1); } -} -/* - Function toggle extender - bool = !bool -Configure limit switches forward and reverse -*/ \ No newline at end of file + public void toggleExtender() { + toggle = !toggle; + runExtender(toggle); + } +} \ No newline at end of file From 9112c871561236aeb342ed1338914e60c95945ad Mon Sep 17 00:00:00 2001 From: Ryan Manley Date: Fri, 21 Jan 2022 19:00:11 -0700 Subject: [PATCH 16/27] Add Intake to robotmap and constants Co-Authored-By: 76842 <90875734+76842@users.noreply.github.com> --- src/main/java/frc4388/robot/Constants.java | 12 ++++++++---- src/main/java/frc4388/robot/RobotContainer.java | 2 +- src/main/java/frc4388/robot/RobotMap.java | 5 +++++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index f7d5575..48d9057 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -72,11 +72,15 @@ public final class Constants { public static final double SERIALIZER_SHOOTER_BELT_SPEED = 1.0; // TODO (currently max power, DO NOT RUN) // CAN IDs - public static final int SERIALIZER_BELT = -1; // TODO - public static final int SERIALIZER_SHOOTER_BELT = -1; // TODO - public static final int SERIALIZER_BELT_BEAM = -1; // TODO + public static final int SERIALIZER_BELT = 1; // TODO + public static final int SERIALIZER_SHOOTER_BELT = 2; // TODO + public static final int SERIALIZER_BELT_BEAM = 3; // TODO + } + public static final class IntakeConstants { + // CAN IDs + public static final int INTAKE_MOTOR = 3; + public static final int EXTENDER_MOTOR = 4; } - public static final class LEDConstants { public static final int LED_SPARK_ID = 0; diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 362c955..2d1eba1 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -41,7 +41,7 @@ public class RobotContainer { m_robotMap.rightBackEncoder ); - private final Intake m_robotIntake = new Intake(null, null); + private final Intake m_robotIntake = new Intake(m_robotMap.intakeMotor, m_robotMap.extenderMotor); private final Serializer m_robotSerializer = new Serializer(m_robotMap.serializerBelt, m_robotMap.serializerShooterBelt); private final LED m_robotLED = new LED(m_robotMap.LEDController); diff --git a/src/main/java/frc4388/robot/RobotMap.java b/src/main/java/frc4388/robot/RobotMap.java index 250c8cb..26af808 100644 --- a/src/main/java/frc4388/robot/RobotMap.java +++ b/src/main/java/frc4388/robot/RobotMap.java @@ -8,6 +8,7 @@ import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; import com.ctre.phoenix.sensors.CANCoder; import edu.wpi.first.wpilibj.motorcontrol.Spark; +import frc4388.robot.Constants.IntakeConstants; import frc4388.robot.Constants.LEDConstants; import frc4388.robot.Constants.SerializerConstants; import frc4388.robot.Constants.SwerveDriveConstants; @@ -97,4 +98,8 @@ public class RobotMap { public final Spark serializerBelt = new Spark(SerializerConstants.SERIALIZER_BELT); public final Spark serializerShooterBelt = new Spark(SerializerConstants.SERIALIZER_SHOOTER_BELT); + + /* Intake Subsytem */ + public final WPI_TalonFX intakeMotor = new WPI_TalonFX(IntakeConstants.INTAKE_MOTOR); + public final Spark extenderMotor = new Spark(IntakeConstants.EXTENDER_MOTOR); } From f1f1de18bb1aebe299dcac422e4ee280888e1bcf Mon Sep 17 00:00:00 2001 From: aarav18 Date: Tue, 25 Jan 2022 17:17:07 -0700 Subject: [PATCH 17/27] Done Test code Co-Authored-By: 76842 <90875734+76842@users.noreply.github.com> --- src/main/java/frc4388/robot/Constants.java | 10 ++++---- .../java/frc4388/robot/RobotContainer.java | 20 ++++++++-------- src/main/java/frc4388/robot/RobotMap.java | 12 ++++++---- .../java/frc4388/robot/subsystems/Intake.java | 23 +++++++++---------- .../frc4388/robot/subsystems/Serializer.java | 18 +++++++++++---- 5 files changed, 46 insertions(+), 37 deletions(-) diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index 48d9057..3651898 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -68,18 +68,18 @@ public final class Constants { } public static final class SerializerConstants { - public static final double SERIALIZER_BELT_SPEED = 1.0; // TODO (currently max power, DO NOT RUN) - public static final double SERIALIZER_SHOOTER_BELT_SPEED = 1.0; // TODO (currently max power, DO NOT RUN) + public static final double SERIALIZER_BELT_SPEED = 1.d; // TODO (currently max power, DO NOT RUN) + public static final double SERIALIZER_SHOOTER_BELT_SPEED = 1.d; // TODO (currently max power, DO NOT RUN) // CAN IDs - public static final int SERIALIZER_BELT = 1; // TODO - public static final int SERIALIZER_SHOOTER_BELT = 2; // TODO + public static final int SERIALIZER_BELT = 2; // TODO + public static final int SERIALIZER_SHOOTER_BELT = 5; // TODO public static final int SERIALIZER_BELT_BEAM = 3; // TODO } public static final class IntakeConstants { // CAN IDs public static final int INTAKE_MOTOR = 3; - public static final int EXTENDER_MOTOR = 4; + public static final int EXTENDER_MOTOR = 6; } public static final class LEDConstants { public static final int LED_SPARK_ID = 0; diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 2d1eba1..c2bdb96 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -29,7 +29,7 @@ public class RobotContainer { /* RobotMap */ private final RobotMap m_robotMap = new RobotMap(); - /* Subsystems */ + /* Subsystems private final SwerveDrive m_robotSwerveDrive = new SwerveDrive( m_robotMap.leftFrontSteerMotor, m_robotMap.leftFrontWheelMotor, m_robotMap.rightFrontSteerMotor, m_robotMap.rightFrontWheelMotor, @@ -40,7 +40,7 @@ public class RobotContainer { m_robotMap.leftBackEncoder, m_robotMap.rightBackEncoder ); - + */ private final Intake m_robotIntake = new Intake(m_robotMap.intakeMotor, m_robotMap.extenderMotor); private final Serializer m_robotSerializer = new Serializer(m_robotMap.serializerBelt, m_robotMap.serializerShooterBelt); @@ -58,9 +58,9 @@ public class RobotContainer { /* Default Commands */ // drives the swerve drive with a two-axis input from the driver controller - m_robotSwerveDrive.setDefaultCommand( - new RunCommand(() -> m_robotSwerveDrive.driveWithInput(-getDriverController().getLeftXAxis(), - getDriverController().getLeftYAxis(), -getDriverController().getRightXAxis(), false), m_robotSwerveDrive)); + // m_robotSwerveDrive.setDefaultCommand( + // new RunCommand(() -> m_robotSwerveDrive.driveWithInput(-getDriverController().getLeftXAxis(), + // getDriverController().getLeftYAxis(), -getDriverController().getRightXAxis(), false), m_robotSwerveDrive)); m_robotIntake.setDefaultCommand( new RunCommand(() -> m_robotIntake.runWithTriggers( @@ -88,13 +88,13 @@ public class RobotContainer { .whenReleased(() -> m_robotIntake.runExtender(false)); // activates "Lit Mode" - new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) - .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) - .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); + // new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) + // .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) + // .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); new JoystickButton(getOperatorJoystick(), XboxController.B_BUTTON) - .whenPressed(() -> m_robotSerializer.setSerializerStateWithBeam(true, m_robotSerializer.getBeam())) - .whenReleased(() -> m_robotSerializer.setSerializerStateWithBeam(false, m_robotSerializer.getBeam())); + .whenPressed(() -> m_robotSerializer.setSerializerState(true)) + .whenReleased(() -> m_robotSerializer.setSerializerState(false)); } /** diff --git a/src/main/java/frc4388/robot/RobotMap.java b/src/main/java/frc4388/robot/RobotMap.java index 26af808..c9f4012 100644 --- a/src/main/java/frc4388/robot/RobotMap.java +++ b/src/main/java/frc4388/robot/RobotMap.java @@ -6,12 +6,14 @@ package frc4388.robot; import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; import com.ctre.phoenix.sensors.CANCoder; +import com.revrobotics.CANSparkMax; import edu.wpi.first.wpilibj.motorcontrol.Spark; import frc4388.robot.Constants.IntakeConstants; import frc4388.robot.Constants.LEDConstants; import frc4388.robot.Constants.SerializerConstants; import frc4388.robot.Constants.SwerveDriveConstants; +import com.revrobotics.CANSparkMaxLowLevel.MotorType; /** * Defines and holds all I/O objects on the Roborio. This is useful for unit @@ -21,7 +23,7 @@ public class RobotMap { public RobotMap() { configureLEDMotorControllers(); - configureSwerveMotorControllers(); + //configureSwerveMotorControllers(); } /* LED Subsystem */ @@ -31,7 +33,7 @@ public class RobotMap { } - /* Swerve Subsystem */ + /* Swerve Subsystem public final WPI_TalonFX leftFrontSteerMotor = new WPI_TalonFX(SwerveDriveConstants.LEFT_FRONT_STEER_CAN_ID); public final WPI_TalonFX leftFrontWheelMotor = new WPI_TalonFX(SwerveDriveConstants.LEFT_FRONT_WHEEL_CAN_ID); public final WPI_TalonFX rightFrontSteerMotor = new WPI_TalonFX(SwerveDriveConstants.RIGHT_FRONT_STEER_CAN_ID); @@ -96,10 +98,10 @@ public class RobotMap { /* Serializer Subsystem */ - public final Spark serializerBelt = new Spark(SerializerConstants.SERIALIZER_BELT); - public final Spark serializerShooterBelt = new Spark(SerializerConstants.SERIALIZER_SHOOTER_BELT); + public final CANSparkMax serializerBelt = new CANSparkMax(SerializerConstants.SERIALIZER_BELT, MotorType.kBrushless); + public final CANSparkMax serializerShooterBelt = new CANSparkMax(SerializerConstants.SERIALIZER_SHOOTER_BELT, MotorType.kBrushless); /* Intake Subsytem */ public final WPI_TalonFX intakeMotor = new WPI_TalonFX(IntakeConstants.INTAKE_MOTOR); - public final Spark extenderMotor = new Spark(IntakeConstants.EXTENDER_MOTOR); + public final CANSparkMax extenderMotor = new CANSparkMax(IntakeConstants.EXTENDER_MOTOR, MotorType.kBrushless); } diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index 571e332..7d4997e 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -17,29 +17,27 @@ public class Intake extends SubsystemBase { private WPI_TalonFX m_intakeMotor; private CANSparkMax m_extenderMotor; - private SparkMaxLimitSwitch m_inLimit; - private SparkMaxLimitSwitch m_outLimit; + // private SparkMaxLimitSwitch m_inLimit; + // private SparkMaxLimitSwitch m_outLimit; public boolean toggle; /** Creates a new Intake. */ - public Intake(WPI_TalonFX intakeMotor, Spark extenderMotor) { + public Intake(WPI_TalonFX intakeMotor, CANSparkMax extenderMotor) { m_intakeMotor = intakeMotor; - //m_extenderMotor = extenderMotor; + m_extenderMotor = extenderMotor; - // m_intakeMotor.restoreFactoryDefaults(); - // m_extenderMotor.restoreFactoryDefaults(); + m_extenderMotor.restoreFactoryDefaults(); m_intakeMotor.setNeutralMode(NeutralMode.Brake); - m_extenderMotor.setIdleMode(IdleMode.kBrake); m_intakeMotor.setInverted(false); m_extenderMotor.setInverted(true); - m_inLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); - m_outLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); - m_inLimit.enableLimitSwitch(true); - m_outLimit.enableLimitSwitch(true); + // m_inLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + // m_outLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + // m_inLimit.enableLimitSwitch(true); + // m_outLimit.enableLimitSwitch(true); } @Override @@ -52,7 +50,8 @@ public class Intake extends SubsystemBase { } public void runExtender(boolean extended) { - //m_extenderMotor.set(extended ? 1 : -1); + double extenderMotorSpeed = extended ? 0.25d : 0.d; + m_extenderMotor.set(extenderMotorSpeed); } public void toggleExtender() { diff --git a/src/main/java/frc4388/robot/subsystems/Serializer.java b/src/main/java/frc4388/robot/subsystems/Serializer.java index 06815e8..8ef9612 100644 --- a/src/main/java/frc4388/robot/subsystems/Serializer.java +++ b/src/main/java/frc4388/robot/subsystems/Serializer.java @@ -4,37 +4,45 @@ import edu.wpi.first.wpilibj.motorcontrol.Spark; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc4388.robot.Constants; import edu.wpi.first.wpilibj.DigitalInput; +import com.revrobotics.CANSparkMax; public class Serializer extends SubsystemBase{ - private Spark m_serializerBelt; - private Spark m_serializerShooterBelt; + private CANSparkMax m_serializerBelt; + private CANSparkMax m_serializerShooterBelt; private DigitalInput m_serializerBeam; private boolean serializerState; - public Serializer(Spark serializerBelt, Spark serializerShooterBelt) { + public Serializer(CANSparkMax serializerBelt, CANSparkMax serializerShooterBelt) { m_serializerBelt = serializerBelt; m_serializerShooterBelt = serializerShooterBelt; - m_serializerBeam = new DigitalInput(Constants.SerializerConstants.SERIALIZER_BELT_BEAM); + //m_serializerBeam = new DigitalInput(Constants.SerializerConstants.SERIALIZER_BELT_BEAM); serializerState = false; setSerializerState(serializerState); + m_serializerBelt.set(0); + m_serializerShooterBelt.set(0); + } public boolean getBeam() { - return m_serializerBeam.get(); + System.out.println("oi"); + return false; } public void setSerializerStateWithBeam(boolean ctrlbutter, boolean beambroken) { boolean total = ctrlbutter || beambroken; setSerializerState(total); } public void setSerializerState(boolean state) { + System.out.println(state); setSerializerBeltState(state); setSerializerShooterBeltState(state); serializerState = state; } public void setSerializerBeltState(boolean state) { + System.out.println("oi"); double serializerBeltSpeed = state ? Constants.SerializerConstants.SERIALIZER_BELT_SPEED : 0.d; m_serializerBelt.set(serializerBeltSpeed); + System.out.println("oi2"); } public void setSerializerShooterBeltState(boolean state) { From 2814a5b44236f79b964960e66f308cfbd89435a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEZach=20Wilke?= <90875734+76842@users.noreply.github.com> Date: Tue, 25 Jan 2022 17:58:23 -0700 Subject: [PATCH 18/27] S T O R A G E --- src/main/java/frc4388/robot/Constants.java | 5 +++ .../frc4388/robot/subsystems/Serializer.java | 3 -- .../frc4388/robot/subsystems/Storage.java | 39 +++++++++++++++++++ 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 src/main/java/frc4388/robot/subsystems/Storage.java diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index 3651898..23afeef 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -81,6 +81,11 @@ public final class Constants { public static final int INTAKE_MOTOR = 3; public static final int EXTENDER_MOTOR = 6; } + public static final class StorageConstants { + public static final int STORAGE_CAN_ID = -1; //TODO + public static final int BEAM_SENSOR_SHOOTER = -1; //TODO + public static final int BEAM_SENSOR_INTAKE = -1; //TODO + } public static final class LEDConstants { public static final int LED_SPARK_ID = 0; diff --git a/src/main/java/frc4388/robot/subsystems/Serializer.java b/src/main/java/frc4388/robot/subsystems/Serializer.java index 8ef9612..2d76887 100644 --- a/src/main/java/frc4388/robot/subsystems/Serializer.java +++ b/src/main/java/frc4388/robot/subsystems/Serializer.java @@ -32,17 +32,14 @@ public class Serializer extends SubsystemBase{ setSerializerState(total); } public void setSerializerState(boolean state) { - System.out.println(state); setSerializerBeltState(state); setSerializerShooterBeltState(state); serializerState = state; } public void setSerializerBeltState(boolean state) { - System.out.println("oi"); double serializerBeltSpeed = state ? Constants.SerializerConstants.SERIALIZER_BELT_SPEED : 0.d; m_serializerBelt.set(serializerBeltSpeed); - System.out.println("oi2"); } public void setSerializerShooterBeltState(boolean state) { diff --git a/src/main/java/frc4388/robot/subsystems/Storage.java b/src/main/java/frc4388/robot/subsystems/Storage.java new file mode 100644 index 0000000..fa03e2e --- /dev/null +++ b/src/main/java/frc4388/robot/subsystems/Storage.java @@ -0,0 +1,39 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc4388.robot.subsystems; + +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import com.revrobotics.CANSparkMax; +import com.revrobotics.CANSparkMaxLowLevel.MotorType; +import edu.wpi.first.wpilibj.DigitalInput; +import frc4388.robot.Constants.StorageConstants; + +public class Storage extends SubsystemBase { + public CANSparkMax m_storageMotor = new CANSparkMax(StorageConstants.STORAGE_CAN_ID, MotorType.kBrushless); + private DigitalInput m_beamShooter = new DigitalInput(StorageConstants.BEAM_SENSOR_SHOOTER); + private DigitalInput m_beamIntake = new DigitalInput(StorageConstants.BEAM_SENSOR_INTAKE); + + /** Creates a new Storage. */ + public Storage() { + + } + + public void runStorage(double input) { + m_storageMotor.set(input); + } + + public boolean getBeamShooter(){ + return m_beamShooter.get(); + } + + public boolean getBeamIntake(){ + return m_beamIntake.get(); + } + + @Override + public void periodic() { + // This method will be called once per scheduler run + } +} From 27102b6dd52abcc471977b79ed0a27fb9ddb5bb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEZach=20Wilke?= <90875734+76842@users.noreply.github.com> Date: Tue, 25 Jan 2022 18:04:34 -0700 Subject: [PATCH 19/27] manageStorage --- src/main/java/frc4388/robot/subsystems/Storage.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc4388/robot/subsystems/Storage.java b/src/main/java/frc4388/robot/subsystems/Storage.java index fa03e2e..e2c65f2 100644 --- a/src/main/java/frc4388/robot/subsystems/Storage.java +++ b/src/main/java/frc4388/robot/subsystems/Storage.java @@ -19,7 +19,11 @@ public class Storage extends SubsystemBase { public Storage() { } - + public void manageStorage() { + if (m_beamShooter.get()) { + runStorage(1.d); + } else { runStorage(0.d); } + } public void runStorage(double input) { m_storageMotor.set(input); } @@ -31,7 +35,7 @@ public class Storage extends SubsystemBase { public boolean getBeamIntake(){ return m_beamIntake.get(); } - + @Override public void periodic() { // This method will be called once per scheduler run From 5f1411b5184cd77719170d014ec23d3f15bd3fa1 Mon Sep 17 00:00:00 2001 From: aborunda <90010674+aborunda@users.noreply.github.com> Date: Thu, 27 Jan 2022 18:44:55 -0700 Subject: [PATCH 20/27] Update Intake.java --- src/main/java/frc4388/robot/subsystems/Intake.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index 7d4997e..2fd2531 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -58,4 +58,5 @@ public class Intake extends SubsystemBase { toggle = !toggle; runExtender(toggle); } + //Test } \ No newline at end of file From 1ceef732a2d2056d281d4588e578eea8c6a90711 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEZach=20Wilke?= <90875734+76842@users.noreply.github.com> Date: Fri, 28 Jan 2022 16:14:07 -0700 Subject: [PATCH 21/27] Update Storage.java --- src/main/java/frc4388/robot/subsystems/Storage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc4388/robot/subsystems/Storage.java b/src/main/java/frc4388/robot/subsystems/Storage.java index e2c65f2..9fc2df0 100644 --- a/src/main/java/frc4388/robot/subsystems/Storage.java +++ b/src/main/java/frc4388/robot/subsystems/Storage.java @@ -38,6 +38,6 @@ public class Storage extends SubsystemBase { @Override public void periodic() { - // This method will be called once per scheduler run + manageStorage(); } } From 61819114e490022f1f53d3391a30a34e71352831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEZach=20Wilke?= <90875734+76842@users.noreply.github.com> Date: Fri, 28 Jan 2022 17:59:25 -0700 Subject: [PATCH 22/27] ready code --- src/main/java/frc4388/robot/RobotContainer.java | 10 +++++----- src/main/java/frc4388/robot/subsystems/Serializer.java | 5 ++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index c2bdb96..c352bc2 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -88,13 +88,13 @@ public class RobotContainer { .whenReleased(() -> m_robotIntake.runExtender(false)); // activates "Lit Mode" - // new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) - // .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) - // .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); + new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) + .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) + .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); new JoystickButton(getOperatorJoystick(), XboxController.B_BUTTON) - .whenPressed(() -> m_robotSerializer.setSerializerState(true)) - .whenReleased(() -> m_robotSerializer.setSerializerState(false)); + .whenPressed(() -> m_robotSerializer.setSerializerStateWithBeam(true, m_robotSerializer.getBeam())) + .whenReleased(() -> m_robotSerializer.setSerializerStateWithBeam(false, m_robotSerializer.getBeam())); } /** diff --git a/src/main/java/frc4388/robot/subsystems/Serializer.java b/src/main/java/frc4388/robot/subsystems/Serializer.java index 2d76887..e9ec997 100644 --- a/src/main/java/frc4388/robot/subsystems/Serializer.java +++ b/src/main/java/frc4388/robot/subsystems/Serializer.java @@ -15,7 +15,7 @@ public class Serializer extends SubsystemBase{ public Serializer(CANSparkMax serializerBelt, CANSparkMax serializerShooterBelt) { m_serializerBelt = serializerBelt; m_serializerShooterBelt = serializerShooterBelt; - //m_serializerBeam = new DigitalInput(Constants.SerializerConstants.SERIALIZER_BELT_BEAM); + m_serializerBeam = new DigitalInput(Constants.SerializerConstants.SERIALIZER_BELT_BEAM); serializerState = false; setSerializerState(serializerState); @@ -24,8 +24,7 @@ public class Serializer extends SubsystemBase{ } public boolean getBeam() { - System.out.println("oi"); - return false; + return m_serializerBeam.get(); } public void setSerializerStateWithBeam(boolean ctrlbutter, boolean beambroken) { boolean total = ctrlbutter || beambroken; From 4dabf7021e1b13fbe613aa2ebb925c06d5e87fb3 Mon Sep 17 00:00:00 2001 From: aarav18 Date: Thu, 3 Feb 2022 19:51:12 -0700 Subject: [PATCH 23/27] Update Intake.java --- src/main/java/frc4388/robot/subsystems/Intake.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index 2fd2531..ffb1b94 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -4,6 +4,10 @@ package frc4388.robot.subsystems; +//Imported Limit switch ONLY +import com.revrobotics.SparkMaxLimitSwitch; +import com.revrobotics.SparkMaxLimitSwitch.Type; + import com.ctre.phoenix.motorcontrol.NeutralMode; import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; From 44870c8aa13ca5c9fc89f680caf7c83af9d4158b Mon Sep 17 00:00:00 2001 From: aarav18 Date: Tue, 8 Feb 2022 17:24:17 -0700 Subject: [PATCH 24/27] limit switches --- simgui-ds.json | 101 ++++++++++++++++++ simgui.json | 26 +++++ .../java/frc4388/robot/subsystems/Intake.java | 14 ++- 3 files changed, 133 insertions(+), 8 deletions(-) create mode 100644 simgui-ds.json create mode 100644 simgui.json diff --git a/simgui-ds.json b/simgui-ds.json new file mode 100644 index 0000000..b16ea5c --- /dev/null +++ b/simgui-ds.json @@ -0,0 +1,101 @@ +{ + "keyboardJoysticks": [ + { + "axisConfig": [ + { + "decKey": 65, + "incKey": 68 + }, + { + "decKey": 87, + "incKey": 83 + }, + { + "decKey": 69, + "decayRate": 0.0, + "incKey": 82, + "keyRate": 0.009999999776482582 + } + ], + "axisCount": 3, + "buttonCount": 4, + "buttonKeys": [ + 90, + 88, + 67, + 86 + ], + "povConfig": [ + { + "key0": 328, + "key135": 323, + "key180": 322, + "key225": 321, + "key270": 324, + "key315": 327, + "key45": 329, + "key90": 326 + } + ], + "povCount": 1 + }, + { + "axisConfig": [ + { + "decKey": 74, + "incKey": 76 + }, + { + "decKey": 73, + "incKey": 75 + } + ], + "axisCount": 2, + "buttonCount": 4, + "buttonKeys": [ + 77, + 44, + 46, + 47 + ], + "povCount": 0 + }, + { + "axisConfig": [ + { + "decKey": 263, + "incKey": 262 + }, + { + "decKey": 265, + "incKey": 264 + } + ], + "axisCount": 2, + "buttonCount": 6, + "buttonKeys": [ + 260, + 268, + 266, + 261, + 269, + 267 + ], + "povCount": 0 + }, + { + "axisCount": 0, + "buttonCount": 0, + "povCount": 0 + } + ], + "robotJoysticks": [ + { + "useGamepad": true + }, + { + "guid": "78696e70757401000000000000000000", + "useGamepad": true + } + ] +} diff --git a/simgui.json b/simgui.json new file mode 100644 index 0000000..4af852e --- /dev/null +++ b/simgui.json @@ -0,0 +1,26 @@ +{ + "HALProvider": { + "Other Devices": { + "SPARK MAX [5]": { + "header": { + "open": true + } + }, + "SPARK MAX [6]": { + "header": { + "open": true + } + } + } + }, + "NTProvider": { + "types": { + "/FMSInfo": "FMSInfo", + "/LiveWindow/Intake": "Subsystem", + "/LiveWindow/LED": "Subsystem", + "/LiveWindow/Serializer": "Subsystem", + "/LiveWindow/Ungrouped/DigitalInput[3]": "Digital Input", + "/LiveWindow/Ungrouped/Scheduler": "Scheduler" + } + } +} diff --git a/src/main/java/frc4388/robot/subsystems/Intake.java b/src/main/java/frc4388/robot/subsystems/Intake.java index ffb1b94..9bc97d7 100644 --- a/src/main/java/frc4388/robot/subsystems/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/Intake.java @@ -14,15 +14,14 @@ import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; import edu.wpi.first.wpilibj.motorcontrol.Spark; import edu.wpi.first.wpilibj2.command.SubsystemBase; import com.revrobotics.CANSparkMax; -import com.revrobotics.SparkMaxLimitSwitch; import com.revrobotics.CANSparkMax.IdleMode; public class Intake extends SubsystemBase { private WPI_TalonFX m_intakeMotor; private CANSparkMax m_extenderMotor; - // private SparkMaxLimitSwitch m_inLimit; - // private SparkMaxLimitSwitch m_outLimit; + private SparkMaxLimitSwitch m_inLimit; + private SparkMaxLimitSwitch m_outLimit; public boolean toggle; @@ -31,17 +30,16 @@ public class Intake extends SubsystemBase { m_intakeMotor = intakeMotor; m_extenderMotor = extenderMotor; - m_extenderMotor.restoreFactoryDefaults(); m_intakeMotor.setNeutralMode(NeutralMode.Brake); m_intakeMotor.setInverted(false); m_extenderMotor.setInverted(true); - // m_inLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); - // m_outLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); - // m_inLimit.enableLimitSwitch(true); - // m_outLimit.enableLimitSwitch(true); + m_inLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + m_outLimit = m_extenderMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + m_inLimit.enableLimitSwitch(true); + m_outLimit.enableLimitSwitch(true); } @Override From 8e9f1d31cb41ffa09b0886edd79fae82839384ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEAarav=20Shah?= <76842@psdschools.org> Date: Fri, 18 Feb 2022 16:38:22 -0700 Subject: [PATCH 25/27] new hood controls --- src/main/java/frc4388/robot/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index c352bc2..e4324af 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -79,7 +79,7 @@ public class RobotContainer { */ private void configureButtonBindings() { /* Driver Buttons */ - + /* Operator Buttons */ // extends and retracts the extender From 820ed2ee9060fa61f3e604e562dd2665d5192ca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEAarav=20Shah?= <76842@psdschools.org> Date: Fri, 18 Feb 2022 17:25:21 -0700 Subject: [PATCH 26/27] boom boom bug fix --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c1f07ee..7e60634 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ import edu.wpi.first.gradlerio.deploy.roborio.RoboRIO plugins { id "java" - id "edu.wpi.first.GradleRIO" version "2022.1.1" + id "edu.wpi.first.GradleRIO" version "2022.2.1" } sourceCompatibility = JavaVersion.VERSION_11 From 0baff66d9de2cacd9b17c7d2a928cc37ec1b325f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=AEAarav=20Shah?= <76842@psdschools.org> Date: Fri, 18 Feb 2022 19:33:32 -0700 Subject: [PATCH 27/27] intake buttons (incomplete) --- src/main/java/frc4388/robot/RobotContainer.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index e4324af..1a60a13 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -91,10 +91,16 @@ public class RobotContainer { new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); - + // revisit this later, not sure if we will still use this new JoystickButton(getOperatorJoystick(), XboxController.B_BUTTON) .whenPressed(() -> m_robotSerializer.setSerializerStateWithBeam(true, m_robotSerializer.getBeam())) .whenReleased(() -> m_robotSerializer.setSerializerStateWithBeam(false, m_robotSerializer.getBeam())); + + new JoystickButton(getOperatorJoystick(), XboxController.RIGHT_BUMPER_BUTTON) + .whenPressed(() -> m_robotIntake.runExtender(true)); + + new JoystickButton(getOperatorJoystick(), XboxController.LEFT_BUMPER_BUTTON) + .whenPressed(() -> m_robotIntake.runExtender(false)); } /**