Coder Social home page Coder Social logo

shedino / qgroundcontrol_aq Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mpaperno/qgroundcontrol_aq

0.0 3.0 0.0 126.42 MB

AutoQuad ground control and setup application.

License: Other

Shell 0.02% TypeScript 8.03% CSS 0.16% C++ 66.54% C 20.64% Processing 0.01% Python 3.71% Objective-C 0.54% Makefile 0.03% Visual Basic 0.33%

qgroundcontrol_aq's Introduction

QGroundControl Open Source Micro Air Vehicle Ground Control Station
Modified for the AutoQuad flight controller and ESC32 motor controller.

AutoQuad Project:
http://autoquad.org

AutoQuad Forums:
http://forums.autoquad.org

AutoQuad Compiled Software and Firmware Downloads
http://autoquad.org/software-downloads/

Official QGC Project:
http://qgroundcontrol.org


BUILDING FROM SOURCE
====================

Also see http://qgroundcontrol.org/dev/start for building instructions and other details (but read here first as it is the most up-to-date and some things are specific to the AutoQuad version).

_To build without Text-To-Speech_ (and skip the corresponding optional steps below), you need to add "NO_TEXT_TO_SPEECH" to your
Qt DEFINES variable.  You can do this in the build config, or by un-commenting "#DEFINES += NO_TEXT_TO_SPEECH" in qgroundcontrol.pro.

Linux 
=====

To build on Ubuntu Linux (others are similar but might use different installer and package names; you may also need to build the Qt 4.8.4 libraries from source):

sudo apt-get install build-essential libqt4-dev qtcreator libsdl1.2-dev

Optional for Text To Speech:
 sudo apt-get install curl libasound2-dev libncurses5-dev festival festival-dev

Optional for Open Scene Graph: 
 sudo apt-get install libopenscenegraph-dev 

cd directory

git clone https://github.com/AutoQuad/qgroundcontrol.git

go to libs/thirdParty/libxbee and build the library (see README for details)

Optional for Text To Speech:
 go to libs/QtSpeech and run: sh ./get-festival.sh
 (this may produce errors during make steps, but you could try building QGC anyway)

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
USE QT CREATOR OR VISUAL STUDIO 2008 / 2010 EXPRESS EDITION, BOTH FREE!

Windows XP/7:

Prerequsites:

1) Download and install the Qt 4.8.4 (not 5.x) libraries for Windows from http://qt-project.org/downloads (the Visual Studio 2010 version).

Optional for Text To Speech:
 2) For voice support, first follow the instructions in libs/QtSpeech/INSTALL.txt (in the qgroundcontrol root folder).

 3) If you do not have Visual Studio PRO version installed, you also need the ATL MFC developer package.  The simplest way to get this is to download the Windows Driver Kit Version 7.1.0 (http://www.microsoft.com/en-us/download/details.aspx?id=11800).  Mount the ISO and run the installer, then select the "Build Environments" feature (also keep Debuggin Tools checked if it is already).  Install it to the folder of your choice (you can remove it later).  Once installed, find the inc/atl71 folder and copy the contents to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc.  Then find the lib/ATL/i386 folder and copy the contents to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib.  (For 32-bit systems, adjust the paths accordingly and then edit the path definitions in the /libs/QtSpeech/qtspeech.pri file.)


Option 1: Qt Creator with Microsoft Windows SDK

4) Download Qt Creator 2.x, also from http://qt-project.org/downloads .

5) Download and install the Windows 7.1 SDK (http://www.microsoft.com/en-us/download/details.aspx?id=8279) (Win 8 SDK might possibly work as well).

6) Go to the QGroundControl folder and then to libs/thirdParty/libxbee and build it following the instructions in win32.README

7) Run Qt Creator and open the qgroundcontrol.pro file from this project.  Adjust the build directories on the opening screen.

8) Click the Project button on the left and configure your build settings as appropriate.  You may need to edit the Qt Kits if your Qt 4.8.4 installation is not detected automatically.

9) Compile in Qt Cretor using the Build button or CTRL-B


Option 2: Visual Studio 2008/2010

4) 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.

5) Go to the QGroundControl folder and then to libs/thirdParty/libxbee and build it following the instructions in win32.README

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

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

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



Mac OS X (somewhat incomplete)
==============================

To buld a version with a working Google Earth plugin, one must use 32 bit Qt libraries. At the time of this writing, this means building the libraries from source, using the ./configure -arch x386 option.

To build on Mac OS X (10.6 or later):

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

Install QT
-----------
1) Download Qt 4.8.4 (not 5.x)

2) Double click the package installer

Build QGroundControl
--------------------
1) From the terminal go to the `groundcontrol` directory

2) Run `qmake`

3) Run `make -j8`


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.qrc - Qt resources (images, etc) index file.
	qgroundcontrol.rc - line of code to point toward the images
	qserialport.pri - generated by qmake.
	testlog.txt
	testlog2.txt 
	user_config.pri.dist - Custom message specs to be added here. 
aq:
	AutoQuad-specific support files.
data: 
	Maps from yahoo and kinect and earth. 
deploy: 
	Installer cration script 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.
libs:
	eigen, opmapcontrol, qestserialport, qtconcurrent, utils.
	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. 
	qwt:
	thirdParty: 
		Library called lxbee.
		Library called QSerialPort.
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.
		input:
			joystick and freenect code.
		plugins:
			Qt project for PIXHAWK plugins.
		qgcunittest: 
			Has the unittests for qgc
		uas:
			Ardu pilot, UAS, mavlink factory, uas manager, interface, waypoint manager and slugs.
		ui:
			All of the UI-based code (most of QGC functionality is here)...

qgroundcontrol_aq's People

Contributors

mpaperno avatar sandmen avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.