"""Controls for the Pluto Drone."""
from dagger.set_command import SetCommand
from dagger.set_raw_rc import SetRawRC
from dagger.set_command import CmdType
[docs]class PlutoControl():
"""Controls for the Pluto Drone.
Parameters
----------
connection : PlutoConnection
Pluto connection object for communicating with ``Pluto``.
Examples
--------
>>> t = dagger.PlutoConnection()
>>> t.connect(('Pluto_IP', Pluto_port))
>>> control = dagger.PlutoControl(t)
"""
def __init__(self, connection):
"""Defines the class variable."""
self.rc = SetRawRC(connection)
self.com = SetCommand(connection)
self.connection = connection
[docs] def take_off(self):
"""Take off command for Pluto.
Examples
--------
>>> control.take_off()
"""
self.rc.disarm_drone()
self.rc.box_arm()
self.com.command(CmdType.TAKE_OFF)
[docs] def land(self):
"""Landing command for Pluto.
Examples
--------
>>> control.land()
"""
self.com.command(CmdType.LAND)
[docs] def pitch_forward(self):
"""Forward Pitch command for Pluto.
Examples
--------
>>> control.pitch_forward()
"""
self.rc.set_pitch(1600)
[docs] def pitch_backward(self):
"""Backward Pitch command for Pluto.
Examples
--------
>>> control.pitch_backward()
"""
self.set_pitch(1400)
[docs] def roll_left(self):
"""Left Roll command for Pluto.
Examples
--------
>>> control.roll_left()
"""
self.rc.set_roll(1400)
[docs] def roll_right(self):
"""Right Roll command for Pluto.
Examples
--------
>>> control.roll_right()
"""
self.rc.set_roll(1600)
[docs] def left_yaw(self):
"""Left Yaw command for Pluto.
Examples
--------
>>> control.left_yaw()
"""
self.rc.set_yaw(1200)
[docs] def right_yaw(self):
"""Right Yaw command for Pluto.
Examples
--------
>>> control.right_yaw()
"""
self.rc.set_yaw(1800)