I have made a simple program to move forward for 60 mm, then turn right by 88 degrees, and finally move forward 240 mm more.
The problem is after it moves forward for 60 mm, it then waits for about 1 second before turning.
The arrow to the right of the move forward block says “and don’t wait”. I tried this as well, but it still waits.
Prior to that first block, if you set the speed to full, do you see the same result?
Many moons ago, Modkit had a similar issue and
I think it was something to do with the motor encoders never completely arriving at their target. The delay you are seeing might be a timeout. By setting the speed faster, a bit of momentum might get that extra tick on the encoders.
I seem to recall ROBOTC not having this issue due to the VM handling motors in a different way.
Yeah, I am seeing the same, Even with the timeout turned to 0.1 seconds.
@tfriez why would you get a 1 second pause after the forward 60mm but only if that is the first drive block in the program? For example, this snippet does not give the same behavior:
Ok, then my guess is that gyro is still calibrating and that causes the pause before the turn. If that is the case then the turn is also probably not accurate as gyro would have been calibrating during the move.
There’s a 2 second “pause” at the beginning of a Drivetrain program to allow the gyro to calibrate… there may be a bug in the code generation as James implied that is causing the delay before the turn.
I’ll give a deeper look into it today and see what the root cause might be… either way, the behavior you’re seeing is not intended.
Discovered the issue… there’s no forced wait at the beginning of a drivetrain project to wait until the calibration is completed - but, the “turn for degrees” command has a low level check to not to begin a turn until after calibration is completed.
The quick fix is to throw a 2 second delay at the beginning of your program - and the next update in a few weeks will resolve this issue by handling the “wait until done calibrating” at the beginning of the code.