Setting HEARTBEAT MAV_MODE_FLAG

I’m coding an autopilot like PC/Linux application based on MAVSDK. To make some test and need to make it work with QGroundControl … I’m trying to upload a simple mission and start it.
The mission upload works fine but when I try to start it on QGroundControl I got this error:

image

Following several topics on this forum I found it should depends on HEARTBEAT MAV_MODE_FLAG field missing some bits.

There’s a problem here anyway… how can I set HEARTBEAT fields trough MAVSDK API?
I tried with system.add_capabilities() but even setting all 64 bits high I got the same error…

How can I fix it?

Guided mode? Are you using Ardupilot? What is “Guided mode” for a mission?

Looks like the needed fix is this:

	auto action = ActionServer{gcs_system};

	action.set_allowable_flight_modes({true, true, true});
	action.set_allow_takeoff(true);
	action.set_armable(true, true);
2 Likes

I failed checking the connection… I still have the same behaviour … I set the capabilities, set flightmodes set allow_takeoff, set armable… but still when I try to start it flying QGroundControl show the same alert.