Skip to content

FRC6854/VIKING

Repository files navigation

VIKING

Build Status

Reusable Systems for Robots A common library of useful classes and systems intended to be used for all Team 6854 robots The JitPack is based off of FRC 1540s library ROOSTER and you can go check it out here.

VIKING library content

Controller

viking.Controller

Includes support for XBox One Controller with pre-made inverts for proper values.

CSV Reader

viking.logging.CSVReader

Read paths and other data from CSV files.

CSV Writer

viking.logging.CSVWriter

Writes CSVs to record data for debugging purposes.

Limelight

viking.vision.Limelight

A wrapper for the Limelight using NetworkTables.

OI

viking.OI

Arduino Serial connection wrapper for LEDs, Date/Time formatter, and DriverStation code.

Swerve Wheel Drive

viking.controllers.SwerveWheelDrive

Modular speed controller for our swerve robot since we don't have enough of one motor controller.

VikingSPX

viking.controllers.ctre.VikingSPX

Wrapper for VictorSPX from CTRE. Includes easy to use controls + ability to follow master controllers.

VikingSRX

viking.controllers.ctre.VikingSPX

Wrapper for TalonSRX from CTRE. Includes easy to use controls + closed-loop control + motion profiling.

VikingMAX

viking.controllers.rev.VikingMAX

Wrapper for CANSparkMAX from REV Robotics. Includes easy to use controls + closed-loop control + smart motion + follower controllers.

ColorSensor

viking.controllers.rev.ColorSensor

Wrapper for ColorSensorV3 from REV Robotics. Comes with matcher for detecting colours from the sensor output.

Math

viking.math

Full of math functions for swerve and other things.

MotionProfileUtil

viking.motion.MotionProfileUtil

Motion profile utility.

Logging

viking.Logging

Logging library, log to stdio or file with timestamp.

Installation

Add the library by adding these lines in your build.gradle file:

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.FRC6854:VIKING:<latest-release-tag>'
}

Make sure you have the following vendordeps added to your project.

  • Phoenix
  • REVColorSensorV3
  • REVRobotics

We use JitPack as a Gradle/Maven repository. This means that if you add the project using Gradle it will be automatically updated with the latest changes to the master branch, as well as source code and documentation .jar files.

If you want to see an example for how this is installed, check out the 2021 Infinite Recharge Robot code and look in the build.gradle file.