PX4 uorb Messages not knowing certain vehicle commands

Hello i am currently trying to switch waypoints in missions with my own logic in PX4 1.14.3 and according to this documentation this should be possible with message 177.

Sending this gives this vehicle command ack message:

with result code 3:
uint8 VEHICLE_CMD_RESULT_UNSUPPORTED = 3 # Command UNKNOWN/UNSUPPORTED |

However trying to send arm or disarm with message code 400 or a mission start with message code 300 both work perfecty fine.

Am I missing something in my PX4 configuration or why is code 177 not being accepted?

The command 177 (DO_JUMP) can only be used as a mission item to jump to another mission item. This can for instance be used to create loops/repetitions within a mission.

If you just want to switch to a specific mission item, you can use the message MISSION_SET_CURRENT (or command MAV_CMD_DO_SET_MISSION_CURRENT however this command doesn’t seem implemented/supported in PX4 yet).

Thank you Julian. Related to this issue is there a way to send a mission via uORB or must it still be manually uploaded to an SD Card first?

I don’t know. I usually upload missions using MAVLink and MAVSDK, or QGC.

No. Definitely no way to update a mission via uorb because the mission is not represented in uorb. Some of the mission state once it is executing is captured in Mission (UORB message) | PX4 Guide (main) .

That said, you can implement your own mission-like system using ROS 2 PX4 ROS 2 Waypoint Missions | PX4 Guide (main) - it is pretty rudimentary.

Thanks Hamish. I have implemented my own mission system that can be handled via uOrb. It can issue missions for a single drone or an entire swarm of drones. I call it SwarmOS. It handles Mission Parsing, Leader Elections, Drone Piloting, Drone Placement, Status Reports, Safety, Telemetry and Odometry, Mission Premption, Leader Failover … The list goes on. gettign around the 220byte MAVLINk payload issue was a challenge. But got that working.