/2022-offseason-custom-scheduler

Code for 7461 offseason robot

Primary LanguageJavaMIT LicenseMIT

Team 4911's 2022 Codebase

Team 4911 2022 FRC robot code is written in Java and is based off WPILib's Java control system.

Setup Instructions

General

  1. Clone this repo
  2. Run ./gradlew to download gradle and needed FRC/Vendor libraries. (make sure you're using Java 11 or greater)
  3. Run ./gradlew downloadAll to download FRC tools (ShuffleBoard, etc.)
  4. Run ./gradlew tasks to see available options
  5. Have fun!

Visual Studio Code (Official IDE)

  1. Get the WPILib extension for easiest use from the VSCode Marketplace - Requires Java 11 or greater
  2. In .vscode/settings.json, set the User Setting, java.home, to the correct directory pointing to your JDK 11 directory

IntelliJ

  1. Run ./gradlew idea
  2. Open the 2022-RapidReact.ipr file with IntelliJ
  3. When prompted, select import Gradle build

Basic Gradle Commands

  • Run ./gradlew deploy to deploy to the robot in Terminal (*nix) or Powershell (Windows)
  • Run ./gradlew build to build the code. Use the --info flag for more details.
  • Run ./gradlew assemble to build the code without running all unit tests. Use the --info flag for more details.
  • Run ./gradlew test to run all the JUnit tests.

Code Organization

We break our code up into robot code and libraries.

  • robot code contains code for the 2022 competition robot.
  • cheesylib Written by Team 254, Cheesey Poofs, for 2018-2019, it includes rotation and translation support needed for swerve drive modules.
  • cyberlib Written by Team 4911, CyberKnights, it contains utility code for i/o controllers, annotations, logging, etc. This library builds on cheesylib and converts swerve code from WPILib to use cheesylib geometry.