Compare commits
No commits in common. "main" and "09919f372f4c484921dd7210c54e4eb7604feb15" have entirely different histories.
main
...
09919f372f
1
SE1/Createprojecttest
Submodule
1
SE1/Createprojecttest
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 2c4c1f24ea0dab1ca82d05f99bf7664b86bef040
|
0
.gitignore → SE2/SE2/.gitignore
vendored
0
.gitignore → SE2/SE2/.gitignore
vendored
@ -2,5 +2,5 @@
|
|||||||
"enableCppIntellisense": false,
|
"enableCppIntellisense": false,
|
||||||
"currentLanguage": "java",
|
"currentLanguage": "java",
|
||||||
"projectYear": "2024",
|
"projectYear": "2024",
|
||||||
"teamNumber": 9999
|
"teamNumber": 2648
|
||||||
}
|
}
|
0
gradlew → SE2/SE2/gradlew
vendored
0
gradlew → SE2/SE2/gradlew
vendored
0
gradlew.bat → SE2/SE2/gradlew.bat
vendored
0
gradlew.bat → SE2/SE2/gradlew.bat
vendored
20
SE2/SE2/src/main/java/frc/robot/RobotContainer.java
Normal file
20
SE2/SE2/src/main/java/frc/robot/RobotContainer.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// 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 frc.robot;
|
||||||
|
|
||||||
|
import edu.wpi.first.wpilibj2.command.Command;
|
||||||
|
import edu.wpi.first.wpilibj2.command.Commands;
|
||||||
|
|
||||||
|
public class RobotContainer {
|
||||||
|
public RobotContainer() {
|
||||||
|
configureBindings();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void configureBindings() {}
|
||||||
|
|
||||||
|
public Command getAutonomousCommand() {
|
||||||
|
return Commands.print("No autonomous command configured");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package frc.robot.constants;
|
||||||
|
|
||||||
|
public class DrivetrainConstants {
|
||||||
|
public static final int kLeftFrontID = 0;
|
||||||
|
public static final int kLeftRearID = 1;
|
||||||
|
public static final int kRightFrontID = 2;
|
||||||
|
public static final int kRightRearID = 3;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
package frc.robot.constants;
|
||||||
|
|
||||||
|
public class ShooterConstants {
|
||||||
|
public static final int K1MotorPWM = 0;
|
||||||
|
public static final int K2MotorPWM = 0;
|
||||||
|
}
|
47
SE2/SE2/src/main/java/frc/robot/subsystems/Drivetrain.java
Normal file
47
SE2/SE2/src/main/java/frc/robot/subsystems/Drivetrain.java
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
package frc.robot.subsystems;
|
||||||
|
|
||||||
|
import java.util.function.DoubleSupplier;
|
||||||
|
|
||||||
|
import com.revrobotics.CANSparkMax;
|
||||||
|
import com.revrobotics.CANSparkMaxLowLevel.MotorType;
|
||||||
|
|
||||||
|
import edu.wpi.first.wpilibj.Encoder;
|
||||||
|
import edu.wpi.first.wpilibj.drive.DifferentialDrive;
|
||||||
|
import edu.wpi.first.wpilibj.motorcontrol.MotorController;
|
||||||
|
import edu.wpi.first.wpilibj2.command.Command;
|
||||||
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
||||||
|
import frc.robot.constants.DrivetrainConstants;
|
||||||
|
public class Drivetrain extends SubsystemBase{
|
||||||
|
private MotorController leftFront;
|
||||||
|
private MotorController leftRear;
|
||||||
|
private MotorController rightFront;
|
||||||
|
private MotorController rightRear;
|
||||||
|
|
||||||
|
private DifferentialDrive drive;;
|
||||||
|
|
||||||
|
|
||||||
|
private Drivetrain() {
|
||||||
|
leftFront = new CANSparkMax(DrivetrainConstants.kLeftFrontID, MotorType.kBrushless);
|
||||||
|
rightFront = new CANSparkMax(DrivetrainConstants.kRightFrontID, MotorType.kBrushless);
|
||||||
|
leftRear = new CANSparkMax(DrivetrainConstants.kLeftRearID, MotorType.kBrushless);
|
||||||
|
rightRear = new CANSparkMax(DrivetrainConstants.kRightRearID, MotorType.kBrushless);
|
||||||
|
|
||||||
|
((CANSparkMax)leftRear).follow((CANSparkMax)leftFront);
|
||||||
|
((CANSparkMax)rightRear).follow((CANSparkMax)rightFront);
|
||||||
|
|
||||||
|
rightFront.setInverted(true);
|
||||||
|
|
||||||
|
drive = new DifferentialDrive(leftFront, rightFront);
|
||||||
|
Encoder Encoder = new Encoder(0,1);
|
||||||
|
}
|
||||||
|
public Command driveArcade(DoubleSupplier xSpeed, DoubleSupplier zRotation) {
|
||||||
|
return run (() -> {
|
||||||
|
drive.arcadeDrive(xSpeed.getAsDouble(), zRotation.getAsDouble());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
public Command driveTank(DoubleSupplier leftSpeed, DoubleSupplier rightSpeed) {
|
||||||
|
return run(() -> {
|
||||||
|
drive.tankDrive(leftSpeed.getAsDouble(), rightSpeed.getAsDouble());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
20
SE2/SE2/src/main/java/frc/robot/subsystems/Shooter.java
Normal file
20
SE2/SE2/src/main/java/frc/robot/subsystems/Shooter.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package frc.robot.subsystems;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ctre.phoenix.motorcontrol.can.WPI_VictorSPX;
|
||||||
|
import com.ctre.phoenix6.controls.Follower;
|
||||||
|
|
||||||
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
||||||
|
import frc.robot.constants.ShooterConstants;
|
||||||
|
|
||||||
|
public class Shooter extends SubsystemBase{
|
||||||
|
private WPI_VictorSPX motor1;
|
||||||
|
private WPI_VictorSPX motor2;
|
||||||
|
|
||||||
|
public Shooter() {
|
||||||
|
motor1 = new WPI_VictorSPX(ShooterConstants.K1MotorPWM);
|
||||||
|
motor2 = new WPI_VictorSPX(ShooterConstants.K2MotorPWM);
|
||||||
|
|
||||||
|
motor1.follow(motor2);
|
||||||
|
}
|
||||||
|
}
|
151
SE2/SE2/vendordeps/Phoenix5.json
Normal file
151
SE2/SE2/vendordeps/Phoenix5.json
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
{
|
||||||
|
"fileName": "Phoenix5.json",
|
||||||
|
"name": "CTRE-Phoenix (v5)",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"frcYear": 2024,
|
||||||
|
"uuid": "ab676553-b602-441f-a38d-f1296eff6537",
|
||||||
|
"mavenUrls": [
|
||||||
|
"https://maven.ctr-electronics.com/release/"
|
||||||
|
],
|
||||||
|
"jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2024-latest.json",
|
||||||
|
"requires": [
|
||||||
|
{
|
||||||
|
"uuid": "e995de00-2c64-4df5-8831-c1441420ff19",
|
||||||
|
"errorMessage": "Phoenix 5 requires low-level libraries from Phoenix 6. Please add the Phoenix 6 vendordep before adding Phoenix 5.",
|
||||||
|
"offlineFileName": "Phoenix6.json",
|
||||||
|
"onlineUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2024-latest.json"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"javaDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix",
|
||||||
|
"artifactId": "api-java",
|
||||||
|
"version": "5.33.1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix",
|
||||||
|
"artifactId": "wpiapi-java",
|
||||||
|
"version": "5.33.1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jniDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix",
|
||||||
|
"artifactId": "cci",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena"
|
||||||
|
],
|
||||||
|
"simMode": "hwsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix.sim",
|
||||||
|
"artifactId": "cci-sim",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cppDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix",
|
||||||
|
"artifactId": "wpiapi-cpp",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"libName": "CTRE_Phoenix_WPI",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena"
|
||||||
|
],
|
||||||
|
"simMode": "hwsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix",
|
||||||
|
"artifactId": "api-cpp",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"libName": "CTRE_Phoenix",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena"
|
||||||
|
],
|
||||||
|
"simMode": "hwsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix",
|
||||||
|
"artifactId": "cci",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"libName": "CTRE_PhoenixCCI",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena"
|
||||||
|
],
|
||||||
|
"simMode": "hwsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix.sim",
|
||||||
|
"artifactId": "wpiapi-cpp-sim",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"libName": "CTRE_Phoenix_WPISim",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix.sim",
|
||||||
|
"artifactId": "api-cpp-sim",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"libName": "CTRE_PhoenixSim",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix.sim",
|
||||||
|
"artifactId": "cci-sim",
|
||||||
|
"version": "5.33.1",
|
||||||
|
"libName": "CTRE_PhoenixCCISim",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
339
SE2/SE2/vendordeps/Phoenix6.json
Normal file
339
SE2/SE2/vendordeps/Phoenix6.json
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
{
|
||||||
|
"fileName": "Phoenix6.json",
|
||||||
|
"name": "CTRE-Phoenix (v6)",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"frcYear": 2024,
|
||||||
|
"uuid": "e995de00-2c64-4df5-8831-c1441420ff19",
|
||||||
|
"mavenUrls": [
|
||||||
|
"https://maven.ctr-electronics.com/release/"
|
||||||
|
],
|
||||||
|
"jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2024-latest.json",
|
||||||
|
"conflictsWith": [
|
||||||
|
{
|
||||||
|
"uuid": "3fcf3402-e646-4fa6-971e-18afe8173b1a",
|
||||||
|
"errorMessage": "The combined Phoenix-6-And-5 vendordep is no longer supported. Please remove the vendordep and instead add both the latest Phoenix 6 vendordep and Phoenix 5 vendordep.",
|
||||||
|
"offlineFileName": "Phoenix6And5.json"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"javaDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6",
|
||||||
|
"artifactId": "wpiapi-java",
|
||||||
|
"version": "24.3.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jniDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6",
|
||||||
|
"artifactId": "tools",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena"
|
||||||
|
],
|
||||||
|
"simMode": "hwsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "tools-sim",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simTalonSRX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simTalonFX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simVictorSPX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simPigeonIMU",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simCANCoder",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simProTalonFX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simProCANcoder",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simProPigeon2",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"isJar": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cppDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6",
|
||||||
|
"artifactId": "wpiapi-cpp",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_Phoenix6_WPI",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena"
|
||||||
|
],
|
||||||
|
"simMode": "hwsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6",
|
||||||
|
"artifactId": "tools",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_PhoenixTools",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena"
|
||||||
|
],
|
||||||
|
"simMode": "hwsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "wpiapi-cpp-sim",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_Phoenix6_WPISim",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "tools-sim",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_PhoenixTools_Sim",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simTalonSRX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimTalonSRX",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simTalonFX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimTalonFX",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simVictorSPX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimVictorSPX",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simPigeonIMU",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimPigeonIMU",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simCANCoder",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimCANCoder",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simProTalonFX",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimProTalonFX",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simProCANcoder",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimProCANcoder",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.ctre.phoenix6.sim",
|
||||||
|
"artifactId": "simProPigeon2",
|
||||||
|
"version": "24.3.0",
|
||||||
|
"libName": "CTRE_SimProPigeon2",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": true,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"osxuniversal"
|
||||||
|
],
|
||||||
|
"simMode": "swsim"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
74
SE2/SE2/vendordeps/REVLib.json
Normal file
74
SE2/SE2/vendordeps/REVLib.json
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
{
|
||||||
|
"fileName": "REVLib.json",
|
||||||
|
"name": "REVLib",
|
||||||
|
"version": "2024.2.4",
|
||||||
|
"frcYear": "2024",
|
||||||
|
"uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb",
|
||||||
|
"mavenUrls": [
|
||||||
|
"https://maven.revrobotics.com/"
|
||||||
|
],
|
||||||
|
"jsonUrl": "https://software-metadata.revrobotics.com/REVLib-2024.json",
|
||||||
|
"javaDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.revrobotics.frc",
|
||||||
|
"artifactId": "REVLib-java",
|
||||||
|
"version": "2024.2.4"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jniDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.revrobotics.frc",
|
||||||
|
"artifactId": "REVLib-driver",
|
||||||
|
"version": "2024.2.4",
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"isJar": false,
|
||||||
|
"validPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"windowsx86",
|
||||||
|
"linuxarm64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena",
|
||||||
|
"linuxarm32",
|
||||||
|
"osxuniversal"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cppDependencies": [
|
||||||
|
{
|
||||||
|
"groupId": "com.revrobotics.frc",
|
||||||
|
"artifactId": "REVLib-cpp",
|
||||||
|
"version": "2024.2.4",
|
||||||
|
"libName": "REVLib",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"windowsx86",
|
||||||
|
"linuxarm64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena",
|
||||||
|
"linuxarm32",
|
||||||
|
"osxuniversal"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"groupId": "com.revrobotics.frc",
|
||||||
|
"artifactId": "REVLib-driver",
|
||||||
|
"version": "2024.2.4",
|
||||||
|
"libName": "REVLibDriver",
|
||||||
|
"headerClassifier": "headers",
|
||||||
|
"sharedLibrary": false,
|
||||||
|
"skipInvalidPlatforms": true,
|
||||||
|
"binaryPlatforms": [
|
||||||
|
"windowsx86-64",
|
||||||
|
"windowsx86",
|
||||||
|
"linuxarm64",
|
||||||
|
"linuxx86-64",
|
||||||
|
"linuxathena",
|
||||||
|
"linuxarm32",
|
||||||
|
"osxuniversal"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"tabPane": [
|
|
||||||
{
|
|
||||||
"title": "SmartDashboard",
|
|
||||||
"autoPopulate": true,
|
|
||||||
"autoPopulatePrefix": "SmartDashboard/",
|
|
||||||
"widgetPane": {
|
|
||||||
"gridSize": 128.0,
|
|
||||||
"showGrid": true,
|
|
||||||
"hgap": 16.0,
|
|
||||||
"vgap": 16.0,
|
|
||||||
"titleType": 0,
|
|
||||||
"tiles": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "LiveWindow",
|
|
||||||
"autoPopulate": true,
|
|
||||||
"autoPopulatePrefix": "LiveWindow/",
|
|
||||||
"widgetPane": {
|
|
||||||
"gridSize": 128.0,
|
|
||||||
"showGrid": true,
|
|
||||||
"hgap": 16.0,
|
|
||||||
"vgap": 16.0,
|
|
||||||
"titleType": 0,
|
|
||||||
"tiles": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": " Sensor",
|
|
||||||
"autoPopulate": false,
|
|
||||||
"autoPopulatePrefix": "",
|
|
||||||
"widgetPane": {
|
|
||||||
"gridSize": 128.0,
|
|
||||||
"showGrid": true,
|
|
||||||
"hgap": 16.0,
|
|
||||||
"vgap": 16.0,
|
|
||||||
"titleType": 0,
|
|
||||||
"tiles": {
|
|
||||||
"0,0": {
|
|
||||||
"size": [
|
|
||||||
2,
|
|
||||||
1
|
|
||||||
],
|
|
||||||
"content": {
|
|
||||||
"_type": "Boolean Box",
|
|
||||||
"_title": "Frisbee Presence Sensor",
|
|
||||||
"_glyph": 148,
|
|
||||||
"_showGlyph": false,
|
|
||||||
"Colors/Color when true": "#7CFC00FF",
|
|
||||||
"Colors/Color when false": "#8B0000FF"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"windowGeometry": {
|
|
||||||
"x": -7.199999809265137,
|
|
||||||
"y": -7.199999809265137,
|
|
||||||
"width": 1550.4000244140625,
|
|
||||||
"height": 830.4000244140625
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,71 +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 frc.robot;
|
|
||||||
|
|
||||||
import edu.wpi.first.wpilibj.shuffleboard.BuiltInWidgets;
|
|
||||||
import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard;
|
|
||||||
import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab;
|
|
||||||
import edu.wpi.first.wpilibj2.command.Command;
|
|
||||||
import edu.wpi.first.wpilibj2.command.button.CommandXboxController;
|
|
||||||
import frc.robot.constants.OIConstants;
|
|
||||||
import frc.robot.subsystems.Drivetrain;
|
|
||||||
import frc.robot.subsystems.Flicker;
|
|
||||||
import frc.robot.subsystems.Shooter;
|
|
||||||
|
|
||||||
public class RobotContainer {
|
|
||||||
private Flicker flicker;
|
|
||||||
private Shooter shooter;
|
|
||||||
|
|
||||||
private Drivetrain drivetrain;
|
|
||||||
|
|
||||||
private CommandXboxController driver;
|
|
||||||
public RobotContainer() {
|
|
||||||
//sets up controllers
|
|
||||||
drivetrain = new Drivetrain();
|
|
||||||
flicker = new Flicker();
|
|
||||||
driver = new CommandXboxController(OIConstants.kDriverUSB);
|
|
||||||
|
|
||||||
configureBindings();
|
|
||||||
configureShuffleboard();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void configureBindings() {
|
|
||||||
//manual controls for driving
|
|
||||||
drivetrain.setDefaultCommand(
|
|
||||||
drivetrain.driveArcade(
|
|
||||||
driver::getLeftY,
|
|
||||||
driver::getLeftX
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
flicker.setDefaultCommand(flicker.stop());
|
|
||||||
//manual controls for shooter and flicker
|
|
||||||
|
|
||||||
driver.a().whileTrue(flicker.setSpeed(() ->1 ));
|
|
||||||
|
|
||||||
shooter.setDefaultCommand(shooter.stop());
|
|
||||||
|
|
||||||
driver.rightBumper().whileTrue(shooter.setSpeed(() -> 1));
|
|
||||||
}
|
|
||||||
private void configureShuffleboard() {
|
|
||||||
//sets up the widget for the shuffboard
|
|
||||||
ShuffleboardTab robotIndicatorTab = Shuffleboard.getTab(OIConstants.kRobotIndicatorsTabName);
|
|
||||||
|
|
||||||
robotIndicatorTab.addBoolean("Frisbee Presence Sensor", flicker::frisbeeSensor)
|
|
||||||
.withPosition(0, 0)
|
|
||||||
.withSize(2, 1)
|
|
||||||
.withWidget(BuiltInWidgets.kBooleanBox);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public Command getAutonomousCommand() {
|
|
||||||
//sets up the autonomous command, it drives forward for 2 seconds, spins the shooter mototrs for 1 second, and both shooter and flicker for 3 seconds.
|
|
||||||
return drivetrain.driveTank(() -> .5,() -> .5).withTimeout(2).andThen(
|
|
||||||
shooter.setSpeed(()-> 1).withTimeout(1),
|
|
||||||
shooter.setSpeed(()->1).alongWith(flicker.setSpeed(()->1))
|
|
||||||
.withTimeout(3)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
package frc.robot.constants;
|
|
||||||
|
|
||||||
public class DrivetrainConstants {
|
|
||||||
public static final int kLeftFrontPWM = 0;
|
|
||||||
public static final int kLeftRearPWM = 1;
|
|
||||||
public static final int kRightFrontPWM = 2;
|
|
||||||
public static final int kRightRearPWM = 3;
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
package frc.robot.constants;
|
|
||||||
|
|
||||||
public class FlickerConstants {
|
|
||||||
public static final int k3MotorPWM = 6;
|
|
||||||
|
|
||||||
public static final int kFrisbeeSensor = 0;
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
package frc.robot.constants;
|
|
||||||
|
|
||||||
public class OIConstants {
|
|
||||||
public static final int kDriverUSB = 0;
|
|
||||||
|
|
||||||
public static final String kRobotIndicatorsTabName = "Sensors";
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
package frc.robot.constants;
|
|
||||||
|
|
||||||
public class ShooterConstants {
|
|
||||||
public static final int k1MotorPWM = 4;
|
|
||||||
public static final int k2MotorPWM = 5;
|
|
||||||
}
|
|
@ -1,47 +0,0 @@
|
|||||||
package frc.robot.subsystems;
|
|
||||||
|
|
||||||
import java.util.function.DoubleSupplier;
|
|
||||||
|
|
||||||
import edu.wpi.first.wpilibj.drive.DifferentialDrive;
|
|
||||||
import edu.wpi.first.wpilibj.motorcontrol.VictorSP;
|
|
||||||
import edu.wpi.first.wpilibj2.command.Command;
|
|
||||||
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
|
||||||
import frc.robot.constants.DrivetrainConstants;
|
|
||||||
|
|
||||||
public class Drivetrain extends SubsystemBase {
|
|
||||||
// tells the motors how much power they use
|
|
||||||
private VictorSP leftFront;
|
|
||||||
private VictorSP leftRear;
|
|
||||||
private VictorSP rightFront;
|
|
||||||
private VictorSP rightRear;
|
|
||||||
|
|
||||||
private DifferentialDrive drive;
|
|
||||||
|
|
||||||
public Drivetrain() {
|
|
||||||
//turns the code inputs (like how fast or how to turn) and make it a way that the motors will understand.
|
|
||||||
leftFront = new VictorSP(DrivetrainConstants.kLeftFrontPWM);
|
|
||||||
leftRear = new VictorSP(DrivetrainConstants.kLeftRearPWM);
|
|
||||||
rightFront = new VictorSP(DrivetrainConstants.kRightFrontPWM);
|
|
||||||
rightRear = new VictorSP(DrivetrainConstants.kRightRearPWM);
|
|
||||||
|
|
||||||
leftFront.addFollower(leftRear);
|
|
||||||
rightFront.addFollower(rightRear);
|
|
||||||
rightFront.setInverted(true);
|
|
||||||
|
|
||||||
drive = new DifferentialDrive(leftFront, rightFront);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Command driveArcade(DoubleSupplier xSpeed, DoubleSupplier zRotation) {
|
|
||||||
return run(() -> {
|
|
||||||
//makes car like steering possible
|
|
||||||
drive.arcadeDrive(xSpeed.getAsDouble(), zRotation.getAsDouble());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public Command driveTank(DoubleSupplier leftSpeed, DoubleSupplier rightSpeed) {
|
|
||||||
return run(() -> {
|
|
||||||
//makes tank steering possible
|
|
||||||
drive.tankDrive(leftSpeed.getAsDouble(), rightSpeed.getAsDouble());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
package frc.robot.subsystems;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.function.DoubleSupplier;
|
|
||||||
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
|
||||||
import edu.wpi.first.wpilibj.DigitalInput;
|
|
||||||
import edu.wpi.first.wpilibj.motorcontrol.VictorSP;
|
|
||||||
import edu.wpi.first.wpilibj2.command.Command;
|
|
||||||
import frc.robot.constants.FlickerConstants;
|
|
||||||
|
|
||||||
public class Flicker extends SubsystemBase {
|
|
||||||
private VictorSP motor;
|
|
||||||
|
|
||||||
private DigitalInput frisbeeSensor;
|
|
||||||
|
|
||||||
public Flicker() {
|
|
||||||
//sets motors and the photo switch
|
|
||||||
motor = new VictorSP(FlickerConstants.k3MotorPWM);
|
|
||||||
|
|
||||||
frisbeeSensor = new DigitalInput(FlickerConstants.kFrisbeeSensor);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean frisbeeSensor() {
|
|
||||||
/*this uses a photoswitch to see if a frisbbe is there or not,
|
|
||||||
and if not where it is called in in RobotContrainer makes it so it won't shot if no frisbee*/
|
|
||||||
return frisbeeSensor.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Command setSpeed(DoubleSupplier speed){
|
|
||||||
//makes it so the motor will run but if the photoswitch can't see the frisbee it will stop.
|
|
||||||
return run(() -> {
|
|
||||||
if (frisbeeSensor.get()) {
|
|
||||||
motor.set(speed.getAsDouble());
|
|
||||||
} else {
|
|
||||||
motor.set(0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public Command stop() {
|
|
||||||
// stops the motor manually.
|
|
||||||
return setSpeed(() -> 0);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
package frc.robot.subsystems;
|
|
||||||
|
|
||||||
import java.util.function.DoubleSupplier;
|
|
||||||
|
|
||||||
import edu.wpi.first.wpilibj.motorcontrol.VictorSP;
|
|
||||||
import edu.wpi.first.wpilibj2.command.Command;
|
|
||||||
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
|
||||||
import frc.robot.constants.ShooterConstants;
|
|
||||||
|
|
||||||
public class Shooter extends SubsystemBase {
|
|
||||||
//makes the motors varables
|
|
||||||
private VictorSP motor1;
|
|
||||||
private VictorSP motor2;
|
|
||||||
|
|
||||||
public Shooter() {
|
|
||||||
//sets up the motors to be used in the code
|
|
||||||
motor1 = new VictorSP(ShooterConstants.k1MotorPWM);
|
|
||||||
motor2 = new VictorSP(ShooterConstants.k2MotorPWM);
|
|
||||||
|
|
||||||
motor1.addFollower(motor2);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Command setSpeed(DoubleSupplier speed) {
|
|
||||||
//sets the motors speed
|
|
||||||
return run(() -> {
|
|
||||||
motor1.set(speed.getAsDouble());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public Command stop() {
|
|
||||||
//stops the motors
|
|
||||||
return setSpeed(() -> 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user