Skip to content
garolion edited this page Jul 18, 2013 · 1 revision

###Solution structure Most of the code is common to Windows 8 and Windows Phone 8. Common Classes are defined at the solution level and shared as links in the Windows 8 and Windows Phone 8 class libraries (see MSDN if you need more information on that point).

###Windows Store application

  • ARDrone2Client.Windows is the class library that includes the common code and specific controls and converters to your Windows store apps.

  • ARDrone2Video and ARDrone2VideoTcp are the two C++ components used to collect from the Drone, decode and send live video frames to your Windows store application.

  • ARDrone2.Sample is a sample application dedicated to Windows 8.

###Windows Phone application

  • ARDrone2Client.WP8 is the class library that includes the common code and specific controls to your Windows phone apps.

  • ARDrone2VideoTcpWrapper and ARDrone2VideoTcpWP8 are the two C++ components used to collect from the Drone and decode video frames to your Windows phone application. An ARDroneStreamSource component, located in the ARDrone2Client.WP8 has the responsibility to send live video frames to your Windows phone application.

  • ARDrone2.WP8Sample is a sample application dedicated to Windows Phone 8.

###DroneClient The DroneClient class is the Entry point of the SDK. This is the class you need to instantiate to connect with the Drone, send commands and retrieve data. It exposes to your application:

  • A set of top level methods, to change the state of the AR.Drone (Takeoff, Land or Emergency).
  • Events associated to Navigation data and Configuration reception, you can subscribe through delegates.
  • Data sources you can bind to your application controls.

###Workers Each worker communicates with the drone using a dedicated socket. All the available commands (commands queued by the DroneClient) are sent asynchronously to the AR.Drone by the Command Worker every 25 ms. The NavDataWorker receives the navigation data sent 15 times per second in demo mode and 200 times per second in debug mode by the AR.Drone. This worker Parses and converts data from binary format to classes used by controls. The ConfigurationWorker receives the AR.Drone configuration sent on demand, after a full configuration request. The **WatchDogWorker ** checks continuously the status of the AR.Drone and resets workers if needed.

Clone this wiki locally