Controller Not Allowing Motors to Move: Very Weird Bug

I am having to troubleshoot a very strange error. When my controller is connected to the robot (wirelessly or wired), the motors will refuse to move at all. And I mean at all, in my own programs, in the builtin drive program, or even the devices menu. When the controller is disconnected, the motors move fine. I recently updated my robot firmware, which also made me update my controller firmware. Perhaps there was an error in updating the controller? Because it occurs on more than one robot. When plugged into the robot and the Firmware Utility info check is run, the controller returns a boot of “0.0.0”, making me think it is broken. However, the controller still connects to the robot just fine, and the controller itself works as expected, it’s just that the motors will not move at all whenever the controller is connected to the robot. The inputs from the controllers can be read fine. Is there a way to force update the controller, I’ve tried force upgrading (and even downgrading and reupgrading) the robot itself, but I cannot fix the controller. Any help would be appreciated.

Do all the controller controls work when you go to the controller dashboad ?

If you go to the brain dashboard, what does competition status show?

2 Likes

All the controls work fine on the controller dashboard. On the brain dashboard, there is nothing showing the status of the competition, so its not disabled.

yea, sorry, thinking of the running screen when your code is running. This one
image
run a program and hit the button on the brain to switch to this.

1 Like

Still shows up as running for program state, none for game control, and Driver Control for game state. Also, as a side note, the motors read fine in the dashboard (such as degrees and rotations), they just won’t move.

What vexos was the brain on before the update ? and the update was to 1.0.10 that we released last week ? Had motors worked at all after updating ?

1 Like

The brain was on 1.0.5 I believe. I upgraded to 1.0.10 today and after it installed the controller also said it needed an asset update, along with the power chip, radio receiver, and the battery. The motors were working fine and still work now (at least in the motor dashboard) just as long as the controller is not connected to the robot at all. I also tried on another robot that I recently updated to 1.0.10 and the same thing is happening. I tried downgrading to 1.0.5 again and the same thing occurs when the controller is connected, so I reupgraded to 1.0.10 and the same thing still happens. I also ran a diagnostic check with the Firmware Tool 1.0.7 and got this for the controller:img

Boot info is not available from the controller, it always shows 0.0.0

Interesting you downgraded to 1.0.5, we don’t really support that, and device firmware is not downgraded even if vexos 1.0.5 is installed.

I can’t think of anything specific that would cause this, very few things cause motors to be disabled, the most common being that the brain thinks the system is in a match and the robot disabled.

One thing you could try is “reset all settings” on the brain, but if you have tried this controller with another brain with the same result. that implies it’s more likely a controller issue rather than a brain issue.

1 Like

Yeah I’ve tried factory resetting it and deleting all programs as well. This problem wasn’t happening before the controller updated, so something probably went wrong there. Is there a way to force a firmware reinstall on it or do I just have to wait until the next version of it?

There’s no way using the publicly available tools. Let me talk with others in the engineering group tomorrow and try and figure out what may have caused this issue, I’ll post back after that.

2 Likes

I did some more digging and it turns out that the controller is disabling the robot. When I check with vex::competition::isEnabled() it returns true when the controller is disconnected and false when connected. But the controller and the brain do not indicate that at all, I had to specifically write a program to check for it – there’s no picture on the controller saying that it is disabled like it would if plugged into a competition switch.

Ok, thanks for the feedback, perhaps the vexos run screen doesn’t understand that bit being set without the competition/field control bits also being set, I can setup a test to see if that’s the case.

We still have the issue of motors being disabled, if vexos thinks the disabled bit is set that’s probably the cause. When we have seen strange issues like this before it’s been due to damage to the competition port on the controller. This can either be physical damage to the connector pins or damage to internal electrical components. Internal damage can happen if a smart cable has been accidentally plugged into the competition port rather than a smart port.

2 Likes