From ff235610bb3995da911b12f1072bd27babe12136 Mon Sep 17 00:00:00 2001 From: Arnaud Taffanel <arnaud@bitcraze.se> Date: Thu, 30 Mar 2017 17:26:34 +0200 Subject: [PATCH] closes #46: Add support for zdistance commander packet --- cflib/crazyflie/commander.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cflib/crazyflie/commander.py b/cflib/crazyflie/commander.py index 28cad3b..e5e50db 100644 --- a/cflib/crazyflie/commander.py +++ b/cflib/crazyflie/commander.py @@ -37,6 +37,7 @@ __all__ = ['Commander'] TYPE_STOP = 0 TYPE_VELOCITY_WORLD = 1 +TYPE_ZDISTANCE = 2 class Commander(): @@ -98,3 +99,16 @@ class Commander(): pk.data = struct.pack('<Bffff', TYPE_VELOCITY_WORLD, vx, vy, vz, yawrate) self._cf.send_packet(pk) + + def send_zdistance_setpoint(self, roll, pitch, yawrate, zdistance): + """ + Control mode where the height is send as an absolute setpoint (intended + to be the distance to the surface under the Crazflie). + + Roll, pitch, yawrate are defined as rad, rad, rad/s + """ + pk = CRTPPacket() + pk.port = CRTPPort.COMMANDER_GENERIC + pk.data = struct.pack('<Bffff', TYPE_ZDISTANCE, + roll, pitch, yawrate, zdistance) + self._cf.send_packet(pk) -- GitLab