Programming

The control system used in 2009 and later seasons utilizes the National Instruments Compact RIO. After the advent of 2013, we began utilizing the roboRIO. Both systems can be programmed in C++, LabVIEW, and Java. Here are some resources that our team has created:

Source Code:

FRC-2017(Java): This year's auton mode incorporated dual ultrasonic sensors, which worked in theory and in laboratory environments, but not so well on the field where there was noise. We used HRLV MaxBotics 1340 sensors, which are analog ultrasonic sensors which do not currently have wpilib documentation. Feel free to take a look if you need a reference. In addition, this code uses auton groups, as well as gyro-based and timer-based driving (the former for more accurate turning, the latter for a failsafe).FRC-2016(Java):  This year's code allowed for an incredibility efficient drive base, and features the beginnings of a modular auton mode by utilizing groups. It also featured a flywheel-based shooter with speed regulation. In addition, we used CANTalon driver controllers this year, and both magnetic and absolute encoders (although you may have to dig through the commits for implementations of both).FRC-2015(Java): This year's robot code was as unique and "interesting" as the game itself. It features an elevator system which uses PIDs to account for gravity.FRC-2014(Java): This year's code gives the driver full manipulation over the shooter. The robot carries unique features such vision control and an offboard processor, setting it apart from all the others. In addition, its adjustable-angle shooter mechanism uses the nefarious one-point lever by using PIDs to counteract the force of gravity and hold the shooter at a steady angle.FRC-2013(Java): Robot-side code for the 2013 FRC season. The code features an efficient shooter and an efficient drive base.FRC-2012(Java): This is our team's 2012 robot code. The code is written in java and features full control of the elevator and shooter.FRC-2011(C++):  This is FIRST Team 604's 2011 robot code, rewritten from LabVIEW into C++ with the WPILib framework. This code features dual-mode arm control and gyro-based drive.FRC-2010(C++): This year's code featured pneumatic gear shift, a pneumatic kicker system, pneumatic control code, and an adjustable-speed ball-magnet.FRC-2009(C++): This code runs on the robot, and receives input from another program running on the driver station laptop, impersonating a joystick to communicate with the robot. The code enables the driver to have control of the drive base and the turreted shooter.