14.01.2013 Views

A.R.Drone Developer Guide - Abstract

A.R.Drone Developer Guide - Abstract

A.R.Drone Developer Guide - Abstract

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Let’s now detail the AR<strong>Drone</strong>Tool part :<br />

• ardrone_tool.c : contains a ready-to-use main C function which initialises the Wifi network<br />

and initiates all the communications with the drone<br />

• UI : contains a ready-to-use gamepad management code<br />

• AT : contains all the functions you can call to actually control the drone. Most of them<br />

directly refer to an AT command which is then automatically built with the right syntax<br />

and sequencing number, and forwarded to the AT management thread.<br />

• NAVDATA : contains a ready-to-use Navdata receiving and decoding system<br />

3.3 The AR.<strong>Drone</strong> Tool<br />

Part of the AR.<strong>Drone</strong> Library is the AR<strong>Drone</strong>Tool .<br />

The AR<strong>Drone</strong>Tool is a library which implements in an efficient way the four services described<br />

in section 2.10.<br />

In particular, it provides :<br />

• an AT command management thread, which collects commands sent by all the other<br />

threads, and send them in an ordered manner with correct sequence numbers<br />

• a navdata management thread which automatically receives the navdata stream, decodes<br />

it, and provides the client application with ready-to-use navigation data through a callback<br />

function<br />

• a video management thread, which automatically receives the video stream and provides<br />

the client application with ready-to-use video data through a callback function<br />

• a control thread which handles requests from other threads for sending reliable commands<br />

from the drone, and automatically checks for the drone acknowledgements.<br />

All those threads take care of connecting to the drone at their creation, and do so by using the<br />

vp_com library which takes charge of reconnecting to the drone when necessary.<br />

These threads, and the required initialization, are created and managed by a main function, also<br />

provided by the AR<strong>Drone</strong>Tool in the ardrone_tool.c file.<br />

All a programmer has to do is then fill the desired callback functions with some application<br />

specific code. Navdata can be processed as described in section 5.3. The video frames can be<br />

retrived as mentionned in 5.6.<br />

15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!