Delay time issue at a waypoint

Hello,

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.
https://drive.google.com/file/d/16qgQf2EX4Wk8d1Ff3BmFG5EyJ3wAkh1r/view?usp=sharing

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.

2 Likes

@KimHyungSub,

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: https://mavlink.io/en/messages/common.html#MAV_CMD_CONDITION_DELAY. 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.

@DonLakeFlyer,

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