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.