A public release of our final 2016 robot code in Java for our Mark XIII Robot
Java
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
MarkXIII_dev
.gitignore
README.md

README.md

Mark-XIII-Public-

A public release of our final 2016 robot code in Java for our Mark XIII Robot

MarkXIII-Public-

A public release of our final 2016 Mark XIII code in Java. This includes a guide to using our custom threading system, as well as a base TKOHardware class that may easily be changed to accommodate other robots with similar parts. The code will need to be implemented into your own IDE of choice as the metadata for our IDE, as well as the FRC .jars, have been stripped out. Included below are some particular areas of notice within the code, including our Autonomous, TKOThread, TKOHardware, and TKOLogger classes/sections.

Autonomous

The autonomous is built on an expandable Atoms and Molecules framework, with the ability to chain quick actions together in order to build a set of customizable autonomous actions. Included are atoms for driving and turning using various sensors in conjunction with PID, as well as the use of various sensors to interact with our lift and the game pieces to determine when to pick up and drop particular items. Included as well are some rough ideas for testing these atoms to determine whether or not they function to specification.

TKOThread

The TKOThread class is built around ensuring that there is only one instance of any particular action running at a singular time, helping to alleviate problems caused by multiple classes attempting to access the same hardware at the same time. By synchronizing the threads and ensuring thread safety across instances, we are able to prevent multiple instances of a class without the use of static classes. Included is the ThreadExample.java under util in order to help others get started using TKOThread.

TKOHardware

TKOHardware is a class under util used to monitor all of the various inputs and outputs on the robot and ensure that they are being accessed safely and without interference, as well as to provide a central place for all classes to access the various inputs and outputs. This allows us to quickly make changes within Definitions.java and TKOHardware.java which will apply to all of our classes, and allows us to easily modify the settings on the input and output devices as we see fit.

TKOLogger

TKOLogger allows us to keep records on the various messages thrown out by the RoboRio during a run in order to keep tabs on what has happened, as well as use for bug fixes and pinpointing problem areas in the code.