├── C++ ├── Alternate Encoder │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Analog Feedback Device │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Arcade Drive With CAN │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Arcade Drive With PWM │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Bus Measurements │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Encoder Feedback Device │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Get and Set Parameters │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Limit Switch │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Position PID Control │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Read Encoder Values │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Smart Motion Example │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── shuffleboard.json │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Soft Limits │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ ├── main │ │ │ ├── cpp │ │ │ │ └── Robot.cpp │ │ │ └── deploy │ │ │ │ └── example.txt │ │ └── test │ │ │ └── cpp │ │ │ └── main.cpp │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json └── Velocity PID Control │ ├── .gitignore │ ├── .vscode │ ├── launch.json │ └── settings.json │ ├── .wpilib │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ ├── main │ │ ├── cpp │ │ │ └── Robot.cpp │ │ └── deploy │ │ │ └── example.txt │ └── test │ │ └── cpp │ │ └── main.cpp │ └── vendordeps │ ├── REVLib.json │ └── WPILibNewCommands.json ├── Java ├── Alternate Encoder │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Analog Feedback Device │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Bus Measurements │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Encoder Feedback Device │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Get and Set Parameters │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Limit Switch │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Motor Follower │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Position Closed Loop Control │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Read Encoder Values │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Smart Motion Example │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── shuffleboard.json │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Soft Limits │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── Tank Drive With CAN │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ │ └── main │ │ │ ├── deploy │ │ │ └── example.txt │ │ │ └── java │ │ │ └── frc │ │ │ └── robot │ │ │ ├── Main.java │ │ │ └── Robot.java │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json └── Velocity Closed Loop Control │ ├── .gitignore │ ├── .vscode │ ├── launch.json │ └── settings.json │ ├── .wpilib │ └── wpilib_preferences.json │ ├── README.md │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ ├── src │ └── main │ │ ├── deploy │ │ └── example.txt │ │ └── java │ │ └── frc │ │ └── robot │ │ ├── Main.java │ │ └── Robot.java │ └── vendordeps │ ├── REVLib.json │ └── WPILibNewCommands.json ├── LICENSE-FIRST.txt ├── LICENSE.txt ├── LabVIEW ├── Alternate Encoder │ ├── .gitignore │ ├── Alternate Encoder.lvproj │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Periodic Tasks.vi │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Arcade Drive With CAN │ ├── .gitignore │ ├── Arcade Drive With CAN.lvproj │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Periodic Tasks.vi │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Arcade Drive With PWM │ ├── .gitignore │ ├── Arcade Drive With PWM.lvproj │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Periodic Tasks.vi │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Bus Measurements │ ├── .gitignore │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Bus Measurements.lvproj │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Periodic Tasks.vi │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Get and Set Parameters │ ├── .gitignore │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Get and Set Parameters.lvproj │ ├── Output.PNG │ ├── Periodic Tasks.vi │ ├── README.md │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Limit Switch │ ├── .gitignore │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Limit Switch.lvproj │ ├── Output.PNG │ ├── Periodic Tasks.vi │ ├── README.md │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Mecanum Drive with CAN │ ├── .gitignore │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Mecanum Drive with CAN.lvproj │ ├── Periodic Tasks.vi │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Position Closed Loop Control │ ├── .gitignore │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Output.PNG │ ├── Periodic Tasks.vi │ ├── Position Closed Loop Control.lvproj │ ├── README.md │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi ├── Read Encoder Values │ ├── .gitignore │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Output.PNG │ ├── Periodic Tasks.vi │ ├── README.md │ ├── Read Encoder Values.lvproj │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ └── Vision Processing.vi └── Velocity Closed Loop Control │ ├── .gitignore │ ├── Autonomous Independent.vi │ ├── Begin.vi │ ├── Disabled.vi │ ├── Elapsed Times.vi │ ├── Finish.vi │ ├── Output.PNG │ ├── Periodic Tasks.vi │ ├── README.md │ ├── Robot Global Data.vi │ ├── Robot Main.vi │ ├── Teleop.vi │ ├── Test.vi │ ├── Velocity Closed Loop Control.lvproj │ └── Vision Processing.vi ├── README.md └── _scripts ├── BlankProjects ├── 2020 │ ├── C++ │ │ ├── .gitignore │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── settings.json │ │ ├── .wpilib │ │ │ └── wpilib_preferences.json │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ │ ├── REVRobotics.json │ │ │ └── WPILibOldCommands.json │ └── Java │ │ ├── .gitignore │ │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ │ ├── .wpilib │ │ └── wpilib_preferences.json │ │ ├── build.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ ├── REVRobotics.json │ │ └── WPILibOldCommands.json ├── 2021 │ ├── C++ │ │ ├── .gitignore │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── settings.json │ │ ├── .wpilib │ │ │ └── wpilib_preferences.json │ │ ├── WPILib-License.md │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ │ ├── REVRobotics.json │ │ │ └── WPILibOldCommands.json │ └── Java │ │ ├── .gitignore │ │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ │ ├── .wpilib │ │ └── wpilib_preferences.json │ │ ├── WPILib-License.md │ │ ├── build.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ ├── REVRobotics.json │ │ └── WPILibOldCommands.json ├── 2022 │ ├── C++ │ │ ├── .gitignore │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── settings.json │ │ ├── .wpilib │ │ │ └── wpilib_preferences.json │ │ ├── WPILib-License.md │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ │ ├── REVLib.json │ │ │ └── WPILibNewCommands.json │ └── Java │ │ ├── .gitignore │ │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ │ ├── .wpilib │ │ └── wpilib_preferences.json │ │ ├── WPILib-License.md │ │ ├── build.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json ├── 2023 │ ├── C++ │ │ ├── .gitignore │ │ ├── .vscode │ │ │ ├── launch.json │ │ │ └── settings.json │ │ ├── .wpilib │ │ │ └── wpilib_preferences.json │ │ ├── WPILib-License.md │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ │ ├── REVLib.json │ │ │ └── WPILibNewCommands.json │ └── Java │ │ ├── .gitignore │ │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ │ ├── .wpilib │ │ └── wpilib_preferences.json │ │ ├── WPILib-License.md │ │ ├── build.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── settings.gradle │ │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json └── 2024 │ ├── C++ │ ├── .gitignore │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── .wpilib │ │ └── wpilib_preferences.json │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── vendordeps │ │ ├── REVLib.json │ │ └── WPILibNewCommands.json │ └── Java │ ├── .gitignore │ ├── .vscode │ ├── launch.json │ └── settings.json │ ├── .wpilib │ └── wpilib_preferences.json │ ├── WPILib-License.md │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── vendordeps │ ├── REVLib.json │ └── WPILibNewCommands.json ├── Delete and Copy Template.vi └── UpdateProject.vi /C++/Alternate Encoder/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Alternate Encoder/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Alternate Encoder/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Alternate Encoder/README.md: -------------------------------------------------------------------------------- 1 | # Alternate Encoder 2 | 3 | ### Description 4 | This example shows how to use an alternate encoder as the feedback device for the PID controller of a REV NEO Brushless Motor instead of the NEO's built-in hall sensor. For demonstration, the PID controller will be used to set the motor position. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `kCanID` - CAN device ID 9 | - `kMotorType` - Motor type 10 | - `kAltEncType` - Alternate encoder type 11 | - `kCPR` - Alternate encoder counts per revolution 12 | 13 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 14 | 15 | The setpoint and process variable will be displayed on SmartDashboard. 16 | 17 | [More info about Alternate Encoder Mode](https://docs.revrobotics.com/brushless/spark-max/encoders/alternate-encoder) -------------------------------------------------------------------------------- /C++/Alternate Encoder/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Alternate Encoder/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Alternate Encoder/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Alternate Encoder/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /C++/Alternate Encoder/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::filesystem::GetDeployDirectory' 3 | function from the 'frc/Filesystem.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Alternate Encoder/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Alternate Encoder/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Analog Feedback Device/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Analog Feedback Device/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Analog Feedback Device/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Analog Feedback Device/README.md: -------------------------------------------------------------------------------- 1 | # Analog Feedback Device 2 | 3 | ### Description 4 | This example shows how to use an analog sensor as the feedback device for the PID controller of a REV NEO Brushless Motor instead of the NEO's built-in hall sensor. For demonstration, the PID controller will be used to set the motor position. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /C++/Analog Feedback Device/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Analog Feedback Device/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Analog Feedback Device/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Analog Feedback Device/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /C++/Analog Feedback Device/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Analog Feedback Device/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Analog Feedback Device/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/README.md: -------------------------------------------------------------------------------- 1 | # Arcade Drive with CAN 2 | 3 | ### Description 4 | This example shows how to set up arcade drive with SPARK MAX controllers connected via the CAN interface. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `leftLeadDeviceID` - Left lead CAN device ID 9 | - `leftFollowDeviceID` - Left follower CAN device ID 10 | - `rightLeadDeviceID` - Right lead CAN device ID 11 | - `rightFollowDeviceID` - Righ follower CAN device ID 12 | 13 | Control the robot's forward and reverse movement by moving the left joystick up or down. 14 | 15 | Control the robot's heading by moving the right joystick left or right. -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Arcade Drive With CAN/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Arcade Drive With CAN/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/README.md: -------------------------------------------------------------------------------- 1 | # Arcade Drive with PWM 2 | 3 | ### Description 4 | This example shows how to set up arcade drive with SPARK MAX controllers connected via the PWM interface. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `leftPwmChannel` - Left motor PWM channel 9 | - `rightPwmChannel` - Right motor PWM channel 10 | 11 | Control the robot's forward and reverse movement by moving the left joystick up or down. 12 | 13 | Control the robot's heading by moving the right joystick left or right. -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Arcade Drive With PWM/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Arcade Drive With PWM/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Bus Measurements/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Bus Measurements/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Bus Measurements/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Bus Measurements/README.md: -------------------------------------------------------------------------------- 1 | # Bus measuremants 2 | 3 | ### Description 4 | This example shows how to read basic bus measurements from the SPARK MAX like bus voltage, current, applied output, and motor temperature. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | - `motorType` - Motor type 10 | 11 | Control the motor's velocity by moving the joystick up or down. 12 | 13 | Bus measurements will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /C++/Bus Measurements/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Bus Measurements/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Bus Measurements/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Bus Measurements/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /C++/Bus Measurements/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::filesystem::GetDeployDirectory' 3 | function from the 'frc/Filesystem.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Bus Measurements/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Bus Measurements/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/README.md: -------------------------------------------------------------------------------- 1 | # Encoder Feedback Device 2 | 3 | ### Description 4 | This example shows how to use an encoder as the feedback device for the PID controller of a brushed motor. For demonstration, the PID controller will be used to set the motor position. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Encoder Feedback Device/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Encoder Feedback Device/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Get and Set Parameters/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Get and Set Parameters/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Get and Set Parameters/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Get and Set Parameters/README.md: -------------------------------------------------------------------------------- 1 | # Get and Set Parameters 2 | 3 | ### Description 4 | This example shows how to use the CANSparkMax class, specifically how to set and get the parameters necessary to operate a robot with tank drive. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | Values returned by the parameter's corresponding get method will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /C++/Get and Set Parameters/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Get and Set Parameters/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Get and Set Parameters/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Get and Set Parameters/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Get and Set Parameters/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Get and Set Parameters/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Limit Switch/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Limit Switch/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Limit Switch/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Limit Switch/README.md: -------------------------------------------------------------------------------- 1 | # Limit Switch 2 | 3 | ### Description 4 | This example shows how to use limit switches with the SPARK MAX, specifically how to limit the forward and reverse direction of the motor. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | Forward/reverse limit switches can be toggled on/off on SmartDashboard. 13 | 14 | The state of the limit switches will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /C++/Limit Switch/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Limit Switch/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Limit Switch/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Limit Switch/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /C++/Limit Switch/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Limit Switch/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Limit Switch/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Position PID Control/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Position PID Control/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Position PID Control/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Position PID Control/README.md: -------------------------------------------------------------------------------- 1 | # Position PID Control 2 | 3 | ### Description 4 | This example shows how to use a PID closed loop controller to set the position of a motor to a specified number of rotations. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /C++/Position PID Control/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Position PID Control/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Position PID Control/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Position PID Control/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Position PID Control/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Position PID Control/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Read Encoder Values/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Read Encoder Values/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Read Encoder Values/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Read Encoder Values/README.md: -------------------------------------------------------------------------------- 1 | # Read Encoder Values 2 | 3 | ### Description 4 | This example shows how to read the values from an encoder connected to the SPARK MAX, specifically how to read their position and velocity values. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | The position and velocity of the encoder will be displayed on SmartDashboard. 13 | -------------------------------------------------------------------------------- /C++/Read Encoder Values/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Read Encoder Values/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Read Encoder Values/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Read Encoder Values/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Read Encoder Values/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Read Encoder Values/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Smart Motion Example/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Smart Motion Example/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Smart Motion Example/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Smart Motion Example/README.md: -------------------------------------------------------------------------------- 1 | # Smart Motion Example 2 | 3 | ### Description 4 | This example shows how to use REV Smart Motion to control the position of the motor in a smooth and predictable manner by generating a motion profile on the fly in the SPARK MAX and controlling the velocity of the motor to follow that profile. 5 | 6 | The example will use ShuffleBoard to graph the inputs and outputs such as process variable, setpoint, and applied output to easily visualize what is happening. 7 | 8 | ### Usage 9 | Set the variables at the beginning of the example to match your setup. 10 | - `deviceID` - CAN device ID 11 | 12 | Use the "Mode" button on SmartDashboard to toggle between velocity and Smart Motion modes. 13 | 14 | PID coefficients and Smart Motion coefficients can be adjusted on SmartDashboard as well as the velocity and position setpoints. 15 | 16 | The setpoint, process variable, and the motor's applied output will be displayed on SmartDashboard. 17 | -------------------------------------------------------------------------------- /C++/Smart Motion Example/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Smart Motion Example/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Smart Motion Example/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Smart Motion Example/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Smart Motion Example/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Smart Motion Example/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Soft Limits/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Soft Limits/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Soft Limits/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Soft Limits/README.md: -------------------------------------------------------------------------------- 1 | # Soft Limits 2 | 3 | ### Description 4 | This example shows how to use soft limits with the SPARK MAX, specifically how to limit the forward and reverse direction of the motor at a particular point. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Soft Limits for the forward and reverse directions can be set and enabled/disabled on SmartDashboard. -------------------------------------------------------------------------------- /C++/Soft Limits/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Soft Limits/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Soft Limits/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Soft Limits/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /C++/Soft Limits/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Soft Limits/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Soft Limits/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /C++/Velocity PID Control/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /C++/Velocity PID Control/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /C++/Velocity PID Control/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /C++/Velocity PID Control/README.md: -------------------------------------------------------------------------------- 1 | # Velocity PID Control 2 | 3 | ### Description 4 | This example shows how to use a PID closed loop controller to set the velocity of a motor to a specified number of revolutions per minute. For demonstration, the velocity setpoint will be dependent on the joystick's y-axis value. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. 13 | -------------------------------------------------------------------------------- /C++/Velocity PID Control/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/C++/Velocity PID Control/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /C++/Velocity PID Control/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /C++/Velocity PID Control/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'frc::GetFilePath' function from 3 | the 'frc/FileUtilities.h' header to get a proper path relative to the deploy 4 | directory. -------------------------------------------------------------------------------- /C++/Velocity PID Control/src/test/cpp/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "gtest/gtest.h" 4 | 5 | int main(int argc, char** argv) { 6 | HAL_Initialize(500, 0); 7 | ::testing::InitGoogleTest(&argc, argv); 8 | int ret = RUN_ALL_TESTS(); 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /C++/Velocity PID Control/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Alternate Encoder/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Alternate Encoder/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Alternate Encoder/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Alternate Encoder/README.md: -------------------------------------------------------------------------------- 1 | # Alternate Encoder 2 | 3 | ### Description 4 | This example shows how to use an alternate encoder as the feedback device for the PID controller of a REV NEO Brushless Motor instead of the NEO's built-in hall sensor. For demonstration, the PID controller will be used to set the motor position. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `kCanID` - CAN device ID 9 | - `kMotorType` - Motor type 10 | - `kAltEncType` - Alternate encoder type 11 | - `kCPR` - Alternate encoder counts per revolution 12 | 13 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 14 | 15 | The setpoint and process variable will be displayed on SmartDashboard. 16 | 17 | [More info about Alternate Encoder Mode](https://docs.revrobotics.com/brushless/spark-max/encoders/alternate-encoder) -------------------------------------------------------------------------------- /Java/Alternate Encoder/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Alternate Encoder/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Alternate Encoder/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Alternate Encoder/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /Java/Alternate Encoder/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'Filesystem.getDeployDirectory' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Alternate Encoder/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Analog Feedback Device/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Analog Feedback Device/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Analog Feedback Device/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Analog Feedback Device/README.md: -------------------------------------------------------------------------------- 1 | # Analog Feedback Device 2 | 3 | ### Description 4 | This example shows how to use an analog sensor as the feedback device for the PID controller of a REV NEO Brushless Motor instead of the NEO's built-in hall sensor. For demonstration, the PID controller will be used to set the motor position. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /Java/Analog Feedback Device/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Analog Feedback Device/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Analog Feedback Device/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Analog Feedback Device/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Bus Measurements/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Bus Measurements/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Bus Measurements/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Bus Measurements/README.md: -------------------------------------------------------------------------------- 1 | # Bus measuremants 2 | 3 | ### Description 4 | This example shows how to read basic bus measurements from the SPARK MAX like bus voltage, current, applied output, and motor temperature. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | - `motorType` - Motor type 10 | 11 | Control the motor's velocity by moving the joystick up or down. 12 | 13 | Bus measurements will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /Java/Bus Measurements/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Bus Measurements/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Bus Measurements/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Bus Measurements/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /Java/Bus Measurements/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'Filesystem.getDeployDirectory' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Bus Measurements/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Encoder Feedback Device/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Encoder Feedback Device/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Encoder Feedback Device/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Encoder Feedback Device/README.md: -------------------------------------------------------------------------------- 1 | # Encoder Feedback Device 2 | 3 | ### Description 4 | This example shows how to use an encoder as the feedback device for the PID controller of a brushed motor. For demonstration, the PID controller will be used to set the motor position. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /Java/Encoder Feedback Device/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Encoder Feedback Device/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Encoder Feedback Device/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Encoder Feedback Device/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Get and Set Parameters/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Get and Set Parameters/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Get and Set Parameters/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Get and Set Parameters/README.md: -------------------------------------------------------------------------------- 1 | # Get and Set Parameters 2 | 3 | ### Description 4 | This example shows how to use the CANSparkMax class, specifically how to set and get the parameters necessary to operate a robot with tank drive. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | Values returned by the parameter's corresponding get method will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /Java/Get and Set Parameters/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Get and Set Parameters/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Get and Set Parameters/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Get and Set Parameters/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Limit Switch/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Limit Switch/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Limit Switch/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Limit Switch/README.md: -------------------------------------------------------------------------------- 1 | # Limit Switch 2 | 3 | ### Description 4 | This example shows how to use limit switches with the SPARK MAX, specifically how to limit the forward and reverse direction of the motor. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | Forward/reverse limit switches can be toggled on/off on SmartDashboard. 13 | 14 | The state of the limit switches will be displayed on SmartDashboard. -------------------------------------------------------------------------------- /Java/Limit Switch/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Limit Switch/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Limit Switch/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Limit Switch/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /Java/Limit Switch/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Limit Switch/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Motor Follower/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Motor Follower/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Motor Follower/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Motor Follower/README.md: -------------------------------------------------------------------------------- 1 | # Motor Follower 2 | 3 | ### Description 4 | This example shows how to control multiple motors simultaneously, specifically how to set motors to follow another motor and mirror the lead motor's actions. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `leadDeviceID` - CAN device ID for lead motor 9 | - `followDeviceID` - CAN device ID for follower motor 10 | - `kJoystickPort` - Joystick device port number 11 | 12 | Control the motors' velocities by moving the joystick up or down. 13 | 14 | Both motors will run accordingly. -------------------------------------------------------------------------------- /Java/Motor Follower/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Motor Follower/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Motor Follower/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Motor Follower/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /Java/Motor Follower/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Motor Follower/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Position Closed Loop Control/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Position Closed Loop Control/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Position Closed Loop Control/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Position Closed Loop Control/README.md: -------------------------------------------------------------------------------- 1 | # Position Closed Loop Control 2 | 3 | ### Description 4 | This example shows how to use a PID closed loop controller to set the position of a motor to a specified number of rotations. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | PID Coefficients can be adjusted on SmartDashboard as well as the set rotations (position setpoint). 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. 13 | -------------------------------------------------------------------------------- /Java/Position Closed Loop Control/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Position Closed Loop Control/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Position Closed Loop Control/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Position Closed Loop Control/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Read Encoder Values/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Read Encoder Values/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Read Encoder Values/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Read Encoder Values/README.md: -------------------------------------------------------------------------------- 1 | # Read Encoder Values 2 | 3 | ### Description 4 | This example shows how to read the values from an encoder connected to the SPARK MAX, specifically how to read their position and velocity values. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | The position and velocity of the encoder will be displayed on SmartDashboard. 13 | -------------------------------------------------------------------------------- /Java/Read Encoder Values/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Read Encoder Values/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Read Encoder Values/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Read Encoder Values/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Read Encoder Values/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Smart Motion Example/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Smart Motion Example/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Smart Motion Example/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Smart Motion Example/README.md: -------------------------------------------------------------------------------- 1 | # Smart Motion Example 2 | 3 | ### Description 4 | This example shows how to use REV Smart Motion to control the position of the motor in a smooth and predictable manner by generating a motion profile on the fly in the SPARK MAX and controlling the velocity of the motor to follow that profile. 5 | 6 | The example will use ShuffleBoard to graph the inputs and outputs such as process variable, setpoint, and applied output to easily visualize what is happening. 7 | 8 | ### Usage 9 | Set the variables at the beginning of the example to match your setup. 10 | - `deviceID` - CAN device ID 11 | 12 | Use the "Mode" button on SmartDashboard to toggle between velocity and Smart Motion modes. 13 | 14 | PID coefficients and Smart Motion coefficients can be adjusted on SmartDashboard as well as the velocity and position setpoints. 15 | 16 | The setpoint, process variable, and the motor's applied output will be displayed on SmartDashboard. 17 | -------------------------------------------------------------------------------- /Java/Smart Motion Example/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Smart Motion Example/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Smart Motion Example/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Smart Motion Example/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Smart Motion Example/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Soft Limits/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Soft Limits/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Soft Limits/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Soft Limits/README.md: -------------------------------------------------------------------------------- 1 | # Soft Limits 2 | 3 | ### Description 4 | This example shows how to use soft limits with the SPARK MAX, specifically how to limit the forward and reverse direction of the motor at a particular point. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Soft Limits for the forward and reverse directions can be set and enabled/disabled on SmartDashboard. -------------------------------------------------------------------------------- /Java/Soft Limits/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Soft Limits/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Soft Limits/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Soft Limits/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2024' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | 29 | Properties props = System.getProperties(); 30 | props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); 31 | -------------------------------------------------------------------------------- /Java/Soft Limits/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Soft Limits/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/README.md: -------------------------------------------------------------------------------- 1 | # Tank Drive with CAN 2 | 3 | ### Description 4 | This example shows how to set up tank drive with SPARK MAX. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `leftDeviceID` - Right motor CAN device ID 9 | - `rightDeviceID` - Left motor CAN device ID 10 | 11 | Control the left motor by moving the left joystick up or down. 12 | 13 | Control the right motor by moving the right joystick up or down. -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Tank Drive With CAN/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /Java/Tank Drive With CAN/vendordeps/WPILibNewCommands.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileName": "WPILibNewCommands.json", 3 | "name": "WPILib-New-Commands", 4 | "version": "1.0.0", 5 | "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", 6 | "frcYear": "2024", 7 | "mavenUrls": [], 8 | "jsonUrl": "", 9 | "javaDependencies": [ 10 | { 11 | "groupId": "edu.wpi.first.wpilibNewCommands", 12 | "artifactId": "wpilibNewCommands-java", 13 | "version": "wpilib" 14 | } 15 | ], 16 | "jniDependencies": [], 17 | "cppDependencies": [ 18 | { 19 | "groupId": "edu.wpi.first.wpilibNewCommands", 20 | "artifactId": "wpilibNewCommands-cpp", 21 | "version": "wpilib", 22 | "libName": "wpilibNewCommands", 23 | "headerClassifier": "headers", 24 | "sourcesClassifier": "sources", 25 | "sharedLibrary": true, 26 | "skipInvalidPlatforms": true, 27 | "binaryPlatforms": [ 28 | "linuxathena", 29 | "linuxarm32", 30 | "linuxarm64", 31 | "windowsx86-64", 32 | "windowsx86", 33 | "linuxx86-64", 34 | "osxuniversal" 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /Java/Velocity Closed Loop Control/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Java/Velocity Closed Loop Control/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /Java/Velocity Closed Loop Control/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /Java/Velocity Closed Loop Control/README.md: -------------------------------------------------------------------------------- 1 | # Velocity Closed Loop Control 2 | 3 | ### Description 4 | This example shows how to use a PID closed loop controller to set the velocity of a motor to a specified number of revolutions per minute. For demonstration, the velocity setpoint will be dependent on the joystick's y-axis value. 5 | 6 | ### Usage 7 | Set the variables at the beginning of the example to match your setup. 8 | - `deviceID` - CAN device ID 9 | 10 | Control the motor's velocity by moving the joystick up or down. 11 | 12 | The setpoint and process variable will be displayed on SmartDashboard. 13 | -------------------------------------------------------------------------------- /Java/Velocity Closed Loop Control/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/Java/Velocity Closed Loop Control/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Java/Velocity Closed Loop Control/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /Java/Velocity Closed Loop Control/src/main/deploy/example.txt: -------------------------------------------------------------------------------- 1 | Files placed in this directory will be deployed to the RoboRIO into the 2 | 'deploy' directory in the home folder. Use the 'FileUtilities.getFilePath' wpilib function 3 | to get a proper path relative to the deploy directory. -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Alternate Encoder/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Alternate Encoder/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With CAN/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With CAN/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Arcade Drive With PWM/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Arcade Drive With PWM/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Bus Measurements/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Bus Measurements/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Output.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Output.PNG -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/README.md: -------------------------------------------------------------------------------- 1 | ## Running 2 | In this example, parameters are set and read in Periodic Tasks.vi 3 | 4 | ![alt text](https://github.com/REVrobotics/SPARK-MAX-Examples/blob/master/LabVIEW/Get%20and%20Set%20Parameters/Output.PNG "Output") 5 | -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Get and Set Parameters/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Get and Set Parameters/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Output.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Output.PNG -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/README.md: -------------------------------------------------------------------------------- 1 | ## Running 2 | In this example, Limit Switch parameters are set in Periodic Tasks.vi 3 | 4 | ![alt text](https://github.com/REVrobotics/SPARK-MAX-Examples/blob/master/LabVIEW/Limit%20Switch/Output.PNG "Output") 5 | -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Limit Switch/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Limit Switch/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Mecanum Drive with CAN/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Mecanum Drive with CAN/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Output.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Output.PNG -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/README.md: -------------------------------------------------------------------------------- 1 | ## Running 2 | In this example, position (in units of revolutions) is set and read in Periodic Tasks.vi 3 | 4 | ![alt text](https://github.com/REVrobotics/SPARK-MAX-Examples/blob/master/LabVIEW/Position%20Closed%20Loop%20Control/Output.PNG "Output") 5 | -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Position Closed Loop Control/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Position Closed Loop Control/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Output.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Output.PNG -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/README.md: -------------------------------------------------------------------------------- 1 | ## Running 2 | In this example, encoder values are read in Periodic Tasks.vi 3 | 4 | ![alt text](https://github.com/REVrobotics/SPARK-MAX-Examples/blob/master/LabVIEW/Read%20Encoder%20Values/Output.PNG "Output") 5 | -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Read Encoder Values/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Read Encoder Values/Vision Processing.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/.gitignore: -------------------------------------------------------------------------------- 1 | # Libraries 2 | *.lvlibp 3 | *.llb 4 | 5 | # Shared objects (inc. Windows DLLs) 6 | *.dll 7 | *.so 8 | *.so.* 9 | *.dylib 10 | 11 | # Executables 12 | *.exe 13 | 14 | # Metadata 15 | *.aliases 16 | *.lvlps 17 | .cache/ -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Autonomous Independent.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Autonomous Independent.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Begin.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Begin.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Disabled.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Disabled.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Elapsed Times.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Elapsed Times.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Finish.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Finish.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Output.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Output.PNG -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Periodic Tasks.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Periodic Tasks.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/README.md: -------------------------------------------------------------------------------- 1 | ## Running 2 | In this example, velocity is set and read in Periodic Tasks.vi 3 | 4 | ![alt text](https://github.com/REVrobotics/SPARK-MAX-Examples/blob/master/LabVIEW/Velocity%20Closed%20Loop%20Control/Output.PNG "Output") 5 | -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Robot Global Data.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Robot Global Data.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Robot Main.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Robot Main.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Teleop.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Teleop.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Test.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Test.vi -------------------------------------------------------------------------------- /LabVIEW/Velocity Closed Loop Control/Vision Processing.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/LabVIEW/Velocity Closed Loop Control/Vision Processing.vi -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/C++/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/C++/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true 15 | }, 16 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 17 | } 18 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/C++/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2020", 5 | "teamNumber": 9876 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/C++/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2020/C++/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/C++/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/C++/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2020' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/Java/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/Java/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "files.exclude": { 4 | "**/.git": true, 5 | "**/.svn": true, 6 | "**/.hg": true, 7 | "**/CVS": true, 8 | "**/.DS_Store": true, 9 | "bin/": true, 10 | "**/.classpath": true, 11 | "**/.project": true, 12 | "**/.settings": true, 13 | "**/.factorypath": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/Java/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2020", 5 | "teamNumber": 9876 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/Java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2020/Java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/Java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2020/Java/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2020' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/C++/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/C++/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/C++/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2021", 5 | "teamNumber": 2714 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/C++/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2021/C++/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/C++/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/C++/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2021' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/Java/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/Java/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/Java/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2021", 5 | "teamNumber": 2714 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/Java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2021/Java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/Java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2021/Java/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2021' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/C++/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/C++/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/C++/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2022", 5 | "teamNumber": 2714 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/C++/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2022/C++/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/C++/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/C++/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2022/C++/gradlew -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/C++/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2022' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/Java/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/Java/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/Java/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2022", 5 | "teamNumber": 2714 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/Java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2022/Java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/Java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/Java/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2022/Java/gradlew -------------------------------------------------------------------------------- /_scripts/BlankProjects/2022/Java/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2022' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/C++/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/C++/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/C++/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2023", 5 | "teamNumber": 2714 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/C++/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2023/C++/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/C++/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/C++/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2023' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/Java/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/Java/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/Java/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2023", 5 | "teamNumber": 2714 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/Java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2023/Java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/Java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=permwrapper/dists 6 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2023/Java/settings.gradle: -------------------------------------------------------------------------------- 1 | import org.gradle.internal.os.OperatingSystem 2 | 3 | pluginManagement { 4 | repositories { 5 | mavenLocal() 6 | gradlePluginPortal() 7 | String frcYear = '2023' 8 | File frcHome 9 | if (OperatingSystem.current().isWindows()) { 10 | String publicFolder = System.getenv('PUBLIC') 11 | if (publicFolder == null) { 12 | publicFolder = "C:\\Users\\Public" 13 | } 14 | def homeRoot = new File(publicFolder, "wpilib") 15 | frcHome = new File(homeRoot, frcYear) 16 | } else { 17 | def userFolder = System.getProperty("user.home") 18 | def homeRoot = new File(userFolder, "wpilib") 19 | frcHome = new File(homeRoot, frcYear) 20 | } 21 | def frcHomeMaven = new File(frcHome, 'maven') 22 | maven { 23 | name 'frcHome' 24 | url frcHomeMaven 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/C++/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/C++/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "disabled", 3 | "java.import.gradle.enabled": false, 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "C_Cpp.default.configurationProvider": "vscode-wpilib" 18 | } 19 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/C++/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": true, 3 | "currentLanguage": "cpp", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/C++/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2024/C++/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/C++/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/Java/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "wpilib", 10 | "name": "WPILib Desktop Debug", 11 | "request": "launch", 12 | "desktop": true, 13 | }, 14 | { 15 | "type": "wpilib", 16 | "name": "WPILib roboRIO Debug", 17 | "request": "launch", 18 | "desktop": false, 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/Java/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic", 3 | "java.server.launchMode": "Standard", 4 | "files.exclude": { 5 | "**/.git": true, 6 | "**/.svn": true, 7 | "**/.hg": true, 8 | "**/CVS": true, 9 | "**/.DS_Store": true, 10 | "bin/": true, 11 | "**/.classpath": true, 12 | "**/.project": true, 13 | "**/.settings": true, 14 | "**/.factorypath": true, 15 | "**/*~": true 16 | }, 17 | "java.test.config": [ 18 | { 19 | "name": "WPIlibUnitTests", 20 | "workingDirectory": "${workspaceFolder}/build/jni/release", 21 | "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], 22 | "env": { 23 | "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , 24 | "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" 25 | } 26 | }, 27 | ], 28 | "java.test.defaultConfig": "WPIlibUnitTests" 29 | } 30 | -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/Java/.wpilib/wpilib_preferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "enableCppIntellisense": false, 3 | "currentLanguage": "java", 4 | "projectYear": "2024", 5 | "teamNumber": 0 6 | } -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/Java/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/BlankProjects/2024/Java/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /_scripts/BlankProjects/2024/Java/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=permwrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=permwrapper/dists 8 | -------------------------------------------------------------------------------- /_scripts/Delete and Copy Template.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/Delete and Copy Template.vi -------------------------------------------------------------------------------- /_scripts/UpdateProject.vi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/REVrobotics/SPARK-MAX-Examples/b519a006fbc2ce769eaba191db442e59714e255a/_scripts/UpdateProject.vi --------------------------------------------------------------------------------