Team 1540, the Flaming Chickens, is proud to introduce the CCRE: the Common Chicken Runtime Engine. The CCRE, a programming framework, was created to make it easy to write maintainable code for an FRC robot -- after too many years of badly structured code, we wanted to do something better. To test it out before build season, we used it on all four of our BunnyBots, and none of them had any major issues.
Here’s an example of how small the CCRE can make something simple like tank drive code with ramping:
Code:
public class Test extends SimpleCore {
protected void createSimpleControl() {
DriverImpls.createSynchTankDriver(duringTeleop,
joystick1.getYChannel(),
joystick2.getYChannel(),
makeTalonMotor(1, MOTOR_FORWARD, 0.1f),
makeTalonMotor(2, MOTOR_REVERSE, 0.1f));
}
}
The CCRE’s central Git repository can be found at
https://bitbucket.org/col6y/common-c...runtime-engine. If you want to give it a try (and we hope you do!), go there, click on source, and then click on DOCUMENTATION.MD to get started.
The CCRE is currently versatile enough for use on almost any competition robot. If there’s something missing that you think should be there, suggest it!
The CCRE has a fully-functional emulator so that almost any robot code can be tested without a real robot.
The CCRE was designed and developed by Team 1540's student software manager, Colby Skeggs, and is primarily maintained by him as well. You can contact him using this thread or at skeggsc >at< catlin dot< edu if you need help using the CCRE. Team 1540 does not guarantee support for the CCRE, but he’ll do his best to help you out if you have issues.
A side note: The CCRE has support for running most of its infrastructure on standard computers and has hardware support for the BeagleBone Black.
Thanks for reading, and we hope you’ll find it to be easy to use.
Best of luck in build season!
Team 1540
PS if you do end up using it, please let us know!