QGroundControl Open Source Micro Air Vehicle Ground Control Station Project: http://qgroundcontrol.org Files: http://github.com/mavlink/qgroundcontrol http://github.com/mavlink/mavlink Credits: http://qgroundcontrol.org/credits ********************************************************************************************** * PLEASE NOTE: YOU NEED TO DOWNLOAD THE MAVLINK LIBRARY IN ORDER TO COMPILE THIS APPLICATION * ********************************************************************************************** Mac OS X ======== To build on Mac OS X (10.5 or later): Install SDL ----------- 1) Download SDL from: 2) From the SDL disk image, copy the `sdl.framework` bundle to `/Library/Frameworks` directory (if you are not an admin copy to `~/Library/Framewroks`) Install QT with Cocoa ---------------------- 1) Download Qt 4.6.2 with Cocoa from `http://get.qt.nokia.com/qt/source/qt-mac-cocoa-opensource-4.6.2.dmg` 2) Double click the package installer Get the MAVLINK Library ----------------------- 1) Clone the MAVLINK repository : `git clone git@github.com:pixhawk/mavlink.git`. **NOTE:** Make sure that the mavlink directory is in the same directory as groundcontrol. QGround control will look for mavlink library in ../mavlink Build QGroundControl -------------------- 1) From the terminal go to the `groundcontrol` directory 2) Run `qmake` 3) Run `xcodebuild -configuration Release` or open `qgroundcontrol.xcodeproj` in Xcode and build. Linux ===== To build on Linux: sudo apt-get install phonon libqt4-dev \ libphonon-dev libphonon4 phonon-backend-gstreamer \ qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential cd directory git clone https://github.com/mavlink/mavlink.git git clone https://github.com/mavlink/qgroundcontrol.git go to thirdParty -> libxbee Create Library -> Readme file in folder Ubuntu Application Menu -> Development -> Qt Creator QtCreator Menu File -> Open File or Project.. Open directory/qgroundcontrol/qgroundcontrol.pro Hit the green play button to compile and launch it Done. Windows ======= GNU GCC / MINGW IS UNTESTED, COULD WORK VISUAL STUDIO 2008 / 2010 EXPRESS EDITION IS FREE! Steps for Visual Studio 2008 / 2010: Windows XP/7: 1) Download and install the Qt libraries for Windows from https://qt.nokia.com/downloads/ (the Visual Studio 2008 or 2010 version as appropriate) 2) Download and install Visual Studio 2008 or 2010 Express Edition (free) from https://www.microsoft.com/visualstudio 3) Go to the QGroundControl folder and then to thirdParty/libxbee and build it following the instructions in win32.README 4) Open the Qt Command Prompt program (should be in the Start Menu), navigate to the source folder of QGroundControl and create the Visual Studio project by typing: `qmake -tp vc qgroundcontrol.pro` 5) Now start Visual Studio and load the qgroundcontrol.vcproj if using Visual Studio 2008 or qgroundcontrol.vcxproj if using Visual Studio 2010 6) Compile and edit in Visual Studio. If you need to add new files, add them to qgroundcontrol.pro and re-run `qmake -tp vc qgroundcontrol.pro Repository Layout ================= qgroundcontrol: demo-log.txt license.txt qgcunittest.pro - For the unit tests. qgcunittest.pro.user qgcvideo.pro qgroundcontrol.pri - Used by qgroundcontrol.pro qgroundcontrol.pro - Project opened in QT to run qgc. qgroundcontrol.pro.user qgroundcontrol.qrc - Holds many images. qgroundcontrol.rc - line of code to point toward the images qserialport.pri - generated by qmake. testlog.txt testlog2.txt user_config.pri - For custom message specs. data: Maps from yahoo and kinect and earth. deploy: Install and uninstall for win32. Create a debian packet. Create .DMG file for publishing for mac. Audio test on mac. doc: Doxyfile is in this directory and information for creating html documentation for qgc. files: Has the audio for the vehicle and data output. ardupilotmega: widgets and tool tips for pilot heading for the fixed wing. tooltips for quadrotor flightgear: Aircraft: Different types of planes and one jeep. Protocol: The protocol for the fixed_wings and quadrotor and quadhil.holds info about the fixed wing yaw, roll etc. Quadrotor. Agian holds info about yaw, roll etc. Pixhawk: Widgets for hexarotor. Widgets and tooltips for quadrotor. vehicles: different vehicles. Seems to hold the different kinds of aircrafts as well as files for audio and the hexarotor and quadrotor. widgets: Has a lot of widgets defined for buttons and sliders. images: For the UI. Has a bunch of different images such as images for applications or actions or buttons. lib: SDL is located in this direcotry. Msinttypes: Defines intteger types for microsoft visual studio. sdl: Information about the library and to run the library on different platforms. mavlink: The files for the library mavlink. qgcunittest: Has the unittests for qgc settings: Parameter lists for alpha, bravo and charlie. Data for stereo, waypoints and radio calibrartion. src: Code for QGCCore, audio output, configuration, waypoints, main and log compressor. apps - Code for mavlink generation and for a video application. comm - Code for linking to simulation, mavlink, udp, xbee, opal, flight gear and interface. Has other libraries. Qwt is in directory named lib. The other libraries are in libs. lib - qwt library libs - eigen, opmapcontrol, qestserialport, qtconcurrent, utils. input - joystick and freenect code. plugins - Qt project for PIXHAWK plugins. uas - Ardu pilot, UAS, mavlink factory, uas manager, interface, waypoint manager and slugs. ui - Has code for data plots, waypoint lists and window congfiguration. All of the ui code. thirdParty: Library called lxbee. Library called QSerialPort.