Using Driver Control without competition switch

In the past, when we didn’t have a competition switch plugged into the controller we could still run the driver control program to practice. With the switch to V5, we now seem to have to have the competition switch plugged in to access the driver control. Is everyone else getting this?

We are using RobotMesh Studio.

We also use RMS. Yes, what we have found is that if you used the competition template, you need to either be connected to the field or a comp switch. Additionally, to get to driver control, you have to actually enable auton first, disable, then enable driver control.

Okay, so it’s not just us. We were also observing we had to run autonomous first, which was a pain. Would like if @RobotMesh could update this at some point. It makes it very difficult to test driver code or demo the robot.

This should be fixed in a few minutes. Anthony has redone the competition control threading logic and it should be going live shortly.

Change is live. Registering a competition control callback function spawns the competition management thread (as before). The management thread is now more flexible about what state changes it allows, and will no longer exit after one run of auton and driver. If for whatever reason your competition state transitions straight from autonomous into driver control or vice versa, the management thread mimics the effects of switching to disable first by stopping all running motors before starting the thread for the new state.

I’ll be writing more documentation on how we do threading and competition control; watch for that coming later this month. In the mean time, continue throwing any RMS questions at any Robot Mesh staffer you see floating around, and we’ll continue keeping an eye out for them.

Thanks for the quick response!

I’m having an issue with the competition template, but instead of not being able to access the driver control without the competition switch, I can’t access driver control at all. When we switch the competition from autonomous to driver control, the robot exits the program. Upon half an hour of testing, I had a second issue show up where I couldn’t access autonomous at all either. (unfortunately because the autonomous not working was just one test at the end of our session and we ran out of time, I’m not sure if this is also a problem or just a one-time thing) My team and I are very confused as to why this is happening. I am also using RobotMesh Studio. Would there be any reason why the robot exits the program instead of moving on to driver control? (We checked syntax, variables, indentation, those don’t seem to be the problem. Running the driver control separately outside the template works just fine)

@John TYler:
My high school team had a competition this past weekend and they did skills. They used a V5 RobotMesh Python competition template. We noticed something strange: driver control (in the independent Driver Control Skills portion) did not work directly. We had to ask the refs to start auton then stop it, then to run driver control. It worked that way, but we got a warning that other refs at other competitions might not let us do that.

How to properly program so the field control people can start our driver control directly at a skills event?


This is how the program looks like now minus irrelevant [team programmer suffering heart attack] stuff:

# VEX V5 Python Project
import sys
import vex

#region config
#endregion config

competition = vex.Competition()

def drivercontrol():
    # driver control init stuff and while loop etc..

def autonomous():
    # auton commands

@roboballer We changed the competition template behavior several weeks ago to no longer need to go through auton to get to driver control. When was the last time the programmer refreshed the tab?

@gales97140 Can you link or PM a link to the project?

@John TYler:
Ugh… not sure they ever refreshed it. Are you referring to CTL-F5 in Chrome which clears cache? Should they do that often? Thanks.

We don’t do major updates like that too often. Also with the release of our offline tools for V5, there will be a little more fanfare around major releases as we will have to be updating those as well, which don’t update themselves as easily as a web application.

@John TYler:
OK, so CTL-F5, resend to robot and go compete, got it. Sorry, first year on RobotMesh (love it so far), didn’t think about code stuck in cache. Makes sense now. Thank you. We appreciate all the work you do on this.

@roboballer we have the same issue of the program running for 1 second then ending on its own. I have refreshed the program and that does not help. can you advise as we have a competition tomorrow.

@John TYler sorry I tagged the wrong person.we have the same issue of the program running for 1 second then ending on its own. I have refreshed the program and that does not help. can you advise as we have a competition tomorrow. I have tried with and without a competition switch. We can not get any program to actually run using RMS. They download fine, but nothing runs for more than 1 second, even though we are using a repeat forever loop.

I’m not the biggest fan of RMS, because of the always online portion, but I will say they have FANTASTIC tech support with the ability to push updates out very quickly and easily, not to mention they are active on the forums very often, and I have a lot of respect for every member of that team.

We recommend using online as your default environment, but we do offer the Desktop Edition for times when you need to program away from an Internet connection. You can move a project back and forth between online and desktop, too.

Here is the best way to get help with Robot Mesh Studio code:

  1. Make your project public by clicking on the options gear and changing privacy to “Public Project (including code)”

  2. Send us an email at with a description of your problem and the URL of your project, which should look something like this:

You can also post these on our forum at

For the record, I haven’t seen this before and would love to get a look at your project source code.