In the documentation for olympe.messages.ardrone3.Piloting.PCMD there is a referance to setPilotingPCMD and sendPilotingPCMD but i can’t seem to find any of these functions in Olympe. Am I missing something? Does anyone know when they will be added?
The description of this command is outdated. Sorry
Piloting.PCMD command should be sent to the drone periodically because if the drone doesn’t receive any new PCMD command during a 500ms period, it automatically stops applying the last received command.
Thank you! That works great!
As a follow-up, what is the difference between PCMD command and olympe.Drone.piloting_pcmd command?
ardrone3.Piloting.PCMD, which stands for Piloting CoMmanD, is the user joystick command message that you can use to control your drone. Like any other command message (TakeOff, Landing, …) you can send it manually (one command message at time).
This command is a bit particular because the drone firmware only takes into account the last received piloting command if the last command is recent enough. If you loose the connection with the drone while holding the controller joysticks, the drone will stop in a few milliseconds after the disconnection. Hence, when you’re actively piloting the drone you want to send this PCMD message to the drone periodically.
You can either send the PCMD command manually in a loop or you can let Olympe do it for you in a background thread with the olympe.Drone.start_piloting, olympe.Drone.piloting_pcmd and olympe.Drone.stop_piloting functions. olympe.Drone.piloting_pcmd takes an additional
piloting_time parameter that tell Olympe to apply the piloting command periodically during this period of time.
Note: the start_piloting, stop_piloting functions which kind of start/stop this piloting background thread might get deprecated in a future release so that you’ll be able to call olympe.Drone.piloting_pcmd without calling start_piloting first.