I am currently running Copter 3.5.7, and attempting to send a MAV_CMD_NAV_LOITER_UNLIM (using C++). I initially had it sending as a mavlink_command_long_t with the following parameters:
command = MAV_CMD_NAV_LOITER_UNLIM
target_system = 0
target_component = 0
confirmation = 0
param1 = 0
param2 = 0
param3 = 0
param4 = 0
param5 = <my current latitude (adjusted by multiplying by 1e7)>
param6 = <my current longitude (adjusted by multiplying by 1e7)>
param7 = <my desired altitude (in meters)>
The craft will switch to LOITER mode, but will not go to the desired altitude. Not sure what I am doing wrong. Going through the arudpilot source code, I saw the altitude is set by the z parameter of the packet. So I thought maybe I was sending the wrong command type. So I switched it to a mavlink_command_int_t. But then responded with a COMMAND_UNSUPPORTED. Doing some more digging it appears that the LOITER_UNLIM command is indeed a command_long. So any ideas what I am doing wrong to get it go to my desired altitude as well switch to LOITER?
I am currently running Copter 3.5.7, and attempting to send a MAV_CMD_NAV_LOITER_UNLIM (using C++). I initially had it sending as a mavlink_command_long_t
with the following parameters:
command = MAV_CMD_NAV_LOITER_UNLIM
target_system = 0
target_component = 0
confirmation = 0
param1 = 0
param2 = 0
param3 = 0
param4 = 0
param5 = <my current latitude (adjusted by multiplying by 1e7)>
param6 = <my current longitude (adjusted by multiplying by 1e7)>
param7 = <my desired altitude (in meters)>
The craft will switch to LOITER mode, but will not go to the desired altitude. Not sure what I am doing wrong. Going through the arudpilot source code, I
saw the altitude is set by the z parameter of the packet. So I thought maybe I was sending the wrong command type. So I switched it to a
Where are you seeing that code?
mavlink_command_int_t. But then responded with a COMMAND_UNSUPPORTED. Doing some more digging it appears that the LOITER_UNLIM command is indeed a
command_long. So any ideas what I am doing wrong to get it go to my desired altitude as well switch to LOITER?
So if the GCS_Mavlink.cpp is the correct one to follow when sending a command, it appears the MAV_CMD_LOITER_TO_ALT is also not supported? Since its not in the GCS_Mavlink.cpp file of ArudPlane?
Would love to use the CMD_LOITER_TO_ALT, just not sure it would work then. Any other recommendations on commands I could use to perform a LOITER and descend?