Delay time issue at a waypoint


While I tested rover, I found two minor problems.
First, “Cond Delay” command does not work though I can still make the delay by using the waypoint command.
Second, if I assign -1 second to the delay at each waypoint, the delay time will be 65,535 seconds.

This is a log file.

EDIT: It seems likely to me that Rover does not support Loiter-turns. However, QGC still shows the unsupported command.

What “Do” command are you trying to delay with CONDITION DELAY?

Post that in the Ground Station>QGC thread because Mission Planner doesn’t show that command for Rover.

@dkemxr Thank you for the answer! As far as I know, QGC uses “MAV_CMD_CONDITION_DELAY”.
Yes, I will report this issue to QGC thread.

Condition Delay is only to delay DO commands. Use the DELAY command otherwise.



Thanks for the report. I’ve created an issue re the handling of a waypoint command’s delay field and we can probably fix this before the stable release. I suspect the issue exists in Rover-4.0 as well but in any case this should be pretty easy to fix.

1 Like

@rmackay9 Thank you!

Why is that? Spec say different in that it just delays the state machine: What other DELAY command are you talking about?

Well, relative to the Mavelink commands that’s a good question. As I understand it the “Condition Delay” is only to delay a subsequent Do command and a “Delay” can be used more globally. But some info is missing here.

As @KimHyungSub discovered if you use a Condition Delay command to attempt to delay flight, say after reaching a WP, it doesn’t do that. A “Delay” command, found in MP, will.


There are both CONDITION_DELAY and a NAV_DELAY commands. So in AP at least we interpret the CONDITION_DELAY as delaying just the do commands (i.e. commands that don’t affect navigation) and the NAV_DELAY command affects navigation. Basically NAV_DELAY will make the vehicle stop and wait.

I think the distinction is useful because it allows a user to specify that a “do” command should be executed 5 seconds after passing a waypoint? NAV_DELAY in turn is a much newer command (that I added actually) that also allows delaying to a specific time of day or a specific number of minutes past the hour, etc…

AP has always interpreted CONDITION_DELAY as only affecting the do commands since before I took over as maintainer of Copter/Rover. That doesn’t mean it’s correct of course and I’m open to discussing changing it if we have a good idea on what should happen.

Ok, seems a bit odd. But doesn’t matter too much to QGC since it’s the user who will have to understand the command. With respect to CONDITION_DELAY and NAV_DELAY can you tell me which vehicle types support which? And then I can update QGC to be correct.

1 Like

Hi @DonLakeFlyer,

CONDITION_DELAY is supported by Copter, Plane, Sub and Rover

NAV_DELAY is supported by Copter, Sub and Rover (but not Plane).

1 Like