EXP Bug in drive mode

When using the default drive mode (i.e., selecting “Drive” instead of a program) on EXP (firmware version 1.0.1), motors controlled by buttons will briefly spin the wrong way when you try to change directions with them. For example, R1 and R2 control motor 4. Press R1 and it will go forward. If you release R1 and then then press R2, it spins forward for a few milliseconds before going backward. Pressing R1 again makes it spin backward briefly before going forward. Repeated presses of the same button work correctly. It’s only when you switch directions that it has a problem.

Setting up the controller with devices menu in VEXcode, or writing a program for the same behavior, both work fine.

Thanks for the feedback. I think I had noticed something along those lines before so I’ll spend some time and dig into it. Interesting you don’t notice the issue using VEXcode, the built in drive code is using the same APIs so I would have thought it would have the same behavior.

4 Likes

I took a quick look.

So good news and bad news.

good news is it’s not an EXP bug.

bad news is it’s existing behavior of the motor when set to brake type hold, the same behavior can be seen on V5 as well. The typical VEXcode configuration would set motors to their default which is brake type coast. The EXP drive program sets the motors configured on buttons to brake type hold as typically this code is used with clawbot builds where the customer would want claw and/or arm to hold position, the behavior you see then happens. Not sure what, if anything, I can do about it as it’s a motor firmware update to solve that, I’ll talk with other developers next week, it may be a bug but may just be a side effect of the motor changing it’s internal control mode from positional PID (ie. holding position) to velocity PID (ie. running at a commanded velocity).

6 Likes