There are several commands in MP that don't function as defined although I think CONDITION_CHANGE_ALT is probably one of the worse!
If I use CONDITION_CHANGE_ALT between waypoints and enter these (apparent) valid values:
Rate cm/sec = 200
Alt = 100
Write that to apm, then read from apm I get:
Rate cm/sec = 32
Alt = 0
MAVLinkTypes.cs defs and explanations say:
Ascend/descend at rate. <Delay mission state machine until desired altitude reached> |Descent / Ascend rate (m/s)| Empty| Empty| Empty|Lat|Long| Finish Altitude
Change_ alt |Rate cm/sec | Alt
Questions:
Why is it not saving desired terminal alt?
Why is it changing the Rate cm/sec from 200, to 32?
Why is it rated <cm/sec> in the display, yet its <m/s> in MAVLinkTypes.cs?
Why is the command being ignored when next waypoint is reached when according to MAVLinkTypes.cs it says <Delay mission state machine until desired altitude reached>?
I know that this command is treated as a <may> command, re http://code.google.com/p/ardupilot-mega/wiki/MAVLink and contradicted in MAVLinkTypes.cs. Although there is an override available in the bit-mask (not implemented) but I guess the inputs might be active, to allow <Delay mission state machine until desired altitude reached>
I really need an answer to this as the described behavior is nowhere even close to decribed, and there seems no alternate way to input commands...
Peter.
Replies
MAVLinkTypes.cs lists it as defined by the mavlink spec. however may not be how its implemented in arduplane and arducopter. Which are you using?