diff --git a/.wpilib/wpilib_preferences.json b/.wpilib/wpilib_preferences.json index c013738..5ebf05f 100644 --- a/.wpilib/wpilib_preferences.json +++ b/.wpilib/wpilib_preferences.json @@ -1,6 +1,6 @@ { "enableCppIntellisense": false, "currentLanguage": "java", - "projectYear": "2020", + "projectYear": "2021", "teamNumber": 5987 } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 9eb9d8f..c5066cf 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "java" - id "edu.wpi.first.GradleRIO" version "2020.3.2" + id "edu.wpi.first.GradleRIO" version "2022.4.1" } sourceCompatibility = JavaVersion.VERSION_11 @@ -9,60 +9,91 @@ targetCompatibility = JavaVersion.VERSION_11 def ROBOT_MAIN_CLASS = "frc.robot.Main" // Define my targets (RoboRIO) and artifacts (deployable files) -// This is added by GradleRIO's backing project EmbeddedTools. +// This is added by GradleRIO's backing project DeployUtils. deploy { targets { - roboRIO("roborio") { + roborio(getTargetTypeClass('RoboRIO')) { // Team number is loaded either from the .wpilib/wpilib_preferences.json // or from command line. If not found an exception will be thrown. // You can use getTeamOrDefault(team) instead of getTeamNumber if you // want to store a team number in this file. - team = frc.getTeamNumber() - } - } - artifacts { - frcJavaArtifact('frcJava') { - targets << "roborio" - // Debug can be overridden by command line, for use with VSCode - debug = frc.getDebugOrDefault(false) - } - // Built in artifact to deploy arbitrary files to the roboRIO. - fileTreeArtifact('frcStaticFileDeploy') { - // The directory below is the local directory to deploy - files = fileTree(dir: 'src/main/deploy') - // Deploy to RoboRIO target, into /home/lvuser/deploy - targets << "roborio" - directory = '/home/lvuser/deploy' + team = project.frc.getTeamNumber() + debug = project.frc.getDebugOrDefault(false) + + artifacts { + // First part is artifact name, 2nd is artifact type + // getTargetTypeClass is a shortcut to get the class type using a string + + frcJava(getArtifactTypeClass('FRCJavaArtifact')) { + } + + // Static files artifact + frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) { + files = project.fileTree('src/main/deploy') + directory = '/home/lvuser/deploy' + } + } } } } +def deployArtifact = deploy.targets.roborio.artifacts.frcJava + +// Set to true to use debug for JNI. +wpi.java.debugJni = true + // Set this to true to enable desktop support. -def includeDesktopSupport = false +def includeDesktopSupport = true + +repositories { + maven { url 'https://jitpack.io' } + flatDir { + dirs 'libs' + } +} // Defining my dependencies. In this case, WPILib (+ friends), and vendor libraries. // Also defines JUnit 4. dependencies { - implementation wpi.deps.wpilib() - nativeZip wpi.deps.wpilibJni(wpi.platforms.roborio) - nativeDesktopZip wpi.deps.wpilibJni(wpi.platforms.desktop) + implementation wpi.java.deps.wpilib() + implementation wpi.java.vendor.java() + + roborioDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.roborio) + roborioDebug wpi.java.vendor.jniDebug(wpi.platforms.roborio) + + roborioRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.roborio) + roborioRelease wpi.java.vendor.jniRelease(wpi.platforms.roborio) + nativeDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.desktop) + nativeDebug wpi.java.vendor.jniDebug(wpi.platforms.desktop) + simulationDebug wpi.sim.enableDebug() - implementation wpi.deps.vendor.java() - nativeZip wpi.deps.vendor.jni(wpi.platforms.roborio) - nativeDesktopZip wpi.deps.vendor.jni(wpi.platforms.desktop) + nativeRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.desktop) + nativeRelease wpi.java.vendor.jniRelease(wpi.platforms.desktop) + simulationRelease wpi.sim.enableRelease() - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13.2' + + implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.9' + + implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' - // Enable simulation gui support. Must check the box in vscode to enable support - // upon debugging - simulation wpi.deps.sim.gui(wpi.platforms.desktop, false) } +// Simulation configuration (e.g. environment variables). +wpi.sim.addGui().defaultEnabled = true +wpi.sim.addDriverstation() + // Setting up my Jar File. In this case, adding all libraries into the main jar ('fat jar') // in order to make them all available at runtime. Also adding the manifest so WPILib // knows where to look for our Robot Class. jar { from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS) + duplicatesStrategy = DuplicatesStrategy.INCLUDE } + +// Configure jar and deploy tasks +deployArtifact.jarTask = jar +wpi.java.configureExecutableTasks(jar) +wpi.java.configureTestTasks(test) \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 63ad8f4..679752a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip distributionBase=GRADLE_USER_HOME distributionPath=permwrapper/dists -zipStorePath=permwrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStorePath=permwrapper/dists \ No newline at end of file diff --git a/gradlew.bat b/gradlew.bat index 9618d8d..477c896 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @@ -37,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -51,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -61,28 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell @@ -97,4 +86,4 @@ exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal -:omega +:omega \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 81f96ab..b12842d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,7 +4,7 @@ pluginManagement { repositories { mavenLocal() gradlePluginPortal() - String frcYear = '2020' + String frcYear = '2022' File frcHome if (OperatingSystem.current().isWindows()) { String publicFolder = System.getenv('PUBLIC') @@ -24,4 +24,4 @@ pluginManagement { url frcHomeMaven } } -} +} \ No newline at end of file diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 2aa942f..637aee3 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -16,6 +16,17 @@ * constants are needed, to reduce verbosity. */ public final class Constants { + public static final class Elevator { + + public static final double kP = 0; + public static final double kI = 0; + public static final double kD = 0; + public static final double kF = 0; + public static final double RADIUS = 0.66; + public static final double GEAR_RATIO = 0.1; + public static final double TICKS_PER_METER = 2048. / (2*Math.PI*RADIUS) * GEAR_RATIO; + } + public static final class Gripper { } diff --git a/src/main/java/frc/robot/Ports.java b/src/main/java/frc/robot/Ports.java index b74187a..29096b0 100644 --- a/src/main/java/frc/robot/Ports.java +++ b/src/main/java/frc/robot/Ports.java @@ -1,8 +1,8 @@ package frc.robot; public class Ports { - public static class Gripper { - public static final int LEFTMOTOR = 0; + public static class Elevator { + public static final int motor = 0; public static final int RIGHTMOTOR = 0; public static final int SOLENOID = 0; diff --git a/src/main/java/frc/robot/subsystems/ExampleSubsystem/ExampleSubsystem.java b/src/main/java/frc/robot/subsystems/ExampleSubsystem/ExampleSubsystem.java deleted file mode 100644 index 8db24a1..0000000 --- a/src/main/java/frc/robot/subsystems/ExampleSubsystem/ExampleSubsystem.java +++ /dev/null @@ -1,24 +0,0 @@ -/*----------------------------------------------------------------------------*/ -/* Copyright (c) 2018-2019 FIRST. All Rights Reserved. */ -/* Open Source Software - may be modified and shared by FRC teams. The code */ -/* must be accompanied by the FIRST BSD license file in the root directory of */ -/* the project. */ -/*----------------------------------------------------------------------------*/ - -package frc.robot.subsystems.ExampleSubsystem; - -import edu.wpi.first.wpilibj2.command.SubsystemBase; - -public class ExampleSubsystem extends SubsystemBase { - /** - * Creates a new ExampleSubsystem. - */ - public ExampleSubsystem() { - - } - - @Override - public void periodic() { - // This method will be called once per scheduler run - } -} diff --git a/src/main/java/frc/robot/subsystems/elevator/Elevator.java b/src/main/java/frc/robot/subsystems/elevator/Elevator.java new file mode 100644 index 0000000..e868359 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/elevator/Elevator.java @@ -0,0 +1,44 @@ +package frc.robot.subsystems.elevator; + +import com.ctre.phoenix.motorcontrol.ControlMode; +import com.ctre.phoenix.motorcontrol.TalonFXInvertType; +import com.ctre.phoenix.motorcontrol.can.TalonFX; +import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.Constants; +import frc.robot.Ports; +import frc.robot.subsystems.UnitModel; + +import javax.sound.sampled.Port; + +public class Elevator extends SubsystemBase { + private final WPI_TalonFX motor = new WPI_TalonFX(Ports.Elevator.motor); + private final UnitModel unitModel = new UnitModel(Constants.Elevator.TICKS_PER_METER); + private static Elevator INSTANCE = null; + private Elevator(){ + motor.setInverted(TalonFXInvertType.Clockwise); + motor.config_kP(0, Constants.Elevator.kP); + motor.config_kI(0, Constants.Elevator.kI); + motor.config_kD(0, Constants.Elevator.kD); + motor.config_kF(0, Constants.Elevator.kF); + + } + public static Elevator getInstance(){ + if (INSTANCE == null){ + INSTANCE = new Elevator(); + + } + return INSTANCE; + } + + public double getheight(){ + return unitModel.toUnits(motor.getSensorCollection().getIntegratedSensorPosition()); + } + public void setHeight(double height){ + motor.set(ControlMode.Position,unitModel.toTicks(height)); + } + + public void stop(){ + motor.set(0); + } +} diff --git a/src/main/java/frc/robot/subsystems/elevator/commands/Height.java b/src/main/java/frc/robot/subsystems/elevator/commands/Height.java new file mode 100644 index 0000000..42dee11 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/elevator/commands/Height.java @@ -0,0 +1,30 @@ +package frc.robot.subsystems.elevator.commands; + +import edu.wpi.first.wpilibj2.command.CommandBase; +import frc.robot.subsystems.elevator.Elevator; + +public class Height extends CommandBase { + Elevator elevator; + double height; + + public Height(Elevator elevator, double height) { + this.height = height; + this.elevator = elevator; + addRequirements(elevator); + } + + @Override + public void initialize() { + elevator.setHeight(height); + } + + @Override + public void end(boolean interrupted) { + elevator.stop(); + } + + @Override + public boolean isFinished() { + return Math.abs( elevator.getheight() - height); + } +} diff --git a/src/main/java/frc/robot/subsystems/gripper/Gripper.java b/src/main/java/frc/robot/subsystems/gripper/Gripper.java deleted file mode 100644 index 9b257dc..0000000 --- a/src/main/java/frc/robot/subsystems/gripper/Gripper.java +++ /dev/null @@ -1,54 +0,0 @@ -package frc.robot.subsystems.gripper; - -import com.ctre.phoenix.motorcontrol.ControlMode; -import com.ctre.phoenix.motorcontrol.can.VictorSPX; -import edu.wpi.first.wpilibj.Solenoid; -import edu.wpi.first.wpilibj2.command.SubsystemBase; -import frc.robot.Ports; - -import static frc.robot.Ports.Gripper.*; - -public class Gripper extends SubsystemBase { - private final VictorSPX motorRight = new VictorSPX(RIGHTMOTOR); - private final VictorSPX motorLeft = new VictorSPX(LEFTMOTOR); - private final Solenoid solenoid = new Solenoid(SOLENOID); - - private final static Gripper INSTANCE = new Gripper(); - - public static Gripper getInstance() { - return INSTANCE; - } - - /** - * Check if motor inverted - */ - private Gripper() { - motorRight.setInverted(RIGHT_MOTOR_INVERTED); - motorLeft.setInverted(LEFT_MOTOR_INVERTED); - motorRight.follow(motorLeft); - } - - /** - * Set power - * - * @param power power to give to the motor - */ - public void setPower(double power) { - motorRight.set(ControlMode.PercentOutput, power); - } - - - /** - * Close solenoid - */ - public void close() { - solenoid.set(false); - } - - /** - * Open solenoid - */ - public void open() { - solenoid.set(true); - } -} diff --git a/src/main/java/frc/robot/subsystems/gripper/commands/Intake.java b/src/main/java/frc/robot/subsystems/gripper/commands/Intake.java deleted file mode 100644 index cd6bed5..0000000 --- a/src/main/java/frc/robot/subsystems/gripper/commands/Intake.java +++ /dev/null @@ -1,36 +0,0 @@ -package frc.robot.subsystems.gripper.commands; - -import edu.wpi.first.wpilibj2.command.CommandBase; -import frc.robot.subsystems.gripper.Gripper; - -public class Intake extends CommandBase { - private final Gripper gripper; - private final double intakePower; - - public Intake(Gripper gripper, double intakePower) { - this.gripper = gripper; - this.intakePower = intakePower; - addRequirements(gripper); - } - - @Override - public void initialize() { - - } - - @Override - public void execute() { - gripper.close(); - gripper.setPower(intakePower); - } - - @Override - public void end(boolean interrupted) { - gripper.setPower(0); - } - - @Override - public boolean isFinished() { - return false; - } -} diff --git a/src/main/java/frc/robot/subsystems/gripper/commands/Outtake.java b/src/main/java/frc/robot/subsystems/gripper/commands/Outtake.java deleted file mode 100644 index afb8eb0..0000000 --- a/src/main/java/frc/robot/subsystems/gripper/commands/Outtake.java +++ /dev/null @@ -1,36 +0,0 @@ -package frc.robot.subsystems.gripper.commands; - -import edu.wpi.first.wpilibj2.command.CommandBase; -import frc.robot.subsystems.gripper.Gripper; - -public class Outtake extends CommandBase { - private final Gripper gripper; - private final double outtakePower; - - public Outtake(Gripper gripper, double outtakePower) { - this.gripper = gripper; - this.outtakePower = outtakePower; - addRequirements(gripper); - } - - @Override - public void initialize() { - - } - - @Override - public void execute() { - gripper.open(); - gripper.setPower(outtakePower); - - } - @Override - public void end(boolean interrupted) { - gripper.setPower(0); - } - - @Override - public boolean isFinished() { - return false; - } -} diff --git a/vendordeps/Phoenix.json b/vendordeps/Phoenix.json index 1c529ee..4453a8e 100644 --- a/vendordeps/Phoenix.json +++ b/vendordeps/Phoenix.json @@ -1,179 +1,36 @@ { - "fileName": "Phoenix.json", - "name": "CTRE-Phoenix", - "version": "5.17.3", - "uuid": "ab676553-b602-441f-a38d-f1296eff6537", - "mavenUrls": [ - "http://devsite.ctr-electronics.com/maven/release/" - ], - "jsonUrl": "http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/Phoenix-latest.json", + "fileName": "WPILibNewCommands.json", + "name": "WPILib-New-Commands", + "version": "2020.0.0", + "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", + "mavenUrls": [], + "jsonUrl": "", "javaDependencies": [ { - "groupId": "com.ctre.phoenix", - "artifactId": "api-java", - "version": "5.17.3" - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "wpiapi-java", - "version": "5.17.3" - } - ], - "jniDependencies": [ - { - "groupId": "com.ctre.phoenix", - "artifactId": "cci", - "version": "5.17.3", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "linuxathena", - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "diagnostics", - "version": "5.17.3", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "linuxathena", - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "canutils", - "version": "5.17.3", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "platform-stub", - "version": "5.17.3", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "core", - "version": "5.17.3", - "isJar": false, - "skipInvalidPlatforms": true, - "validPlatforms": [ - "linuxathena", - "windowsx86-64", - "linuxx86-64" - ] + "groupId": "edu.wpi.first.wpilibNewCommands", + "artifactId": "wpilibNewCommands-java", + "version": "wpilib" } ], + "jniDependencies": [], "cppDependencies": [ { - "groupId": "com.ctre.phoenix", - "artifactId": "wpiapi-cpp", - "version": "5.17.3", - "libName": "CTRE_Phoenix_WPI", - "headerClassifier": "headers", - "sharedLibrary": false, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "linuxathena", - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "api-cpp", - "version": "5.17.3", - "libName": "CTRE_Phoenix", - "headerClassifier": "headers", - "sharedLibrary": false, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "linuxathena", - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "cci", - "version": "5.17.3", - "libName": "CTRE_PhoenixCCI", - "headerClassifier": "headers", - "sharedLibrary": false, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "linuxathena", - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "diagnostics", - "version": "5.17.3", - "libName": "CTRE_PhoenixDiagnostics", - "headerClassifier": "headers", - "sharedLibrary": false, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "linuxathena", - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "canutils", - "version": "5.17.3", - "libName": "CTRE_PhoenixCanutils", - "headerClassifier": "headers", - "sharedLibrary": false, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "platform-stub", - "version": "5.17.3", - "libName": "CTRE_PhoenixPlatform", - "headerClassifier": "headers", - "sharedLibrary": false, - "skipInvalidPlatforms": true, - "binaryPlatforms": [ - "windowsx86-64", - "linuxx86-64" - ] - }, - { - "groupId": "com.ctre.phoenix", - "artifactId": "core", - "version": "5.17.3", - "libName": "CTRE_PhoenixCore", + "groupId": "edu.wpi.first.wpilibNewCommands", + "artifactId": "wpilibNewCommands-cpp", + "version": "wpilib", + "libName": "wpilibNewCommands", "headerClassifier": "headers", - "sharedLibrary": false, + "sourcesClassifier": "sources", + "sharedLibrary": true, "skipInvalidPlatforms": true, "binaryPlatforms": [ "linuxathena", + "linuxraspbian", + "linuxaarch64bionic", "windowsx86-64", - "linuxx86-64" + "windowsx86", + "linuxx86-64", + "osxx86-64" ] } ] diff --git a/vendordeps/navx_frc.json b/vendordeps/navx_frc.json index c8f4932..5f57f5e 100644 --- a/vendordeps/navx_frc.json +++ b/vendordeps/navx_frc.json @@ -1,33 +1,213 @@ { - "fileName": "navx_frc.json", - "name": "KauaiLabs_navX_FRC", - "version": "3.1.400", - "uuid": "cb311d09-36e9-4143-a032-55bb2b94443b", + "fileName": "Phoenix.json", + "name": "CTRE-Phoenix", + "version": "5.20.2", + "uuid": "ab676553-b602-441f-a38d-f1296eff6537", "mavenUrls": [ - "https://repo1.maven.org/maven2/" + "https://devsite.ctr-electronics.com/maven/release/" ], - "jsonUrl": "https://www.kauailabs.com/dist/frc/2020/navx_frc.json", + "jsonUrl": "https://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/Phoenix-latest.json", "javaDependencies": [ { - "groupId": "com.kauailabs.navx.frc", - "artifactId": "navx-java", - "version": "3.1.400" + "groupId": "com.ctre.phoenix", + "artifactId": "api-java", + "version": "5.20.2" + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "wpiapi-java", + "version": "5.20.2" + } + ], + "jniDependencies": [ + { + "groupId": "com.ctre.phoenix", + "artifactId": "cci", + "version": "5.20.2", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "linuxathena" + ] + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "cci-sim", + "version": "5.20.2", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "simTalonSRX", + "version": "5.20.2", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "simVictorSPX", + "version": "5.20.2", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] } ], - "jniDependencies": [], "cppDependencies": [ { - "groupId": "com.kauailabs.navx.frc", - "artifactId": "navx-cpp", - "version": "3.1.400", + "groupId": "com.ctre.phoenix", + "artifactId": "wpiapi-cpp", + "version": "5.19.4", + "libName": "CTRE_Phoenix_WPI", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "linuxathena", + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "api-cpp", + "version": "5.20.2", + "libName": "CTRE_Phoenix", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "linuxathena", + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "cci", + "version": "5.20.2", + "libName": "CTRE_PhoenixCCI", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "linuxathena" + ] + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "cci-sim", + "version": "5.20.2", + "libName": "CTRE_PhoenixCCISim", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "diagnostics", + "version": "5.20.2", + "libName": "CTRE_PhoenixDiagnostics", "headerClassifier": "headers", - "sourcesClassifier": "sources", "sharedLibrary": false, - "libName": "navx_frc", "skipInvalidPlatforms": true, "binaryPlatforms": [ "linuxathena", - "linuxraspbian" + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "canutils", + "version": "5.20.2", + "libName": "CTRE_PhoenixCanutils", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "platform-sim", + "version": "5.20.2", + "libName": "CTRE_PhoenixPlatform", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix", + "artifactId": "core", + "version": "5.20.2", + "libName": "CTRE_PhoenixCore", + "headerClassifier": "headers", + "sharedLibrary": false, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "linuxathena", + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "simTalonSRX", + "version": "5.20.2", + "libName": "CTRE_SimTalonSRX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" + ] + }, + { + "groupId": "com.ctre.phoenix.sim", + "artifactId": "simVictorSPX", + "version": "5.20.2", + "libName": "CTRE_SimVictorSPX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "osxx86-64" ] } ]