In the past our team has used dipswitches (they look like the bank of small switches found on the front of the cRIO) to set our autonomous modes, in '09 we had a full 32 modes programmed

, but just a regular collection of switches would work too (it would just be bulkier). Basically you wire these switches into the digital ins on the side car. Then in the code I would suggest converting the collection on/off switch values into a binary number (LabVIEW even has a function for this already). Then assign each of your different autonomous modes a number (in the range that you switches can supply) and have your autonomous code read the dipswitch values before it starts. If you end up with a lot of auto modes make sure to give your drivers a "playbook

."
-Luke