A.R.Drone Developer Guide - Abstract
A.R.Drone Developer Guide - Abstract
A.R.Drone Developer Guide - Abstract
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