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.