|
Re: Releasing software before kickoff
Ideally, the library is stable, provides the functionality that we NEED (getting IO data from the IO, and control packets from the DS) and never changes. The only beta test that would have been needed would have been the initial test pre-2009 (when the system was new and full of bugs) and pre-2012 (when the 4-slot cRio was new). Every other season would just have carried over the libraries with the previous season, plus bugfixes from the previous season, without even carrying out the beta test process.
But, the library keeps changing, and there's a lot of visible scope creep. IMHO, the purpose of the library is to provide an API for the black-box FPGA and Netcomm modules, and provide a default framework to assist inexperienced programmers. The Basic Framework that LV had way back in 2009 was very easy to use, easy to understand, and worked well. I would be happy if we just stayed there and fixed bugs and fixed bugs and supported the 4-slot cRio.
Another thing the WPIlib lacks is a 'default code' which requires absolutely no programming skills to learn, PERIOD. IFI and Vex controllers always came with code which would map all of the joystick inputs to PWM and relay outputs, and provided a nice tool to download the default code without a compiler installed if you ever needed to get back to that state. You could reasonably build a robot without ever installing the development environment, and be competitive. Most OCCRA teams still run default code, since it works well enough for them. WPIlib lacks this, and requires a team to at least:
-Install the full development environment for one language
-Install at least the Labview runtime for the Driver Station and tools utilities, if they didn't choose LabVIEW.
-Create a complete code project
-Write in the code to support anything other than a drivetrain.
This is non-trivial for a team without any software skills. I have seen many team programmers who spend an entire season getting buttons to map to solenoids and joysticks to map to PWMs.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor
"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
|