NAME
UAV::Pilot::ARDrone::Control::Event
SYNOPSIS
my $cv = AnyEvent->condvar;
my $event = UAV::Pilot::EasyEvent->new({
condvar => $cv,
});
my $driver = UAV::Pilot::Driver::ARDrone->new( ... );
$driver->connect;
my $dev = UAV::Pilot::Control::ARDrone::Event->new({
driver => $driver,
joystick_num => 0,
joystick_takeoff_btn => 3,
});
$uav->init_event_loop( $cv, $event );
$dev->pitch( -0.8 );
$cv->recv; # Will now pitch forward until you kill the process
DESCRIPTION
AnyEvent-based version of UAV::Pilot::Control::ARDrone
. With the normal module, you need to send movement commands yourself every 30ms to maintain smooth control. By using an event loop, this module handles the timing for you.
METHODS
init_event_loop
init_event_loop( $cv, $event )
Sets up the event loop. Takes $cv
(an AnyEvent::Condvar
) and $event
(a UAV::Pilot::EasyEvent
).
Will listen for joystick events.
hover
Stops all movement.