Skip to content

This is the combined common code base for Andover Robotics Club, packaged in a library.

Notifications You must be signed in to change notification settings

Andover-Robotics/ARC-Core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codacy Badge

Welcome!

This is the common code base for the Andover Robotics FTC teams. The code base of all three teams will include this library as a Git submodule.

Why do we designate it as a submodule? We would like to introduce new features and fix bugs during the season, and this choice helps teams receive ARC-Core updates more easily.

Features

  • Tank Drive and Mecanum Drivetrain implementations with encoder support
  • Support for reading files from storage as configuration
  • PID controller implementation
  • Task System support using BeanShell
  • Optimizing hardware wrapper classes like CachedMotor
  • ARC Toolbox: Collection of hardware diagnostic OpModes

Setting up your Team's Repository

This section is intended for the programming leaders of each team.

  1. Perform git init locally to initialize an empty repository
  2. Perform git remote add upstream https://github.com/OpenFTC/OpenRC-Turbo.git in order to set OpenRC Turbo as the upstream remote
  3. Perform git pull upstream master --allow-unrelated-histories -f in order to pull OpenRC's source code into your local repository
  4. Perform git submodule add https://github.com/Andover-Robotics/ARC-Core
  5. Set the origin remote to your team's repository by performing git remote add origin <origin url in either https or ssh>
  6. Add "ARC-Core" to the Android project by adding , ':ARC-Core' prior to ':TeamCode' in settings.gradle
  7. Set the minSdkVersion on line 41 of build.common.gradle from 19 to 24
  8. Commit your changes
  9. Push the local copy to the origin remote by performing git push -u origin master

After your repository is ready, make sure to copy the required resources onto your team's Robot Controller phone:

  1. Copy libVuforia.so from the doc folder of [your] repo into the FIRST folder on the RC's internal storage

  2. Because EasyOpenCv depends on OpenCV-Repackaged, you will also need to copy libOpenCvNative.so from the /doc folder of that repo into the FIRST folder on the internal storage of the Robot Controller

  3. Copy all of the files found in the filesForDynamicLoad folder of [your] repo into the FIRST folder on the RC's internal storage

(For reference, the FIRST folder's full path is /storage/self/primary/FIRST.)

Keeping your Submodule Up-to-Date

Throughout the season, the CSOs will push fixes and new features to ARC-Core as necessary. To incorporate a change from this repository into your submodule, execute git submodule update --remote in your local repository and push the resulting changes to your team's GitHub repository.

Getting Help

If you wish to receive clarification or assistance in troubleshooting a problem, please check the ARC-Core JavaDocs and ARC Software.

The Chief Software Officers of the 2019-2020 season, Michael Peng and Daniel Ivanovich, are eager to help you achieve your best. Feel free to approach them with questions.

You should also join the FTC Discord, where you can receive help from some of the best teams in the world.

About

This is the combined common code base for Andover Robotics Club, packaged in a library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages