diff --git a/RobotCode/src/main/java/frc/lib/core/Scalar.java b/RobotCode/src/main/java/frc/lib/core/Scalar.java deleted file mode 100644 index c64d923c..00000000 --- a/RobotCode/src/main/java/frc/lib/core/Scalar.java +++ /dev/null @@ -1,8 +0,0 @@ -package frc.lib.core; - -public class Scalar -{ - public static double EPSILON = 1e-12; - public static double DEG_TO_RAD = Math.PI / 180.0; - public static double HUBHEIGHT = 8.66; -}; diff --git a/RobotCode/src/main/java/frc/lib/core/motors/TeamSparkMAX.java b/RobotCode/src/main/java/frc/lib/core/motors/TeamSparkMAX.java deleted file mode 100644 index d8945079..00000000 --- a/RobotCode/src/main/java/frc/lib/core/motors/TeamSparkMAX.java +++ /dev/null @@ -1,135 +0,0 @@ -package frc.lib.core.motors; - -import com.revrobotics.CANSparkMax; -import com.revrobotics.REVLibError; -import com.revrobotics.RelativeEncoder; -import com.revrobotics.SparkPIDController; - -import frc.lib.core.util.TeamUtils; - -/** - * Used for NEOs. Provides support for PID control and an encoder. - */ -public class TeamSparkMAX extends CANSparkMax -{ - - private static final double TELEMETRY_UPDATE_INTERVAL_SECS = 0.0; - private double lastTelemetryUpdate = 0; - - private final String SmartDashboardPrefix; - - private double maxSpeed = Double.MAX_VALUE; - - private double smartMotionLoopTarget; - - private final SparkPIDController CanPidController; - - private final RelativeEncoder CanEncoder; - - private CANSparkMax.ControlType ctrlType; - - public TeamSparkMAX(final String smartDashboardPrefix, final int deviceID) - { - super(deviceID, MotorType.kBrushless); // Neos are brushless - - this.SmartDashboardPrefix = smartDashboardPrefix; - - CanPidController = getPIDController(); - CanEncoder = getEncoder(); - - enableVoltageCompensation(12.0); - } - - public String getSmartDashboardPrefix() - { - return SmartDashboardPrefix; - } - - public SparkPIDController getPidController() - { - return CanPidController; - } - - private static boolean isPidControlMode(final CANSparkMax.ControlType mode) - { - - // kDutyCycle, kVelocity, kVoltage, kPosition, kSmartMotion, kCurrent, kSmartVelocity - - // Are all possible values. If one of these are not part of PID, add case for them and return - // false. - return mode != CANSparkMax.ControlType.kCurrent; - } - - public double getCurrentEncoderValue() - { - // This should be configurable - return CanEncoder.getPosition(); - } - - public void resetEncoder() - { - CanEncoder.setPosition(0.0); - } - - public boolean isRunningPidControlMode() - { - // Dunno if this is safe, but its the easiest way to get around - // problems with the PidParameters. - return isPidControlMode(ctrlType); - } - - public void periodic() - { - final double now = TeamUtils.getCurrentTime(); - // Renato told me to leave this alone, though we may wanna change it later. - - if ((now - lastTelemetryUpdate) < TELEMETRY_UPDATE_INTERVAL_SECS) - { - return; - } - - lastTelemetryUpdate = now; - - final double currentSpeed = CanEncoder.getVelocity(); - - if (maxSpeed == Double.MAX_VALUE || currentSpeed > maxSpeed) - maxSpeed = currentSpeed; - } - - public double getClosedLoopTarget() - { - return this.smartMotionLoopTarget; - } - - public double setClosedLoopTarget(final double value) - { - this.smartMotionLoopTarget = value; - return this.smartMotionLoopTarget; - } - - public REVLibError setSmartMotionVelocity(final double speed, final String reason) - { - setClosedLoopTarget(speed); - ctrlType = CANSparkMax.ControlType.kSmartVelocity; - final REVLibError errors = this.CanPidController.setReference(Math.abs(speed), - CANSparkMax.ControlType.kSmartVelocity); - return errors; - } - - public double getVelocityError() - { - final double currentSpeed = CanEncoder.getVelocity(); - return getClosedLoopTarget() - currentSpeed; - } - - /** - * @param power Between -1 and 1 - * @param reason Unused for now - * @see #set(double) - */ - public void set(final double power, final String reason) - { - super.set(power); - } - -} \ No newline at end of file diff --git a/RobotCode/src/main/java/frc/lib/core/motors/TeamTalonFX.java b/RobotCode/src/main/java/frc/lib/core/motors/TeamTalonFX.java deleted file mode 100644 index fb9bc518..00000000 --- a/RobotCode/src/main/java/frc/lib/core/motors/TeamTalonFX.java +++ /dev/null @@ -1,140 +0,0 @@ -package frc.lib.core.motors; - -import com.ctre.phoenix6.StatusSignal; - -import com.ctre.phoenix6.controls.VoltageOut; -import com.ctre.phoenix6.hardware.TalonFX; -import com.ctre.phoenix6.signals.ControlModeValue; - -import frc.lib.core.util.TeamUtils; - -/** - * Used for everything that isn't a NEO. A wrapper class for motors that helps to consistently and - * easily perform the following functions: 1. Keep current and max speeds. 2. Get and reset encoder - * values. 3. Lots and lots of SmartDashboard information - */ -public class TeamTalonFX extends TalonFX -{ - - private final VoltageOut voltageRequest = new VoltageOut(0); - - public static double telemetryUpdateInterval_secs = 0.0; - - private double lastTelemetryUpdate = 0; - - private final String smartDashboardPrefix; - - private double maxSpeed = Double.MAX_VALUE; - - private double encoderOffset; - - /** I would love to understand how to make this work. Avoid using right now */ - @Deprecated - public static boolean isPidControlMode(final ControlModeValue mode) - { - switch (mode) - { - // case Current: - case DisabledOutput: - case Follower: - return false; - default: - return true; - } - } - - public TeamTalonFX(final String smartDashboardPrefix, final int deviceNumber) - { - super(deviceNumber); - this.smartDashboardPrefix = smartDashboardPrefix; - - // assuming quadencoder - - setControl(voltageRequest.withOutput(12)); - - } - - public void periodic() - { - final double now = TeamUtils.getCurrentTime(); - // Renato told me to leave this alone, though we may wanna change it later. - - if ((now - getLastTelemetryUpdate()) < telemetryUpdateInterval_secs) - { - return; - } - - setLastTelemetryUpdate(now); - - final StatusSignal currentSpeed = getVelocity(); - - if (getMaxSpeed() == Double.MAX_VALUE || currentSpeed.getValueAsDouble() > getMaxSpeed()) - setMaxSpeed(currentSpeed.getValueAsDouble()); - } - - public double getCurrentEncoderValue() - { - // This should be configurable - return getRotorPosition().getValueAsDouble() + encoderOffset; - } - - public boolean isRunningPidControlMode() - { - return isPidControlMode(getControlMode().getValue()); - } - - /** - * @param power Between -1 and 1 - * @param reason Unused for now - * @see #set(double) - */ - public void set(final double power, final String reason) - { - super.set(power); - // Logs.info("Set power to " + power + " REASON: " + reason); - } - - public void resetEncoder() - { - encoderOffset = -1 * getRotorPosition().getValueAsDouble(); - - } - - public double getLastTelemetryUpdate() - { - return lastTelemetryUpdate; - } - - public void setLastTelemetryUpdate(final double val) - { - lastTelemetryUpdate = val; - } - - public String getSmartDashboardPrefix() - { - return smartDashboardPrefix; - } - - public double getMaxSpeed() - { - return maxSpeed; - } - - public void setMaxSpeed(final double val) - { - maxSpeed = val; - } - - /** please make this work. I don't know how */ - public double getVelocityError() - { - if (getControlMode().getValue() != ControlModeValue.VelocityDutyCycle) - { - return 0; - } - - final double currentSpeed = getVelocity().getValueAsDouble(); - return (getRotorPosition().getValueAsDouble() - currentSpeed); - } - -} \ No newline at end of file diff --git a/RobotCode/src/main/java/frc/lib/core/util/COTSFalconSwerveConstants.java b/RobotCode/src/main/java/frc/lib/core/util/COTSFalconSwerveConstants.java deleted file mode 100644 index eb3a2016..00000000 --- a/RobotCode/src/main/java/frc/lib/core/util/COTSFalconSwerveConstants.java +++ /dev/null @@ -1,124 +0,0 @@ -package frc.lib.core.util; - -import edu.wpi.first.math.util.Units; - -/* Contains values and required settings for common COTS swerve modules. */ -public class COTSFalconSwerveConstants -{ - public final double wheelDiameter; - public final double wheelCircumference; - public final double angleGearRatio; - public final double driveGearRatio; - public final double angleKP; - public final double angleKI; - public final double angleKD; - public final double angleKF; - public final boolean driveMotorInvert; - public final boolean angleMotorInvert; - public final boolean canCoderInvert; - - public COTSFalconSwerveConstants(double wheelDiameter, double angleGearRatio, - double driveGearRatio, double angleKP, double angleKI, double angleKD, double angleKF, - boolean driveMotorInvert, boolean angleMotorInvert, boolean canCoderInvert) - { - this.wheelDiameter = wheelDiameter; - this.wheelCircumference = wheelDiameter * Math.PI; - this.angleGearRatio = angleGearRatio; - this.driveGearRatio = driveGearRatio; - this.angleKP = angleKP; - this.angleKI = angleKI; - this.angleKD = angleKD; - this.angleKF = angleKF; - this.driveMotorInvert = driveMotorInvert; - this.angleMotorInvert = angleMotorInvert; - this.canCoderInvert = canCoderInvert; - } - - /** Swerve Drive Specialties - MK3 Module */ - public static COTSFalconSwerveConstants SDSMK3(double driveGearRatio) - { - double wheelDiameter = Units.inchesToMeters(4.0); - - /** 12.8 : 1 */ - double angleGearRatio = (12.8 / 1.0); - - double angleKP = 0.2; - double angleKI = 0.0; - double angleKD = 0.0; - double angleKF = 0.0; - - boolean driveMotorInvert = false; - boolean angleMotorInvert = false; - boolean canCoderInvert = false; - return new COTSFalconSwerveConstants(wheelDiameter, angleGearRatio, driveGearRatio, angleKP, - angleKI, angleKD, angleKF, driveMotorInvert, angleMotorInvert, canCoderInvert); - } - - /** Swerve Drive Specialties - MK4 Module */ - public static COTSFalconSwerveConstants SDSMK4(double driveGearRatio) - { - double wheelDiameter = Units.inchesToMeters(4.0); - - /** 12.8 : 1 */ - double angleGearRatio = (12.8 / 1.0); - - double angleKP = 0.2; - double angleKI = 0.0; - double angleKD = 0.0; - double angleKF = 0.0; - - boolean driveMotorInvert = false; - boolean angleMotorInvert = false; - boolean canCoderInvert = false; - return new COTSFalconSwerveConstants(wheelDiameter, angleGearRatio, driveGearRatio, angleKP, - angleKI, angleKD, angleKF, driveMotorInvert, angleMotorInvert, canCoderInvert); - } - - /** Swerve Drive Specialties - MK4i Module */ - public static COTSFalconSwerveConstants SDSMK4i(double driveGearRatio) - { - double wheelDiameter = Units.inchesToMeters(4.0); - - /** (150 / 7) : 1 */ - double angleGearRatio = ((150.0 / 7.0) / 1.0); - - double angleKP = 0.3; - double angleKI = 0.0; - double angleKD = 0.0; - double angleKF = 0.0; - - boolean driveMotorInvert = false; - boolean angleMotorInvert = true; - boolean canCoderInvert = false; - return new COTSFalconSwerveConstants(wheelDiameter, angleGearRatio, driveGearRatio, angleKP, - angleKI, angleKD, angleKF, driveMotorInvert, angleMotorInvert, canCoderInvert); - } - - /* Drive Gear Ratios for all supported modules */ - public class driveGearRatios - { - /* SDS MK3 */ - /** SDS MK3 - 8.16 : 1 */ - public static final double SDSMK3_Standard = (8.16 / 1.0); - /** SDS MK3 - 6.86 : 1 */ - public static final double SDSMK3_Fast = (6.86 / 1.0); - - /* SDS MK4 */ - /** SDS MK4 - 8.14 : 1 */ - public static final double SDSMK4_L1 = (8.14 / 1.0); - /** SDS MK4 - 6.75 : 1 */ - public static final double SDSMK4_L2 = (6.75 / 1.0); - /** SDS MK4 - 6.12 : 1 */ - public static final double SDSMK4_L3 = (6.12 / 1.0); - /** SDS MK4 - 5.14 : 1 */ - public static final double SDSMK4_L4 = (5.14 / 1.0); - - /* SDS MK4i */ - /** SDS MK4i - 8.14 : 1 */ - public static final double SDSMK4i_L1 = (8.14 / 1.0); - /** SDS MK4i - 6.75 : 1 */ - public static final double SDSMK4i_L2 = (6.75 / 1.0); - /** SDS MK4i - 6.12 : 1 */ - public static final double SDSMK4i_L3 = (6.12 / 1.0); - } -} diff --git a/RobotCode/src/main/java/frc/lib/core/util/CTREModuleState.java b/RobotCode/src/main/java/frc/lib/core/util/CTREModuleState.java deleted file mode 100644 index 03c0a8a5..00000000 --- a/RobotCode/src/main/java/frc/lib/core/util/CTREModuleState.java +++ /dev/null @@ -1,70 +0,0 @@ -package frc.lib.core.util; - -import edu.wpi.first.math.geometry.Rotation2d; -import edu.wpi.first.math.kinematics.SwerveModuleState; - -public class CTREModuleState -{ - - /** - * Minimize the change in heading the desired swerve module state would require by potentially - * reversing the direction the wheel spins. Customized from WPILib's version to include placing - * in appropriate scope for CTRE onboard control. - * - * @param desiredState The desired state. - * @param currentAngle The current module angle. - */ - public static SwerveModuleState optimize(SwerveModuleState desiredState, - Rotation2d currentAngle) - { - double targetAngle = placeInAppropriate0To360Scope(currentAngle.getDegrees(), - desiredState.angle.getDegrees()); - double targetSpeed = desiredState.speedMetersPerSecond; - double delta = targetAngle - currentAngle.getDegrees(); - if (Math.abs(delta) > 90) - { - targetSpeed = -targetSpeed; - targetAngle = delta > 90 ? (targetAngle -= 180) : (targetAngle += 180); - } - return new SwerveModuleState(targetSpeed, Rotation2d.fromDegrees(targetAngle)); - } - - /** - * @param scopeReference Current Angle - * @param newAngle Target Angle - * @return Closest angle within scope - */ - private static double placeInAppropriate0To360Scope(double scopeReference, double newAngle) - { - double lowerBound; - double upperBound; - double lowerOffset = scopeReference % 360; - if (lowerOffset >= 0) - { - lowerBound = scopeReference - lowerOffset; - upperBound = scopeReference + (360 - lowerOffset); - } - else - { - upperBound = scopeReference - lowerOffset; - lowerBound = scopeReference - (360 + lowerOffset); - } - while (newAngle < lowerBound) - { - newAngle += 360; - } - while (newAngle > upperBound) - { - newAngle -= 360; - } - if (newAngle - scopeReference > 180) - { - newAngle -= 360; - } - else if (newAngle - scopeReference < -180) - { - newAngle += 360; - } - return newAngle; - } -} diff --git a/RobotCode/src/main/java/frc/lib/core/util/Conversions.java b/RobotCode/src/main/java/frc/lib/core/util/Conversions.java deleted file mode 100644 index b40876ca..00000000 --- a/RobotCode/src/main/java/frc/lib/core/util/Conversions.java +++ /dev/null @@ -1,118 +0,0 @@ -package frc.lib.core.util; - -public class Conversions -{ - - /** - * @param positionCounts CANCoder Position Counts - * @param gearRatio Gear Ratio between CANCoder and Mechanism - * @return Degrees of Rotation of Mechanism - */ - public static double CANcoderToDegrees(double positionCounts, double gearRatio) - { - return positionCounts * (360.0 / (gearRatio * 4096.0)); - } - - /** - * @param degrees Degrees of rotation of Mechanism - * @param gearRatio Gear Ratio between CANCoder and Mechanism - * @return CANCoder Position Counts - */ - public static double degreesToCANcoder(double degrees, double gearRatio) - { - return degrees / (360.0 / (gearRatio * 4096.0)); - } - - /** - * @param counts Falcon Position Counts - * @param gearRatio Gear Ratio between Falcon and Mechanism - * @return Degrees of Rotation of Mechanism - */ - public static double falconToDegrees(double positionCounts, double gearRatio) - { - return positionCounts * (360.0 / (gearRatio * 2048.0)); - } - - /** - * @param degrees Degrees of rotation of Mechanism - * @param gearRatio Gear Ratio between Falcon and Mechanism - * @return Falcon Position Counts - */ - public static double degreesToFalcon(double degrees, double gearRatio) - { - return degrees / (360.0 / (gearRatio * 2048.0)); - } - - /** - * @param velocityCounts Falcon Velocity Counts - * @param gearRatio Gear Ratio between Falcon and Mechanism (set to 1 for Falcon RPM) - * @return RPM of Mechanism - */ - public static double falconToRPM(double velocityCounts, double gearRatio) - { - double motorRPM = velocityCounts * (600.0 / 2048.0); - double mechRPM = motorRPM / gearRatio; - return mechRPM; - } - - /** - * @param RPM RPM of mechanism - * @param gearRatio Gear Ratio between Falcon and Mechanism (set to 1 for Falcon RPM) - * @return RPM of Mechanism - */ - public static double RPMToFalcon(double RPM, double gearRatio) - { - double motorRPM = RPM * gearRatio; - double sensorCounts = motorRPM * (2048.0 / 600.0); - return sensorCounts; - } - - /** - * @param velocitycounts Falcon Velocity Counts - * @param circumference Circumference of Wheel - * @param gearRatio Gear Ratio between Falcon and Mechanism (set to 1 for Falcon MPS) - * @return Falcon Velocity Counts - */ - public static double falconToMPS(double velocitycounts, double circumference, double gearRatio) - { - double wheelRPM = falconToRPM(velocitycounts, gearRatio); - double wheelMPS = (wheelRPM * circumference) / 60; - return wheelMPS; - } - - /** - * @param velocity Velocity MPS - * @param circumference Circumference of Wheel - * @param gearRatio Gear Ratio between Falcon and Mechanism (set to 1 for Falcon MPS) - * @return Falcon Velocity Counts - */ - public static double MPSToFalcon(double velocity, double circumference, double gearRatio) - { - double wheelRPM = ((velocity * 60) / circumference); - double wheelVelocity = RPMToFalcon(wheelRPM, gearRatio); - return wheelVelocity; - } - - /** - * @param positionCounts Falcon Position Counts - * @param circumference Circumference of Wheel - * @param gearRatio Gear Ratio between Falcon and Wheel - * @return Meters - */ - public static double falconToMeters(double positionCounts, double circumference, - double gearRatio) - { - return positionCounts * (circumference / (gearRatio * 2048.0)); - } - - /** - * @param meters Meters - * @param circumference Circumference of Wheel - * @param gearRatio Gear Ratio between Falcon and Wheel - * @return Falcon Position Counts - */ - public static double MetersToFalcon(double meters, double circumference, double gearRatio) - { - return meters / (circumference / (gearRatio * 2048.0)); - } -} \ No newline at end of file diff --git a/RobotCode/src/main/java/frc/lib/core/util/FileUtils.java b/RobotCode/src/main/java/frc/lib/core/util/FileUtils.java deleted file mode 100644 index 417659b6..00000000 --- a/RobotCode/src/main/java/frc/lib/core/util/FileUtils.java +++ /dev/null @@ -1,84 +0,0 @@ -package frc.lib.core.util; - -import com.google.gson.Gson; - -import java.io.*; -import java.util.Scanner; - -public class FileUtils { - - private static final Gson Gson = new Gson(); - private static String toJson(Object object) { - return Gson.toJson(object); - } - - private static T fromJson(String json, Class dataType) { - return Gson.fromJson(json, dataType); - } - - /** - * Reads a json file and returns it as an object. - * Don't do circular references. - *

- * Ex: If you do: class A { A b; } A a = new A(); a.b = a; You will get a StackOverflowError. - * @param filePath The file path to read from. - * @return The JsonObject returned from the file. - * @throws FileNotFoundException Throws an error if the file does not exist. - */ - public static T readObjectFromFilePath(String filePath, Class classType) throws FileNotFoundException { - return readObjectFromFile(new File(filePath), classType); - } - - /** - * Reads a json file and returns it as an object. - * Don't do circular references. - *

- * Ex: If you do: class A { A b; } A a = new A(); a.b = a; You will get a StackOverflowError. - * @param file The file to read from. - * @return The Object returned from the file. - * @throws FileNotFoundException Throws an error if the file does not exist. - */ - public static T readObjectFromFile(File file, Class classType) throws FileNotFoundException { - if (file.exists()) { - - Scanner fileReader = new Scanner(file); - StringBuilder stringBuilder = new StringBuilder(); - - while (fileReader.hasNextLine()) { - stringBuilder.append(fileReader.nextLine()); - } - - fileReader.close(); - - return fromJson(stringBuilder.toString(), classType); - - } else { - throw new FileNotFoundException("File at " + file.getPath() + "does not exist."); - } - } - - /** - * Saves an object as a json file. - * Don't do circular references. - *

- * Ex: If you do: class A { A b; } A a = new A(); a.b = a; You will get a StackOverflowError - * @param path The file path to save to. - * @param object The object to save to the file. - */ - public static void saveObjectToFile(String path, Object object) { - - try { - File file = new File(path); - if (!file.exists()) - file.createNewFile(); - - FileWriter fileWriter = new FileWriter(path); - fileWriter.write(toJson(object)); - - fileWriter.close(); - - } catch (IOException ignored) {} - } - - -} \ No newline at end of file diff --git a/RobotCode/src/main/java/frc/lib/core/util/TeamUtils.java b/RobotCode/src/main/java/frc/lib/core/util/TeamUtils.java deleted file mode 100644 index ee0293d7..00000000 --- a/RobotCode/src/main/java/frc/lib/core/util/TeamUtils.java +++ /dev/null @@ -1,140 +0,0 @@ -package frc.lib.core.util; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.util.HashMap; -import edu.wpi.first.networktables.NetworkTable; -import edu.wpi.first.networktables.NetworkTableEntry; -import edu.wpi.first.networktables.NetworkTableInstance; -import edu.wpi.first.networktables.NetworkTableValue; -import frc.lib.core.Scalar; - -public class TeamUtils -{ - public static double getCurrentTime() - { - return 1.0 * System.nanoTime() / 1e9; - // Why nanoseconds???????? - } - - public static void sendToNetworkTable(String tableName, String key, Object value) - { - NetworkTable table = NetworkTableInstance.getDefault().getTable(tableName); - if (table == null) - { - return; - } - NetworkTableEntry entry = table.getEntry(key); - if (entry == null) - { - return; - } - entry.setValue(value); - } - - public static Object getFromNetworkTable(String tableName, String key) - { - NetworkTable table = NetworkTableInstance.getDefault().getTable(tableName); - if (table == null) - { - return null; - } - NetworkTableEntry entry = table.getEntry(key); - if (entry == null) - { - return null; - } - NetworkTableValue value = entry.getValue(); - if (value == null) - { - return null; - } - return value.getValue(); - } - - public static boolean checkTolerance(double currentValue, double targetValue, double epsilon) - { - if (Math.abs(currentValue - targetValue) <= epsilon) - return true; - else - { - return false; - } - } - - public static double map(double value, double start1, double end1, double start2, double end2) - { - - if (Math.abs(end1 - start1) < Scalar.EPSILON) - { - throw new ArithmeticException("/ 0"); - } - - double offset = start2; - double ratio = (end2 - start2) / (end1 - start1); - return ratio * (value - start1) + offset; - } - - public static HashMap CsvReader(String filepath) - { - HashMap data = new HashMap(); - try - { - BufferedReader br = new BufferedReader(new FileReader(filepath)); - String line; - while ((line = br.readLine()) != null) - { - if (line.charAt(0) == '#' || line.isEmpty()) - { - continue; - } - String[] array = line.split(",", 2); - data.put(Double.parseDouble(array[0]), Double.parseDouble(array[1])); - } - } - catch (Exception e) - { - System.out.println("Failed to load file (file name is prob wrong)"); - } - return data; - } - - static public int LowerBound(double n, Double[] array) - { - int l = -1; - int r = array.length; - while (l + 1 < r) - { - int m = (l + r) >>> 1; - if (array[m] >= n) - { - r = m; - } - else - { - l = m; - } - } - return r; - }; - - static public int UpperBound(double n, Double[] array) - { - int l = -1; - int r = array.length; - while (l + 1 < r) - { - int m = (l + r) >>> 1; - if (array[m] <= n) - { - l = m; - } - else - { - r = m; - } - } - return l + 1; - }; - -} \ No newline at end of file diff --git a/RobotCode/src/main/java/frc/lib/modules/leds/Color.java b/RobotCode/src/main/java/frc/lib/examples/leds/Color.java similarity index 97% rename from RobotCode/src/main/java/frc/lib/modules/leds/Color.java rename to RobotCode/src/main/java/frc/lib/examples/leds/Color.java index 4a2200ec..4b1bdb18 100644 --- a/RobotCode/src/main/java/frc/lib/modules/leds/Color.java +++ b/RobotCode/src/main/java/frc/lib/examples/leds/Color.java @@ -1,4 +1,4 @@ -package frc.lib.modules.leds; +package frc.lib.examples.leds; import java.util.HashMap; diff --git a/RobotCode/src/main/java/frc/lib/modules/leds/NamedColor.java b/RobotCode/src/main/java/frc/lib/examples/leds/NamedColor.java similarity index 94% rename from RobotCode/src/main/java/frc/lib/modules/leds/NamedColor.java rename to RobotCode/src/main/java/frc/lib/examples/leds/NamedColor.java index ca33180b..3aeb0934 100644 --- a/RobotCode/src/main/java/frc/lib/modules/leds/NamedColor.java +++ b/RobotCode/src/main/java/frc/lib/examples/leds/NamedColor.java @@ -1,4 +1,4 @@ -package frc.lib.modules.leds; +package frc.lib.examples.leds; public final class NamedColor { diff --git a/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/PneumaticClawConstants.java b/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/PneumaticClawConstants.java deleted file mode 100644 index 4671327c..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/PneumaticClawConstants.java +++ /dev/null @@ -1,12 +0,0 @@ -package frc.lib.modules.pneumaticclaw; - -public class PneumaticClawConstants { - - // Ports - public static final int PNEUMATICS_HUB = 0; - public static final int SOLENOID_LEFT_CLOSE = 0; - public static final int SOLENOID_LEFT_OPEN = 0; - public static final int SOLENOID_RIGHT_CLOSE = 0; - public static final int SOLENOID_RIGHT_OPEN = 0; - -} diff --git a/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/PneumaticClawSubsystem.java b/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/PneumaticClawSubsystem.java deleted file mode 100644 index 2b758f50..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/PneumaticClawSubsystem.java +++ /dev/null @@ -1,40 +0,0 @@ -package frc.lib.modules.pneumaticclaw; - -import edu.wpi.first.wpilibj.Compressor; -import edu.wpi.first.wpilibj.DoubleSolenoid; -import edu.wpi.first.wpilibj.DoubleSolenoid.Value; -import edu.wpi.first.wpilibj.PneumaticsModuleType; -import edu.wpi.first.wpilibj2.command.SubsystemBase; -import frc.lib.core.Untested; - -@Untested -public class PneumaticClawSubsystem extends SubsystemBase { - - private final DoubleSolenoid ClawGrabberLeft, ClawGrabberRight; - - public PneumaticClawSubsystem(Value startPosition) { - ClawGrabberLeft = new DoubleSolenoid(PneumaticClawConstants.PNEUMATICS_HUB, - PneumaticsModuleType.REVPH, PneumaticClawConstants.SOLENOID_LEFT_CLOSE, - PneumaticClawConstants.SOLENOID_LEFT_OPEN); - ClawGrabberRight = new DoubleSolenoid(PneumaticClawConstants.PNEUMATICS_HUB, - PneumaticsModuleType.REVPH, PneumaticClawConstants.SOLENOID_RIGHT_CLOSE, - PneumaticClawConstants.SOLENOID_RIGHT_OPEN); - - // This is try-with-resources, it will automatically close the compressor - Compressor mainCompressor = new Compressor(PneumaticClawConstants.PNEUMATICS_HUB, - PneumaticsModuleType.REVPH); - mainCompressor.enableDigital(); - - ClawGrabberLeft.set(startPosition); - ClawGrabberRight.set(startPosition); - } - - /** - * Set solenoids to a desired value - */ - public void setSolenoid(Value mode) { - ClawGrabberLeft.set(mode); - ClawGrabberRight.set(mode); - } - -} diff --git a/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/commands/PneumaticClawCommand.java b/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/commands/PneumaticClawCommand.java deleted file mode 100644 index cbd44d81..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/pneumaticclaw/commands/PneumaticClawCommand.java +++ /dev/null @@ -1,32 +0,0 @@ -package frc.lib.modules.pneumaticclaw.commands; - -import edu.wpi.first.wpilibj.DoubleSolenoid.Value; -import edu.wpi.first.wpilibj2.command.CommandBase; -import frc. lib.modules.pneumaticclaw.PneumaticClawSubsystem; - -public class PneumaticClawCommand extends CommandBase { - - private PneumaticClawSubsystem clawIntake; - - private Value clawMode; - - public PneumaticClawCommand(Value clawMode, PneumaticClawSubsystem clawIntake) { - this.clawIntake = clawIntake; - this.clawMode = clawMode; - - addRequirements(clawIntake); - } - - @Override - public void initialize() { - // Set claw to desired mode immediately - clawIntake.setSolenoid(clawMode); - } - - @Override - public boolean isFinished() { - // Immediately end command - return true; - } -} - diff --git a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/TankDrivetrainConstants.java b/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/TankDrivetrainConstants.java deleted file mode 100644 index ec775836..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/TankDrivetrainConstants.java +++ /dev/null @@ -1,20 +0,0 @@ -package frc.lib.modules.tankdrivetrain; - -public class TankDrivetrainConstants { - - //Constants - public static final double DEADZONE_AMOUNT = 0.05; - - public static final double DRIVETRAIN_MAX_POWER_CHANGE = 0.1; - - public static final int CURRENT_TIMEOUT_MS = 250; - - public static final int DRIVETRAIN_POWER_EXPONENT = 3; - - //Ports - public static final int RIGHT_DRIVE_FALCON_MAIN = 0; - public static final int RIGHT_DRIVE_FALCON_SUB = 0; - public static final int LEFT_DRIVE_FALCON_MAIN = 0; - public static final int LEFT_DRIVE_FALCON_SUB = 0; - -} diff --git a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/TankDrivetrainSubsystem.java b/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/TankDrivetrainSubsystem.java deleted file mode 100644 index 336115f8..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/TankDrivetrainSubsystem.java +++ /dev/null @@ -1,126 +0,0 @@ -package frc.lib.modules.tankdrivetrain; - -import com.ctre.phoenix6.configs.TalonFXConfiguration; -import com.ctre.phoenix6.controls.Follower; -import com.ctre.phoenix6.signals.NeutralModeValue; -import edu.wpi.first.wpilibj2.command.SubsystemBase; -import frc.lib.core.motors.TeamTalonFX; - -public class TankDrivetrainSubsystem extends SubsystemBase { - - private TeamTalonFX RightDriveFalconMain, LeftDriveFalconMain, RightDriveFalconSub, - LeftDriveFalconSub; - - private double leftPowerDesired; - private double rightPowerDesired; - private double speedMod; - - private String reason; - - public TankDrivetrainSubsystem(int rightMainPort, int leftMainPort, int rightSubPort, - int leftSubPort) { - RightDriveFalconMain = new TeamTalonFX("Subsystems.DriveTrain.RightMain", rightMainPort); - LeftDriveFalconMain = new TeamTalonFX("Subsystems.DriveTrain.LeftMain", leftMainPort); - RightDriveFalconSub = new TeamTalonFX("Subsystems.DriveTrain.RightSub", rightSubPort); - LeftDriveFalconSub = new TeamTalonFX("Subsystems.DriveTrain.LeftSub", leftSubPort); - - // IMPLEMENT AND TEST A SLEW RATE LIMITER ON THE SHOWBOT BEFORE WE ADD THIS TO COMMON LIB - // powerRamping = new SlewRateLimiter(TankDrivetrainConstants.DRIVETRAIN_MAX_POWER_CHANGE); - - // create a motor config object - TalonFXConfiguration config = new TalonFXConfiguration(); - - // This configures the falcons to limit their current - config.CurrentLimits.SupplyCurrentLimitEnable = true; - config.CurrentLimits.SupplyCurrentLimit = 55; - config.CurrentLimits.SupplyTimeThreshold = TankDrivetrainConstants.CURRENT_TIMEOUT_MS; - - // This configures the sub motors to follow the main falcons - LeftDriveFalconSub.setControl(new Follower(LeftDriveFalconMain.getDeviceID(), false)); - RightDriveFalconSub.setControl(new Follower(RightDriveFalconMain.getDeviceID(), false)); - - // This inverts the left falcons - RightDriveFalconMain.setInverted(false); - RightDriveFalconSub.setInverted(false); - LeftDriveFalconMain.setInverted(true); - LeftDriveFalconSub.setInverted(true); - - // This sets the neutral mode of the falcons to brake - RightDriveFalconMain.setNeutralMode(NeutralModeValue.Brake); - RightDriveFalconSub.setNeutralMode(NeutralModeValue.Brake); - LeftDriveFalconMain.setNeutralMode(NeutralModeValue.Brake); - LeftDriveFalconSub.setNeutralMode(NeutralModeValue.Brake); - - // config the current limits - RightDriveFalconMain.getConfigurator().apply(config); - RightDriveFalconSub.getConfigurator().apply(config); - LeftDriveFalconMain.getConfigurator().apply(config); - LeftDriveFalconSub.getConfigurator().apply(config); - - speedMod = 1; - } - - public void setSpeedMod(double speedMod) { - // Sets a new speed mod - this.speedMod = speedMod; - } - - public double getSpeedMod() { - // Returns the current speed mod - return speedMod; - } - - private double calculateClampedPower(double powerDesired) { - // Clamp given power between -1 and 1 - return Math.max(Math.min(1, powerDesired), -1); - } - - private double calculateRampedPower(double powerDesired, double powerCurrent) { - // Check if the power change exceeded the max power change, and limit the power change if so - if (powerDesired < powerCurrent) { - return Math.max(powerDesired, - powerCurrent - TankDrivetrainConstants.DRIVETRAIN_MAX_POWER_CHANGE); - } else if (powerDesired < powerCurrent) { - return Math.min(powerDesired, - powerCurrent + TankDrivetrainConstants.DRIVETRAIN_MAX_POWER_CHANGE); - } - return powerDesired; - } - - public void setMotorPowers(double leftPowerDesired, double rightPowerDesired, String reason) { - // Set desired motor powers - LeftDriveFalconMain.set(leftPowerDesired); - RightDriveFalconMain.set(rightPowerDesired); - - // Set reason for desiring those motor powers - this.reason = reason; - } - - @Override - public void periodic() { - // Get the current motor powers - double rightPowerCurrent = RightDriveFalconMain.get(); - double leftPowerCurrent = LeftDriveFalconMain.get(); - - // Create final power variables to perform math on - double finalLeftPower = leftPowerDesired; - double finalRightPower = rightPowerDesired; - - // Multiply motor powers by the speed mod - finalLeftPower *= speedMod; - finalRightPower *= speedMod; - - // Calculate ramped motor powers - finalLeftPower = calculateRampedPower(finalLeftPower, leftPowerCurrent); - finalRightPower = calculateRampedPower(finalRightPower, rightPowerCurrent); - - // Calculate clamped motor powers - finalLeftPower = calculateClampedPower(finalLeftPower); - finalRightPower = calculateClampedPower(finalRightPower); - - // Set final motor powers - LeftDriveFalconMain.set(finalLeftPower, reason); - RightDriveFalconMain.set(finalRightPower, reason); - } - -} \ No newline at end of file diff --git a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/ArcadeDriveCommand.java b/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/ArcadeDriveCommand.java deleted file mode 100644 index 0b72e29e..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/ArcadeDriveCommand.java +++ /dev/null @@ -1,8 +0,0 @@ -package frc.lib.modules.tankdrivetrain.commands; - -import edu.wpi.first.wpilibj2.command.Command; - -public class ArcadeDriveCommand extends Command -{ - -} diff --git a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/GTADriveCommand.java b/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/GTADriveCommand.java deleted file mode 100644 index 62d33c5d..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/GTADriveCommand.java +++ /dev/null @@ -1,7 +0,0 @@ -package frc.lib.modules.tankdrivetrain.commands; - -import edu.wpi.first.wpilibj2.command.Command; - -public class GTADriveCommand extends Command { - -} diff --git a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/SpeedModCommand.java b/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/SpeedModCommand.java deleted file mode 100644 index 9e32f912..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/SpeedModCommand.java +++ /dev/null @@ -1,27 +0,0 @@ -package frc.lib.modules.tankdrivetrain.commands; - -import edu.wpi.first.wpilibj2.command.Command; -import frc.lib.modules.tankdrivetrain.TankDrivetrainSubsystem; - -public class SpeedModCommand extends Command -{ - - private TankDrivetrainSubsystem drivetrain; - private double speedMod; - - public SpeedModCommand(double speedMod, TankDrivetrainSubsystem drivetrain) - { - this.speedMod = speedMod; - this.drivetrain = drivetrain; - - addRequirements(drivetrain); - } - - @Override - public void initialize() - { - // Set the speed mod in the drivetrain subsystem - drivetrain.setSpeedMod(speedMod); - } - -} diff --git a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/TankDriveCommand.java b/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/TankDriveCommand.java deleted file mode 100644 index a927dbf7..00000000 --- a/RobotCode/src/main/java/frc/lib/modules/tankdrivetrain/commands/TankDriveCommand.java +++ /dev/null @@ -1,54 +0,0 @@ -package frc.lib.modules.tankdrivetrain.commands; - -import java.util.function.DoubleSupplier; - -import edu.wpi.first.wpilibj2.command.Command; -import frc.lib.modules.tankdrivetrain.TankDrivetrainConstants; -import frc.lib.modules.tankdrivetrain.TankDrivetrainSubsystem; - -// never -public class TankDriveCommand extends Command -{ - - private TankDrivetrainSubsystem drivetrain; - private DoubleSupplier leftInputY, rightInputY; - - public TankDriveCommand(DoubleSupplier leftInputY, DoubleSupplier rightInputY, - TankDrivetrainSubsystem drivetrain) - { - this.leftInputY = leftInputY; - this.rightInputY = rightInputY; - this.drivetrain = drivetrain; - - addRequirements(drivetrain); - } - - private double calculateDeadZonedPower(double input) - { - // Dead zone power by setting it to 0 if it is below a threshold - if (Math.abs(input) <= TankDrivetrainConstants.DEADZONE_AMOUNT) - { - return 0; - } - else - return input; - } - - @Override - public void execute() - { - // Get the dead zoned powers - double finalLeftInputY = calculateDeadZonedPower(leftInputY.getAsDouble()); - double finalRightInputY = calculateDeadZonedPower(rightInputY.getAsDouble()); - - // Get the cubed powers - finalLeftInputY = Math.pow(finalLeftInputY, - TankDrivetrainConstants.DRIVETRAIN_POWER_EXPONENT); - finalRightInputY = Math.pow(finalRightInputY, - TankDrivetrainConstants.DRIVETRAIN_POWER_EXPONENT); - - // Set the motor powers in the drivetrain subsystem - drivetrain.setMotorPowers(finalLeftInputY, finalRightInputY, "TankDriveCommand Joysticks"); - } - -} diff --git a/RobotCode/src/main/java/frc/lib/core/util/Timer.java b/RobotCode/src/main/java/frc/lib/util/Timer.java similarity index 95% rename from RobotCode/src/main/java/frc/lib/core/util/Timer.java rename to RobotCode/src/main/java/frc/lib/util/Timer.java index 9a449a43..1785c33d 100644 --- a/RobotCode/src/main/java/frc/lib/core/util/Timer.java +++ b/RobotCode/src/main/java/frc/lib/util/Timer.java @@ -1,4 +1,4 @@ -package frc.lib.core.util; +package frc.lib.util; /** A class for doing countdowns or other forms of waiting */ public class Timer diff --git a/RobotCode/src/main/java/frc/robot/Robot.java b/RobotCode/src/main/java/frc/robot/Robot.java index 5703dcae..137016d4 100644 --- a/RobotCode/src/main/java/frc/robot/Robot.java +++ b/RobotCode/src/main/java/frc/robot/Robot.java @@ -9,8 +9,8 @@ import edu.wpi.first.wpilibj.TimedRobot; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; -import frc.lib.core.ILogSource; -import frc.lib.core.IModeChangeListener; +import frc.robot.core.ILogSource; +import frc.robot.core.IModeChangeListener; public class Robot extends TimedRobot implements ILogSource, IModeChangeListener { diff --git a/RobotCode/src/main/java/frc/lib/core/ILogSource.java b/RobotCode/src/main/java/frc/robot/core/ILogSource.java similarity index 99% rename from RobotCode/src/main/java/frc/lib/core/ILogSource.java rename to RobotCode/src/main/java/frc/robot/core/ILogSource.java index 3649f69a..e8f36e7c 100644 --- a/RobotCode/src/main/java/frc/lib/core/ILogSource.java +++ b/RobotCode/src/main/java/frc/robot/core/ILogSource.java @@ -1,4 +1,4 @@ -package frc.lib.core; +package frc.robot.core; import java.text.MessageFormat; import java.util.Date; diff --git a/RobotCode/src/main/java/frc/lib/core/IModeChangeListener.java b/RobotCode/src/main/java/frc/robot/core/IModeChangeListener.java similarity index 92% rename from RobotCode/src/main/java/frc/lib/core/IModeChangeListener.java rename to RobotCode/src/main/java/frc/robot/core/IModeChangeListener.java index b533ee46..ff14bdb3 100644 --- a/RobotCode/src/main/java/frc/lib/core/IModeChangeListener.java +++ b/RobotCode/src/main/java/frc/robot/core/IModeChangeListener.java @@ -1,4 +1,4 @@ -package frc.lib.core; +package frc.robot.core; import frc.robot.Robot; diff --git a/RobotCode/src/main/java/frc/lib/core/LogitechControllerButtons.java b/RobotCode/src/main/java/frc/robot/core/LogitechControllerButtons.java similarity index 95% rename from RobotCode/src/main/java/frc/lib/core/LogitechControllerButtons.java rename to RobotCode/src/main/java/frc/robot/core/LogitechControllerButtons.java index f77d98e3..e6114ca2 100644 --- a/RobotCode/src/main/java/frc/lib/core/LogitechControllerButtons.java +++ b/RobotCode/src/main/java/frc/robot/core/LogitechControllerButtons.java @@ -1,4 +1,4 @@ -package frc.lib.core; +package frc.robot.core; public class LogitechControllerButtons { diff --git a/RobotCode/src/main/java/frc/lib/core/Untested.java b/RobotCode/src/main/java/frc/robot/core/Untested.java similarity index 93% rename from RobotCode/src/main/java/frc/lib/core/Untested.java rename to RobotCode/src/main/java/frc/robot/core/Untested.java index ef4aeac6..6a2d6d72 100644 --- a/RobotCode/src/main/java/frc/lib/core/Untested.java +++ b/RobotCode/src/main/java/frc/robot/core/Untested.java @@ -1,4 +1,4 @@ -package frc.lib.core; +package frc.robot.core; import java.lang.annotation.ElementType; import java.lang.annotation.Target; diff --git a/RobotCode/src/test/java/JsonTest.java b/RobotCode/src/test/java/JsonTest.java deleted file mode 100644 index a16420f2..00000000 --- a/RobotCode/src/test/java/JsonTest.java +++ /dev/null @@ -1,30 +0,0 @@ -import frc.lib.core.ILogSource; -import frc.lib.core.util.FileUtils; - -import java.io.File; -import java.io.FileNotFoundException; - -class JsonTest implements ILogSource { - - private int x; - -// @Test - void testJson() { - x = 5; - - FileUtils.saveObjectToFile("jsonTest.json", this); - - int numberRead = 0; - try { - numberRead = FileUtils.readObjectFromFilePath("jsonTest.json", JsonTest.class).x; - } catch(FileNotFoundException ignored) {} - - logInfo("Number read: " + numberRead); - - new File("jsonTest.json").delete(); - - - assert numberRead == 5; - } - -} diff --git a/RobotCode/src/test/java/LogTest.java b/RobotCode/src/test/java/LogTest.java index d0d0168e..a18c18e3 100644 --- a/RobotCode/src/test/java/LogTest.java +++ b/RobotCode/src/test/java/LogTest.java @@ -1,7 +1,7 @@ -import frc.lib.core.ILogSource; - import java.util.logging.Level; +import frc.robot.core.ILogSource; + class LogTest implements ILogSource { // Uncommnet @Test to run the test on build diff --git a/RobotCode/vendordeps/PathplannerLib.json b/RobotCode/vendordeps/PathplannerLib.json index 3c741462..6dc648db 100644 --- a/RobotCode/vendordeps/PathplannerLib.json +++ b/RobotCode/vendordeps/PathplannerLib.json @@ -1,7 +1,7 @@ { "fileName": "PathplannerLib.json", "name": "PathplannerLib", - "version": "2024.1.2", + "version": "2024.2.8", "uuid": "1b42324f-17c6-4875-8e77-1c312bc8c786", "frcYear": "2024", "mavenUrls": [ @@ -12,7 +12,7 @@ { "groupId": "com.pathplanner.lib", "artifactId": "PathplannerLib-java", - "version": "2024.1.2" + "version": "2024.2.8" } ], "jniDependencies": [], @@ -20,7 +20,7 @@ { "groupId": "com.pathplanner.lib", "artifactId": "PathplannerLib-cpp", - "version": "2024.1.2", + "version": "2024.2.8", "libName": "PathplannerLib", "headerClassifier": "headers", "sharedLibrary": false, diff --git a/RobotCode/vendordeps/Phoenix6.json b/RobotCode/vendordeps/Phoenix6.json index 69a40798..03223850 100644 --- a/RobotCode/vendordeps/Phoenix6.json +++ b/RobotCode/vendordeps/Phoenix6.json @@ -1,7 +1,7 @@ { "fileName": "Phoenix6.json", "name": "CTRE-Phoenix (v6)", - "version": "24.1.0", + "version": "24.3.0", "frcYear": 2024, "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", "mavenUrls": [ @@ -19,14 +19,14 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-java", - "version": "24.1.0" + "version": "24.3.0" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -39,7 +39,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -52,7 +52,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -65,7 +65,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonFX", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -78,7 +78,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -91,7 +91,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -104,7 +104,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simCANCoder", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -117,7 +117,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -130,7 +130,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -143,7 +143,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "24.1.0", + "version": "24.3.0", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -158,7 +158,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-cpp", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_Phoenix6_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -173,7 +173,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_PhoenixTools", "headerClassifier": "headers", "sharedLibrary": true, @@ -188,7 +188,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "wpiapi-cpp-sim", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_Phoenix6_WPISim", "headerClassifier": "headers", "sharedLibrary": true, @@ -203,7 +203,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_PhoenixTools_Sim", "headerClassifier": "headers", "sharedLibrary": true, @@ -218,7 +218,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimTalonSRX", "headerClassifier": "headers", "sharedLibrary": true, @@ -233,7 +233,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonFX", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimTalonFX", "headerClassifier": "headers", "sharedLibrary": true, @@ -248,7 +248,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimVictorSPX", "headerClassifier": "headers", "sharedLibrary": true, @@ -263,7 +263,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimPigeonIMU", "headerClassifier": "headers", "sharedLibrary": true, @@ -278,7 +278,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simCANCoder", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimCANCoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -293,7 +293,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimProTalonFX", "headerClassifier": "headers", "sharedLibrary": true, @@ -308,7 +308,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimProCANcoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -323,7 +323,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "24.1.0", + "version": "24.3.0", "libName": "CTRE_SimProPigeon2", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/RobotCode/vendordeps/REVLib.json b/RobotCode/vendordeps/REVLib.json index 0f3520e7..f85acd40 100644 --- a/RobotCode/vendordeps/REVLib.json +++ b/RobotCode/vendordeps/REVLib.json @@ -1,7 +1,7 @@ { "fileName": "REVLib.json", "name": "REVLib", - "version": "2024.2.0", + "version": "2024.2.4", "frcYear": "2024", "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", "mavenUrls": [ @@ -12,14 +12,14 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-java", - "version": "2024.2.0" + "version": "2024.2.4" } ], "jniDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2024.2.0", + "version": "2024.2.4", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -37,7 +37,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-cpp", - "version": "2024.2.0", + "version": "2024.2.4", "libName": "REVLib", "headerClassifier": "headers", "sharedLibrary": false, @@ -55,7 +55,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2024.2.0", + "version": "2024.2.4", "libName": "REVLibDriver", "headerClassifier": "headers", "sharedLibrary": false,