VEX Competition Switch preventing Downloads

On this thread, I saw someone post about not being able to download when a VEX competition switch is plugged in:

Another poster (jpearman) went on to comment that it had happened to them too:

I have seen this happen to my team as well; not only this year when we have used ROBOTC, but also last year, when we used EasyC. Because that other thread was specifically about ROBOTC download failures, I decided to start a new thread to discuss this.

Has any one else experienced downloading difficulties when you have a competition switch plugged into your joystick? This typically would happen when testing Autonomous code, because you want to code, download, test (using the switch), and repeat, and all that very rapidly, so that you tend to leave your competition switch plugged in the whole time.

Thanks!

General question/potential workaround: why use the competition switch when you could use the ROBOTC switch (one of the debugger windows)?

//Andrew

First off, the ROBOTC switch is slow. Once you press a button, it takes a second or two to start. With the hardware switch it is instant (relative).

I have also encountered the problem above. I am thinking it might be the download method (Download for Competition (VEXnet))

Yes, I have also encountered this problem, but I just suck it up and unplug it each time lol. As far as using the mechanical switch vs. robotc debugger, thats like asking why you would read a book instead of using a kindle/ipad/nook. Some people prefer the physical action of the switch, rather than just the debugger. Its all personal preference. As far as the issue goes i’m a little perplexed, as for me it only happens occasionally. When the competition switch is plugged in it lags a lot at 0% download, and then proceeds/or fails. Its very odd.

I tried to find a pattern for this problem but failed.

Downloads when using the USB A-A cable and the competition switch connected seem quite robust, I tried many combinations of download followed by enable/disable and it worked every time.

Downloads using VEXnet WiFI certainly have a problem but it’s not as simple as just working/not working. Sometimes it works, sometimes not. When it does stop then removing the switch and re-downloading with the switch disconnected is the only way I could get communications back. The download fails because RobotC cannot read the flash file system directory, but why it gets stuck in this mode I don’t know.

I will ask CMU if this is a know bug.

I have not tried with EasyC.

Two possible theories I have come up with:

  1. When you plug the competition switch into the joystick, it creates a short, or at least reduces the voltage of something inside the joystick, which causes intermittent failure in the VEXnet key because of lack of power.

  2. When the competition switch is plugged in, perhaps the joystick will now constantly send updates to the robot about what state the switch is in (I.E. disabled, disabled, disabled, disabled, disabled), even when files are being downloaded, thus interfering with the program downloading process.

Good theories but I’m afraid it’s more likely to be a firmware problem.

I’m using my own homemade competition switch. When both switches are open the only connection is one pin to ground indicating the switch is connected. I doubt this is an issue.

The competition switch state is part of the normal joystick communication (if I remember correctly, it’s been a while since I was reverse engineering this for my Mac debugger). There’s one byte that indicates switch connected, enable/disable etc.

I’m pretty sure it’s a firmware issue, most likely master firmware, the only question for me is which part, joystick or cortex.