View Single Post
  #1   Spotlight this post!  
Unread 16-06-2013, 13:40
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Value and Purpose of Default Code

A question came up in this thread about the value and purpose of default code. Since this discussion is off-topic there, I have created this new thread to discuss.

I'll start by linking the Vex Cortex users guide, which contains the Cortex default code mappings on pages 6 and 7. The Cortex offers what I believe to be the model that should be emulated - It provides enough basic functionality to drive all motors from joysticks, allows both tank and arcade drive, and limit switches.

It is similar to the default code provided with the IFI control system, which also included mapping of relays to buttons and compressor control. I believe that this sort of 'minimum functionality' should be included in default code, with both compiled code as part of the image and source provided with all three languages. While it would be possible as a community to write this, it would be much better if it was provided in the development environment and base images as an example or starting point, since the VAST majority of teams would benefit from a working starting point when writing their own code.

With the Vex system (and IFI control system), the default code is extremely valuable to teams, both teams who lack the programming skill (although the additional time and smaller scale of Vex makes it arguably easy to learn with less risk), and for testing and development. The ability to test functionality and drive a robot both before the software is done and if there are software issues is a huge benefit which should not be underestimated.


What are your opinions and thoughts? I provided some similar functionality with the PalLib default code, but I can't promise support, and it uses a nonstandard library.
__________________
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