<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Olri</id>
	<title>PaparazziUAV - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Olri"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/Olri"/>
	<updated>2026-05-19T12:11:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Contributing&amp;diff=19299</id>
		<title>Contributing</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Contributing&amp;diff=19299"/>
		<updated>2014-12-17T10:56:13Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to contribute ==&lt;br /&gt;
&lt;br /&gt;
It would be fantastic if you add you share to enhance the Paparazzi project. Help is always very welcome for aspects of the project. May this be documentation, wiki, maintenance, electronics or code contributions and fixes. There are lots of ways to contribute to Paparazzi and get involved. &lt;br /&gt;
&lt;br /&gt;
This page will give you a headstart to be able to contribute.&lt;br /&gt;
&lt;br /&gt;
=== Wiki ===&lt;br /&gt;
&lt;br /&gt;
Just create an account and you can start adding information, cleaning it up or just fixing some typo you just noticed :-)&lt;br /&gt;
&lt;br /&gt;
Some information and links on how to edit the wiki can be found at [[Help:Editing]].&lt;br /&gt;
&lt;br /&gt;
Please be aware of past edits and page histories. Try not to remove this; if you are moving/renaming a page, use the '''move''' tab at the top of a page. This ensures the revision history is moved with the page.&lt;br /&gt;
&lt;br /&gt;
=== Software development ===&lt;br /&gt;
&lt;br /&gt;
[[File:AGoodCombinationSTM32ProgressnDebugging.jpg|300px|thumb|Left|Learning Tools]]&lt;br /&gt;
&lt;br /&gt;
We use the distributed version control system [http://git-scm.com/ git]. The [http://github.com/paparazzi/paparazzi/ Papaprazzi master repository is hosted on Github].&lt;br /&gt;
&lt;br /&gt;
Also see the [[Git|Git wiki page]] for more details about setting up Git and cloning the source-code and data repository.&lt;br /&gt;
&lt;br /&gt;
Please also have a look at the [http://docs.paparazziuav.org/latest/styleguide.html Coding Style Guide].&lt;br /&gt;
&lt;br /&gt;
Here is the short version if you already know git:&lt;br /&gt;
# Create an account on [http://github.com/ github].&lt;br /&gt;
# Fork the [http://github.com/paparazzi/paparazzi/ papaprazzi repo] on github. (After logging in press the '''fork''' button).&lt;br /&gt;
# If you want to clone with SSH (read-write): '''git clone git@github.com:&amp;lt;yourname&amp;gt;/paparazzi.git'''&amp;lt;br/&amp;gt;Or with HTTPS (read-only): '''git clone &amp;lt;nowiki&amp;gt;https://github.com/&amp;lt;yourname&amp;gt;/paparazzi.git&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
# '''git remote add upstream &amp;lt;nowiki&amp;gt;https://github.com/paparazzi/paparazzi.git&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
# '''git fetch upstream'''&lt;br /&gt;
# checkout a new branch based on the development branch (master):&amp;lt;br/&amp;gt;'''git checkout -b my_new_feature upstream/master'''&lt;br /&gt;
# fix/code and commit in logical units (with a [http://bit.ly/goodcommitmessages good commit message])&lt;br /&gt;
# push your feature/bugfix branch&lt;br /&gt;
# Send us a [http://help.github.com/pull-requests/ pull request] on github. (Or send patches to the mailing list).&lt;br /&gt;
&lt;br /&gt;
=== Defects and Features ===&lt;br /&gt;
To report Paparazzi defect, various issues and to submit a feature request use the simple [https://github.com/paparazzi/paparazzi/issues issue tracker on github].&lt;br /&gt;
&lt;br /&gt;
=== Continuous Integration Builds ===&lt;br /&gt;
There is a [http://buildbot.paparazziuav.org/waterfall build server] running quite some [[Builds/Tests|Continuous Integration tests]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=DevGuide/GDB_OpenOCD_Debug&amp;diff=14425</id>
		<title>DevGuide/GDB OpenOCD Debug</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=DevGuide/GDB_OpenOCD_Debug&amp;diff=14425"/>
		<updated>2013-02-13T15:51:42Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* Procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JTAG adapters ==&lt;br /&gt;
Recently some new [[JTAG]] adapters that use the FTDI2232 USB-parallel converter were introduced through OpenOCD (you can try your Wiggler with that, too). USB JTAG adapters include Floss-JTAG, Olimex or Amontec and also fine with Windows (Yagarto).&lt;br /&gt;
&lt;br /&gt;
'''Also see [[DevGuide/OpenOCD]] for installation and configuration instructions.'''&lt;br /&gt;
&lt;br /&gt;
== Debugging with GDB over JTAG ==&lt;br /&gt;
=== Procedure ===&lt;br /&gt;
# Start openocd in a new shell since this process needs to remain running.&lt;br /&gt;
#* STM targets&lt;br /&gt;
#: To connect to the Lisa/L board run the command&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/lisa-l.cfg -f board/lisa-l.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:   To connect to the Lisa/M board via FLOSS-JTAG run the command:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/flossjtag.cfg -f board/lisa-l.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* NXP LPC targets&lt;br /&gt;
#:   To connect to the LPC based board via OLIMEX ARM-USB-OCD dongle run the command:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/olimex-arm-usb-ocd.cfg -f target/lpc2148.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:   To connect to the LPC based board via OLIMEX ARM-USB-OCD-H dongle run the command:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/olimex-arm-usb-ocd-h.cfg -f target/lpc2148.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Compiler Debug Options&lt;br /&gt;
#: On LPC target build your ap file with debug options. See https://github.com/elemhsb/paparazzi/blob/v4.0/conf/Makefile.lpc21 .&lt;br /&gt;
&lt;br /&gt;
# Start GDB with an argument of the elf file created and uploaded to the board.&lt;br /&gt;
#: If you programmed with the ap target then the command would be along the lines of&lt;br /&gt;
#:&amp;lt;pre&amp;gt;/opt/paparazzi/arm-multilib/bin/arm-none-eabi-gdb var/&amp;lt;airframe&amp;gt;/ap/ap.elf&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Replace &amp;lt;airframe&amp;gt; with the name of the airframe that has been built.&lt;br /&gt;
&lt;br /&gt;
# Now connect GDB to the board &lt;br /&gt;
#:&amp;lt;pre&amp;gt;target remote localhost:3333&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now we need to set some break points in the code.&lt;br /&gt;
#: In this example the ap target was part of the rotorcraft and main.c contains the main program. Open rotorcraft sw/airborne/firmwares/rotorcraft/main.c and find a line at which you'd like to set a break point.&lt;br /&gt;
#: &amp;lt;pre&amp;gt;break main.c:113&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Stop the currently running code&lt;br /&gt;
#: &amp;lt;pre&amp;gt;monitor reset halt&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reset the code back to the start&lt;br /&gt;
#: &amp;lt;pre&amp;gt;monitor reset init&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now we can run the program which will stop at the break point we set.&lt;br /&gt;
#:&amp;lt;pre&amp;gt;continue&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Black Magic Probe ===&lt;br /&gt;
# Start GDB for arm&lt;br /&gt;
#: Open GDB with the correct binary file&lt;br /&gt;
#:&amp;lt;pre&amp;gt;/opt/paparazzi/arm-multilib/bin/arm-none-eabi-gdb ./var/AIRFRAME/ap/ap.elf&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Set Black Magic Probe as Target over the serial link (see ls /dev/ttyACM*):&lt;br /&gt;
#:&amp;lt;pre&amp;gt;target extended-remote /dev/ttyACM0&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Probe via JTAG to get a list of devices:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;mon jtag_scan&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Attach to a device:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;attach 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Happy Debugging!&lt;br /&gt;
&lt;br /&gt;
-this information was merged from:&lt;br /&gt;
--ht tp :// sourceforge. net/apps/mediawiki/blackmagicdebug/index.php?title=Main_Page&lt;br /&gt;
--[[JTAG]]&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
* We probably want to ignore the interrupt calls for the moment so we can step through the code as it's being called. Note that we don't always want to do this. (STM32 command only)&lt;br /&gt;
*:&amp;lt;pre&amp;gt;monitor cortex_m3 maskisr on&amp;lt;/pre&amp;gt;&lt;br /&gt;
* A stack trace can be printed with the command&lt;br /&gt;
*:&amp;lt;pre&amp;gt;bt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* show the variable of a variable&lt;br /&gt;
*:&amp;lt;pre&amp;gt;print i2c1.status&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Show (eXamine) the value of the 9 bytes hardware register at address 0x40005800 and show them in hex format:&lt;br /&gt;
*:&amp;lt;pre&amp;gt;x/9x 0x40005800&amp;lt;/pre&amp;gt;&lt;br /&gt;
* In some cases you may not be able to access some memory areas in the mcu, in that case you should try:&lt;br /&gt;
*:&amp;lt;pre&amp;gt;set mem inaccessible-by-default off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commands can often be issued without typing the entire command. Here are some commonly used commands; many of them can be invoked using only the first letter:&lt;br /&gt;
 (gdb) quit – exit the debugger&lt;br /&gt;
 (gdb) file – load an executable file&lt;br /&gt;
 (gdb) break line-number/function name -- Set a break-point on a line/at start of function&lt;br /&gt;
 (gdb) run &amp;lt;args&amp;gt; -- start running the program; if there are command-line arguments, put them after the run invocation&lt;br /&gt;
 (gdb) cont -- continue running, after a break&lt;br /&gt;
 (gdb) next -- Next program line (step over function calls)&lt;br /&gt;
 (gdb) step -- Step into function calls.&lt;br /&gt;
 (gdb) finish - Step out of the present function&lt;br /&gt;
 (gdb) print expression -- Show value of a variable or expression&lt;br /&gt;
 (gdb) list – List 10 lines of the program being debugged. The sixth line is the preset statement. Subsequent, consecutive entry of list will list the next 10 lines.&lt;br /&gt;
 (gdb) where – obtain a backtrace showing all function calls before the current statement&lt;br /&gt;
 (gdb) up – Move to the function that called the present function. Useful if your program crashes in a library function; use up to get to the last function call in your program&lt;br /&gt;
 (gdb) down – Reverses the action of up&lt;br /&gt;
 (gdb) delete – Removes breakpoint by number (see example following). If no number, all deleted.&lt;br /&gt;
 (gdb) kill – Terminates the program.&lt;br /&gt;
&lt;br /&gt;
=== Setting up .gdbinit for BMP and gdb-regview ===&lt;br /&gt;
If you use gdb just with a BMP, you can set some initialization commands in ~/.gdbinit that will run when gdb is started, improving workflow.&lt;br /&gt;
&lt;br /&gt;
A very useful plug-in called gdb-regview [https://github.com/fnoble/gdb-regview (available on GitHub)] can really speedup debugging stm32 processors by providing a pretty-printed summary of register contents.&lt;br /&gt;
&lt;br /&gt;
A sample file for debugging Lisa/M 2.0 would be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set target-async on&lt;br /&gt;
set mem inaccessible-by-default off&lt;br /&gt;
#for gdb-regview plugin&lt;br /&gt;
source /path/to/gdb-regview/gdb-regview.py&lt;br /&gt;
regview load /path/to/gdb-regview/defs/STM32F10X_CL.xml&lt;br /&gt;
tar ext /dev/BMP_DEVICE&lt;br /&gt;
mon version&lt;br /&gt;
mon swdp_scan&lt;br /&gt;
att 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should be saved in &amp;lt;tt&amp;gt;~/.gdbinit&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then, after one starts gdb as described above, you can view registers easily, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) regview show ADC_CR1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Easily load new binaries from inside gdb with BMP ===&lt;br /&gt;
It is also easy to rebuild and reload a program from inside gdb. Calling make from the gdb command line will call make in your current directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) make&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To load a new elf file into gdb after compiling elsewhere (only required when changing the name of the file):&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) file file_name.elf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To upload the binary as per the currently loaded elf:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) load&amp;lt;/pre&amp;gt;&lt;br /&gt;
This assumes you have attached to the target already (as per the .gdbinit example just above).&lt;br /&gt;
&lt;br /&gt;
To restart the program from the beginning:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) run&amp;lt;/pre&amp;gt;&lt;br /&gt;
and enter &amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
gdb should detect that the elf has changed when loading the new binary, so if the file name has not changed, one should just be able to rebuild (make from inside gdb if appropriate) and then call load and run.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]] [[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=DevGuide/GDB_OpenOCD_Debug&amp;diff=14424</id>
		<title>DevGuide/GDB OpenOCD Debug</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=DevGuide/GDB_OpenOCD_Debug&amp;diff=14424"/>
		<updated>2013-02-13T15:18:11Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* Procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JTAG adapters ==&lt;br /&gt;
Recently some new [[JTAG]] adapters that use the FTDI2232 USB-parallel converter were introduced through OpenOCD (you can try your Wiggler with that, too). USB JTAG adapters include Floss-JTAG, Olimex or Amontec and also fine with Windows (Yagarto).&lt;br /&gt;
&lt;br /&gt;
'''Also see [[DevGuide/OpenOCD]] for installation and configuration instructions.'''&lt;br /&gt;
&lt;br /&gt;
== Debugging with GDB over JTAG ==&lt;br /&gt;
=== Procedure ===&lt;br /&gt;
# Start openocd in a new shell since this process needs to remain running.&lt;br /&gt;
#* STM targets&lt;br /&gt;
#: To connect to the Lisa/L board run the command&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/lisa-l.cfg -f board/lisa-l.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:   To connect to the Lisa/M board via FLOSS-JTAG run the command:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/flossjtag.cfg -f board/lisa-l.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* NXP LPC targets&lt;br /&gt;
#:   To connect to the LPC based board via OLIMEX ARM-USB-OCD dongle run the command:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/olimex-arm-usb-ocd.cfg -f target/lpc2148.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:   To connect to the LPC based board via OLIMEX ARM-USB-OCD-H dongle run the command:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;openocd -f interface/olimex-arm-usb-ocd-h.cfg -f target/lpc2148.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Start GDB with an argument of the elf file created and uploaded to the board.&lt;br /&gt;
#: If you programmed with the ap target then the command would be along the lines of&lt;br /&gt;
#:&amp;lt;pre&amp;gt;/opt/paparazzi/arm-multilib/bin/arm-none-eabi-gdb var/&amp;lt;airframe&amp;gt;/ap/ap.elf&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Replace &amp;lt;airframe&amp;gt; with the name of the airframe that has been built.&lt;br /&gt;
# Now connect GDB to the board &lt;br /&gt;
#:&amp;lt;pre&amp;gt;target remote localhost:3333&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now we need to set some break points in the code.&lt;br /&gt;
#: In this example the ap target was part of the rotorcraft and main.c contains the main program. Open rotorcraft sw/airborne/firmwares/rotorcraft/main.c and find a line at which you'd like to set a break point.&lt;br /&gt;
#: &amp;lt;pre&amp;gt;break main.c:113&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Stop the currently running code&lt;br /&gt;
#: &amp;lt;pre&amp;gt;monitor reset halt&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Reset the code back to the start&lt;br /&gt;
#: &amp;lt;pre&amp;gt;monitor reset init&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now we can run the program which will stop at the break point we set.&lt;br /&gt;
#:&amp;lt;pre&amp;gt;continue&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Black Magic Probe ===&lt;br /&gt;
# Start GDB for arm&lt;br /&gt;
#: Open GDB with the correct binary file&lt;br /&gt;
#:&amp;lt;pre&amp;gt;/opt/paparazzi/arm-multilib/bin/arm-none-eabi-gdb ./var/AIRFRAME/ap/ap.elf&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Set Black Magic Probe as Target over the serial link (see ls /dev/ttyACM*):&lt;br /&gt;
#:&amp;lt;pre&amp;gt;target extended-remote /dev/ttyACM0&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Probe via JTAG to get a list of devices:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;mon jtag_scan&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: Attach to a device:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;attach 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Happy Debugging!&lt;br /&gt;
&lt;br /&gt;
-this information was merged from:&lt;br /&gt;
--ht tp :// sourceforge. net/apps/mediawiki/blackmagicdebug/index.php?title=Main_Page&lt;br /&gt;
--[[JTAG]]&lt;br /&gt;
&lt;br /&gt;
=== Useful commands ===&lt;br /&gt;
* We probably want to ignore the interrupt calls for the moment so we can step through the code as it's being called. Note that we don't always want to do this. (STM32 command only)&lt;br /&gt;
*:&amp;lt;pre&amp;gt;monitor cortex_m3 maskisr on&amp;lt;/pre&amp;gt;&lt;br /&gt;
* A stack trace can be printed with the command&lt;br /&gt;
*:&amp;lt;pre&amp;gt;bt&amp;lt;/pre&amp;gt;&lt;br /&gt;
* show the variable of a variable&lt;br /&gt;
*:&amp;lt;pre&amp;gt;print i2c1.status&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Show (eXamine) the value of the 9 bytes hardware register at address 0x40005800 and show them in hex format:&lt;br /&gt;
*:&amp;lt;pre&amp;gt;x/9x 0x40005800&amp;lt;/pre&amp;gt;&lt;br /&gt;
* In some cases you may not be able to access some memory areas in the mcu, in that case you should try:&lt;br /&gt;
*:&amp;lt;pre&amp;gt;set mem inaccessible-by-default off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Commands can often be issued without typing the entire command. Here are some commonly used commands; many of them can be invoked using only the first letter:&lt;br /&gt;
 (gdb) quit – exit the debugger&lt;br /&gt;
 (gdb) file – load an executable file&lt;br /&gt;
 (gdb) break line-number/function name -- Set a break-point on a line/at start of function&lt;br /&gt;
 (gdb) run &amp;lt;args&amp;gt; -- start running the program; if there are command-line arguments, put them after the run invocation&lt;br /&gt;
 (gdb) cont -- continue running, after a break&lt;br /&gt;
 (gdb) next -- Next program line (step over function calls)&lt;br /&gt;
 (gdb) step -- Step into function calls.&lt;br /&gt;
 (gdb) finish - Step out of the present function&lt;br /&gt;
 (gdb) print expression -- Show value of a variable or expression&lt;br /&gt;
 (gdb) list – List 10 lines of the program being debugged. The sixth line is the preset statement. Subsequent, consecutive entry of list will list the next 10 lines.&lt;br /&gt;
 (gdb) where – obtain a backtrace showing all function calls before the current statement&lt;br /&gt;
 (gdb) up – Move to the function that called the present function. Useful if your program crashes in a library function; use up to get to the last function call in your program&lt;br /&gt;
 (gdb) down – Reverses the action of up&lt;br /&gt;
 (gdb) delete – Removes breakpoint by number (see example following). If no number, all deleted.&lt;br /&gt;
 (gdb) kill – Terminates the program.&lt;br /&gt;
&lt;br /&gt;
=== Setting up .gdbinit for BMP and gdb-regview ===&lt;br /&gt;
If you use gdb just with a BMP, you can set some initialization commands in ~/.gdbinit that will run when gdb is started, improving workflow.&lt;br /&gt;
&lt;br /&gt;
A very useful plug-in called gdb-regview [https://github.com/fnoble/gdb-regview (available on GitHub)] can really speedup debugging stm32 processors by providing a pretty-printed summary of register contents.&lt;br /&gt;
&lt;br /&gt;
A sample file for debugging Lisa/M 2.0 would be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set target-async on&lt;br /&gt;
set mem inaccessible-by-default off&lt;br /&gt;
#for gdb-regview plugin&lt;br /&gt;
source /path/to/gdb-regview/gdb-regview.py&lt;br /&gt;
regview load /path/to/gdb-regview/defs/STM32F10X_CL.xml&lt;br /&gt;
tar ext /dev/BMP_DEVICE&lt;br /&gt;
mon version&lt;br /&gt;
mon swdp_scan&lt;br /&gt;
att 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should be saved in &amp;lt;tt&amp;gt;~/.gdbinit&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then, after one starts gdb as described above, you can view registers easily, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) regview show ADC_CR1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Easily load new binaries from inside gdb with BMP ===&lt;br /&gt;
It is also easy to rebuild and reload a program from inside gdb. Calling make from the gdb command line will call make in your current directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) make&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To load a new elf file into gdb after compiling elsewhere (only required when changing the name of the file):&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) file file_name.elf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To upload the binary as per the currently loaded elf:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) load&amp;lt;/pre&amp;gt;&lt;br /&gt;
This assumes you have attached to the target already (as per the .gdbinit example just above).&lt;br /&gt;
&lt;br /&gt;
To restart the program from the beginning:&lt;br /&gt;
&amp;lt;pre&amp;gt;(gdb) run&amp;lt;/pre&amp;gt;&lt;br /&gt;
and enter &amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
gdb should detect that the elf has changed when loading the new binary, so if the file name has not changed, one should just be able to rebuild (make from inside gdb if appropriate) and then call load and run.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]] [[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=HB/v1.0&amp;diff=11476</id>
		<title>HB/v1.0</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=HB/v1.0&amp;diff=11476"/>
		<updated>2012-02-07T13:50:47Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* Hardware Source Files */ server down, only on request.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HB_Autopilot Solutions ==&lt;br /&gt;
&lt;br /&gt;
==HB-Autopilot V1.0==&lt;br /&gt;
The HB_Autopilot V1.0 hardware was built in Bremen based on [[Tiny/v1.3|Tiny 1.3]] and [[Tiny/v2.2|Tiny 2.2]] hardware. &lt;br /&gt;
It uses like booz a mcu and sensor pcb. The sensor pcb has same extensions to the booz pcb: temperature sensor pressure sensor with 24Bit ADC and difference pressure sensor. It can be used for a fixed wing aircraft or work with quadrocopters or helicopters.&lt;br /&gt;
&lt;br /&gt;
'''Source:''' http://www.akaflieg.hs-bremen.de&lt;br /&gt;
'''Andreas Dei Report:''' http://www.akaflieg.hs-bremen.de/download/HB-Autopilot.pdf&lt;br /&gt;
&lt;br /&gt;
== HB_Autopilot Images ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:hb_ap01.jpg|PCB mockup&lt;br /&gt;
Image:hb_ap02.jpg|PCB mockup&lt;br /&gt;
Image:hb_ap03.jpg|Top HB_Autopilot&lt;br /&gt;
Image:hb_ap04.jpg|Bottom HB_Autopilot&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Detailed Images ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:mcu_up.jpg|MCU Top&lt;br /&gt;
Image:mcu_down.jpg|MCU Bottom&lt;br /&gt;
Image:imu_up.jpg|IMU Top&lt;br /&gt;
Image:imu_down.jpg|IMU Bottom&lt;br /&gt;
Image:imu_sensors.jpg|IMU Sensors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Block Architecture ==&lt;br /&gt;
[[Image:Block_Schematic.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware Source Files==&lt;br /&gt;
&lt;br /&gt;
Hardware- and software- files can be found here: (server down, only on request.)&lt;br /&gt;
&lt;br /&gt;
== Bill Of Material ==&lt;br /&gt;
&lt;br /&gt;
For now you can see the BOM from Hardware Source Files.&lt;br /&gt;
&lt;br /&gt;
== Authors ==&lt;br /&gt;
&lt;br /&gt;
'''Team staff:'''&lt;br /&gt;
    Heinrich Warmers  hwarmers at hs-bremen.de&lt;br /&gt;
    Oliver Riesener   oliver.riesener at hs-bremen.de&lt;br /&gt;
&lt;br /&gt;
'''Student work:'''&lt;br /&gt;
    Andreas Dei       andreas.dei at gmx.de    &lt;br /&gt;
    Thu Nguyen&lt;br /&gt;
    Christoph Niemann&lt;br /&gt;
    Henning Sauerland&lt;br /&gt;
    Malte Lorbach&lt;br /&gt;
    Arthur Neumann&lt;br /&gt;
    Johannes Behn&lt;br /&gt;
&lt;br /&gt;
'''Authors of external sources:'''&lt;br /&gt;
    Killagreg&lt;br /&gt;
    R O SoftWare&lt;br /&gt;
    Michael Walter&lt;br /&gt;
    Ralf Corsepius&lt;br /&gt;
    KEIL ELEKTRONIK GmbH&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=11475</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=11475"/>
		<updated>2012-02-07T13:43:01Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* Paparazzi teams/users/contributors */ Remove link, it was obsolate.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Project Page ==&lt;br /&gt;
&lt;br /&gt;
The Paparazzi project hosts &lt;br /&gt;
&lt;br /&gt;
* The software repository on [https://github.com/paparazzi/paparazzi github]. &lt;br /&gt;
* On [https://savannah.nongnu.org/projects/paparazzi/ Savannah] the mailing list&lt;br /&gt;
* Hardware via the paparazzi-hardware [https://github.com/paparazzi/paparazzi-hardware/ repository]&lt;br /&gt;
&lt;br /&gt;
Get your files and additional information there, and have fun improving.&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
  Network: Freenode&lt;br /&gt;
  Network Host: irc.freenode.net&lt;br /&gt;
  Channel: #paparazzi&lt;br /&gt;
&lt;br /&gt;
* Web Based:  You can use a [http://embed.mibbit.com/?server=irc.freenode.net&amp;amp;channel=%23paparazzi&amp;amp;noServerNotices=true web-based IRC portal] that makes it easy for people to jump in from any computer. Simply enter a unique ''nickname'', and '''say hello''' to the team!&lt;br /&gt;
* Client Software: Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi #paparazzi] at the top of your favorites list!&lt;br /&gt;
*: [http://www.mirc.com mIRC] (Windows)&lt;br /&gt;
*: [http://www.xchat.org Xchat]&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Blog ==&lt;br /&gt;
There is a blog about Paparazzi and related things at [http://paparazziuav.org paparazziuav.org].&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
If the mailing list would not be sufficient, a new Paparazzi specific forum will be available in the end of August 2010 to be found at http://www.openuas.org/forum/ . If you would like to have beta access send a mail to openuas at gmail (anda dottyhere) com&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Youtube and Other Video Site Links ==&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/user/USUOSAM&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/user/aerovistapunktch&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/user/PPZUAV&lt;br /&gt;
&lt;br /&gt;
== Paparazzi teams/users/contributors ==&lt;br /&gt;
&lt;br /&gt;
http://www.caughey.com/uavblog/news.php?id=1&lt;br /&gt;
&lt;br /&gt;
http://www.miraterre.com/index.html&lt;br /&gt;
&lt;br /&gt;
http://mecano.gme.usherb.ca/~vamudes/&lt;br /&gt;
&lt;br /&gt;
http://pfump.org&lt;br /&gt;
&lt;br /&gt;
http://www.akaflieg.hs-bremen.de/&lt;br /&gt;
&lt;br /&gt;
http://www.engr.usu.edu/wiki/index.php/OSAM&lt;br /&gt;
&lt;br /&gt;
http://www.techhopups.com/&lt;br /&gt;
&lt;br /&gt;
http://pixhawk.ethz.ch&lt;br /&gt;
&lt;br /&gt;
http://www.rcgroups.com/forums/showthread.php?t=851820&lt;br /&gt;
&lt;br /&gt;
http://www.rcgroups.com/forums/showthread.php?t=1000937&lt;br /&gt;
&lt;br /&gt;
http://www.mannberg.co.uk/paparazzi/&lt;br /&gt;
&lt;br /&gt;
http://www.rcgroups.com/forums/showthread.php?t=1183008&lt;br /&gt;
&lt;br /&gt;
http://www.openuas.org/&lt;br /&gt;
&lt;br /&gt;
http://vrhome.net/vassilis/category/paparazzi/&lt;br /&gt;
&lt;br /&gt;
http://y-uav.com&lt;br /&gt;
&lt;br /&gt;
http://www.umars.ch&lt;br /&gt;
&lt;br /&gt;
== WikiNode ==&lt;br /&gt;
&lt;br /&gt;
Related wiki are, as always, listed on the [[WikiNode]].&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&amp;diff=9264</id>
		<title>Installation/Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&amp;diff=9264"/>
		<updated>2011-04-07T21:19:47Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* From the Command Line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux] or even Apple Macintosh running [[InstallationMacOSX|Mac OS X]].&lt;br /&gt;
&lt;br /&gt;
At a high-level here are the steps required to install Paparazzi:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install a current Linux distribution (Ubuntu Maverick is recommended at the moment).&lt;br /&gt;
&amp;lt;li&amp;gt;The Paparazzi packages are installed using Synaptic Package Manager.&lt;br /&gt;
&amp;lt;li&amp;gt;Download the sources from the git repository.&lt;br /&gt;
&amp;lt;li&amp;gt;Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi; export PAPARAZZI_SRC=~/paparazzi; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the binaries from the sources (cd paparazzi &amp;amp;&amp;amp; make)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That's all.&lt;br /&gt;
&lt;br /&gt;
=== Operating System ===&lt;br /&gt;
&lt;br /&gt;
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.&lt;br /&gt;
&lt;br /&gt;
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, [http://paparazzi.enac.fr/wiki/InstallationMacOSX OS X], Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.&lt;br /&gt;
&lt;br /&gt;
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.&lt;br /&gt;
&lt;br /&gt;
=== Compilers and Handlers ===&lt;br /&gt;
&lt;br /&gt;
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. &lt;br /&gt;
&lt;br /&gt;
=== Source Code ===&lt;br /&gt;
&lt;br /&gt;
The Paparazzi source code is hosted by [https://github.com/paparazzi/paparazzi Github]. It is downloaded using [[git]].&lt;br /&gt;
&lt;br /&gt;
== Installation of Compilers and Handlers ==&lt;br /&gt;
&lt;br /&gt;
=== Using Synaptic Package Manager ===&lt;br /&gt;
* Launch ''Synaptic Package Manager'' (Menu '''System/Administration''')&lt;br /&gt;
* In '''Settings/Repositories''', add a new repository (Software Source) in the tab '''Other Software''':&amp;lt;br&amp;gt;APT line: &amp;lt;tt&amp;gt;deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; maverick main&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;This APT line works for Ubuntu Maverick/10.10. For other Ubuntu versions adapt as described below in the command line section.&lt;br /&gt;
* Search for &amp;lt;tt&amp;gt;paparazzi-dev&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;paparazzi-arm7&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;paparazzi-stm32&amp;lt;/tt&amp;gt; packages (use the ''Search'' button)&lt;br /&gt;
* Mark them for installation (right-click on package names)&lt;br /&gt;
* Left-click on ''Apply''&lt;br /&gt;
&lt;br /&gt;
=== From the Command Line ===&lt;br /&gt;
&lt;br /&gt;
If the Synaptic Package Manager doesn't work for you, you can alternatively use the command line:&lt;br /&gt;
&lt;br /&gt;
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. &lt;br /&gt;
&lt;br /&gt;
Just add the following lines to your repository list (&amp;lt;b&amp;gt;/etc/apt/sources.list&amp;lt;/b&amp;gt;) and then&lt;br /&gt;
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):&lt;br /&gt;
&lt;br /&gt;
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:&lt;br /&gt;
&lt;br /&gt;
 gksudo gedit /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
{{Box Code|/etc/apt/sources.list|&lt;br /&gt;
 # Uncomment just _one_ of the following lines - depending on your OS version&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/debian&amp;lt;/nowiki&amp;gt; etch main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/debian&amp;lt;/nowiki&amp;gt; lenny main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/debian&amp;lt;/nowiki&amp;gt; squeeze main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; gutsy main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; hardy main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; intrepid main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; jaunty main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; karmic main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; lucid main&lt;br /&gt;
 # deb &amp;lt;nowiki&amp;gt;http://paparazzi.enac.fr/ubuntu&amp;lt;/nowiki&amp;gt; maverick main&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then, update your sources and install the dependencies needed for recompiling from the source (&amp;lt;b&amp;gt;dev&amp;lt;/b&amp;gt;), and the cross-compilers (&amp;lt;b&amp;gt;arm7&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;stm32&amp;lt;/b&amp;gt; or both) :&lt;br /&gt;
&lt;br /&gt;
For ARM7 (i.e. Tiny or TWOG boards) :&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-arm7&lt;br /&gt;
 -- or newerdays --&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-lpc21&lt;br /&gt;
&lt;br /&gt;
For STM32 (i.e. Lisa boards) :&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-stm32&lt;br /&gt;
&lt;br /&gt;
==== Obsolete Packages ====&lt;br /&gt;
Users of the older AVR based boards will also need the &amp;lt;b&amp;gt;paparazzi-avr&amp;lt;/b&amp;gt; package. It is unlikely you need it.&lt;br /&gt;
&lt;br /&gt;
==== Older Ubuntu Versions ====&lt;br /&gt;
&lt;br /&gt;
On older Linux distributions (not needed for lucid and later), the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
=== Manual Installation of Individual Packages ===&lt;br /&gt;
Users of other Linux flavors than a recent Ubuntu or anyone needing manual control of each individual package can [[Manual_Installation|install them independently]].&lt;br /&gt;
&lt;br /&gt;
== Downloading the Source Code ==&lt;br /&gt;
The complete source code should be downloaded from the paparazzi software repository on Github. Make sure you have installed the &amp;lt;tt&amp;gt;paparazzi-dev&amp;lt;/tt&amp;gt; package as described above. Whithout these you will not be able to compile the sourcecode.&lt;br /&gt;
&lt;br /&gt;
See the [https://github.com/paparazzi/paparazzi project page] at Github for more details.  From the directory of your choice type:&lt;br /&gt;
 git clone git://github.com/paparazzi/paparazzi.git&lt;br /&gt;
or if you are behind a firewall with an http proxy available:&lt;br /&gt;
 git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
This will download all of the paparazzi sourcecode need for an autopilot to work into the directory &amp;lt;tt&amp;gt;paparazzi/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''If this whole &amp;quot;Git&amp;quot; thing is new to you an you are curious, more options and information can be found on the [[git]] page.'''&lt;br /&gt;
&lt;br /&gt;
== Launching the Software ==&lt;br /&gt;
&lt;br /&gt;
The first step is to compile. From the &amp;lt;tt&amp;gt;paparazzi&amp;lt;/tt&amp;gt; directory (&amp;lt;tt&amp;gt;cd paparazzi&amp;lt;/tt&amp;gt;), run&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
You will have to run this command after each update of the source (&amp;lt;tt&amp;gt;git pull&amp;lt;/tt&amp;gt; command).&lt;br /&gt;
Launch the software from the &amp;lt;tt&amp;gt;paparazzi&amp;lt;/tt&amp;gt; directory with&lt;br /&gt;
&lt;br /&gt;
 ./paparazzi&lt;br /&gt;
&lt;br /&gt;
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.&lt;br /&gt;
&lt;br /&gt;
=== Quick Launch Icon ===&lt;br /&gt;
&lt;br /&gt;
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the Paparazzi Center follow these steps:&lt;br /&gt;
&lt;br /&gt;
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi folder&lt;br /&gt;
#Right click anywhere on the Ubuntu desktop and click Create Launcher.&lt;br /&gt;
#Enter the following in the fields provided:&lt;br /&gt;
#*Name: Paparazzi Center&lt;br /&gt;
#*Command: /home/YOUR_USER_NAME/paparazzi/paparazzi&lt;br /&gt;
#*Comment: Runs the Paparazzi Center&lt;br /&gt;
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.&lt;br /&gt;
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.&lt;br /&gt;
&lt;br /&gt;
=== Agents ===&lt;br /&gt;
&lt;br /&gt;
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:&lt;br /&gt;
{{Box Code|~/.bashrc|&lt;br /&gt;
 export PAPARAZZI_HOME&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;''your paparazzi software directory''&lt;br /&gt;
 export PAPARAZZI_SRC&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;''your paparazzi software directory''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== env Variables ===&lt;br /&gt;
&lt;br /&gt;
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:&lt;br /&gt;
 export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`&lt;br /&gt;
Verify that your variables are set correctly with the following command:&lt;br /&gt;
 env | grep PAPARAZZI&lt;br /&gt;
which should return the following:&lt;br /&gt;
 PAPARAZZI_HOME&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;''your paparazzi software directory''&lt;br /&gt;
 PAPARAZZI_SRC&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;''your paparazzi software directory''&lt;br /&gt;
&lt;br /&gt;
== Setting access rights for USB download ==&lt;br /&gt;
&lt;br /&gt;
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].&lt;br /&gt;
&lt;br /&gt;
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev &amp;quot;group&amp;quot; and then create a &amp;quot;rule&amp;quot;, associated with that &amp;quot;group&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
Make yourself a member of the ''plugdev'' group:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser &amp;lt;your login&amp;gt; plugdev&lt;br /&gt;
&lt;br /&gt;
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler.  Simply copy as root &amp;lt;tt&amp;gt;$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/etc/udev/rules.d/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
== Software Updates ==&lt;br /&gt;
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed.  Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters.  Your airframe file will not be updated by the Git system and therefore any new or modified variable names will need to be added manually.  The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on git to find the proper syntax.  See the [[Compiling]] page for more help if needed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
That said, keeping your software up to date is easy with the git system.  The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.&lt;br /&gt;
&lt;br /&gt;
To download and automatically merge any updated source files, run the following command from your Paparazzi directory&lt;br /&gt;
 git pull&lt;br /&gt;
&lt;br /&gt;
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
The ''make'' command will only recompile portions of the software where changed have been detected.  If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:&lt;br /&gt;
&lt;br /&gt;
 make clean&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
See the [[Compiling]] page for more info.&lt;br /&gt;
&lt;br /&gt;
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
== Using the Live CD ==&lt;br /&gt;
&lt;br /&gt;
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.&lt;br /&gt;
&lt;br /&gt;
== From Scratch==&lt;br /&gt;
&lt;br /&gt;
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. Currently there are no 64 bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.&lt;br /&gt;
&lt;br /&gt;
== Using 32Bit on 64Bit ==&lt;br /&gt;
&lt;br /&gt;
If you don't know what 64 bit (x86_64) means, then don't worry about this!&lt;br /&gt;
As previously discussed, there are currently no 64 bit paparazzi pre-made deb packages available. You could opt to install from scratch as described here http://paparazzi.enac.fr/wiki/Install_paparazzi_and_everything_from_scratch&lt;br /&gt;
An temporary solution is to use an i386 installation instead. In rare circumstances however, this may be problematic (certain engineering software for example requires 64 bit kernels).&lt;br /&gt;
In these cases, a chroot is a good compromise, while avoiding the overhead of a virtual machine (and USB device problems which may occur).&lt;br /&gt;
Initial instructions are here for now: https://help.ubuntu.com/community/DebootstrapChroot&lt;br /&gt;
The command you use for the bootstrap needs to reflect your architecture - I used&lt;br /&gt;
&lt;br /&gt;
  sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/lucid http://gb.archive.ubuntu.com/ubuntu/&lt;br /&gt;
&lt;br /&gt;
The format for schroot config files has changed as of lucid however - here is mine:&lt;br /&gt;
&lt;br /&gt;
  $ cat /etc/schroot/chroot.d/lucid-i386 &lt;br /&gt;
  [lucid]&lt;br /&gt;
  description=Ubuntu 10.04 Lucid for i386&lt;br /&gt;
  directory=/var/chroot/lucid&lt;br /&gt;
  personality=linux32&lt;br /&gt;
  root-users=my_user&lt;br /&gt;
  type=directory&lt;br /&gt;
  users=my_user&lt;br /&gt;
&lt;br /&gt;
Once you've installed the ubuntu minimal package, make sure you also enable the uni- and multiverse repos (the easiest way for me is to simply copy my host's /etc/apt/sources.lst to /var/chroot/lucid/etc/apt/sources.lst).&lt;br /&gt;
Then follow the standard instructions above.  You may need to manually set the PAPARAZZI_HOME and PAPARAZZI_SRC environment variables. You will also have to set the DISPLAY environment variable to :0.0 like so:&lt;br /&gt;
&lt;br /&gt;
  export DISPLAY=:0.0&lt;br /&gt;
&lt;br /&gt;
Please note, this is more advanced than the standard paparazzi installation and therefore you may encounter strange problems.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=7767</id>
		<title>Inertial Measurement Units</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=7767"/>
		<updated>2010-08-31T09:27:38Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* SparkFun Razor IMU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Paparazzi Booz IMU ==&lt;br /&gt;
&lt;br /&gt;
Work is underway to use Kalman code from the Booz project with the Tiny autopilots. The first IMU have been assembled and are being calibrated. Look for updates soon.&lt;br /&gt;
&lt;br /&gt;
The IMU will communicate over SPI with the TWOG/Tiny2.11&lt;br /&gt;
&lt;br /&gt;
[[Image:IMU001.jpg|240px]]&lt;br /&gt;
&lt;br /&gt;
Available at [https://mini.ppzuav.com/osc/product_info.php?cPath=15&amp;amp;products_id=122&amp;amp;osCsid=bq9cget2u5c7ksa6kd9ssdf03lisuksq PPZUAV].&lt;br /&gt;
&lt;br /&gt;
== 3rd Party IMU ==&lt;br /&gt;
&lt;br /&gt;
IMUs that can be used with paparazzi UAV autopilots. Share here your IMU paparazzi autopilot integration projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MicroStrain 3DM-GX2 === &lt;br /&gt;
[[Image:3DM-GX2.jpg|thumb|left|MicroStrain 3DM-GX2]]&lt;br /&gt;
&lt;br /&gt;
[http://www.microstrain.com/3dm-gx2.aspx Official website]&lt;br /&gt;
&lt;br /&gt;
More info soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xsens MTi and MTi-G (with GPS) ===&lt;br /&gt;
[[Image:MTi.jpeg|thumb|left|Xsens MTi]]&lt;br /&gt;
&lt;br /&gt;
[[Image:MTi-G.jpeg|thumb|left|Xsens MTi-G (with GPS)]]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti Official website MTi]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti-g Official website MTi-G]&lt;br /&gt;
&lt;br /&gt;
More info soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector-Nav VN-100 ===&lt;br /&gt;
[[Image:VN-100.jpg|thumb|left|Vector-Nav VN-100]]&lt;br /&gt;
&lt;br /&gt;
[http://www.vectornav.com/vn-100-features Official website]&lt;br /&gt;
&lt;br /&gt;
More infos soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ArduIMU ===&lt;br /&gt;
[[Image:ArduIMU.jpg|thumb|left|ArduIMU]]&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 Official website]&lt;br /&gt;
&lt;br /&gt;
6DOF&lt;br /&gt;
&lt;br /&gt;
Very cheap&lt;br /&gt;
&lt;br /&gt;
Has been integrated in Paparazzi by ZHAW, Winterthur, Switzerland.&lt;br /&gt;
&lt;br /&gt;
More infos soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
=== SparkFun Razor IMU ===&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMU.jpg|thumb|left|Razor IMU (top) with the tiny13 autopilot]]&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMUb.jpg|thumb|left|Razor IMU in the tiny13 autopilot box]]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/commerce/product_info.php?products_id=10010  Official website]&lt;br /&gt;
&lt;br /&gt;
6DOF - Ultra-Thin IMU&lt;br /&gt;
&lt;br /&gt;
Very cheap, currently 62-72 Euro.  [http://www.watterott.com/de/Sensoren/IMU Shop in Europe]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Has been integrated in Paparazzi by Hochschule Bremen, Germany.&lt;br /&gt;
&lt;br /&gt;
Remove the high pass filters of the RazorIMU to get better results.&lt;br /&gt;
&lt;br /&gt;
For the Twog and Tiny 2.2 autopilots you have also remove the resistors to gnd of the 5V analgoue inputs.  &lt;br /&gt;
&lt;br /&gt;
More infos are in the branch HB in the paparazzi SVN.&lt;br /&gt;
&lt;br /&gt;
[[Media:Wiring_Razor_IMU.pdf|Connections and wiring to the tiny13]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Wiring_Razor_IMU.pdf&amp;diff=7766</id>
		<title>File:Wiring Razor IMU.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Wiring_Razor_IMU.pdf&amp;diff=7766"/>
		<updated>2010-08-31T09:26:19Z</updated>

		<summary type="html">&lt;p&gt;Olri: v0.13&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;v0.13&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=7765</id>
		<title>Inertial Measurement Units</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=7765"/>
		<updated>2010-08-31T09:25:10Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* SparkFun Razor IMU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Paparazzi Booz IMU ==&lt;br /&gt;
&lt;br /&gt;
Work is underway to use Kalman code from the Booz project with the Tiny autopilots. The first IMU have been assembled and are being calibrated. Look for updates soon.&lt;br /&gt;
&lt;br /&gt;
The IMU will communicate over SPI with the TWOG/Tiny2.11&lt;br /&gt;
&lt;br /&gt;
[[Image:IMU001.jpg|240px]]&lt;br /&gt;
&lt;br /&gt;
Available at [https://mini.ppzuav.com/osc/product_info.php?cPath=15&amp;amp;products_id=122&amp;amp;osCsid=bq9cget2u5c7ksa6kd9ssdf03lisuksq PPZUAV].&lt;br /&gt;
&lt;br /&gt;
== 3rd Party IMU ==&lt;br /&gt;
&lt;br /&gt;
IMUs that can be used with paparazzi UAV autopilots. Share here your IMU paparazzi autopilot integration projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MicroStrain 3DM-GX2 === &lt;br /&gt;
[[Image:3DM-GX2.jpg|thumb|left|MicroStrain 3DM-GX2]]&lt;br /&gt;
&lt;br /&gt;
[http://www.microstrain.com/3dm-gx2.aspx Official website]&lt;br /&gt;
&lt;br /&gt;
More info soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xsens MTi and MTi-G (with GPS) ===&lt;br /&gt;
[[Image:MTi.jpeg|thumb|left|Xsens MTi]]&lt;br /&gt;
&lt;br /&gt;
[[Image:MTi-G.jpeg|thumb|left|Xsens MTi-G (with GPS)]]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti Official website MTi]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti-g Official website MTi-G]&lt;br /&gt;
&lt;br /&gt;
More info soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector-Nav VN-100 ===&lt;br /&gt;
[[Image:VN-100.jpg|thumb|left|Vector-Nav VN-100]]&lt;br /&gt;
&lt;br /&gt;
[http://www.vectornav.com/vn-100-features Official website]&lt;br /&gt;
&lt;br /&gt;
More infos soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ArduIMU ===&lt;br /&gt;
[[Image:ArduIMU.jpg|thumb|left|ArduIMU]]&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 Official website]&lt;br /&gt;
&lt;br /&gt;
6DOF&lt;br /&gt;
&lt;br /&gt;
Very cheap&lt;br /&gt;
&lt;br /&gt;
Has been integrated in Paparazzi by ZHAW, Winterthur, Switzerland.&lt;br /&gt;
&lt;br /&gt;
More infos soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
=== SparkFun Razor IMU ===&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMU.jpg|thumb|left|Razor IMU (top) with the tiny13 autopilot]]&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMUb.jpg|thumb|left|Razor IMU in the tiny13 autopilot box]]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/commerce/product_info.php?products_id=10010  Official website]&lt;br /&gt;
&lt;br /&gt;
6DOF - Ultra-Thin IMU&lt;br /&gt;
&lt;br /&gt;
Very cheap, currently 62-72 Euro.  [http://www.watterott.com/de/Sensoren/IMU Shop in Europe]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Has been integrated in Paparazzi by Hochschule Bremen, Germany.&lt;br /&gt;
&lt;br /&gt;
Remove the high pass filters of the RazorIMU to get better results.&lt;br /&gt;
&lt;br /&gt;
For the Twog and Tiny 2.2 autopilots you have also remove the resistors to gnd of the 5V analgoue inputs.  &lt;br /&gt;
&lt;br /&gt;
More infos are in the branch HB in the paparazzi SVN.&lt;br /&gt;
&lt;br /&gt;
[[Media:Razzor_imu.pdf|Connections and wiring to the tiny13]]&lt;br /&gt;
[[Media:Wiring_Razor_IMU.pdf]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=7762</id>
		<title>Inertial Measurement Units</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&amp;diff=7762"/>
		<updated>2010-08-31T08:08:45Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* SparkFun Razor IMU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Paparazzi Booz IMU ==&lt;br /&gt;
&lt;br /&gt;
Work is underway to use Kalman code from the Booz project with the Tiny autopilots. The first IMU have been assembled and are being calibrated. Look for updates soon.&lt;br /&gt;
&lt;br /&gt;
The IMU will communicate over SPI with the TWOG/Tiny2.11&lt;br /&gt;
&lt;br /&gt;
[[Image:IMU001.jpg|240px]]&lt;br /&gt;
&lt;br /&gt;
Available at [https://mini.ppzuav.com/osc/product_info.php?cPath=15&amp;amp;products_id=122&amp;amp;osCsid=bq9cget2u5c7ksa6kd9ssdf03lisuksq PPZUAV].&lt;br /&gt;
&lt;br /&gt;
== 3rd Party IMU ==&lt;br /&gt;
&lt;br /&gt;
IMUs that can be used with paparazzi UAV autopilots. Share here your IMU paparazzi autopilot integration projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MicroStrain 3DM-GX2 === &lt;br /&gt;
[[Image:3DM-GX2.jpg|thumb|left|MicroStrain 3DM-GX2]]&lt;br /&gt;
&lt;br /&gt;
[http://www.microstrain.com/3dm-gx2.aspx Official website]&lt;br /&gt;
&lt;br /&gt;
More info soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Xsens MTi and MTi-G (with GPS) ===&lt;br /&gt;
[[Image:MTi.jpeg|thumb|left|Xsens MTi]]&lt;br /&gt;
&lt;br /&gt;
[[Image:MTi-G.jpeg|thumb|left|Xsens MTi-G (with GPS)]]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti Official website MTi]&lt;br /&gt;
&lt;br /&gt;
[http://www.xsens.com/en/general/mti-g Official website MTi-G]&lt;br /&gt;
&lt;br /&gt;
More info soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector-Nav VN-100 ===&lt;br /&gt;
[[Image:VN-100.jpg|thumb|left|Vector-Nav VN-100]]&lt;br /&gt;
&lt;br /&gt;
[http://www.vectornav.com/vn-100-features Official website]&lt;br /&gt;
&lt;br /&gt;
More infos soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ArduIMU ===&lt;br /&gt;
[[Image:ArduIMU.jpg|thumb|left|ArduIMU]]&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 Official website]&lt;br /&gt;
&lt;br /&gt;
6DOF&lt;br /&gt;
&lt;br /&gt;
Very cheap&lt;br /&gt;
&lt;br /&gt;
Has been integrated in Paparazzi by ZHAW, Winterthur, Switzerland.&lt;br /&gt;
&lt;br /&gt;
More infos soon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
=== SparkFun Razor IMU ===&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMU.jpg|thumb|left|Razor IMU (top) with the tiny13 autopilot]]&lt;br /&gt;
&lt;br /&gt;
[[Image:RazzorIMUb.jpg|thumb|left|Razor IMU in the tiny13 autopilot box]]&lt;br /&gt;
&lt;br /&gt;
[http://www.sparkfun.com/commerce/product_info.php?products_id=10010  Official website]&lt;br /&gt;
&lt;br /&gt;
6DOF - Ultra-Thin IMU&lt;br /&gt;
&lt;br /&gt;
Very cheap, currently 62-72 Euro.  [http://www.watterott.com/de/Sensoren/IMU Shop in Europe]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Has been integrated in Paparazzi by Hochschule Bremen, Germany.&lt;br /&gt;
&lt;br /&gt;
Remove the high pass filters of the RazorIMU to get better results.&lt;br /&gt;
&lt;br /&gt;
For the Twog and Tiny 2.2 autopilots you have also remove the resistors to gnd of the 5V analgoue inputs.  &lt;br /&gt;
&lt;br /&gt;
More infos are in the branch HB in the paparazzi SVN.&lt;br /&gt;
&lt;br /&gt;
[[Media:Razzor_imu.pdf|Connections and wiring to the tiny13]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Sensors/GPS&amp;diff=3267</id>
		<title>Sensors/GPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Sensors/GPS&amp;diff=3267"/>
		<updated>2008-03-12T08:39:07Z</updated>

		<summary type="html">&lt;p&gt;Olri: /* EMTAC 18mm Patch */  typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=right&lt;br /&gt;
|-&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
[[Image:U-blox_color_warm_60.gif|100px]]&lt;br /&gt;
&lt;br /&gt;
Paparazzi autopilots are designed around the popular [http://www.u-blox.com u-blox] brand of receivers.&lt;br /&gt;
&lt;br /&gt;
*Features:&lt;br /&gt;
**Small size&lt;br /&gt;
**Excellent performance&lt;br /&gt;
**4Hz position update rate&lt;br /&gt;
&lt;br /&gt;
The '''[[Tiny]]''' features an onboard LEA series GPS receiver and patch antenna, while '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards require an external receiver+antenna such as the [[#Paparazzi_Stand-alone_GPS_Receivers|Paparazzi GPS]] or [[#u-Blox_SAM-LS_GPS_Smart_Antenna|SAM-LS]].  Please note that the receivers must be configured (prior to use with the autopilot) as indicated below. Both modules have proven reliable and robust. &lt;br /&gt;
&lt;br /&gt;
{|align = center&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:Lea big.jpg|200px|thumb|center|u-blox LEA GPS Receiver]]&lt;br /&gt;
|[[Image:Ublox_SAM-LS.jpg|200px|thumb|center|u-blox SAM-LS GPS receiver (w/built-in Smart Antenna)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The proprietary UBX protocol is used as it offers more information and efficiency than the universal NMEA protocol.  The protocol is parsed in &amp;lt;tt&amp;gt;sw/airborne/gps_ubx.c&amp;lt;/tt&amp;gt;.  Other GPS brands would require a similar parsing file to be written for NMEA or other proprietary protocols.    &lt;br /&gt;
&lt;br /&gt;
==GPS Receivers==&lt;br /&gt;
&lt;br /&gt;
===u-Blox LEA Series Receivers===&lt;br /&gt;
[[Image:Lea big.jpg|100px|thumb|right|u-blox LEA]]&lt;br /&gt;
The '''[[Tiny]]''' and Paparazzi stand-alone GPS currently use the [http://www.u-blox.com/products/lea_4p.html u-blox LEA-4P] featuring [http://www.u-blox.com/technology/antaris4/index.html Antaris-4] technology and uBlox's more efficient UBX binary protocol.  This module is a surface mount package which is soldered directly onto the PCB (Tiny or Paparazzi GPS).  An external battery backup (capacitor) is used to enable the GPS to retain data while powered off for significantly faster signal re-aquisition.  Any of the LEA-4x series receivers can be used including the less expensive LEA-4A and 4S models as the special boot configuration code required for these models is already written.&lt;br /&gt;
&lt;br /&gt;
*4Hz Position update rate&lt;br /&gt;
*Supports active or passive antennas&lt;br /&gt;
*Supports [http://en.wikipedia.org/wiki/DGPS DGPS], [http://en.wikipedia.org/wiki/WAAS WAAS], [http://en.wikipedia.org/wiki/EGNOS EGNOS], and [http://en.wikipedia.org/wiki/MSAS MSAS]&lt;br /&gt;
&lt;br /&gt;
[[Image:TINY_1.3_MCU_BOTTOM.JPG|thumb|center|250px|LEA-4P installed on the Tiny]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Paparazzi Stand-alone GPS Receivers===&lt;br /&gt;
There are currently two (LEA-based) stand-alone, GPS receiver + antenna, prototype boards in development; the first one is based on the Sangshin 13mm patch antenna. The second is based on the Sarantel helix antenna.  Drawings for both are available from the [http://cvs.savannah.gnu.org/viewcvs/paparazzi/paparazzi3/hw/ CVS]&lt;br /&gt;
Another alternative is the NAVILOCK NL-507TTL u-blox TTL Modul 60416 which is availible for 28€ (amazon.de).&lt;br /&gt;
&lt;br /&gt;
===u-Blox SAM-LS GPS Smart Antenna===&lt;br /&gt;
[[Image:Ublox_SAM-LS.jpg|100px|thumb|right|u-blox SAM-LS]]&lt;br /&gt;
The '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards use a stand alone module from u-blox called the SAM-LS. It is an integrated TIM-LP module with a ceramic patch antenna. This processor also runs on 4hz and must be configured to use the UBX protocol. With battery backup (3V watch battery) they show hot starts of around a couple seconds. The LEA-LA processor weighs a couple grams and the complete the SAM-LS module with antenna and shielding weighs about 20grams.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Effective 12/2006 u-blox has begun to phase out the SAM-LS product.  No replacement will be offered.&lt;br /&gt;
&lt;br /&gt;
====Connecting external receivers to Classix, 1.2.1, Lite, and RoboStix boards====&lt;br /&gt;
&lt;br /&gt;
The u-blox receivers require 3.3v power and all current models have 5V tolerant data lines. The best way to connect to the SAM-LS is to remove the bottom case and solder the 4 wires directly to the TIM-LL module (GND (pin 1) ,VCC (pin 2),TX (Pin 5),RX (pin 4)) check the TIM-LL datasheet for pinout diagrams.  The Classix and Lite boards feature a 3.3V regulator to power the GPS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sourcing from u-blox===&lt;br /&gt;
&lt;br /&gt;
u-blox keeps tight control over the distribution of their products.  They must be obtained DIRECTLY from their own reseller offices.  These offices may not be available in your area, for example Canada does not have a reseller.  Sample quantities can be obtained from uBlox but overnight or 2 day shipping is required which drives the cost up considerably.  While it is a large hassle obtaining these devices, it is undoubtedly worth it.&lt;br /&gt;
&lt;br /&gt;
===Other potential source of u-blox GPS===&lt;br /&gt;
&lt;br /&gt;
There seems to be a few alternative source of u-blox GPS out there. They are considerably cheaper then the samples u-blox offers (at least in america). We didn't buy from these sources yet. Do not take this as a recommandation, we do not know the level of service they offer, etc.&lt;br /&gt;
&lt;br /&gt;
If you do order from any of them, please update this page with your feedback.&lt;br /&gt;
&lt;br /&gt;
Here's a few link worth exploring:&lt;br /&gt;
*http://www.rfdesign.co.za/pages/5645456/Products/GPS-Products/Antaris-4-Modules.asp&lt;br /&gt;
*http://www.comet.srl.ro/shop/info.html?ID=6195&lt;br /&gt;
*http://www.expedienttech.com/product.htm&lt;br /&gt;
&lt;br /&gt;
==GPS configuration using U-Center==&lt;br /&gt;
&lt;br /&gt;
[[Image:U-center_screencap.jpg|thumb|u-center configuration software]]&lt;br /&gt;
[http://www.u-blox.com/products/u_center.html U-Center] is a very comprehensive Windows freeware program intended for the configuration and evaluation of u-blox receivers.&lt;br /&gt;
* [http://www.u-blox.com/products/u_center.html Download u-center] (password protected download, use ''paparazzi'' for username &amp;amp; password)&lt;br /&gt;
&lt;br /&gt;
* Note: You must [[Compiling#USB_flashing|install the UART tunnel]] to enable direct access to the built-in GPS on the [[Tiny|Tiny]].&lt;br /&gt;
&lt;br /&gt;
The u-blox and Tiny UARTs both operate at 3.3V TTL levels and are 5V TTL tolerant.  You must use a level shifter such as the common MAX232 to connect these devices to a standard PC serial port.  The easiest and most recommended method is to connect to a USB port instead of serial with the $20 [http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm FTDI USB-TTL converter cable] available from Digikey, Mouser, or direct from FTDI.  Other similar converters are available from [http://www.pololu.com/products/pololu/0391/ pololu] or [http://www.sparkfun.com/commerce/product_info.php?products_id=199 sparkfun].  A stand-alone GPS such as the SAM-LS will require clean 3.3V/50mA power and a common ground with the TTL converter.&lt;br /&gt;
&lt;br /&gt;
* U-blox occasionally releases firmware updates.  Log on to the u-blox website using ''paparazzi'' for username &amp;amp; password to view or download the latest firmware images.  There have 'never' been any updates released for the Antaris-4 series used in the Tiny.&lt;br /&gt;
&lt;br /&gt;
Start U-center and choose your com port from the pull down list under the connect button near the top left corner of the window. Choose your baudrate from the pull down box to the right of the connect button or select the auto-baud button to the right of that.  U-blox default is 9600 baud.  This must be changed to 19200 or higher to accomodate the 4Hz update rate.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:U-center_buttons.jpg|connect, baud, and autobaud buttons]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Uploading the Configuration File===&lt;br /&gt;
Download the appropriate configuration file below and use u-center to load in onto your receiver. Under the ''Tools'' menu, choose ''GPS configuration''.  Be sure the box 'Store configuration into BBR/Flash' is checked and hit the button ''File&amp;gt;&amp;gt;GPS''.  A few errors and retries are normal, but a significant number of errors may indicate a poor connection and the software will notify you if it is unable to send all the data successfully.&lt;br /&gt;
* [[Media:Tiny_LEA-4P-v6.zip|LEA-4P]]&lt;br /&gt;
* [[Media:Tim-LL-V5.zip|TIM-LL]]&lt;br /&gt;
&lt;br /&gt;
===Manual Configuration===&lt;br /&gt;
If you prefer to setup your receiver manually or have a model not listed above, here are instructions to configure your receiver in u-center.&lt;br /&gt;
Open the message window (menu View-&amp;gt;messages view) to start the configuration process by changing the following settings:&lt;br /&gt;
&lt;br /&gt;
 1. Right Click on the '''NMEA''' Icon and choose '''disable child'''&lt;br /&gt;
 2. Choose UBX-&amp;gt;CFG-&amp;gt;NAV2(Navigation 2) - set it to use '''Airborne 4G''' (tells the Kalman filter to expect significant changes in direction)&lt;br /&gt;
 3. UBX-&amp;gt;CFG-&amp;gt;PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#Hardware_definitions_-_Makefile|Airframe file]])&lt;br /&gt;
 4. Change the baudrate of U-Center to 38400bps if the connection is lost at this point&lt;br /&gt;
 5. UBX-&amp;gt;CFG-&amp;gt;RXM(Receiver Manager) - change '''GPS Mode''' to '''3 - Auto''' (Enabling faster bootup only if signal levels are very good)&lt;br /&gt;
 6. UBX-&amp;gt;CFG-&amp;gt;RATE(Rates) - change the '''Measurement Period''' to '''250ms''' (4 Hz position updates)&lt;br /&gt;
 7. UBX-&amp;gt;CFG-&amp;gt;SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)&lt;br /&gt;
 8. UBX-&amp;gt;NAV (not UBX-&amp;gt;CFG-&amp;gt;NAV): double click on '''POSUTM, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black&lt;br /&gt;
 9. UBX-&amp;gt;CFG-&amp;gt;CFG : '''save current config''', click '''&amp;quot;send&amp;quot;''' in the lower left corner to permanently save these settings to the receiver &lt;br /&gt;
&lt;br /&gt;
* Cycle the power and verify that the new configuration was saved&lt;br /&gt;
* To reset the receiver to the factory defaults go to ''UBX-&amp;gt;CFG-&amp;gt;CFG'', select 'Revert to default configuration', and click ''Send'' at the bottom left corner.  To permanently save these values choose 'Save current configuration' and click ''Send''.&lt;br /&gt;
* To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS&amp;gt;&amp;gt;file.  This file can be re-loaded in a similar manner to configure additional identical receivers.  Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.&lt;br /&gt;
&lt;br /&gt;
===Reset to Default Settings===&lt;br /&gt;
The GPS module can be reset to its original default settings by pulling BOOT_INT high(3.3V) during a power cycle ([http://www.u-blox.com/customersupport/gps.g4/ANTARIS4_Modules_SIM(GPS.G4-MS4-05007).pdf Antaris Manual, p. 122]). It may be required after a wrong firmware upgrade or a bad configuration change.&lt;br /&gt;
&lt;br /&gt;
===DGPS (Differential GPS)===&lt;br /&gt;
Differential GPS is any method of improving GPS accuracy by comparing the GPS-indicated position of a nearby location to the known value and transmitting any error to the mobile unit.  DGPS was originally created as a means of bypassing the deliberately introduced inaccuracies in civilian GPS signals.  The original method used low frequency ground radios to relay correction data to the mobile unit and is still used today at airports, shipping ports, and even individual farms.  Satellite Based Augmentation System (SBAS) is a modern form of DGPS where the ground stations relay correction data to a GEO-Stationary satellite, which then relays it to the mobile unit on standard GPS frequencies eliminating the need for a separate radio reciever.  SBAS is currently available in 3 regions, [http://www.environmental-studies.de/Precision_Farming/EGNOS_WAAS__E/3E.html WAAS, EGNOS, and MSAS] though only WAAS is officially operational.  U-blox receivers support all common varieties of DGPS [http://www.u-blox.com/customersupport/gps.g3/ENGOS_Issues(GPS.G3-CS-04009).pdf read the u-blox SBAS application note].&lt;br /&gt;
* It is important to note that DGPS methods only improve the ''accuracy'' of the position calculation, not the ''precision''.  Since Paparazzi navigation is typically performed relative to the power-on location, any static error that could be corrected with DGPS is irrelevant.&lt;br /&gt;
&lt;br /&gt;
====WAAS issues====&lt;br /&gt;
WAAS has been officially operational and &amp;quot;suitable for safety-of-life applications&amp;quot; since 2003.  The default setting of all u-blox receivers ignores WAAS correction data and only uses the WAAS satellites for regular navigation like any other satellite.  U-blox recommends further limiting this setting to exclude any stray EGNOS/MSAS satellites in North America, and completely disabling all SBAS functions for use outside North America.  In 2006 one formerly reliable Paparazzi aircraft began having great GPS problems and displaying very erratic altitude calculations, disabling WAAS immediately resolved the issue and this phenomenon was recreated several times for verification.  Turns out a new WAAS satellite was being added to the system and the others were being moved that week for better distribution.  Our advice is to completely disable WAAS.&lt;br /&gt;
&lt;br /&gt;
====EGNOS issues====&lt;br /&gt;
EGNOS is officially in &amp;quot;testing mode&amp;quot; and no claims of reliability are made.  The [http://www.u-blox.com/customersupport/faq_antaris u-blox FAQ] states the following:&lt;br /&gt;
* &amp;quot;Do you see issues with EGNOS?&amp;quot;&lt;br /&gt;
*:&amp;quot;Yes. Although the data transmitted by the EGNOS satellites are usually good and valuable (e.g. during the solar storms in autumn 2003), they can sometimes be very unreliable, for example when system tests are performed. As an example, u-blox has noticed erroneous range information (up to three hundred kilometers) on various EGNOS satellite over the last few months [2006].&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Further Reading===&lt;br /&gt;
&lt;br /&gt;
The u-blox [http://www.u-blox.com/customersupport/antaris4_doc.html System Integration Manual] covers a lot of GPS theory as well as product specific topics.&lt;br /&gt;
&lt;br /&gt;
== Antenna options for the Tiny and Paparazzi GPS units ==&lt;br /&gt;
&lt;br /&gt;
The '''[[Tiny|Tiny 1.1]]''' features a 28mm square ground plane intended to be centered below the [[#Sangshin_13mm_Patch|Sangshin 13mm patch antenna]].  Much better performance has been seen with the 18mm antennas and an augmented ground plane.  The ground plane is a critical part of the antenna affecting not only the gain and polarization characteristics but also the center frequency of the system.  Users are advised to expand the ground plane to approximately 36mm square, centered on the ceramic portion of the antenna (not the pin).  This can be done with copper foil soldered to the vias of the existing ground plane.&lt;br /&gt;
[[image:gps_antenna_comparison.jpg|thumb|500px|left|SAM-LS 25mm / Emtac 20mm / Emtac 18mm / Sangshin 18mm / Sangshin 13mm / Sarantel P2]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sangshin 18mm Patch ===&lt;br /&gt;
[[image:Sangshin_18mm.jpg|thumb|Sangshin 18mm x 4mm 1580Mhz]]&lt;br /&gt;
The Sangshin KSA-ST1580MS18 antenna has proven to offer the best performance of the currently available options.  These are available from any Sanshin distributor such as [http://www.rfmw.com rfmw] ([http://www.rfmw.com/PortalProductDetail.aspx?ProdId=232436&amp;amp;fmt=1 here]) and cost approximately $5/ea. in small quantities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== EMTAC 18mm Patch ===&lt;br /&gt;
[[image:Emtac_18mm.jpg|thumb|Emtac 18mm x 4mm 1580Mhz]]&lt;br /&gt;
Offering identical performance to the Sangshin in a less attractive package is the Emtac 18mm antenna.  The part number for the standard 1580MHz 18x18x4mm is ANA1580T18D40 and is not listed on their website.  Other frequencies are available on a special order basis and the 1584Mhz has proven to outperform all other frequencies when used with a 36mm ground plane and no radome.  The use of a radome (any material covering the antenna) or a larger ground plane should theoretically favor even higher frequencies.&lt;br /&gt;
&lt;br /&gt;
'''Availability'''&lt;br /&gt;
&lt;br /&gt;
Direct from [http://www.transplantgps.com/modules.html TransplantGPS] in MN, USA.  The 1580Mhz models are usually available at a cost of $3.55ea but there may be a minimum order requirement of ~$50 USD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sangshin 13mm Patch ===&lt;br /&gt;
&lt;br /&gt;
[[image:Sangshin_13mm_onboard.jpg|thumb|Sangshin 13mm x 4mm 1580Mhz]]&lt;br /&gt;
Part of interest: '''[http://www.sangshinec.com/eng/patch_spec.htm KSA-ST1580MS13]'''&lt;br /&gt;
&lt;br /&gt;
The Tiny 0.99 (not 0.9) and 1.1 were designed around this antenna but users are advised to install 18mm units for better performance.&lt;br /&gt;
&lt;br /&gt;
Size: 13 x 13 mm&amp;lt;br/&amp;gt;&lt;br /&gt;
Center Frequency: 1580 MHz&amp;lt;br/&amp;gt;&lt;br /&gt;
Bandwidth: 5 MHz&amp;lt;br/&amp;gt;&lt;br /&gt;
@Fo: -15 dB&amp;lt;br/&amp;gt;&lt;br /&gt;
GAIN (dBi): 0 dBi&amp;lt;br/&amp;gt;&lt;br /&gt;
Ground Plane: 50 x 50 mm&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Available From'''&lt;br /&gt;
&lt;br /&gt;
[http://www.systroninc.com/ Systronic INC.] - Alberta, Canada&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Emtac 20mm Patch ===&lt;br /&gt;
&lt;br /&gt;
[[image:Salvaged_20mm_onboard.jpg|thumb|Emtac 20mm x 4mm]]&lt;br /&gt;
The Tiny 0.9 was designed around this 1583Mhz antenna and performed extremely well.  Emtac has replaced this with an 18mm model that they claim offers even better performance.&lt;br /&gt;
&lt;br /&gt;
* Obsolete&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sarantel GeoHelix-P2 ===&lt;br /&gt;
&lt;br /&gt;
[[image:Geohelix-p2.jpg|thumb|Sarantel Geohelix P-2 1575Mhz]]&lt;br /&gt;
&lt;br /&gt;
This antenna is popular among UAV designers due to it's natural rejection of other radio frequencies such as those originating from the modem or video system as well as it's improved rejection of signals reflected from the ground.  U-blox recommends this antenna and features it in their [http://www.u-blox.com/news/sarantel.html reference design].  Frequency and polarization are not dependent upon ground plane geometry so this antenna is sold only in the true GPS frequency of 1575Mhz.&lt;br /&gt;
The geometry makes this antenna very inconvenient to mount, especially in an airplane.  Some very non-scientific testing has been done with one of these antennas connected to a Tiny with a short length of 50 Ohm coax above a 120mm square of ungrounded aluminum foil and performance was adequate.  The helical design should theoretically outperform a patch in the air, but not on the ground, so any organized comparison will be difficult.  Possibly the most important aspect of this antenna is it's natural RFI filtering, which should be evaluated further.&lt;br /&gt;
&lt;br /&gt;
* [http://www.sarantel.com/products/geohelix-p2 GeoHelix-P2] Passive GPS Antenna [[http://www.sarantel.com/downloads/specifications/geohelix-p2.pdf datasheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Availability'''&lt;br /&gt;
&lt;br /&gt;
Direct from Sarantel @ cost of approx $18 USD each (active versions available for ~$40)&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Olri</name></author>
	</entry>
</feed>