I love trying to find out why things work (or don’t work).
Most teams were frustrated at the MD Regional (the only one I attended) at least once by having dead controls at the start of Teleop. There didn’t seem to be any reson for this as the FMS indicated that the connection was good, and the programs were running.
I’ve been doing a lot of code tweaking over the last day, and I’ve seen something which may shed a light on this.
I was running mock matches with the bot up on blocks, and I was just running and re-running the same code looking for a problem.
At least 3 times in a sequence of 10 runs, the program ran Autonomous, and then when when it was meant to transition to Teleop, it stopped the Auto program and then failed to restart the NXT in Teleop. It just sat there with the “ready to run” screen up.
What was more disturbing was that the FMS system indicated that the NXT was “running”, whatever that means.
So to all intents and purposes it “appeard” that everything was fine, but there was no way to drive the robot.
At the end of teleop, the match was stopped but if you looked at the NXT then, everything seemed OK (since the program SHOULD have been stopped at that point).
So I suspect that if the real FMS software works the same way, there may have been many instances where the USB controllers and Bluetooth were just fine, but there was no Teleop program running. (Just frustrated kids wiggling controls)
I wonder if this problem could be minitigated by sending several “RUN TELEOP” commands to the NXT. Once is bound to catch.
Now I’m thinking of a way to indicate that the TELOP program is running on our NXT, so we can allert the field crew that we have a problem that’s not Code related. Maybe a flashing red light sensor???
Anyone else see this while testing?