README 5.85 KB
Newer Older
dongfang's avatar
dongfang committed
1
maah
lm's avatar
lm committed
2
QGroundControl Open Source Micro Air Vehicle Ground Control Station
pixhawk's avatar
pixhawk committed
3

4 5 6 7
Project:
http://qgroundcontrol.org

Files:
LM's avatar
LM committed
8
http://github.com/mavlink/qgroundcontrol
9

pixhawk's avatar
pixhawk committed
10 11
Credits:
http://qgroundcontrol.org/credits
12 13


14 15
Documentation
=============
16
For generating documentation, refer to README in the doc directory.
17

18 19 20 21 22 23 24 25 26 27 28 29 30
Notes:
=====
Please make sure to delete your build folder before re-building. Independent of which 
build system you use (this is not related to Qt or your OS) the dependency checking and 
cleaning is based on the current project revision. So if you change the project and not 
doing a clean build before you do, incremental building can leave you with stale
object files.

For the current config branch 'qupgrade' has to be installed (subject to change): 

cd qgroundcontrol
git clone https://github.com/LorenzMeier/qupgrade.git

pixhawk's avatar
pixhawk committed
31

32 33 34
Mac OS X
========

35
To build on Mac OS X (10.6 or later):
36 37 38 39 40 41 42

Install SDL
-----------
1) Download SDL from:  <http://www.libsdl.org/release/SDL-1.2.14.dmg>

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`)

43 44 45
Install QT
-----------
1) Download Qt 4.8+
46 47 48

2) Double click the package installer

49 50
Build QGroundControl (use clang compiler - not gcc)
-------------------------------------
51 52
1) From the terminal go to the `groundcontrol` directory

53
2) Run `qmake qgroundcontrol.pro -r -spec unsupported/macx-clang CONFIG+=x86_64`
54

55
3) Run `make -j4`
56 57 58 59 60


Linux 
=====

61

62
To build on Linux:
63

64 65
sudo apt-get install phonon libqt4-dev \
 libphonon-dev libphonon4 phonon-backend-gstreamer \
66 67
 qtcreator libsdl1.2-dev libflite1 flite1-dev build-essential \
 libopenscenegraph-dev
68 69 70

cd directory

LM's avatar
LM committed
71
git clone https://github.com/mavlink/qgroundcontrol.git
72

73
go to libs/thirdParty -> libxbee 
oberion's avatar
oberion committed
74 75 76

Create Library -> Readme file in folder

77 78 79 80 81 82 83 84 85 86
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.

Hugo Vincent's avatar
Hugo Vincent committed
87

88 89 90
Windows
=======

91 92 93
GNU GCC / MINGW IS UNTESTED, COULD WORK
VISUAL STUDIO 2008 / 2010 EXPRESS EDITION IS FREE!

94
Steps for Visual Studio 2008 / 2010:
95

96
Windows XP/7:
97

98
1) Download and install the Qt libraries for Windows from https://qt.nokia.com/downloads/ (the Visual Studio 2008 or 2010 version as appropriate)
oberion's avatar
oberion committed
99

100
2) Download and install Visual Studio 2008 or 2010 Express Edition (free) from https://www.microsoft.com/visualstudio. If using Visual Studio 2010, make sure you are running at least SP1. There is a linking error you'll encounter otherwise that will prevent compilation.
oberion's avatar
oberion committed
101

102
3) Go to the QGroundControl folder and then to thirdParty/libxbee and build it following the instructions in win32.README
103

104
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:
105

106
`qmake -tp vc qgroundcontrol.pro`
107

108
5) Now start Visual Studio and load the qgroundcontrol.vcproj if using Visual Studio 2008 or qgroundcontrol.vcxproj if using Visual Studio 2010
109

110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
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 
130
	user_config.pri.dist - Custom message specs to be added here. 
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
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.
186