MAVSDK
MAVSDK copied to clipboard
"MAVSDK" and "Arducopter SITL" incompatibility (and fly_qgc_mission.cpp and QGC incompatibility)
Hi,
I'm the current maintainer of Rosetta Drone 3, a MAVLink implementation for DJI drones.
We are testing MAVSDK to send a QGC mission to Arducopter SITL using fly_qgc_mission.cpp
.
We identified at least two issues:
- ISSUE 1:
telemetry.health_all_ok()
is alwaysfalse
- ISSUE 2: Arducopter doesn't start the mission but disarms.
Everything works fine sending the mission from QGC to Arducopter SITL instead of using fly_qgc_mission.cpp
.
Output of fly_qgc_mission.cpp:
Waiting to discover system...
Discovered autopilot
Waiting for system to be ready <--- BUG 1: blocks on while (!telemetry.health_all_ok())
(Waiting disabled by me, for testing)
System ready
Importing mission from mission plan: /data/data/com.termux/files/home/imatronix/server/test/p9-quillota.plan
Found 10 mission items in the given QGC plan.
Uploading mission...Mission uploaded.
Arming...
Armed.
Output of arducopter.exe:
...
AP: EKF3 IMU0 is using GPS
AP: EKF3 IMU1 is using GPS
AP: Terrain: clamping offset 435 to 15
AP: Arming motors
ARMED
Mode AUTO
AP: Mission: 1 Takeoff
waypoint 1
(little pause, probably a timeout)
AP: Disarming motors <--- BUG 2: Unexpected disarm. Why? There is no problem when sending the same mission from QGC
AP: Mission: 1 Takeoff
DISARMED
Are this incompatibilities intentional? How do we make this world better?
IMO fly_qgc_mission.cpp
is suposed to send QGC missions, so I would expect it to speak the same language as QGC (or rename it to fly_qgc_mission_in_unintelligible_accent.cpp
).