Quote:
Originally Posted by Coffeeism
Everything seemed ok... The only think I'm scratching my head about is the one time our autonomous did not go off.
|
Depending on whether all DS's are detected during the initial match setup (before robots are out on the field for the next match), the FMS seems to briefly toggle through Auto-Disable, Auto-Enable, then Auto-Disable as it sets up. This caused a number of teams using both WindRiver and Labview who did not take special precautions to ensure that enabling and disabling in autonomous mode would fully reset their code each time to malfunction.
Specifically in WindRiver, if you do not override StartCompetition() and extend RobotBase instead of SimpleRobot for your main class, it is possible to begin executing code in your Autonomous() function somewhere in the middle, or to be caught in the "while (IsAutonomous() && !IsDisabled()) Wait(.01);" line in StartCompetition. This occurred with both 211 and 229 in the same match, and after they updated their code to cover this case did not experience a problem again.
Teams can test this in the pit by having the DS in Auto-Dis, turn their bot on, then toggle to Auto-En, quickly back to Auto-Dis, then back to Auto-En and verify their program works as expected. Also, teams should verify that after this occurs they correctly enter teleop code after going to Auto-Dis, Teleop-Dis, then Teleop-En. When reproducing this in the pits, 211 malfunctioned exactly the same way as they did in the field. Once updated they drove correctly in auto and teleop.