<?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=Martial</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=Martial"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/Martial"/>
	<updated>2026-05-21T03:05:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11276</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11276"/>
		<updated>2012-01-01T13:52:18Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts videos ===&lt;br /&gt;
* [http://www.youtube.com/watch?v=hSSLom3n9Yw Hand start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vRwgHzwxkMI Bungee start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30 Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm|PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11275</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11275"/>
		<updated>2012-01-01T13:50:57Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts videos ===&lt;br /&gt;
* [http://www.youtube.com/watch?v=hSSLom3n9Yw |Hand start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vRwgHzwxkMI |Bungee start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A |Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30 |Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm|PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11274</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11274"/>
		<updated>2012-01-01T11:41:45Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Test starts videos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts videos ===&lt;br /&gt;
* [http://www.youtube.com/watch?v=hSSLom3n9Yw| Hand start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vRwgHzwxkMI| Bungee start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30| Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11273</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11273"/>
		<updated>2012-01-01T11:38:38Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Test starts videos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts videos ===&lt;br /&gt;
* [http://youtu.be/hSSLom3n9Yw| Hand start]&lt;br /&gt;
* [http://youtu.be/vRwgHzwxkMI| Bungee start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30| Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11272</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11272"/>
		<updated>2012-01-01T11:19:06Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Test starts videos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts videos ===&lt;br /&gt;
* [http://youtu.be/vRwgHzwxkMI| Bungee start]&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30| Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=11271</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=11271"/>
		<updated>2012-01-01T10:25:33Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Europe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi&lt;br /&gt;
&lt;br /&gt;
== Wiki User Pages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ User Pages&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:EldenC Elden_Crom]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Marc Marc]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bu5hm4nn Bu5hm4nn]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:HWal HWal]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Aerodolphin Rui Costa]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:PaulCox Paul Cox]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bruzzlee Bruzzlee]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Stspies Stspies]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mzr Mzr]&lt;br /&gt;
|[http://brquad.blogspot.com AGRESSiVA]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|add yourself here&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martial Martial Châteauvieux]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Paparazzi Users sorted geographically =&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Asia&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:zhaojinhust@gmail.com ZHAOJin]|| China || Tiny2.11 ||| 2011|| Just Finished my hand-soldered Tiny2.11 board. Welcome to my blog: freikorps.blogcn.com (CHINESE中文)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:wangcfan@163.com Wangcfan]|| China || Tiny2.11 ||| 2008 || The beginning, is now in learning phase;Learning in Tiny2.11 using the method of IMU!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new  wing like funjet  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:benybeejz@gmail.com benybee] || Bandar Lampung, Indonesia || Tiny13 1.1 ||| 2010 || trying to get wing dragon fully autonomus, for aireal photograph and research&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
| [mailto:anilvanjare83@gmail.com Anil vanjare] || India || TWOG, Tiny v2.1,Umarim v10 ||| 2011 || ,working on Umarim board assembly with prashant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Austria&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|France&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL  ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pvol_at_club.fr Philippe Volivert] || Paris, France || TWOG 2.12, EasyGlider, MPX3030 ||| July 2009 || Working on pan/tilt/roll camera&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:thibaut.bergal@estaca.eu ESTACA Modélisme] || Paris, France || TWOG 2.11, Swift 2, MC22 ||| January 2010 || Starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:limaiem@gmail.com Imed Limaiem] || Paris, France || TWOG 2.11, EPP-CF FPV ||| January 2010 || flight test; Town pollution measurement; &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox]  &lt;br /&gt;
| Toulouse &lt;br /&gt;
|    Tiny v2.11  ||  Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Germany&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Borjet Maja, Futaba 9C 35 Mhz ||| August 2009 || Have flown different airframes and am flying a Borjet Maja right now; built a more rugged case and connecting board for PPRZ; taking surveying pictures&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane  ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.&lt;br /&gt;
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Flixr|Felix Ruess]] || Munich, Germany || Booz and Lisa/L ||| 2008 || coding more than flying.... unfortunately&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:TheJJ|Jonas Jelten]] || Augsburg, Germany || just our airframe ||| 2010 || &amp;quot;P-Seminar&amp;quot; for the new G8 at our Gymnasium ([http://www.solarflugzeug.de.tc solarflugzeug.de.tc])&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Christoph|Christoph Niemann]] || Bremen, Germany || Reely Condor with TWOG and Sparkfun Razor-IMU ||| 2010 || Several successful AUTO2-Flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Martial|Martial Châteauvieux]] || Munich, Germany || Bormatec/Maja with TWOG and IR ||| 2011 || Next test in January 2012, as soon as the weather permits. Hopefully I can switch in AUTO2.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Stspies|Steffen Spies]] || Wolfsburg, Germany || Multiplex TwinStar with Tiny V2.11 and IR ||| 2010 || Awaiting first flight. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Tobi|Tobias M]] || Germany || Multiplex TwinStar II TWOG v1 and IR/imu ||| 2007 || about 120h of flight tests in Auto2 with IR - coding and testing a new vertical control with airspeed - just changed from IR to Aspirin imu - about 3h Auto2 in that configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:RoN|Rolf N]] || Bremen, Germany || Multiplex Acromaster with TWOG, airspeed and imu ||| 2010 || Several successful AUTO2 flights&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:rijo1011_at_gmail.com Jochen Rieger] || Karlsruhe, Germany || Bormatec Maja, Lisa/L ||| 2011 || I hope the first fly is coming soon.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Portugal&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Switzerland&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny v2.11, TWOG v1, EeePC as GCS, Multiplex FunJet &amp;amp; EasyStar  ||| 2008 || Many successful flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera  ||| 2008 || Many successful flights working on an osd module and weather probes. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reto.buettner_at_gmail.com RetoB] || Meilen, Switzerland || TWOG, Tiny 2.11, Cougar, eHawk, Y-UAV, EzOSD, Scherrer UHF ||| 2010 || Many successful flights. See [http://www.aerovista.ch/news.html www.aerovista.ch] and [http://www.y-uav.com www.y-uav.com] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:schmiemi_at_students.zhaw.ch EmilioS] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Borjet Maja, UMARS||| 2010 || Many successful flights. See [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:enso@zhaw.ch Oliver E] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Kyosho Calmato, UMARS||| 2010 || Many Successful flights. A lot of experience as savety pilot. Experience with pich based speed control (best you can have). No programming skills unfortuanatley. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:samuelbryner_gmx.ch Samuel B.] || Winterthur, Switzerland || Tiny 2.11, Multiplex Easyglider  ||| 2010 || Just starting. No flight so far :/&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:rmaurer@sunrise.ch RetoM] || Bottighofen, Switzerland || Tiny 2.11/YAPA2/ArduIMU, Multiplex Mentor, SebArt Wind S 50E  ||| 2010 || Many flights successfully performed, including auto-landing, more to go ...&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sjwilks_at_gmail.com Simon W.] || Aarau, Switzerland || TWOG with ArduIMU in Jamara Roo, TWOG on a Telink Tempest flying wing, YAPA2 on a Bormatec Maja, Lisa/L on a Droidworx AD-8 HL ||| 2010 || Many successful flights. See [http://sites.google.com/site/paparazziuav/ http://sites.google.com/site/paparazziuav/].&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| UK&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 &amp;amp; MaxStream ||| 2008 || Just starting.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Came 4th in EMAV09 (although won the Golden Balls award for courage in the face of adversity and exceptional partying).  Many AUTO2 flights with a camera and XBee868s.  Current main airframe is a GWS Formosa (they are so cheap!).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Other&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3,2.11, Twog 1.0 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV. Successfull. Now using it on large gliders and jets.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009  &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:openuas|OpenUAS]] || Amsterdam, The Netherlands || TWOG, Tiny, Lisa/L and various airframes  || 2007 || Quite a few AUTO2 flights. Improving airspeed, IMU and strong wind integration&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, two own hardware designs, 5 kg aerial photo plane, 2.5 kg survelliance uav, Easystar ||| 2007 || Use modified autopilot and GCS in professional tasks, add self desidned IMU&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:chebuzz_at_gmail.com David &amp;quot;Buzz&amp;quot; Carlson] || Cyprus || Tiny 2.11, Lynx EDF &amp;amp; GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights.  Plane currently grounded due to a TX run-in with a 1 year-old.  Currently working on getting new TX and completing CBP store setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL  ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS  ||| 2009 || Ditched the SIG Kadet. Built a new big plane TaigaCam. Self-build model made out of EPP and a plastic tube.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:alexandru.panait@ral.ro Phineas] || Bucharest, Romania || Tiny2.11 (PPZUAV)  ||| November 2009 || Just started to set-up &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:lukeiron@hotmail.com Luke] || Torino, Italy || TWOG ||| December 2009 || Close to mount the AP on my Mentor &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:helgewal@gmail.com Helge] || Bergen, Norway || TWOG ||| 2009 || First Auto2 flight with Twinstar2 in October 2010 &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kepler0@gmail.com Joaquín] || Málaga, Spain|| TWOG v1, Trex600, Cockpit SX, ArduImuV2, HMC5843 ||| September 2009 || Finished integration (navigation, control, actuators). Missing to realize an automatic engine control.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 &amp;amp; AUTO2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV)  |||Oct. 2008 ||  Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV)  ||| 2007 ||  currently flying a 48 inch zagi, 80 inch under construction.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA   ||| Feb 2009 || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV)  ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV)  ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV)  ||| January 2009 || Building 72&amp;quot; Flying Wings which will be used for remote sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV)  ||| June 2007 || 2x72&amp;quot; 5x48&amp;quot; 1x60&amp;quot; Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28.  New Airframe in development.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV)  ||| March 2009 || UCSD Project with Multiplex Mentor.  Completed August 2, 2009. Several Successful Auto2 Flights.  A LOT of help from David Conger.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:EldenC Elden Crom] || Tucson, AZ || Twog 1.0  ||| July 2009 || Multiplex Twinstar, XBee Pro.  Several Successful Auto2 Flights. Working toward precise  Auto-Takeoff and Auto-Land &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider] || Tucson, AZ || None, will use TWOG 1.0  ||| December 2009 || Super Dimona, Aerocomm.  No Flight test. Working toward setting waypoints within Paparazzi code &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [Reegan] || Lubbock, TX || Planning on Tiny 2.11 (PPZUAV), 900mhz XBPro  |||Dec. 2009 ||  Gaining info to begin a collegiate project&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| Team UAV UALR Caleb Tenberge || Little Rock, AR || Using TWOG 1.0  ||| Feb 2010 || Using a Telemaster, we are learning the GCS and building our plane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:changho.nam@asu.edu Arizona State University POLY - Capstone Team: Development of UAV /w surveillance System] || Mesa, AZ || Using TINY 2.1 - 2.4GHz Modem, CCD Camera /w 900 MHz Video Transmitter  ||| March 2010 || 4-lbs Flying Wings.   We made successful autonomous flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer] || Edmonton, AB, CAN || Nothing Yet ||| Jan 2011 || Obtaining Hardware &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muratagenc@yahoo.com Murat A. Genc] || New York, NY || not decided yet  ||| May 2011 ||  just started&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/UAlberta_UASGroup University of Alberta UAS Group] || Edmonton, AB, CAN || TWOG 1.0, Asprin IMU ||| Aug 2011 || Completing tuning flights in Auto 1 on a Senior Telemaster with 26cc gas engine. Working towards a stable platform for research.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Central America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV).  Multiplex Mentor  ||| 2008 || Seven flights now. Flights 6 &amp;amp; 7 in Auto2. Now only a matter of fine tuning.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==South America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:gustavoviolato@gmail.com Gustavo Violato] || São José dos Campos, Brasil || Tiny v2.11/LEA-4P, Modem XBee Pro 2.4 GHz Swift II  ||| 2009 || Flying autonomously and enjoying it. Planning to use the system for flight test data acquisition and aircraft parameter recognition. &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:agressiva@hotmail.com Eduardo Lavratti] || Porto Alegre - RS, Brasil || TWOG / BOOZ, UBLOX, Xbee900 60mw||| 2011 || Working with geoprocessing - developping new modules and sensors to paparazzi.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Australia==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:RH1N0 RH1N0] || Brisbane, QLD || TWOG, Multiplex Easystar, PPZGPS, H.264 live digital video, Ubiquiti modems ||| May 2011 || Multiple AUTO2 flights up to 40 min. Currently testing PPZIMU.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe.  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet,  MacBook laptop ||| August 2008 || Several flights in Auto1&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Adam.A Adam Amos] || Sydney, NSW || TWOG, IMU, BORJET MAJA || March 2010 || see [http://www.rescuerobotics.com.au www.rescuerobotics.com.au] for current status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Africa==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009  || Got TWOG,GPS etc interfacing with Laptop and working , Have not done anything to it recently but...Made a website [http://sites.google.com/site/scarfclub/paparazi-uav SCARF Paparazzi-UAV] of my struggle ...&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:willie.smit@nwu.ac.za Willie Smit] || South Africa NW || Tiny v2.11, LEA-4P GPS, RF Modems XBee Pro ||| April 2010  || We are currently doing test flights. Also doing research on obstacle avoidance.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Need help adding your information?=&lt;br /&gt;
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&amp;amp;postcount=1 EMAIL] at with the &lt;br /&gt;
following:&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
*Email&lt;br /&gt;
*Location&lt;br /&gt;
*Hardware&lt;br /&gt;
*Join date&lt;br /&gt;
*Current activities / project status&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=11270</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=11270"/>
		<updated>2012-01-01T10:22:30Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Wiki User Pages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi&lt;br /&gt;
&lt;br /&gt;
== Wiki User Pages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ User Pages&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:EldenC Elden_Crom]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Marc Marc]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bu5hm4nn Bu5hm4nn]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:HWal HWal]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Aerodolphin Rui Costa]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:PaulCox Paul Cox]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bruzzlee Bruzzlee]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Stspies Stspies]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mzr Mzr]&lt;br /&gt;
|[http://brquad.blogspot.com AGRESSiVA]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|add yourself here&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martial Martial Châteauvieux]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Paparazzi Users sorted geographically =&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Asia&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:zhaojinhust@gmail.com ZHAOJin]|| China || Tiny2.11 ||| 2011|| Just Finished my hand-soldered Tiny2.11 board. Welcome to my blog: freikorps.blogcn.com (CHINESE中文)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:wangcfan@163.com Wangcfan]|| China || Tiny2.11 ||| 2008 || The beginning, is now in learning phase;Learning in Tiny2.11 using the method of IMU!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new  wing like funjet  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:benybeejz@gmail.com benybee] || Bandar Lampung, Indonesia || Tiny13 1.1 ||| 2010 || trying to get wing dragon fully autonomus, for aireal photograph and research&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot; &lt;br /&gt;
| [mailto:anilvanjare83@gmail.com Anil vanjare] || India || TWOG, Tiny v2.1,Umarim v10 ||| 2011 || ,working on Umarim board assembly with prashant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Austria&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|France&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL  ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pvol_at_club.fr Philippe Volivert] || Paris, France || TWOG 2.12, EasyGlider, MPX3030 ||| July 2009 || Working on pan/tilt/roll camera&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:thibaut.bergal@estaca.eu ESTACA Modélisme] || Paris, France || TWOG 2.11, Swift 2, MC22 ||| January 2010 || Starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:limaiem@gmail.com Imed Limaiem] || Paris, France || TWOG 2.11, EPP-CF FPV ||| January 2010 || flight test; Town pollution measurement; &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox]  &lt;br /&gt;
| Toulouse &lt;br /&gt;
|    Tiny v2.11  ||  Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Germany&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Borjet Maja, Futaba 9C 35 Mhz ||| August 2009 || Have flown different airframes and am flying a Borjet Maja right now; built a more rugged case and connecting board for PPRZ; taking surveying pictures&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane  ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.&lt;br /&gt;
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Flixr|Felix Ruess]] || Munich, Germany || Booz and Lisa/L ||| 2008 || coding more than flying.... unfortunately&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:TheJJ|Jonas Jelten]] || Augsburg, Germany || just our airframe ||| 2010 || &amp;quot;P-Seminar&amp;quot; for the new G8 at our Gymnasium ([http://www.solarflugzeug.de.tc solarflugzeug.de.tc])&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Christoph|Christoph Niemann]] || Bremen, Germany || Reely Condor with TWOG and Sparkfun Razor-IMU ||| 2010 || Several successful AUTO2-Flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Martial|Martial Châteauvieux]] || Munich, Germany || Bormatec/Maja with TWOG and IR ||| 2011 || Every thing installed on board. First crash during test on field. I need to repair the airframe. Next test on Monday 15th of Aug.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Stspies|Steffen Spies]] || Wolfsburg, Germany || Multiplex TwinStar with Tiny V2.11 and IR ||| 2010 || Awaiting first flight. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Tobi|Tobias M]] || Germany || Multiplex TwinStar II TWOG v1 and IR/imu ||| 2007 || about 120h of flight tests in Auto2 with IR - coding and testing a new vertical control with airspeed - just changed from IR to Aspirin imu - about 3h Auto2 in that configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:RoN|Rolf N]] || Bremen, Germany || Multiplex Acromaster with TWOG, airspeed and imu ||| 2010 || Several successful AUTO2 flights&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:rijo1011_at_gmail.com Jochen Rieger] || Karlsruhe, Germany || Bormatec Maja, Lisa/L ||| 2011 || I hope the first fly is coming soon.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Portugal&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Switzerland&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny v2.11, TWOG v1, EeePC as GCS, Multiplex FunJet &amp;amp; EasyStar  ||| 2008 || Many successful flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera  ||| 2008 || Many successful flights working on an osd module and weather probes. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reto.buettner_at_gmail.com RetoB] || Meilen, Switzerland || TWOG, Tiny 2.11, Cougar, eHawk, Y-UAV, EzOSD, Scherrer UHF ||| 2010 || Many successful flights. See [http://www.aerovista.ch/news.html www.aerovista.ch] and [http://www.y-uav.com www.y-uav.com] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:schmiemi_at_students.zhaw.ch EmilioS] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Borjet Maja, UMARS||| 2010 || Many successful flights. See [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:enso@zhaw.ch Oliver E] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Kyosho Calmato, UMARS||| 2010 || Many Successful flights. A lot of experience as savety pilot. Experience with pich based speed control (best you can have). No programming skills unfortuanatley. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:samuelbryner_gmx.ch Samuel B.] || Winterthur, Switzerland || Tiny 2.11, Multiplex Easyglider  ||| 2010 || Just starting. No flight so far :/&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:rmaurer@sunrise.ch RetoM] || Bottighofen, Switzerland || Tiny 2.11/YAPA2/ArduIMU, Multiplex Mentor, SebArt Wind S 50E  ||| 2010 || Many flights successfully performed, including auto-landing, more to go ...&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sjwilks_at_gmail.com Simon W.] || Aarau, Switzerland || TWOG with ArduIMU in Jamara Roo, TWOG on a Telink Tempest flying wing, YAPA2 on a Bormatec Maja, Lisa/L on a Droidworx AD-8 HL ||| 2010 || Many successful flights. See [http://sites.google.com/site/paparazziuav/ http://sites.google.com/site/paparazziuav/].&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| UK&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 &amp;amp; MaxStream ||| 2008 || Just starting.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Came 4th in EMAV09 (although won the Golden Balls award for courage in the face of adversity and exceptional partying).  Many AUTO2 flights with a camera and XBee868s.  Current main airframe is a GWS Formosa (they are so cheap!).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Other&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3,2.11, Twog 1.0 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV. Successfull. Now using it on large gliders and jets.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009  &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:openuas|OpenUAS]] || Amsterdam, The Netherlands || TWOG, Tiny, Lisa/L and various airframes  || 2007 || Quite a few AUTO2 flights. Improving airspeed, IMU and strong wind integration&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, two own hardware designs, 5 kg aerial photo plane, 2.5 kg survelliance uav, Easystar ||| 2007 || Use modified autopilot and GCS in professional tasks, add self desidned IMU&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:chebuzz_at_gmail.com David &amp;quot;Buzz&amp;quot; Carlson] || Cyprus || Tiny 2.11, Lynx EDF &amp;amp; GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights.  Plane currently grounded due to a TX run-in with a 1 year-old.  Currently working on getting new TX and completing CBP store setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL  ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS  ||| 2009 || Ditched the SIG Kadet. Built a new big plane TaigaCam. Self-build model made out of EPP and a plastic tube.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:alexandru.panait@ral.ro Phineas] || Bucharest, Romania || Tiny2.11 (PPZUAV)  ||| November 2009 || Just started to set-up &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:lukeiron@hotmail.com Luke] || Torino, Italy || TWOG ||| December 2009 || Close to mount the AP on my Mentor &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:helgewal@gmail.com Helge] || Bergen, Norway || TWOG ||| 2009 || First Auto2 flight with Twinstar2 in October 2010 &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kepler0@gmail.com Joaquín] || Málaga, Spain|| TWOG v1, Trex600, Cockpit SX, ArduImuV2, HMC5843 ||| September 2009 || Finished integration (navigation, control, actuators). Missing to realize an automatic engine control.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 &amp;amp; AUTO2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV)  |||Oct. 2008 ||  Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV)  ||| 2007 ||  currently flying a 48 inch zagi, 80 inch under construction.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA   ||| Feb 2009 || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV)  ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV)  ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV)  ||| January 2009 || Building 72&amp;quot; Flying Wings which will be used for remote sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV)  ||| June 2007 || 2x72&amp;quot; 5x48&amp;quot; 1x60&amp;quot; Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28.  New Airframe in development.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV)  ||| March 2009 || UCSD Project with Multiplex Mentor.  Completed August 2, 2009. Several Successful Auto2 Flights.  A LOT of help from David Conger.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:EldenC Elden Crom] || Tucson, AZ || Twog 1.0  ||| July 2009 || Multiplex Twinstar, XBee Pro.  Several Successful Auto2 Flights. Working toward precise  Auto-Takeoff and Auto-Land &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider] || Tucson, AZ || None, will use TWOG 1.0  ||| December 2009 || Super Dimona, Aerocomm.  No Flight test. Working toward setting waypoints within Paparazzi code &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [Reegan] || Lubbock, TX || Planning on Tiny 2.11 (PPZUAV), 900mhz XBPro  |||Dec. 2009 ||  Gaining info to begin a collegiate project&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| Team UAV UALR Caleb Tenberge || Little Rock, AR || Using TWOG 1.0  ||| Feb 2010 || Using a Telemaster, we are learning the GCS and building our plane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:changho.nam@asu.edu Arizona State University POLY - Capstone Team: Development of UAV /w surveillance System] || Mesa, AZ || Using TINY 2.1 - 2.4GHz Modem, CCD Camera /w 900 MHz Video Transmitter  ||| March 2010 || 4-lbs Flying Wings.   We made successful autonomous flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer] || Edmonton, AB, CAN || Nothing Yet ||| Jan 2011 || Obtaining Hardware &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muratagenc@yahoo.com Murat A. Genc] || New York, NY || not decided yet  ||| May 2011 ||  just started&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/UAlberta_UASGroup University of Alberta UAS Group] || Edmonton, AB, CAN || TWOG 1.0, Asprin IMU ||| Aug 2011 || Completing tuning flights in Auto 1 on a Senior Telemaster with 26cc gas engine. Working towards a stable platform for research.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Central America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV).  Multiplex Mentor  ||| 2008 || Seven flights now. Flights 6 &amp;amp; 7 in Auto2. Now only a matter of fine tuning.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==South America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:gustavoviolato@gmail.com Gustavo Violato] || São José dos Campos, Brasil || Tiny v2.11/LEA-4P, Modem XBee Pro 2.4 GHz Swift II  ||| 2009 || Flying autonomously and enjoying it. Planning to use the system for flight test data acquisition and aircraft parameter recognition. &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:agressiva@hotmail.com Eduardo Lavratti] || Porto Alegre - RS, Brasil || TWOG / BOOZ, UBLOX, Xbee900 60mw||| 2011 || Working with geoprocessing - developping new modules and sensors to paparazzi.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Australia==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:RH1N0 RH1N0] || Brisbane, QLD || TWOG, Multiplex Easystar, PPZGPS, H.264 live digital video, Ubiquiti modems ||| May 2011 || Multiple AUTO2 flights up to 40 min. Currently testing PPZIMU.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe.  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet,  MacBook laptop ||| August 2008 || Several flights in Auto1&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Adam.A Adam Amos] || Sydney, NSW || TWOG, IMU, BORJET MAJA || March 2010 || see [http://www.rescuerobotics.com.au www.rescuerobotics.com.au] for current status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Africa==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009  || Got TWOG,GPS etc interfacing with Laptop and working , Have not done anything to it recently but...Made a website [http://sites.google.com/site/scarfclub/paparazi-uav SCARF Paparazzi-UAV] of my struggle ...&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:willie.smit@nwu.ac.za Willie Smit] || South Africa NW || Tiny v2.11, LEA-4P GPS, RF Modems XBee Pro ||| April 2010  || We are currently doing test flights. Also doing research on obstacle avoidance.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Need help adding your information?=&lt;br /&gt;
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&amp;amp;postcount=1 EMAIL] at with the &lt;br /&gt;
following:&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
*Email&lt;br /&gt;
*Location&lt;br /&gt;
*Hardware&lt;br /&gt;
*Join date&lt;br /&gt;
*Current activities / project status&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11269</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=11269"/>
		<updated>2012-01-01T10:19:12Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts videos ===&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30| Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10764</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10764"/>
		<updated>2011-11-27T11:19:17Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts with the catapult ===&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30| Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10763</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10763"/>
		<updated>2011-11-27T11:19:00Z</updated>

		<summary type="html">&lt;p&gt;Martial: Add link to youtub &amp;quot;startwagen&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test starts with the catapult ===&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| Start with the catapult]&lt;br /&gt;
* [http://www.youtube.com/watch?v=vji3jqWXM30| Start on the roll board]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=10460</id>
		<title>Modules list</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=10460"/>
		<updated>2011-11-06T16:39:20Z</updated>

		<summary type="html">&lt;p&gt;Martial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some part of the code is already available as [[Modules|modules]]. Some other parts could be easily adapted. A module may have several configuration files for the most common uses. The code of the modules is placed in sw/modules/&amp;lt;directory name&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Available modules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! directory !! configuration files !! airframe(s) !! description&lt;br /&gt;
|-&lt;br /&gt;
|Demo || demo_module || demo_module.xml || FW || basic example with blinking leds&lt;br /&gt;
|-&lt;br /&gt;
|max11040 || adcs || max11040.xml || FW || 24 bit 16 channel AD converter&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/ADC_generic|ADC generic]] || adcs || adc_generic.xml || FW || autopilot internal 10 bit AD converter&lt;br /&gt;
|-&lt;br /&gt;
|Enose || enose || enose.xml || FW || chemical sensor&lt;br /&gt;
|-&lt;br /&gt;
|Booz cam || cam_control || booz_cam.xml || Booz || pointing of a simple camera on booz (servo for tilt, heading for pan&lt;br /&gt;
|-&lt;br /&gt;
|Cam point || cam_control || cam_point.xml || FW || pointing of a camera&lt;br /&gt;
|-&lt;br /&gt;
|Cam roll || cam_control || cam_roll.xml || FW || roll camera&lt;br /&gt;
|-&lt;br /&gt;
|Booz drop || drop || booz_drop.xml || Booz || drop mechanism on booz&lt;br /&gt;
|-&lt;br /&gt;
|light || light || light.xml || FW || control blinking speed of the LEDs for night flights&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/Servo_switch|servo switch]] || servo_switch || servo_switch.xml || FW || simply switch a servo to &amp;quot;on&amp;quot; or &amp;quot;off&amp;quot; position, e.g. trigger camera or open hatch&lt;br /&gt;
|-&lt;br /&gt;
|Formation flight || multi || formation_flight.xml || FW || formation flight control for fixed-wing aircraft&lt;br /&gt;
|-&lt;br /&gt;
|Gps i2c || gps_i2c || gps_i2c.xml || FW || i2c driver for Ubx GPS modules&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/GPS_UBlox_UCenter|GPS UBX µcenter]] || gps || gps_ubx_ucenter.xml || FW/Rotor || Module to initialise µ-blox GPS at every power on&lt;br /&gt;
|-&lt;br /&gt;
|Xsens || ins || ins_xsens.xml&amp;lt;br&amp;gt;ins_xsens_MTi_Uart0.xml&amp;lt;br&amp;gt;ins_xsens_MTiG_Uart0.xml || || driver for the Xsens AHRS/INS (for fixedwing it provides a full navigation solution, for rotorcraft it is a bit slow)&lt;br /&gt;
|-&lt;br /&gt;
|[[ArduIMU|ins_ArduIMU]] || ins || ins_arduimu.xml || FW || ArduIMU V2+ (Flat) INS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|imu_ppzauv || sensors || imu_ppzuav.xml || FW/rotor || module to read the PPZIMU&lt;br /&gt;
|-&lt;br /&gt;
|imu_aspirin_i2c || sensors || imu_aspirin_i2c.xml || FW/rotor || module to read the aspirin IMU via I2C&lt;br /&gt;
|-&lt;br /&gt;
|VN-100 || ins || ins_vn100.xml || FW RW? || VectorNav VN-100 AHRS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|Max 3100 || max3100 || max3100.xml || FW || max3100 driver (spi&amp;lt;-&amp;gt;uart converter)&lt;br /&gt;
|-&lt;br /&gt;
|MPPT || MPPT || MPPT.xml || FW || maximum power point tracker (control board for solar cells, i2C interface)&lt;br /&gt;
|-&lt;br /&gt;
|Poles || poles || poles.xml || FW || special navigation functions to fly around poles and counting loops&lt;br /&gt;
|-&lt;br /&gt;
|Potential || multi || potential.xml || FW || use potential fields for collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Sonar || sonar || sonar_maxbotix_booz.xml || Booz || driver for a Maxbotix ultrasonic sensor&lt;br /&gt;
|-&lt;br /&gt;
|dust_gp2y || meteo || dust_gp2y.xml || FW || driver for Sharp GP2Y1010AU0F dust sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_dpicco || meteo || humid_dpicco.xml || FW || driver for IST DigiPicco humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_hih || meteo || humid_hih.xml || FW || driver for Honeywell HIH-4030 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_htm_b71 || meteo || humid_htm_b71.xml || FW || driver for TronSens HTM-B71 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht || meteo || humid_sht.xml || FW || driver for Sensirion SHT75 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht_i2c || meteo || humid_sht_i2c.xml || FW || driver for Sensirion SHT25 humidity sensor (I2C)&lt;br /&gt;
|-&lt;br /&gt;
|ir_mlx || meteo || ir_mlx.xml || FW || driver for Melexis 90614 IR sensor&lt;br /&gt;
|-&lt;br /&gt;
|light_temt || meteo || light_temt.xml || FW || driver for Vishay TEMT6000 ambient light sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_lm75 || meteo || temp_lm75.xml || FW || driver for National LM75 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_temod || meteo || temp_temod.xml || FW || Hygrosens TEMOD-I2C-Rx temperature sensor for PT1000&lt;br /&gt;
|-&lt;br /&gt;
|temp_tmp102 || meteo || temp_tmp102.xml || FW || driver for TI TMP102 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|airspeed_adc || sensors || airspeed_adc.xml || FW || driver for airspeed sensor based on analog voltage&lt;br /&gt;
|-&lt;br /&gt;
|[[Airspeed_sensor#Connecting_an_EagleTree_Airspeed_Sensor|airspeed_ets]] || sensors || airspeed_ets.xml || FW || Eagle Tree Systems airspeed sensor&lt;br /&gt;
|-&lt;br /&gt;
|alt_srf08 || sensors || alt_srf08.xml || FW || driver for Devantech Ultrasonic Range Finder SRF08&lt;br /&gt;
|-&lt;br /&gt;
|baro_bmp || sensors || baro_bmp.xml || FW || driver for Bosch BMP085 pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ets || sensors || baro_ets.xml || FW || Eagle Tree Systems pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_MS5534A || sensors || baro_MS5334A.xml || FW || driver for Intersema MS5534A pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ms5611_i2c || sensors || baro_ms5611_i2c.xml || FW || driver for Measurement Specialties MS5611-01BA pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp || sensors || baro_scp.xml || FW || driver for VTI SCP1000 (SPI) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp_i2c || sensors || baro_scp_i2c.xml || FW || driver for VTI SCP1000 (I2C) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|mag_micromag_fw || sensors || mag_micromag_fw.xml || FW || driver for PNI Micromag magnetic sensor&lt;br /&gt;
|-&lt;br /&gt;
|trigger_ext || sensors || trigger_ext.xml || FW || driver to measure external events/durations&lt;br /&gt;
|-&lt;br /&gt;
|Sys mon || core || sys_mon.xml || FW &amp;amp; Booz || measures CPU load &amp;amp; activity&lt;br /&gt;
|-&lt;br /&gt;
|DC  || digital_cam || digital_cam.xml&amp;lt;br&amp;gt;digital_cam_i2c.xml || FW &amp;amp; RW || Controls Digital Camera Functions (buttons) like shoot/zoom/onoff/take pictures at regular intervals&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/AOA_adc|AOA adc]] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/AOA_adc.xml AOA_adc.xml] || FW || Reads the value of an US DIGITAL MA3-A10-236-N AoA Sensor and controls the elevator with its value&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/FlightBenchmark|flight_benchmark]] || benchmark || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/flight_benchmark.xml flight_benchmark.xml] || FW || quantitative assessments of flights&lt;br /&gt;
|-&lt;br /&gt;
|[[AMSYS|airspeed_amsys]] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/airspeed_amsys.xml airspeed_amsys.xml] || FW || driver for AMS 5812-0003-D (Airspeed) pressure sensors&lt;br /&gt;
|-&lt;br /&gt;
|[[AMSYS|baro_amsys]] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/baro_amsys.xml baro_amsys.xml] || FW || driver for AMS 5812-0150-A (Baro) pressure sensors&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Possible modules ===&lt;br /&gt;
&lt;br /&gt;
A list of the parts of the FW airborne code that could be changed to modules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! header !! init !! periodic !! event !! datalink !! description&lt;br /&gt;
|-&lt;br /&gt;
|Led || X || X || || || || control leds and GPIO&lt;br /&gt;
|-&lt;br /&gt;
|I2C || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|SPI || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Traffic || X || || || || X || update traffic information from datalink&lt;br /&gt;
|-&lt;br /&gt;
|TCAS || X || X || 1Hz - 4Hz || || ? || vertical collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Gyro || X || X || 60Hz || || ||&lt;br /&gt;
|-&lt;br /&gt;
|IR || X || X || 60Hz || || || Infrared sensors&lt;br /&gt;
|-&lt;br /&gt;
|GPS || X || X || || X || ||&lt;br /&gt;
|-&lt;br /&gt;
|Joystick || X || X || || X || X|| control a plane from telemetry&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/GPS_UBlox_UCenter&amp;diff=10459</id>
		<title>Module/GPS UBlox UCenter</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/GPS_UBlox_UCenter&amp;diff=10459"/>
		<updated>2011-11-06T16:35:02Z</updated>

		<summary type="html">&lt;p&gt;Martial: Added GPS UBX µCenter module page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you use a µ-blox GPS whithout flash memory, this module will take over the task of initializing the GPS for you when you power your autopilot. &lt;br /&gt;
The module also figures out the current speed of the GPS and setup the communication from the AP accordingly:&lt;br /&gt;
&lt;br /&gt;
Add the gps_ubx_ucenter [[Modules|module]] to the &amp;quot;modules&amp;quot; section in your aircraft configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;modules&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;load name=&amp;quot;gps_ubx_ucenter.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In some cases, you will need to specify which UART of the GPS you are using. The tiny/ppzgps use ublox_internal_port1 but if for instance you use a LS-SAM or I2C device you need to configure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;modules&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;load name=&amp;quot;gps_ubx_ucenter.xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;define name=&amp;quot;GPS_PORT_ID&amp;quot; value=&amp;quot;GPS_PORT_UART2&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/load&amp;gt;&lt;br /&gt;
  &amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]] [[Category:Software]] [[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=10458</id>
		<title>Modules list</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=10458"/>
		<updated>2011-11-06T16:15:37Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Available modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some part of the code is already available as [[Modules|modules]]. Some other parts could be easily adapted. A module may have several configuration files for the most common uses. The code of the modules is placed in sw/modules/&amp;lt;directory name&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Available modules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! directory !! configuration files !! airframe(s) !! description&lt;br /&gt;
|-&lt;br /&gt;
|Demo || demo_module || demo_module.xml || FW || basic example with blinking leds&lt;br /&gt;
|-&lt;br /&gt;
|max11040 || adcs || max11040.xml || FW || 24 bit 16 channel AD converter&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/ADC_generic|ADC generic]] || adcs || adc_generic.xml || FW || autopilot internal 10 bit AD converter&lt;br /&gt;
|-&lt;br /&gt;
|Enose || enose || enose.xml || FW || chemical sensor&lt;br /&gt;
|-&lt;br /&gt;
|Booz cam || cam_control || booz_cam.xml || Booz || pointing of a simple camera on booz (servo for tilt, heading for pan&lt;br /&gt;
|-&lt;br /&gt;
|Cam point || cam_control || cam_point.xml || FW || pointing of a camera&lt;br /&gt;
|-&lt;br /&gt;
|Cam roll || cam_control || cam_roll.xml || FW || roll camera&lt;br /&gt;
|-&lt;br /&gt;
|Booz drop || drop || booz_drop.xml || Booz || drop mechanism on booz&lt;br /&gt;
|-&lt;br /&gt;
|light || light || light.xml || FW || control blinking speed of the LEDs for night flights&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/Servo_switch|servo switch]] || servo_switch || servo_switch.xml || FW || simply switch a servo to &amp;quot;on&amp;quot; or &amp;quot;off&amp;quot; position, e.g. trigger camera or open hatch&lt;br /&gt;
|-&lt;br /&gt;
|Formation flight || multi || formation_flight.xml || FW || formation flight control for fixed-wing aircraft&lt;br /&gt;
|-&lt;br /&gt;
|Gps i2c || gps_i2c || gps_i2c.xml || FW || i2c driver for Ubx GPS modules&lt;br /&gt;
|-&lt;br /&gt;
|GPS µblox µcenter || gps || gps_ubx_ucenter.xml || FW/Rotor || Module to initialise µ-blox GPS at every power on&lt;br /&gt;
|-&lt;br /&gt;
|Xsens || ins || ins_xsens.xml&amp;lt;br&amp;gt;ins_xsens_MTi_Uart0.xml&amp;lt;br&amp;gt;ins_xsens_MTiG_Uart0.xml || || driver for the Xsens AHRS/INS (for fixedwing it provides a full navigation solution, for rotorcraft it is a bit slow)&lt;br /&gt;
|-&lt;br /&gt;
|[[ArduIMU|ins_ArduIMU]] || ins || ins_arduimu.xml || FW || ArduIMU V2+ (Flat) INS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|imu_ppzauv || sensors || imu_ppzuav.xml || FW/rotor || module to read the PPZIMU&lt;br /&gt;
|-&lt;br /&gt;
|imu_aspirin_i2c || sensors || imu_aspirin_i2c.xml || FW/rotor || module to read the aspirin IMU via I2C&lt;br /&gt;
|-&lt;br /&gt;
|VN-100 || ins || ins_vn100.xml || FW RW? || VectorNav VN-100 AHRS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|Max 3100 || max3100 || max3100.xml || FW || max3100 driver (spi&amp;lt;-&amp;gt;uart converter)&lt;br /&gt;
|-&lt;br /&gt;
|MPPT || MPPT || MPPT.xml || FW || maximum power point tracker (control board for solar cells, i2C interface)&lt;br /&gt;
|-&lt;br /&gt;
|Poles || poles || poles.xml || FW || special navigation functions to fly around poles and counting loops&lt;br /&gt;
|-&lt;br /&gt;
|Potential || multi || potential.xml || FW || use potential fields for collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Sonar || sonar || sonar_maxbotix_booz.xml || Booz || driver for a Maxbotix ultrasonic sensor&lt;br /&gt;
|-&lt;br /&gt;
|dust_gp2y || meteo || dust_gp2y.xml || FW || driver for Sharp GP2Y1010AU0F dust sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_dpicco || meteo || humid_dpicco.xml || FW || driver for IST DigiPicco humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_hih || meteo || humid_hih.xml || FW || driver for Honeywell HIH-4030 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_htm_b71 || meteo || humid_htm_b71.xml || FW || driver for TronSens HTM-B71 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht || meteo || humid_sht.xml || FW || driver for Sensirion SHT75 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht_i2c || meteo || humid_sht_i2c.xml || FW || driver for Sensirion SHT25 humidity sensor (I2C)&lt;br /&gt;
|-&lt;br /&gt;
|ir_mlx || meteo || ir_mlx.xml || FW || driver for Melexis 90614 IR sensor&lt;br /&gt;
|-&lt;br /&gt;
|light_temt || meteo || light_temt.xml || FW || driver for Vishay TEMT6000 ambient light sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_lm75 || meteo || temp_lm75.xml || FW || driver for National LM75 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_temod || meteo || temp_temod.xml || FW || Hygrosens TEMOD-I2C-Rx temperature sensor for PT1000&lt;br /&gt;
|-&lt;br /&gt;
|temp_tmp102 || meteo || temp_tmp102.xml || FW || driver for TI TMP102 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|airspeed_adc || sensors || airspeed_adc.xml || FW || driver for airspeed sensor based on analog voltage&lt;br /&gt;
|-&lt;br /&gt;
|[[Airspeed_sensor#Connecting_an_EagleTree_Airspeed_Sensor|airspeed_ets]] || sensors || airspeed_ets.xml || FW || Eagle Tree Systems airspeed sensor&lt;br /&gt;
|-&lt;br /&gt;
|alt_srf08 || sensors || alt_srf08.xml || FW || driver for Devantech Ultrasonic Range Finder SRF08&lt;br /&gt;
|-&lt;br /&gt;
|baro_bmp || sensors || baro_bmp.xml || FW || driver for Bosch BMP085 pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ets || sensors || baro_ets.xml || FW || Eagle Tree Systems pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_MS5534A || sensors || baro_MS5334A.xml || FW || driver for Intersema MS5534A pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ms5611_i2c || sensors || baro_ms5611_i2c.xml || FW || driver for Measurement Specialties MS5611-01BA pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp || sensors || baro_scp.xml || FW || driver for VTI SCP1000 (SPI) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp_i2c || sensors || baro_scp_i2c.xml || FW || driver for VTI SCP1000 (I2C) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|mag_micromag_fw || sensors || mag_micromag_fw.xml || FW || driver for PNI Micromag magnetic sensor&lt;br /&gt;
|-&lt;br /&gt;
|trigger_ext || sensors || trigger_ext.xml || FW || driver to measure external events/durations&lt;br /&gt;
|-&lt;br /&gt;
|Sys mon || core || sys_mon.xml || FW &amp;amp; Booz || measures CPU load &amp;amp; activity&lt;br /&gt;
|-&lt;br /&gt;
|DC  || digital_cam || digital_cam.xml&amp;lt;br&amp;gt;digital_cam_i2c.xml || FW &amp;amp; RW || Controls Digital Camera Functions (buttons) like shoot/zoom/onoff/take pictures at regular intervals&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/AOA_adc|AOA adc]] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/AOA_adc.xml AOA_adc.xml] || FW || Reads the value of an US DIGITAL MA3-A10-236-N AoA Sensor and controls the elevator with its value&lt;br /&gt;
|-&lt;br /&gt;
|[[Module/FlightBenchmark|flight_benchmark]] || benchmark || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/flight_benchmark.xml flight_benchmark.xml] || FW || quantitative assessments of flights&lt;br /&gt;
|-&lt;br /&gt;
|[[AMSYS|airspeed_amsys]] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/airspeed_amsys.xml airspeed_amsys.xml] || FW || driver for AMS 5812-0003-D (Airspeed) pressure sensors&lt;br /&gt;
|-&lt;br /&gt;
|[[AMSYS|baro_amsys]] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/baro_amsys.xml baro_amsys.xml] || FW || driver for AMS 5812-0150-A (Baro) pressure sensors&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Possible modules ===&lt;br /&gt;
&lt;br /&gt;
A list of the parts of the FW airborne code that could be changed to modules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! header !! init !! periodic !! event !! datalink !! description&lt;br /&gt;
|-&lt;br /&gt;
|Led || X || X || || || || control leds and GPIO&lt;br /&gt;
|-&lt;br /&gt;
|I2C || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|SPI || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Traffic || X || || || || X || update traffic information from datalink&lt;br /&gt;
|-&lt;br /&gt;
|TCAS || X || X || 1Hz - 4Hz || || ? || vertical collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Gyro || X || X || 60Hz || || ||&lt;br /&gt;
|-&lt;br /&gt;
|IR || X || X || 60Hz || || || Infrared sensors&lt;br /&gt;
|-&lt;br /&gt;
|GPS || X || X || || X || ||&lt;br /&gt;
|-&lt;br /&gt;
|Joystick || X || X || || X || X|| control a plane from telemetry&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10186</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10186"/>
		<updated>2011-10-03T10:25:00Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Airframe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Test start with the catapult ===&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| on youtube]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10159</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=10159"/>
		<updated>2011-09-28T20:01:21Z</updated>

		<summary type="html">&lt;p&gt;Martial: Added link to youtube video&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja on the home page of Bormatec]&lt;br /&gt;
* [http://www.youtube.com/watch?v=06cY6Kli63A| Video of the Maja in flight]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Flight_Plans&amp;diff=9996</id>
		<title>Flight Plans</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Flight_Plans&amp;diff=9996"/>
		<updated>2011-08-22T17:09:50Z</updated>

		<summary type="html">&lt;p&gt;Martial: Kicked out expression ground_alt + 50 for alt in waypoints.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The formal description of the flight plan file is given in the [http://en.wikipedia.org/wiki/Document_Type_Definition '''DTD'''] (located in &amp;lt;tt&amp;gt;conf/flight_plans/flight_plan.dtd&amp;lt;/tt&amp;gt;). This&lt;br /&gt;
DTD must be referenced in the header of your flight plan XML document using the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;!DOCTYPE flight_plan SYSTEM &amp;quot;flight_plan.dtd&amp;quot;&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The flight plans are stored in the &amp;lt;tt&amp;gt;conf/flight_plans&amp;lt;/tt&amp;gt; directory. The [[Flight_Plan_Editor|flight plan editor]] can be used to create basic flight plans in the GUI. &lt;br /&gt;
&lt;br /&gt;
== Structure of the flight plan file ==&lt;br /&gt;
&lt;br /&gt;
Extract from the [http://en.wikipedia.org/wiki/Document_Type_Definition DTD]:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;!ELEMENT flight_plan (header?,waypoints,sectors?,include*,exceptions?,blocks)&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A flight plan is composed of two compulsory elements: [[#waypoints|waypoints]] and [[#blocks|blocks]] and typically contains optional &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt;'s and global &amp;lt;tt&amp;gt;exceptions&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The root &amp;lt;tt&amp;gt;flight_plan&amp;lt;/tt&amp;gt; element is specified with several attributes:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;flight_plan name lat0 lon0 ground_alt security_height qfu alt max_dist_from_home&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;: the name of the mission (a text string)&lt;br /&gt;
* &amp;lt;tt&amp;gt;lat0, lon0&amp;lt;/tt&amp;gt;: describe the latitude and longitude of the point {0,0} in WGS84 degree coordinates&lt;br /&gt;
* &amp;lt;tt&amp;gt;ground_alt&amp;lt;/tt&amp;gt;: the ground altitude (in meters). It defines the &amp;lt;tt&amp;gt;GROUND_ALT&amp;lt;/tt&amp;gt; constant value which can be used to define waypoint altitudes&lt;br /&gt;
* &amp;lt;tt&amp;gt;security_height&amp;lt;/tt&amp;gt;:  the altitude used by the circle-home failsafe procedure&lt;br /&gt;
* &amp;lt;tt&amp;gt;qfu&amp;lt;/tt&amp;gt; (optional): defines the global constant &amp;lt;tt&amp;gt;QFU&amp;lt;/tt&amp;gt;. It usually is the magnetic heading in degrees (north=0, east=90) of the runway, the opposite of wind direction. This constant may be used in the mission description. It is also used by the simulator as the original course of the aircraft. So if you want to take off and climb to the West you would use qfu=270. &lt;br /&gt;
* &amp;lt;tt&amp;gt;alt&amp;lt;/tt&amp;gt;: the default altitude of waypoints (Above Sea Level). So if your ground altitude is 400 then alt needs to be a value greater than ground altitude and above any obstructions in the flight plan. &lt;br /&gt;
* &amp;lt;tt&amp;gt;max_dist_from_home&amp;lt;/tt&amp;gt;: the maximum allowed distance (in meters) from the HOME waypoint. Exceeding this value will trigger an exception.&lt;br /&gt;
&lt;br /&gt;
Here is an example of the first line of a flight plan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
  &amp;lt;flight_plan name=&amp;quot;Example Muret&amp;quot;&lt;br /&gt;
   lat0=&amp;quot;43.46223&amp;quot; lon0=&amp;quot;1.27289&amp;quot; max_dist_from_home=&amp;quot;300&amp;quot; qfu=&amp;quot;270&amp;quot;&lt;br /&gt;
   ground_alt=&amp;quot;185&amp;quot; security_height=&amp;quot;25&amp;quot; alt=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Waypoints ===&lt;br /&gt;
&lt;br /&gt;
The waypoints are the geographic locations used to specify the trajectories. A waypoint is specified with its name and its relative coordinates:&lt;br /&gt;
 &amp;lt;tt&amp;gt; &amp;lt;waypoint name x y [alt] [height]/&amp;gt; &amp;lt;/tt&amp;gt;&lt;br /&gt;
where '''x''' and '''y''' are real positional coordinates, '''or''' relative coordinates in meters from your reference point {0,0} .  &amp;lt;tt&amp;gt;alt&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt;are optional and can be used to assign an altitude to a particular waypoint that is different from the globally defined &amp;lt;tt&amp;gt;alt&amp;lt;/tt&amp;gt; above. To set the waypoint altitude relative to the ground altitude (&amp;lt;tt&amp;gt;ground_alt&amp;lt;/tt&amp;gt;) of the flight plan for this waypoint, use the &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt; attribute instead of &amp;lt;tt&amp;gt;alt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that a waypoint named &amp;lt;tt&amp;gt;HOME&amp;lt;/tt&amp;gt; is required as it is used by the failsafe HOME mode procedure.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;waypoints&amp;gt;&lt;br /&gt;
  &amp;lt;waypoint name=&amp;quot;HOME&amp;quot; x=&amp;quot;0.0&amp;quot; y=&amp;quot;30.0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;waypoint name=&amp;quot;BRIDGEOVERRIVER&amp;quot; x=&amp;quot;-100.0&amp;quot; y=&amp;quot;60.0&amp;quot; alt=&amp;quot;270.&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;waypoint name=&amp;quot;MyBarn&amp;quot; x=&amp;quot;-130.0&amp;quot; y=&amp;quot;217.5&amp;quot; alt=&amp;quot;3000.&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;waypoint name=&amp;quot;3&amp;quot; x=&amp;quot;-30.0&amp;quot; y=&amp;quot;50&amp;quot; height=&amp;quot;50&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;waypoint name=&amp;quot;4&amp;quot; x=&amp;quot;-30.0&amp;quot; y=&amp;quot;60&amp;quot; height=&amp;quot;50.&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;waypoint name=&amp;quot;_MYHELPERSPOT&amp;quot; x=&amp;quot;-30.0&amp;quot; y=&amp;quot;60&amp;quot; height=&amp;quot;50.&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/waypoints&amp;gt;&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tips'''&lt;br /&gt;
* Waypoints are easily adjusted with the [[Flight_Plan_Editor|flight plan editor]].&lt;br /&gt;
* If a waypoint name starts with an underscore, the waypoint is not displayed in the GCS, except in editor mode.&lt;br /&gt;
* The maximum number of waypoints is 254.&lt;br /&gt;
&lt;br /&gt;
=== Sectors ===&lt;br /&gt;
Flat ''Sectors'' can be described as a list of waypoint corners. Such an area will be displayed in the GCS (a optional color can be specified).&lt;br /&gt;
A function is generated to check if a point (usually the aircraft itself) is ''inside'' the polygon. Currently, this feature requires that the polygon is &amp;lt;b&amp;gt;convex&amp;lt;/b&amp;gt; and described in a &amp;lt;b&amp;gt;clockwise&amp;lt;/b&amp;gt; order. For a sector named &amp;lt;tt&amp;gt;sector&amp;lt;/tt&amp;gt; (sector names must not contain spaces), the generated function is &amp;lt;tt&amp;gt;bool_t InsideSector(float x, float y);&amp;lt;/tt&amp;gt; where &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt; are east and north coordinated, in meters, relative to the geographic reference of the flight plan. Note: If the flight plan is dynamically relocated, such a sector will be relocated but the display is currently not updated on the GCS.&lt;br /&gt;
&lt;br /&gt;
For example, with the following element in a flight plan (waypoints which name starts with an underscore are not displayed in the GCS, except in editor mode)&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;sectors&amp;gt;&lt;br /&gt;
  &amp;lt;sector name=&amp;quot;Muret&amp;quot; color=&amp;quot;red&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;corner name=&amp;quot;_1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;corner name=&amp;quot;_2&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;corner name=&amp;quot;_3&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;corner name=&amp;quot;_4&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/sector&amp;gt;&lt;br /&gt;
 &amp;lt;/sectors&amp;gt;&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
It is then possible to write a exception. For example if the aircraft for some reason flies outside this sector the airframe will fly to the standby point. The exclamation mark (!) means the operator NOT in the example. In regular language one would describe &amp;quot;If my airframe is NOT inside the Murret sector anymore then deroute it to the standby waypoint.&amp;quot; In Flightplan &amp;quot;Speak&amp;quot; this is written like: &lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;exception cond=&amp;quot;! InsideMuret(estimator_x, estimator_y)&amp;quot; deroute=&amp;quot;standby&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Includes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; is used to add some flight plan elements defined in an external procedure. It’s useful to include pre-written procedures with only few arguments and then clarify the flight plan.&lt;br /&gt;
Here is the structure:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;include name procedure&amp;gt; [&amp;lt;arg name value /&amp;gt;]*[&amp;lt;with from to /&amp;gt;]*&amp;lt;/include&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
where &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt; attribute of the include element will be used in this flight plan to prefix the blocks of the &amp;lt;tt&amp;gt;procedure&amp;lt;/tt&amp;gt;, the XML referenced file.&lt;br /&gt;
Named arguments may be given with their value in the &amp;lt;tt&amp;gt;arg&amp;lt;/tt&amp;gt; elements. The &amp;lt;tt&amp;gt;with&amp;lt;/tt&amp;gt; tag allows to link labels (e.g. attribute of a deroute instruction or of an exception) from the procedure to blocks of the main flight plan.&lt;br /&gt;
Then, each block of the procedure is like any block of the flight plan and is designated with a dotted identifier: block &amp;lt;tt&amp;gt;b&amp;lt;/tt&amp;gt; of a procedure named &amp;lt;tt&amp;gt;p&amp;lt;/tt&amp;gt; is named &amp;lt;tt&amp;gt;b.p&amp;lt;/tt&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;includes&amp;gt;&lt;br /&gt;
   &amp;lt;include name=&amp;quot;landing&amp;quot; procedure=&amp;quot;landing.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/includes&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Blocks ===&lt;br /&gt;
&lt;br /&gt;
Block elements are the main part of a flight plan: they describe each unit of the mission.&lt;br /&gt;
They are made of various primitives, called stages and exceptions, you can put one after the other. When a&lt;br /&gt;
stage (or a block) is finished, the autopilot goes to the next one. The behaviour after the last stage of the last block is undefined.&lt;br /&gt;
&lt;br /&gt;
As described in the DTD, the &amp;lt;tt&amp;gt;blocks&amp;lt;/tt&amp;gt; element is composed of &amp;lt;tt&amp;gt;block&amp;lt;/tt&amp;gt; elements which are sequence of ''stages'':&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;!ELEMENT blocks (block+)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT block (exception|while|heading|attitude|go|xyz|set|circle|deroute|stay|follow&lt;br /&gt;
                           |survey_rectangle)*&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;block name=&amp;quot;circlehome&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;circle radius=&amp;quot;75&amp;quot; wp=&amp;quot;HOME&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/block&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add a button in the [[GCS#Strips|strip of the aircraft]] with the attribute &amp;lt;tt&amp;gt;strip_button&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;block name=&amp;quot;descent&amp;quot; strip_button=&amp;quot;Descent&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;circle wp=&amp;quot;HOME&amp;quot; throttle=&amp;quot;0.0&amp;quot; pitch=&amp;quot;-15&amp;quot; vmode=&amp;quot;throttle&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/block&amp;gt; &amp;lt;/tt&amp;gt;&lt;br /&gt;
This button will activate the block. If the attribute &amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt; is specified, all strip buttons of the same group will be placed vertically on top of each other.&lt;br /&gt;
&lt;br /&gt;
In the same way, a key shortcut can be specified:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;block key=&amp;quot;D&amp;quot; name=&amp;quot;descent&amp;quot; strip_button=&amp;quot;Descent&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;circle wp=&amp;quot;HOME&amp;quot; throttle=&amp;quot;0.0&amp;quot; pitch=&amp;quot;-15&amp;quot; vmode=&amp;quot;throttle&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/block&amp;gt; &amp;lt;/tt&amp;gt;&lt;br /&gt;
Modifiers are allowed, using the syntax of [http://library.gnome.org/devel/gtk/2.15/gtk-Keyboard-Accelerators.html#gtk-accelerator-parse GTK accelerators].&lt;br /&gt;
&lt;br /&gt;
An icon can be specified to display the button. The &amp;lt;tt&amp;gt;strip_button&amp;lt;/tt&amp;gt; label then is a tooltip for the icon. The icon must be an image file available in the directory &amp;lt;tt&amp;gt;data/pictures/gcs_icons&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;block name=&amp;quot;Takeoff&amp;quot; strip_icon=&amp;quot;takeoff.png&amp;quot; strip_button=&amp;quot;Takeoff&amp;quot;&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can call functions before or after each execution of the block:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;block name=&amp;quot;circlehome&amp;quot; pre_call=&amp;quot;function_to_call_before_circle()&amp;quot; post_call=&amp;quot;function_to_call_after_circle()&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;circle wp=&amp;quot;HOME&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/block&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Expressions =====&lt;br /&gt;
&lt;br /&gt;
Most of the numeric attributes in stages are analyzed as C expressions. The syntax of this C expression is restricted to &lt;br /&gt;
* numeric constants&lt;br /&gt;
* some internal autopilot variables (not fully documented, see examples)&lt;br /&gt;
* Some binary operators: &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, &amp;lt;&amp;gt;, ==, +, -, /, *&lt;br /&gt;
* Some utility functions&lt;br /&gt;
&lt;br /&gt;
Some examples of usable expressions are given in the next sections.&lt;br /&gt;
&lt;br /&gt;
==== Exceptions ====&lt;br /&gt;
&lt;br /&gt;
The flight manager can handle exceptions. They consist in conditions checked periodically (at the same pace as the navigation control), allowing the control to jump to a given block. Here is the syntax of exceptions:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;exception cond=&amp;quot;...&amp;quot; deroute=&amp;quot;...&amp;quot;&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
where &amp;lt;tt&amp;gt;cond&amp;lt;/tt&amp;gt; is an expression and &amp;lt;tt&amp;gt;deroute&amp;lt;/tt&amp;gt; is the name of the block we want to switch to as soon as the condition is true.&lt;br /&gt;
&lt;br /&gt;
Here are some example of exceptions:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;exception cond=&amp;quot;10 &amp;gt; PowerVoltage()&amp;quot; deroute=&amp;quot;go_down&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;exception cond=&amp;quot;(ground_alt+10 &amp;gt; estimator_z)&amp;quot; deroute=&amp;quot;go_up&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;exception cond=&amp;quot;(estimator_flight_time &amp;gt; 840)&amp;quot; deroute=&amp;quot;quick_land&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exceptions can be local to a block or global to the flight plan, in the &amp;lt;tt&amp;gt;&amp;lt;exceptions&amp;gt;&amp;lt;/tt&amp;gt; element. In the following example, time since last reception of a message from the ground station is monitored and the navigation is switched to the &amp;lt;tt&amp;gt;Standby&amp;lt;/tt&amp;gt; block if no message have been received for 22s. This exception is valid for '''all''' the blocks.&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;flight_plan ...&amp;gt;&lt;br /&gt;
  &amp;lt;waypoints&amp;gt; ... &amp;lt;/waypoints&amp;gt;&lt;br /&gt;
  &amp;lt;exceptions&amp;gt;&lt;br /&gt;
    &amp;lt;exception cond=&amp;quot;datalink_time &amp;gt; 22&amp;quot; deroute=&amp;quot;Standby&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/exceptions&amp;gt;&lt;br /&gt;
  &amp;lt;blocks&amp;gt; ...&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Deroute ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;deroute&amp;lt;/tt&amp;gt; is the ''goto'' directive of the flight plan; it switches the navigation to the given block:&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
&amp;lt;deroute block=&amp;quot;landing&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this primitive should not be used to execute loops which are provided by the following elements.&lt;br /&gt;
&lt;br /&gt;
==== Loops ====&lt;br /&gt;
&lt;br /&gt;
Unbounded loops are written with &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; elements whose &amp;lt;tt&amp;gt;cond&amp;lt;/tt&amp;gt; attribute is a boolean expression.&lt;br /&gt;
Children  of &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; are stages:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;while cond=&amp;quot;TRUE&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;go wp=&amp;quot;A&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;go wp=&amp;quot;B&amp;quot;/&amp;gt; &lt;br /&gt;
  &amp;lt;go wp=&amp;quot;C&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;while cond=&amp;quot;5 &amp;gt; stage_time&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/while&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
In this example, we run an infinite loop, going to waypoints &amp;lt;tt&amp;gt;A&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;B&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;C&amp;lt;/tt&amp;gt; and waiting for 5 seconds before repeating.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bounded loops are written with the &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; tag:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;for var=&amp;quot;i&amp;quot; from=&amp;quot;0&amp;quot; to=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/for&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
where the body of the loop will be run four times.&lt;br /&gt;
&lt;br /&gt;
The variable of a &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; loop can be used inside expressions appearing as attributes of the stages:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;for var=&amp;quot;i&amp;quot; from=&amp;quot;1&amp;quot; to=&amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;circle wp=&amp;quot;HOME&amp;quot; radius=&amp;quot;75&amp;quot; alt=&amp;quot;ground_alt+50*$i&amp;quot; until=&amp;quot;stage_time&amp;gt;10&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/for&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
In this example, we circle around '''HOME''' 10 seconds at height 50m, 10s at height 100m, ... until height 250m.&lt;br /&gt;
Note: Two bounded loops using the same control variable are not allowed in the same block.&lt;br /&gt;
&lt;br /&gt;
==== Navigation modes ====&lt;br /&gt;
&lt;br /&gt;
Navigation modes give the description of the desired trajectory in 3D. While the horizontal mode is specified through&lt;br /&gt;
''stages'', the vertical control is specified with various attributes of these stages. The current available navigation stages are&lt;br /&gt;
* attitude : just keep a fixed attitude;&lt;br /&gt;
* heading : keep a given course;&lt;br /&gt;
* go : go to a given waypoint;&lt;br /&gt;
* circle : circle around a waypoint;&lt;br /&gt;
* stay : hold the position (hard to realize for a fixed-wing aircraft);&lt;br /&gt;
* follow : follow another aircraft;&lt;br /&gt;
* xyz : circle around a point moveable with the RC transmitter stick (obsolete with the datalink).&lt;br /&gt;
&lt;br /&gt;
The vertical control is achieved using the &amp;lt;tt&amp;gt;vmode&amp;lt;/tt&amp;gt; attribute of these stages. The possible values are &lt;br /&gt;
* '''alt''' (the default) : the autopilot keeps the desired altitude which is the altitude of the waypoint (if any) or the altitude specified with the &amp;lt;tt&amp;gt;alt&amp;lt;/tt&amp;gt; attribute;&lt;br /&gt;
* '''climb''' : the autopilot keeps the desired vertical speed specified with the &amp;lt;tt&amp;gt;climb&amp;lt;/tt&amp;gt; attribute (in m/s);&lt;br /&gt;
* '''throttle''' : the autopilots sets the desired throttle specified with the &amp;lt;tt&amp;gt;throttle&amp;lt;/tt&amp;gt; attribute (between 0 and 1);&lt;br /&gt;
* '''glide''' : the autopilot keeps the desired slope between two waypoints&lt;br /&gt;
&lt;br /&gt;
The default control is done with the throttle. However, setting the &amp;lt;tt&amp;gt;pitch&amp;lt;/tt&amp;gt; attribute to '''auto''' and the &amp;lt;tt&amp;gt;throttle&amp;lt;/tt&amp;gt; attribute to a constant allows a vertical control only by controlling the attitude of the A/C.&lt;br /&gt;
The &amp;lt;tt&amp;gt;pitch&amp;lt;/tt&amp;gt; attribute also can be set to any value (in degrees) while the throttle control is in use: it usually affects the airspeed of the aircraft.  &lt;br /&gt;
&lt;br /&gt;
The different navigation modes are detailed in the next sections.&lt;br /&gt;
&lt;br /&gt;
==== Attitude ====&lt;br /&gt;
Element &amp;lt;tt&amp;gt;attitude&amp;lt;/tt&amp;gt; is the navigation mode which corresponds to the current lowest control loop for horizontal mode.&lt;br /&gt;
The autopilot then keeps a constant attitude. The &amp;lt;tt&amp;gt;roll&amp;lt;/tt&amp;gt; attribute is required (in degrees, positive to put right wing low).&lt;br /&gt;
&lt;br /&gt;
To fly away, at constant airspeed:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;attitude roll=&amp;quot;0&amp;quot; vmode=&amp;quot;throttle&amp;quot;, throttle=&amp;quot;0.5&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fly around, holding a given altitude:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;attitude roll=&amp;quot;30&amp;quot; alt=&amp;quot;ground_alt+50&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that it is not a ''safe'' navigation mode since the geographic position of the plane is not controlled. However, this mode is useful to tune the roll attitude control loop.&lt;br /&gt;
&lt;br /&gt;
==== Heading ====&lt;br /&gt;
&amp;lt;tt&amp;gt;heading&amp;lt;/tt&amp;gt; primitive is relative to the second level loop for horizontal mode in the autopilot which will keep the given &amp;lt;tt&amp;gt;course&amp;lt;/tt&amp;gt;, a required attribute (in degrees, clockwise, north=0, east=90).&lt;br /&gt;
&lt;br /&gt;
One example to takeoff, following the QFU, 80% throttle, nose up (15 degrees) until height of 30m is reached:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;heading course=&amp;quot;QFU&amp;quot; vmode=&amp;quot;throttle&amp;quot; throttle=&amp;quot;0.8&amp;quot; pitch=&amp;quot;15&amp;quot; until=&amp;quot;(estimator_z &amp;gt; ground_alt+30)&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Go ====&lt;br /&gt;
The &amp;lt;tt&amp;gt;go&amp;lt;/tt&amp;gt; primitive is probably the most useful one. Basically, the autopilot will try to join a given waypoint (&amp;lt;tt&amp;gt;wp&amp;lt;/tt&amp;gt;, the only required attribute). So the simplest thing you can ask for is&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;go wp=&amp;quot;HOME&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
which will set the '''HOME''' waypoint as the desired target position. Note than since &amp;lt;tt&amp;gt;vmode=&amp;quot;alt&amp;quot;&amp;lt;/tt&amp;gt; is the default, the altitude of the target waypoint is also taken into account. The navigation will switch to the next stage as soon as the target is reached.&lt;br /&gt;
&lt;br /&gt;
It is usually not a good idea to try to join a waypoint without asking for a precise trajectory, i.e. a given line.&lt;br /&gt;
Setting the &amp;lt;tt&amp;gt;hmode&amp;lt;/tt&amp;gt; attribute to '''route''', the navigation will go over a segment joining two waypoints:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;go from=&amp;quot;wp1&amp;quot; wp=&amp;quot;wp2&amp;quot; hmode=&amp;quot;route&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The target altitude is the altitude of the target waypoint; it can also be set with the &amp;lt;tt&amp;gt;alt&amp;lt;/tt&amp;gt; attribute. The following example keeps an altitude with fixed throttle:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;go from=&amp;quot;wp2&amp;quot; wp=&amp;quot;wp3&amp;quot; hmode=&amp;quot;route&amp;quot; pitch=&amp;quot;auto&amp;quot; throttle=&amp;quot;0.75&amp;quot; alt=&amp;quot;ground_alt+100&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The attributes related to the vertical control can also be set to replace the default altitude mode:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;go from=&amp;quot;wp1&amp;quot; wp=&amp;quot;wp2&amp;quot; hmode=&amp;quot;route&amp;quot; vmode=&amp;quot;climb&amp;quot; climb=&amp;quot;1.5&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, the &amp;lt;tt&amp;gt;approaching_time&amp;lt;/tt&amp;gt; (in seconds) attribute helps to decide when the target is ''reached''. It can be set&lt;br /&gt;
to '''0''' to go over the target waypoint (default value is the '''CARROT''' time, set in the airframe configuration file).&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;go from=&amp;quot;wp1&amp;quot; wp=&amp;quot;wp2&amp;quot; hmode=&amp;quot;route&amp;quot; approaching_time=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Circle ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;circle&amp;lt;/tt&amp;gt; primitive is the second main navigation mode: the trajectory is defined as a circle around a given waypoint with a given radius:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;circle wp=&amp;quot;HOME&amp;quot; radius=&amp;quot;75&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
A positive radius makes the UAS move clockwise, a negative counter-clockwise.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;until&amp;lt;/tt&amp;gt; attribute may be used to control the end of the stage. The following example defines an ascending trajectory at constant throttle, nose up (15 degrees), over growing circles, until the battery level is low:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;circle wp=&amp;quot;wp1&amp;quot; radius=&amp;quot;50+(estimator_z-ground_alt)/2&amp;quot; vmode=&amp;quot;throttle&amp;quot; throttle=&amp;quot;0.75&amp;quot; pitch=&amp;quot;15&amp;quot; until=&amp;quot;10&amp;gt;PowerVoltage()&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Follow ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;follow&amp;lt;/tt&amp;gt; is a special primitive which makes the UAS follow another UAS (real or simulated, named with its &amp;lt;tt&amp;gt;ac_id&amp;lt;/tt&amp;gt;) at a given &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt; (in meters) behind and at a given &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt; (in meters) above.&lt;br /&gt;
&lt;br /&gt;
In this example, the autopilot will try to follow A/C number '''4''', staying '''50'''m behind and '''20'''m above.&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;follow ac_id=&amp;quot;4&amp;quot; distance=&amp;quot;50&amp;quot; height=&amp;quot;20&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Note that the &amp;lt;tt&amp;gt;traffic_info.c&amp;lt;/tt&amp;gt; file is required by this feature and the &amp;lt;tt&amp;gt;TRAFFIC_INFO&amp;lt;/tt&amp;gt; flag has to be set to enable it. Then, the following lines must be added in the airframe file:&lt;br /&gt;
 &amp;lt;tt&amp;gt;ap.srcs += traffic_info.c&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;ap.CFLAGS += -DTRAFFIC_INFO&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;sim.srcs += traffic_info.c&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &amp;lt;tt&amp;gt;sim.CFLAGS += -DTRAFFIC_INFO&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Stay ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;stay&amp;lt;/tt&amp;gt; is a mode for UAS's able to hover:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;stay wp=&amp;quot;HOME&amp;quot; alt=&amp;quot;10&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Xyz ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xyz&amp;lt;/tt&amp;gt; is a special mode where the UAS circles around a user moveable waypoint. This waypoint is moved with the RC sticks:&lt;br /&gt;
* YAW channel controls the point over the west-east axis;&lt;br /&gt;
* PITCH channel controls the point over the south-north axis;&lt;br /&gt;
* ROLL channel controls the altitude.&lt;br /&gt;
&lt;br /&gt;
Example (default radius is '''100'''):&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;xyz radius=&amp;quot;40&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Set ====&lt;br /&gt;
The &amp;lt;tt&amp;gt;set&amp;lt;/tt&amp;gt; element is a dangerous one which should be used only by expert users: it is used to directly set an internal variable of the autopilot. For example, you can change the value of the default ground altitude, a variable used by the home mode failsafe procedure (and maybe by your own flight plan):&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;set var=&amp;quot;ground_alt&amp;quot; value=&amp;quot;ground_alt+50&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
This directive is extremely powerful and has great potential for error - use with caution.&lt;br /&gt;
&lt;br /&gt;
==== Call ====&lt;br /&gt;
The &amp;lt;tt&amp;gt;call&amp;lt;/tt&amp;gt; allows the user to define its own navigation procedures in C. The &amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt; must be a call to a boolean function which must return TRUE as long as the stage is not completed (a function which should be called only once would then return immediately FALSE).&lt;br /&gt;
This feature is illustrated with the '''line''' pattern:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;call fun=&amp;quot;nav_line_init()&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;call fun=&amp;quot;nav_line(WP_1, WP_2, nav_radius)&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
where &amp;lt;tt&amp;gt;nav_line_init()&amp;lt;/tt&amp;gt; returns FALSE and &amp;lt;tt&amp;gt;nav_line()&amp;lt;/tt&amp;gt; always returns TRUE (this stage never ends).&lt;br /&gt;
Such functions usually are defined in a supplementary C file which must be specified in the airframe file (in the &amp;lt;tt&amp;gt;makefile&amp;lt;/tt&amp;gt; section)&lt;br /&gt;
 &amp;lt;tt&amp;gt;ap.srcs += nav_line.c&lt;br /&gt;
 sim.srcs += nav_line.c&amp;lt;/tt&amp;gt;&lt;br /&gt;
These functions also must be declared in a header file which must be mentioned in the header element of the flight plan:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;header&amp;gt;&lt;br /&gt;
 #include &amp;quot;nav_line.h&amp;quot;&lt;br /&gt;
 &amp;lt;/header&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
These C source file and H header file must be located in the &amp;lt;tt&amp;gt;sw/airborne&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
You can also call functions before or after each execution of the block:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;block name=&amp;quot;circlehome&amp;quot; pre_call=&amp;quot;function_to_call_before_circle()&amp;quot; post_call=&amp;quot;function_to_call_after_circle()&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;circle wp=&amp;quot;HOME&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/block&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advanced Examples ==&lt;br /&gt;
Parameters used in a flight plan can be computed expressions. In this example, the plane is asked to perform 5 circles at progressively increasing altitudes for exactly one minute at each altitude:&lt;br /&gt;
 &amp;lt;for var = &amp;quot;i&amp;quot; from = &amp;quot;1&amp;quot; to = &amp;quot;5&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;circle wp = &amp;quot;HOME&amp;quot; radius=&amp;quot;75&amp;quot;&lt;br /&gt;
          alt = &amp;quot;ground_alt+50*$i&amp;quot;&lt;br /&gt;
          until = &amp;quot;stage_time&amp;gt;60&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/for&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Failsafe ===&lt;br /&gt;
&lt;br /&gt;
Paparazzi provides several failsafe features, see [[Failsafe]].&lt;br /&gt;
&lt;br /&gt;
=== Immobilize Actuators === &lt;br /&gt;
&lt;br /&gt;
h_ctl setpoints variable are set by the h_ctl_attitude_loop() (from fw_h_ctl.c) loop) which can be disabled with the&lt;br /&gt;
h_ctl_disabled flag:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;set var=&amp;quot;h_ctl_disabled&amp;quot; value=&amp;quot;TRUE&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;set var=&amp;quot;h_ctl_aileron_setpoint&amp;quot; value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;set var=&amp;quot;h_ctl_elevator_setpoint&amp;quot; value=&amp;quot;MAX_PPRZ/2&amp;quot;/&amp;gt;&lt;br /&gt;
 .... waiting for a condition ...&lt;br /&gt;
 &amp;lt;set var=&amp;quot;h_ctl_disabled&amp;quot; value=&amp;quot;FALSE&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Procedures ==&lt;br /&gt;
&lt;br /&gt;
Procedures are libraries which can be included in flight plans. They are composed of waypoints, sectors and blocks. The header of a procedure may&lt;br /&gt;
contain some parameters which are replaced by arguments when the procedure is included.&lt;br /&gt;
&lt;br /&gt;
Extract of the DTD: a procedure is a sequence of parameters, waypoints, ...:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;!ELEMENT procedure (param*,header?,waypoints?,sectors?,exceptions?,blocks?)&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;tt&amp;gt;param&amp;lt;/tt&amp;gt;eter is just a name. A parameter is optional if it is declared with a default value.&lt;br /&gt;
An example with a required and an optional parameter:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;param name=&amp;quot;alt&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;param name=&amp;quot;radius&amp;quot; default_value=&amp;quot;75&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Procedures are called with the &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; element in a flight plan. A procedure cannot be included twice or by another procedure. A procedure call requires:&lt;br /&gt;
* the name of the procedure file, the name given to this inclusion; &lt;br /&gt;
* values for the parameters;&lt;br /&gt;
* backlinks for block name exits of the procedure.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;include name=&amp;quot;landing&amp;quot; procedure=&amp;quot;landing.xml&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the corresponding procedure '''landing.xml''':&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;!DOCTYPE procedure SYSTEM &amp;quot;flight_plan.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;procedure&amp;gt;&lt;br /&gt;
  &amp;lt;waypoints&amp;gt;&lt;br /&gt;
    &amp;lt;waypoint name=&amp;quot;AF&amp;quot; x=&amp;quot;177.4&amp;quot; y=&amp;quot;45.1&amp;quot; alt=&amp;quot;30&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;waypoint name=&amp;quot;TD&amp;quot; x=&amp;quot;28.8&amp;quot; y=&amp;quot;57.0&amp;quot; alt=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;waypoint name=&amp;quot;_BASELEG&amp;quot; x=&amp;quot;168.8&amp;quot; y=&amp;quot;-13.8&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/waypoints&amp;gt;&lt;br /&gt;
  &amp;lt;blocks&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;block name=&amp;quot;land&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;call fun=&amp;quot;nav_compute_baseleg(WP_AF, WP_TD, WP__BASELEG, nav_radius)&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;circle radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;NavCircleCount() &amp;gt; 0.5&amp;quot; wp=&amp;quot;_BASELEG&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;circle radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-10), 10 &amp;gt; fabs(estimator_z - WaypointAlt(WP__BASELEG)))&amp;quot; wp=&amp;quot;_BASELEG&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/block&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
  &amp;lt;/blocks&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the name of procedure '''land''' block will be renamed into '''landing.land''':&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;deroute block=&amp;quot;landing.land&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
will jump to this procedure block.&lt;br /&gt;
&lt;br /&gt;
Suppose you have a go-around condition in your landing procedure. You would write it&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;exception cond=&amp;quot;...&amp;quot; deroute=&amp;quot;go-around&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
then you must link this block exit with one of your block (e.g. &amp;lt;tt&amp;gt;Standby&amp;lt;/tt&amp;gt;). So you would include the procedure as follows:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&amp;lt;include name=&amp;quot;landing&amp;quot; procedure=&amp;quot;landing.xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;with from=&amp;quot;go-around&amp;quot; to=&amp;quot;Standby&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/include&amp;gt;&amp;lt;/tt&amp;gt;\&lt;br /&gt;
&lt;br /&gt;
== Building Flight Plans ==&lt;br /&gt;
&lt;br /&gt;
'''Waypoint Settings'''&lt;br /&gt;
&lt;br /&gt;
Many of the flight plan examples here and in the Paparazzi software set waypoint locations using x,y coordinates from the lat/lon in the header of the flight plan. When building flight plans on the fly where there is no requirement to stay within lat/lon boundaries, this is acceptable. When you are building flight plans where you are required to stay within or overfly certain GPS coordinates, using x,y from the lat/lon in the header will not work in real life. When simulating your flight plan the aircraft always starts from the lat/lon in the header. In reality your aircraft will probably start from a different spot each time, meaning your lat/lon coordinates will change each time. If you use the x,y coordinates, then each waypoint will move and your GPS points will not longer be correct&lt;br /&gt;
&lt;br /&gt;
== Flight Simulation ==&lt;br /&gt;
Complex flight plans should always be carefully tested prior to flight.  See the [[Simulation|simulation]] page for details.&lt;br /&gt;
&lt;br /&gt;
== See also==&lt;br /&gt;
For example flight plans please see [[Flight_Plan_Examples|Flight_Plan_Examples]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9950</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9950"/>
		<updated>2011-08-13T17:46:32Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Autopilot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja from Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* [http://store.diydrones.com/product_p/br-ppme.htm| PPM encoder]&lt;br /&gt;
* IR sensors [[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
* Transmitter: Royal Evo 9&lt;br /&gt;
* Receiver: Multiplex RX 9 Synth DS IPD&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=9949</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=9949"/>
		<updated>2011-08-13T16:47:06Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Europe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi&lt;br /&gt;
&lt;br /&gt;
== Wiki User Pages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ User Pages&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:EldenC Elden_Crom]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Marc Marc]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bu5hm4nn Bu5hm4nn]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:HWal HWal]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Aerodolphin Rui Costa]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:PaulCox Paul Cox]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bruzzlee Bruzzlee]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Stspies Stspies]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mzr Mzr]&lt;br /&gt;
|[http://brquad.blogspot.com AGRESSiVA]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|add yourself here&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Paparazzi Users sorted geographically =&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Asia&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:zhaojinhust@gmail.com ZHAOJin]|| China || Tiny2.11 ||| 2011|| Just Finished my hand-soldered Tiny2.11 board. Welcome to my blog: freikorps.blogcn.com (CHINESE中文)&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:wangcfan@163.com Wangcfan]|| China || Tiny2.11 ||| 2008 || The beginning, is now in learning phase;Learning in Tiny2.11 using the method of IMU!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new  wing like funjet  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:benybeejz@gmail.com benybee] || Bandar Lampung, Indonesia || Tiny13 1.1 ||| 2010 || trying to get wing dragon fully autonomus, for aireal photograph and research&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Austria&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|France&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL  ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pvol_at_club.fr Philippe Volivert] || Paris, France || TWOG 2.12, EasyGlider, MPX3030 ||| July 2009 || Working on pan/tilt/roll camera&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:thibaut.bergal@estaca.eu ESTACA Modélisme] || Paris, France || TWOG 2.11, Swift 2, MC22 ||| January 2010 || Starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:limaiem@gmail.com Imed Limaiem] || Paris, France || TWOG 2.11, EPP-CF FPV ||| January 2010 || flight test; Town pollution measurement; &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox]  &lt;br /&gt;
| Toulouse &lt;br /&gt;
|    Tiny v2.11  ||  Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Germany&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Borjet Maja, Futaba 9C 35 Mhz ||| August 2009 || Have flown different airframes and am flying a Borjet Maja right now; built a more rugged case and connecting board for PPRZ; taking surveying pictures&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane  ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.&lt;br /&gt;
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Flixr|Felix Ruess]] || Munich, Germany || Booz and Lisa/L ||| 2008 || coding more than flying.... unfortunately&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:TheJJ|Jonas Jelten]] || Augsburg, Germany || just our airframe ||| 2010 || &amp;quot;P-Seminar&amp;quot; for the new G8 at our Gymnasium ([http://www.solarflugzeug.de.tc solarflugzeug.de.tc])&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Christoph|Christoph Niemann]] || Bremen, Germany || Reely Condor with TWOG and Sparkfun Razor-IMU ||| 2010 || Several successful AUTO2-Flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Martial|Martial Châteauvieux]] || Munich, Germany || Bormatec/Maja with TWOG and IR ||| 2011 || Every thing installed on board. First crash during test on field. I need to repair the airframe. Next test on Monday 15th of Aug.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Stspies|Steffen Spies]] || Wolfsburg, Germany || Multiplex TwinStar with Tiny V2.11 and IR ||| 2010 || Awaiting first flight. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Tobi|Tobias M]] || Germany || Multiplex TwinStar II TWOG v1 and IR/imu ||| 2007 || about 120h of flight tests in Auto2 with IR - coding and testing a new vertical control with airspeed - just changed from IR to Aspirin imu - about 3h Auto2 in that configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:RoN|Rolf N]] || Bremen, Germany || Multiplex Acromaster with TWOG, airspeed and imu ||| 2010 || Several successful AUTO2 flights&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Portugal&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Switzerland&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny v2.11, TWOG v1, EeePC as GCS, Multiplex FunJet &amp;amp; EasyStar  ||| 2008 || Many successful flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera  ||| 2008 || Many successful flights working on an osd module and weather probes. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reto.buettner_at_gmail.com RetoB] || Meilen, Switzerland || TWOG, Tiny 2.11, Cougar, eHawk, Y-UAV, EzOSD, Scherrer UHF ||| 2010 || Many successful flights. See [http://www.aerovista.ch/news.html www.aerovista.ch] and [http://www.y-uav.com www.y-uav.com] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:schmiemi_at_students.zhaw.ch EmilioS] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Borjet Maja, UMARS||| 2010 || Many successful flights. See [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:enso@zhaw.ch Oliver E] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Kyosho Calmato, UMARS||| 2010 || Many Successful flights. A lot of experience as savety pilot. Experience with pich based speed control (best you can have). No programming skills unfortuanatley. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:samuelbryner_gmx.ch Samuel B.] || Winterthur, Switzerland || Tiny 2.11, Multiplex Easyglider  ||| 2010 || Just starting. No flight so far :/&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:rmaurer@sunrise.ch RetoM] || Bottighofen, Switzerland || Tiny 2.11, Multiplex Mentor  ||| 2010 || First flight successfully performed on 16 July 2011, including auto-landing, more to go ...&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sjwilks_at_gmail.com Simon W.] || Aarau, Switzerland || TWOG with ArduIMU in Jamara Roo, Telink Tempest, Bormatec Maja and Lisa/L for the XAircraft X650 ||| 2010 || Many successful flights. See [http://sites.google.com/site/paparazziuav/ http://sites.google.com/site/paparazziuav/].&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| UK&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 &amp;amp; MaxStream ||| 2008 || Just starting.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Came 4th in EMAV09 (although won the Golden Balls award for courage in the face of adversity and exceptional partying).  Many AUTO2 flights with a camera and XBee868s.  Current main airframe is a GWS Formosa (they are so cheap!).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Other&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3,2.11, Twog 1.0 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV. Successfull. Now using it on large gliders and jets.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009  &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:openuas|OpenUAS]] || Amsterdam, The Netherlands || TWOG, Tiny, Lisa/L and various airframes  || 2007 || Quite a few AUTO2 flights. Improving airspeed, IMU and strong wind integration&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, two own hardware designs, 5 kg aerial photo plane, 2.5 kg survelliance uav, Easystar ||| 2007 || Use modified autopilot and GCS in professional tasks, add self desidned IMU&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:chebuzz_at_gmail.com David &amp;quot;Buzz&amp;quot; Carlson] || Cyprus || Tiny 2.11, Lynx EDF &amp;amp; GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights.  Plane currently grounded due to a TX run-in with a 1 year-old.  Currently working on getting new TX and completing CBP store setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL  ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS  ||| 2009 || Ditched the SIG Kadet. Built a new big plane TaigaCam. Self-build model made out of EPP and a plastic tube.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:alexandru.panait@ral.ro Phineas] || Bucharest, Romania || Tiny2.11 (PPZUAV)  ||| November 2009 || Just started to set-up &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:lukeiron@hotmail.com Luke] || Torino, Italy || TWOG ||| December 2009 || Close to mount the AP on my Mentor &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:helgewal@gmail.com Helge] || Bergen, Norway || TWOG ||| 2009 || First Auto2 flight with Twinstar2 in October 2010 &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kepler0@gmail.com Joaquín] || Málaga, Spain|| TWOG v1, Trex600, Cockpit SX, ArduImuV2, HMC5843 ||| September 2009 || Finished integration (navigation, control, actuators). Missing to realize an automatic engine control.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 &amp;amp; AUTO2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV)  |||Oct. 2008 ||  Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV)  ||| 2007 ||  currently flying a 48 inch zagi, 80 inch under construction.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA   ||| Feb 2009 || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV)  ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV)  ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV)  ||| January 2009 || Building 72&amp;quot; Flying Wings which will be used for remote sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV)  ||| June 2007 || 2x72&amp;quot; 5x48&amp;quot; 1x60&amp;quot; Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28.  New Airframe in development.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV)  ||| March 2009 || UCSD Project with Multiplex Mentor.  Completed August 2, 2009. Several Successful Auto2 Flights.  A LOT of help from David Conger.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:EldenC Elden Crom] || Tucson, AZ || Twog 1.0  ||| July 2009 || Multiplex Twinstar, XBee Pro.  Several Successful Auto2 Flights. Working toward precise  Auto-Takeoff and Auto-Land &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider] || Tucson, AZ || None, will use TWOG 1.0  ||| December 2009 || Super Dimona, Aerocomm.  No Flight test. Working toward setting waypoints within Paparazzi code &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [Reegan] || Lubbock, TX || Planning on Tiny 2.11 (PPZUAV), 900mhz XBPro  |||Dec. 2009 ||  Gaining info to begin a collegiate project&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| Team UAV UALR Caleb Tenberge || Little Rock, AR || Using TWOG 1.0  ||| Feb 2010 || Using a Telemaster, we are learning the GCS and building our plane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:changho.nam@asu.edu Arizona State University POLY - Capstone Team: Development of UAV /w surveillance System] || Mesa, AZ || Using TINY 2.1 - 2.4GHz Modem, CCD Camera /w 900 MHz Video Transmitter  ||| March 2010 || 4-lbs Flying Wings.   We made successful autonomous flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer] || Edmonton, AB, CAN || Nothing Yet ||| Jan 2011 || Obtaining Hardware &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muratagenc@yahoo.com Murat A. Genc] || New York, NY || not decided yet  ||| May 2011 ||  just started&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Central America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV).  Multiplex Mentor  ||| 2008 || Seven flights now. Flights 6 &amp;amp; 7 in Auto2. Now only a matter of fine tuning.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==South America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:gustavoviolato@gmail.com Gustavo Violato] || São José dos Campos, Brasil || Tiny v2.11/LEA-4P, Modem XBee Pro 2.4 GHz Swift II  ||| 2009 || Flying autonomously and enjoying it. Planning to use the system for flight test data acquisition and aircraft parameter recognition. &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:agressiva@hotmail.com Eduardo Lavratti] || Porto Alegre - RS, Brasil || TWOG / BOOZ, UBLOX, Xbee900 60mw||| 2011 || Working with geoprocessing - developping new modules and sensors to paparazzi.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Australia==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:RH1N0 RH1N0] || Brisbane, QLD || TWOG, Multiplex Easystar, PPZGPS, H.264 live digital video, Ubiquiti modems ||| May 2011 || Multiple AUTO2 flights up to 40 min. Currently testing PPZIMU.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe.  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet,  MacBook laptop ||| August 2008 || Several flights in Auto1&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Adam.A Adam Amos] || Sydney, NSW || TWOG, IMU, BORJET MAJA || March 2010 || see [http://www.rescuerobotics.com.au www.rescuerobotics.com.au] for current status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Africa==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009  || Got TWOG,GPS etc interfacing with Laptop and working , Have not done anything to it recently but...Made a website [http://sites.google.com/site/scarfclub/paparazi-uav SCARF Paparazzi-UAV] of my struggle ...&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:willie.smit@nwu.ac.za Willie Smit] || South Africa NW || Tiny v2.11, LEA-4P GPS, RF Modems XBee Pro ||| April 2010  || We are currently doing test flights. Also doing research on obstacle avoidance.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Need help adding your information?=&lt;br /&gt;
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&amp;amp;postcount=1 EMAIL] at with the &lt;br /&gt;
following:&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
*Email&lt;br /&gt;
*Location&lt;br /&gt;
*Hardware&lt;br /&gt;
*Join date&lt;br /&gt;
*Current activities / project status&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9948</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9948"/>
		<updated>2011-08-13T16:43:22Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja from Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* IR sensors currently being assembled[[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Assemble airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Order TWOG&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Solder IR Sensors&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Crimp cables&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Integrate TWOG in airframe&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tuning flights&lt;br /&gt;
* Install digital camera&lt;br /&gt;
* Take aerial pictures&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Autopilots&amp;diff=9532</id>
		<title>Autopilots</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Autopilots&amp;diff=9532"/>
		<updated>2011-06-08T19:20:27Z</updated>

		<summary type="html">&lt;p&gt;Martial: Added a Hardware release process section, from Poines thread on the mailing list.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing:8px;margin:0px -8px&amp;quot; class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:100%;border:1px solid #9999bf;background-color:#f5fffa;vertical-align:top;color:#000; text-align: left;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;-moz-border-radius-topright: 1em;-moz-border-radius-topleft: 1em; &lt;br /&gt;
background:#cedff2;margin:-2px;padding:4px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:favicon32.png|32px]] Autopilots&lt;br /&gt;
&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding:6px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Autopilots}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- Start of right-column --&amp;gt;&lt;br /&gt;
| class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:70%;border:1px solid #cedff2;background-color:#f5fffa;vertical-align:top&amp;quot;|&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot;vertical-align:top;background-color:#f5fffa&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;h2 style=&amp;quot;margin:0;background-color:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3bfb1;text-align:left;color:#000;padding:0.2em 0.4em;&amp;quot;&amp;gt;Paparazzi Autopilots&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Hardware support for Autopilot versions currently in use. &lt;br /&gt;
|-&lt;br /&gt;
|[[Image:tiny13_family_top_sm.jpg|center|400px|Tiny 1.1 autopilots on the &amp;quot;assembly line&amp;quot;]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;h2&amp;gt;When will the Schematics, CAD files, Gerber files, BOM be released?&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;h3&amp;gt;The hardware development and release process.&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;P&amp;gt;Le mercredi 8 juin 2011 13:25:47 antoine drouin wrote on the mailing list&amp;lt;/P&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schematics will be released ASAP, CAD files will come later. When ? I don't know.... Worst case would be when Joby Robotics releases a new version of the board, but I hope it will be sooner than that. &lt;br /&gt;
&lt;br /&gt;
Lisa/L CAD files have been released (http://svn.savannah.nongnu.org/viewvc/paparazzi-hardware/trunk/lisa/v1.1/?root=paparazzi ) 3 month ago. (...)&lt;br /&gt;
&lt;br /&gt;
I've started this project together with Pascal 8 years ago and since then I have dedicated my time to try and make it successful. I'm utterly convinced of the benefits of open source, but observing how Paparazzi grew over time, I came to the conclusion that hardware is a bit different than software... &amp;quot;gcc tiny.brd&amp;quot; is not going to make a board magically appear on your desktop. &lt;br /&gt;
&lt;br /&gt;
I'll list here some of my arguments in favor of releasing CAD files after the board is mature.&lt;br /&gt;
# Unlike software, where an unskilled user can type make and get a piece of complex software to successfully build, assembling hardware requires tools and skills. Providing gerbers and BOM have lured a bunch of new users into believing otherwise and has created tons of frustration. I've myself fixed a number of badly assembled boards and I even recall that while helping debugging a board (so after assembly), discovering that the person had manufactured two layers PCBs instead of four layers. As the technology of the autopilot increases, this problem becomes more and more important.&lt;br /&gt;
# The success of the project depends on the availability of affordable hardware. The price of hardware is directly and exponentially dependent on the number of manufactured units. If ten persons manufacture 10 boards each, the cost will be much higher than if one person manufactures 100.&lt;br /&gt;
# Last and not least, the quality of assembly also depends very much on the number of manufactured units. Good quality can only be achieved through the use of automated placing and soldering, and those processes can only be used if the number of units reach a certain amount.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]] [[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9500</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9500"/>
		<updated>2011-06-05T18:20:39Z</updated>

		<summary type="html">&lt;p&gt;Martial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
[[Image:Martial_Maja_01.jpeg|thumb]]&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja from Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* IR sensors currently being assembled[[Image:Martial_SolderingIR_02.jpeg|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* Assemble airframe (Done)&lt;br /&gt;
* Order TWOG (delivered)&lt;br /&gt;
* Solder IR Sensors.&lt;br /&gt;
* Crimp cables&lt;br /&gt;
* Hardware check: Hardware in the loop simulation.&lt;br /&gt;
* Integrate TWOG in airframe&lt;br /&gt;
* Tuning&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9499</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9499"/>
		<updated>2011-06-05T18:17:24Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Photos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja from Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* IR sensors currently being assembled&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
=== Photos ===&lt;br /&gt;
* [[Image:Martial_Maja_01.jpeg]]&lt;br /&gt;
* [[Image:Martial_SolderingIR_01.jpeg]]&lt;br /&gt;
* [[Image:Martial_SolderingIR_02.jpeg]]&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* Assemble airframe (Done)&lt;br /&gt;
* Order TWOG (delivered)&lt;br /&gt;
* Solder IR Sensors.&lt;br /&gt;
* Crimp cables&lt;br /&gt;
* Hardware check: Hardware in the loop simulation.&lt;br /&gt;
* Integrate TWOG in airframe&lt;br /&gt;
* Tuning&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Martial_Maja_01.jpeg&amp;diff=9498</id>
		<title>File:Martial Maja 01.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Martial_Maja_01.jpeg&amp;diff=9498"/>
		<updated>2011-06-05T18:11:31Z</updated>

		<summary type="html">&lt;p&gt;Martial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Martial_SolderingIR_02.jpeg&amp;diff=9497</id>
		<title>File:Martial SolderingIR 02.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Martial_SolderingIR_02.jpeg&amp;diff=9497"/>
		<updated>2011-06-05T18:10:02Z</updated>

		<summary type="html">&lt;p&gt;Martial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Martial_SolderingIR_01.jpeg&amp;diff=9496</id>
		<title>File:Martial SolderingIR 01.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Martial_SolderingIR_01.jpeg&amp;diff=9496"/>
		<updated>2011-06-05T18:08:40Z</updated>

		<summary type="html">&lt;p&gt;Martial: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9495</id>
		<title>User:Martial</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Martial&amp;diff=9495"/>
		<updated>2011-06-05T18:03:04Z</updated>

		<summary type="html">&lt;p&gt;Martial: Created user page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
'''Name:''' Martial&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Munich, Bavaria, Germany.&lt;br /&gt;
&lt;br /&gt;
== Hardware==&lt;br /&gt;
=== Airframe ===&lt;br /&gt;
* [http://www.bormatec.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=78&amp;amp;Itemid=59| Maja from Bormatec]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
* [https://store.ppzuav.com/osc/product_info.php?products_id=60&amp;amp;osCsid=isf3hs3tolvij0stjfaaev90u6| TWOG from ppzuav]&lt;br /&gt;
* IR sensors currently being assembled&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
* XBee pro&lt;br /&gt;
&lt;br /&gt;
=== Photos ===&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* Assemble airframe (Done)&lt;br /&gt;
* Order TWOG (delivered)&lt;br /&gt;
* Solder IR Sensors.&lt;br /&gt;
* Crimp cables&lt;br /&gt;
* Hardware check: Hardware in the loop simulation.&lt;br /&gt;
* Integrate TWOG in airframe&lt;br /&gt;
* Tuning&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=9494</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=9494"/>
		<updated>2011-06-05T17:52:01Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Europe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi&lt;br /&gt;
&lt;br /&gt;
== Wiki User Pages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ User Pages&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:EldenC Elden_Crom]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Marc Marc]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bu5hm4nn Bu5hm4nn]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:HWal HWal]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Aerodolphin Rui Costa]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:PaulCox Paul Cox]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bruzzlee Bruzzlee]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Stspies Stspies]&lt;br /&gt;
|add yourself here&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Paparazzi Users sorted geographically =&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Asia&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:zhaojinhust@gmail.com ZHAOJin]|| China || Tiny2.11 ||| 2011|| Just decide to buy the tiny2.11 bundle and get started!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:wangcfan@163.com Wangcfan]|| China || Tiny2.11 ||| 2008 || The beginning, is now in learning phase;Learning in Tiny2.11 using the method of IMU!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new  wing like funjet  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:benybeejz@gmail.com benybee] || Bandar Lampung, Indonesia || Tiny13 1.1 ||| 2010 || trying to get wing dragon fully autonomus, for aireal photograph and research&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Austria&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|France&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL  ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pvol_at_club.fr Philippe Volivert] || Paris, France || TWOG 2.12, EasyGlider, MPX3030 ||| July 2009 || Working on pan/tilt/roll camera&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:thibaut.bergal@estaca.eu ESTACA Modélisme] || Paris, France || TWOG 2.11, Swift 2, MC22 ||| January 2010 || Starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:limaiem@gmail.com Imed Limaiem] || Paris, France || TWOG 2.11, EPP-CF FPV ||| January 2010 || flight test; Town pollution measurement; &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox]  &lt;br /&gt;
| Toulouse &lt;br /&gt;
|    Tiny v2.11  ||  Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Germany&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Borjet Maja, Futaba 9C 35 Mhz ||| August 2009 || Have flown different airframes and am flying a Borjet Maja right now; built a more rugged case and connecting board for PPRZ; taking surveying pictures&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane  ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.&lt;br /&gt;
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Flixr|Felix Ruess]] || Munich, Germany || Booz and Lisa/L ||| 2008 || coding more than flying.... unfortunately&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:TheJJ|Jonas Jelten]] || Augsburg, Germany || just our airframe ||| 2010 || &amp;quot;P-Seminar&amp;quot; for the new G8 at our Gymnasium ([http://www.solarflugzeug.de.tc solarflugzeug.de.tc])&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Christoph|Christoph Niemann]] || Bremen, Germany || Reely Condor with TWOG and Sparkfun Razor-IMU ||| 2010 || Several successful AUTO2-Flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Martial|Martial Châteauvieux]] || Munich, Germany || Bormatec/Maja with TWOG and IR ||| 2011 || Just received my TWOG. Soldering the IR Sensors.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Stspies|Steffen Spies]] || Wolfsburg, Germany || Multiplex TwinStar with Tiny V2.11 and IR ||| 2010 || Awaiting first flight. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Portugal&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Switzerland&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny v2.11, TWOG v1, EeePC as GCS, Multiplex FunJet &amp;amp; EasyStar  ||| 2008 || Many successful flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera  ||| 2008 || Many successful flights working on an osd module and weather probes. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reto.buettner_at_gmail.com RetoB] || Meilen, Switzerland || TWOG, Tiny 2.11, AeroMaster, E-Hawk, Y-UAV, EzOSD, Scherrer UHF ||| 2010 || Many successful flights. See [http://www.aerovista.ch/news.html www.aerovista.ch] and [http://www.y-uav.com www.y-uav.com] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:schmiemi_at_students.zhaw.ch EmilioS] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Borjet Maja, UMARS||| 2010 || Many successful flights. See [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:enso@zhaw.ch Oliver E] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Kyosho Calmato, UMARS||| 2010 || Still struggling to get in the air with Calmato. Successful flights with Maya. Now with the new reorganized code. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:samuelbryner_gmx.ch Samuel B.] || Winterthur, Switzerland || Tiny 2.11, Multiplex Easyglider  ||| 2010 || Just starting. No flight so far :/&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:rmaurer@sunrise.ch RetoM] || Bottighofen, Switzerland || Tiny 2.11, Multiplex Mentor  ||| 2010 || Just started .... no flight so far, maiden flight planned for March 2011.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| UK&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 &amp;amp; MaxStream ||| 2008 || Just starting.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Came 4th in EMAV09 (although won the Golden Balls award for courage in the face of adversity and exceptional partying).  Many AUTO2 flights with a camera and XBee868s.  Current main airframe is a GWS Formosa (they are so cheap!).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Other&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3,2.11, Twog 1.0 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV. Successfull. Now using it on large gliders and jets.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009  &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:openuas|OpenUAS]] || Amsterdam, The Netherlands || TWOG, Tiny, Lisa/L and various airframes  || 2007 || Quite a few AUTO2 flights. Improving airspeed, IMU and strong wind integration&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, two own hardware designs, 5 kg aerial photo plane, 2.5 kg survelliance uav, Easystar ||| 2007 || Use modified autopilot and GCS in professional tasks, add self desidned IMU&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:chebuzz_at_gmail.com David &amp;quot;Buzz&amp;quot; Carlson] || Cyprus || Tiny 2.11, Lynx EDF &amp;amp; GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights.  Plane currently grounded due to a TX run-in with a 1 year-old.  Currently working on getting new TX and completing CBP store setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL  ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS  ||| 2009 || Ditched the SIG Kadet. Built a new big plane TaigaCam. Self-build model made out of EPP and a plastic tube.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:alexandru.panait@ral.ro Phineas] || Bucharest, Romania || Tiny2.11 (PPZUAV)  ||| November 2009 || Just started to set-up &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:lukeiron@hotmail.com Luke] || Torino, Italy || TWOG ||| December 2009 || Close to mount the AP on my Mentor &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:helgewal@gmail.com Helge] || Bergen, Norway || TWOG ||| 2009 || First Auto2 flight with Twinstar2 in October 2010 &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kepler0@gmail.com Joaquín] || Málaga, Spain|| TWOG v1, Trex600, Cockpit SX, ArduImuV2, HMC5843 ||| September 2009 || Finished integration (navigation, control, actuators). Missing to realize an automatic engine control.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 &amp;amp; AUTO2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV)  |||Oct. 2008 ||  Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV)  ||| 2007 ||  currently flying a 48 inch zagi, 80 inch under construction.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA   ||| Feb 2009 || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV)  ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV)  ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV)  ||| January 2009 || Building 72&amp;quot; Flying Wings which will be used for remote sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV)  ||| June 2007 || 2x72&amp;quot; 5x48&amp;quot; 1x60&amp;quot; Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28.  New Airframe in development.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV)  ||| March 2009 || UCSD Project with Multiplex Mentor.  Completed August 2, 2009. Several Successful Auto2 Flights.  A LOT of help from David Conger.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:EldenC Elden Crom] || Tucson, AZ || Twog 1.0  ||| July 2009 || Multiplex Twinstar, XBee Pro.  Several Successful Auto2 Flights. Working toward precise  Auto-Takeoff and Auto-Land &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider] || Tucson, AZ || None, will use TWOG 1.0  ||| December 2009 || Super Dimona, Aerocomm.  No Flight test. Working toward setting waypoints within Paparazzi code &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [Reegan] || Lubbock, TX || Planning on Tiny 2.11 (PPZUAV), 900mhz XBPro  |||Dec. 2009 ||  Gaining info to begin a collegiate project&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| Team UAV UALR Caleb Tenberge || Little Rock, AR || Using TWOG 1.0  ||| Feb 2010 || Using a Telemaster, we are learning the GCS and building our plane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:changho.nam@asu.edu Arizona State University POLY - Capstone Team: Development of UAV /w surveillance System] || Mesa, AZ || Using TINY 2.1 - 2.4GHz Modem, CCD Camera /w 900 MHz Video Transmitter  ||| March 2010 || 4-lbs Flying Wings.   We made successful autonomous flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer] || Edmonton, AB, CAN || Nothing Yet ||| Jan 2011 || Obtaining Hardware &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muratagenc@yahoo.com Murat A. Genc] || New York, NY || not decided yet  ||| May 2011 ||  just started&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Central America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV).  Multiplex Mentor  ||| 2008 || Seven flights now. Flights 6 &amp;amp; 7 in Auto2. Now only a matter of fine tuning.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==South America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:gustavoviolato@gmail.com Gustavo Violato] || São José dos Campos, Brasil || Tiny v2.11/LEA-4P, Modem XBee Pro 2.4 GHz Swift II  ||| 2009 || Flying autonomously and enjoying it. Planning to use the system for flight test data acquisition and aircraft parameter recognition. &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Australia==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:RH1N0 RH1N0] || Brisbane, QLD || TWOG, Multiplex Easystar, PPZGPS, H.264 live digital video, Ubiquiti modems ||| May 2011 || Multiple AUTO2 flights up to 40 min. Currently testing PPZIMU.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe.  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet,  MacBook laptop ||| August 2008 || Several flights in Auto1&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Adam.A Adam Amos] || Sydney, NSW || TWOG, IMU, BORJET MAJA || March 2010 || see [http://www.rescuerobotics.com.au www.rescuerobotics.com.au] for current status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Africa==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009  || Got TWOG,GPS etc interfacing with Laptop and working , Have not done anything to it recently but...Made a website [http://sites.google.com/site/scarfclub/paparazi-uav SCARF Paparazzi-UAV] of my struggle ...&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:willie.smit@nwu.ac.za Willie Smit] || South Africa NW || Tiny v2.11, LEA-4P GPS, RF Modems XBee Pro ||| April 2010  || We are currently doing test flights. Also doing research on obstacle avoidance.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Need help adding your information?=&lt;br /&gt;
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&amp;amp;postcount=1 EMAIL] at with the &lt;br /&gt;
following:&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
*Email&lt;br /&gt;
*Location&lt;br /&gt;
*Hardware&lt;br /&gt;
*Join date&lt;br /&gt;
*Current activities / project status&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=9378</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=9378"/>
		<updated>2011-05-22T14:27:34Z</updated>

		<summary type="html">&lt;p&gt;Martial: Added user Martial Châteauvieux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi&lt;br /&gt;
&lt;br /&gt;
== Wiki User Pages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ User Pages&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:EldenC Elden_Crom]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Marc Marc]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bu5hm4nn Bu5hm4nn]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:HWal HWal]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Aerodolphin Rui Costa]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer]&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:PaulCox Paul Cox]&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/User:Bruzzlee Bruzzlee]&lt;br /&gt;
|add yourself here&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Paparazzi Users sorted geographically =&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Asia&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:zhaojinhust@gmail.com ZHAOJin]|| China || Tiny2.11 ||| 2011|| Just decide to buy the tiny2.11 bundle and get started!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:wangcfan@163.com Wangcfan]|| China || Tiny2.11 ||| 2008 || The beginning, is now in learning phase;Learning in Tiny2.11 using the method of IMU!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new  wing like funjet  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:benybeejz@gmail.com benybee] || Bandar Lampung, Indonesia || Tiny13 1.1 ||| 2010 || trying to get wing dragon fully autonomus, for aireal photograph and research&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Austria&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|France&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL  ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pvol_at_club.fr Philippe Volivert] || Paris, France || TWOG 2.12, EasyGlider, MPX3030 ||| July 2009 || Working on pan/tilt/roll camera&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:thibaut.bergal@estaca.eu ESTACA Modélisme] || Paris, France || TWOG 2.11, Swift 2, MC22 ||| January 2010 || Starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:limaiem@gmail.com Imed Limaiem] || Paris, France || TWOG 2.11, EPP-CF FPV ||| January 2010 || flight test; Town pollution measurement; &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox]  &lt;br /&gt;
| Toulouse &lt;br /&gt;
|    Tiny v2.11  ||  Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Germany&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Borjet Maja, Futaba 9C 35 Mhz ||| August 2009 || Have flown different airframes and am flying a Borjet Maja right now; built a more rugged case and connecting board for PPRZ; taking surveying pictures&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane  ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.&lt;br /&gt;
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Flixr|Felix Ruess]] || Munich, Germany || Booz and Lisa/L ||| 2008 || coding more than flying.... unfortunately&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:TheJJ|Jonas Jelten]] || Augsburg, Germany || just our airframe ||| 2010 || &amp;quot;P-Seminar&amp;quot; for the new G8 at our Gymnasium ([http://www.solarflugzeug.de.tc solarflugzeug.de.tc])&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Christoph|Christoph Niemann]] || Bremen, Germany || Reely Condor with TWOG and Sparkfun Razor-IMU ||| 2010 || Several successful AUTO2-Flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Martial|Martial Châteauvieux]] || Munich, Germany || Bormatec/Maja with TWOG and IR ||| 2011 || Just received my TWOG. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Portugal&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
|Switzerland&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny v2.11, TWOG v1, EeePC as GCS, Multiplex FunJet &amp;amp; EasyStar  ||| 2008 || Many successful flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera  ||| 2008 || Many successful flights working on an osd module and weather probes. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reto.buettner_at_gmail.com RetoB] || Meilen, Switzerland || TWOG, Tiny 2.11, AeroMaster, E-Hawk, Y-UAV, EzOSD, Scherrer UHF ||| 2010 || Many successful flights. See [http://www.aerovista.ch/news.html www.aerovista.ch] and [http://www.y-uav.com www.y-uav.com] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:schmiemi_at_students.zhaw.ch EmilioS] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Borjet Maja, UMARS||| 2010 || Many successful flights. See [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS] for current status.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:enso@zhaw.ch Oliver E] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Kyosho Calmato, UMARS||| 2010 || Still struggling to get in the air with Calmato. Successful flights with Maya. Now with the new reorganized code. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:samuelbryner_gmx.ch Samuel B.] || Winterthur, Switzerland || Tiny 2.11, Multiplex Easyglider  ||| 2010 || Just starting. No flight so far :/&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:rmaurer@sunrise.ch RetoM] || Bottighofen, Switzerland || Tiny 2.11, Multiplex Mentor  ||| 2010 || Just started .... no flight so far, maiden flight planned for March 2011.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| UK&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 &amp;amp; MaxStream ||| 2008 || Just starting.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Came 4th in EMAV09 (although won the Golden Balls award for courage in the face of adversity and exceptional partying).  Many AUTO2 flights with a camera and XBee868s.  Current main airframe is a GWS Formosa (they are so cheap!).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgreen; color:black&amp;quot;&lt;br /&gt;
| Other&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3,2.11, Twog 1.0 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV. Successfull. Now using it on large gliders and jets.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009  &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:openuas|OpenUAS]] || Amsterdam, The Netherlands || TWOG, Tiny, Lisa/L and various airframes  || 2007 || Quite a few AUTO2 flights. Improving airspeed, IMU and strong wind integration&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, two own hardware designs, 5 kg aerial photo plane, 2.5 kg survelliance uav, Easystar ||| 2007 || Use modified autopilot and GCS in professional tasks, add self desidned IMU&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:chebuzz_at_gmail.com David &amp;quot;Buzz&amp;quot; Carlson] || Cyprus || Tiny 2.11, Lynx EDF &amp;amp; GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights.  Plane currently grounded due to a TX run-in with a 1 year-old.  Currently working on getting new TX and completing CBP store setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL  ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS  ||| 2009 || Ditched the SIG Kadet. Built a new big plane TaigaCam. Self-build model made out of EPP and a plastic tube.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:alexandru.panait@ral.ro Phineas] || Bucharest, Romania || Tiny2.11 (PPZUAV)  ||| November 2009 || Just started to set-up &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:lukeiron@hotmail.com Luke] || Torino, Italy || TWOG ||| December 2009 || Close to mount the AP on my Mentor &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:helgewal@gmail.com Helge] || Bergen, Norway || TWOG ||| 2009 || First Auto2 flight with Twinstar2 in October 2010 &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kepler0@gmail.com Joaquín] || Málaga, Spain|| TWOG v1, Trex600, Cockpit SX, ArduImuV2, HMC5843 ||| September 2009 || Finished integration (navigation, control, actuators). Missing to realize an automatic engine control.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 &amp;amp; AUTO2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV)  |||Oct. 2008 ||  Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV)  ||| 2007 ||  currently flying a 48 inch zagi, 80 inch under construction.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA   ||| Feb 2009 || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV)  ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV)  ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV)  ||| January 2009 || Building 72&amp;quot; Flying Wings which will be used for remote sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV)  ||| June 2007 || 2x72&amp;quot; 5x48&amp;quot; 1x60&amp;quot; Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28.  New Airframe in development.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV)  ||| March 2009 || UCSD Project with Multiplex Mentor.  Completed August 2, 2009. Several Successful Auto2 Flights.  A LOT of help from David Conger.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:EldenC Elden Crom] || Tucson, AZ || Twog 1.0  ||| July 2009 || Multiplex Twinstar, XBee Pro.  Several Successful Auto2 Flights. Working toward precise  Auto-Takeoff and Auto-Land &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider] || Tucson, AZ || None, will use TWOG 1.0  ||| December 2009 || Super Dimona, Aerocomm.  No Flight test. Working toward setting waypoints within Paparazzi code &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [Reegan] || Lubbock, TX || Planning on Tiny 2.11 (PPZUAV), 900mhz XBPro  |||Dec. 2009 ||  Gaining info to begin a collegiate project&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| Team UAV UALR Caleb Tenberge || Little Rock, AR || Using TWOG 1.0  ||| Feb 2010 || Using a Telemaster, we are learning the GCS and building our plane. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:changho.nam@asu.edu Arizona State University POLY - Capstone Team: Development of UAV /w surveillance System] || Mesa, AZ || Using TINY 2.1 - 2.4GHz Modem, CCD Camera /w 900 MHz Video Transmitter  ||| March 2010 || 4-lbs Flying Wings.   We made successful autonomous flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer] || Edmonton, AB, CAN || Nothing Yet ||| Jan 2011 || Obtaining Hardware &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muratagenc@yahoo.com Murat A. Genc] || New York, NY || not decided yet  ||| May 2011 ||  just started&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Central America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV).  Multiplex Mentor  ||| 2008 || Seven flights now. Flights 6 &amp;amp; 7 in Auto2. Now only a matter of fine tuning.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==South America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:gustavoviolato@gmail.com Gustavo Violato] || São José dos Campos, Brasil || Tiny v2.11/LEA-4P, Modem XBee Pro 2.4 GHz Swift II  ||| 2009 || Flying autonomously and enjoying it. Planning to use the system for flight test data acquisition and aircraft parameter recognition. &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Australia==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe.  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet,  MacBook laptop ||| August 2008 || Several flights in Auto1&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Adam.A Adam Amos] || Sydney, NSW || TWOG, IMU, BORJET MAJA || March 2010 || see [http://www.rescuerobotics.com.au www.rescuerobotics.com.au] for current status&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Africa==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009  || Got TWOG,GPS etc interfacing with Laptop and working , Have not done anything to it recently but...Made a website [http://sites.google.com/site/scarfclub/paparazi-uav SCARF Paparazzi-UAV] of my struggle ...&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:willie.smit@nwu.ac.za Willie Smit] || South Africa NW || Tiny v2.11, LEA-4P GPS, RF Modems XBee Pro ||| April 2010  || We are currently doing test flights. Also doing research on obstacle avoidance.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Need help adding your information?=&lt;br /&gt;
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&amp;amp;postcount=1 EMAIL] at with the &lt;br /&gt;
following:&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
*Email&lt;br /&gt;
*Location&lt;br /&gt;
*Hardware&lt;br /&gt;
*Join date&lt;br /&gt;
*Current activities / project status&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9309</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9309"/>
		<updated>2011-04-24T20:49:35Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Ocaml and libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml-dev liblablgtk2-gl-ocaml-dev \&lt;br /&gt;
                       liblablgtk2-gnome-ocaml-dev libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml \&lt;br /&gt;
                       libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev libglade2-0 libglade2-dev make build-essential \&lt;br /&gt;
                       git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev tcl8.5-dev xutils-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml-dev liblablgtk2-gl-ocaml-dev \&lt;br /&gt;
                        liblablgtk2-gnome-ocaml-dev libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Tcl/Tk ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install tcl8.5-dev&lt;br /&gt;
&lt;br /&gt;
Also the some utils are required to compile and  install Ivy.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install xutils-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9308</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9308"/>
		<updated>2011-04-24T20:48:10Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Whole lot in one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml-dev liblablgtk2-gl-ocaml-dev \&lt;br /&gt;
                       liblablgtk2-gnome-ocaml-dev libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml \&lt;br /&gt;
                       libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev libglade2-0 libglade2-dev make build-essential \&lt;br /&gt;
                       git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev tcl8.5-dev xutils-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Tcl/Tk ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install tcl8.5-dev&lt;br /&gt;
&lt;br /&gt;
Also the some utils are required to compile and  install Ivy.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install xutils-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9307</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9307"/>
		<updated>2011-04-24T17:03:18Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Tcl/Tk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml \&lt;br /&gt;
                       libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev libglade2-0 libglade2-dev make build-essential \&lt;br /&gt;
                       git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev tcl8.5-dev xutils-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Tcl/Tk ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install tcl8.5-dev&lt;br /&gt;
&lt;br /&gt;
Also the some utils are required to compile and  install Ivy.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install xutils-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9306</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9306"/>
		<updated>2011-04-24T17:01:18Z</updated>

		<summary type="html">&lt;p&gt;Martial: Added xutils-dev foll  use in ivy insta&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml \&lt;br /&gt;
                       libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev libglade2-0 libglade2-dev make build-essential \&lt;br /&gt;
                       git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev tcl8.5-dev xutils-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Tcl/Tk ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install tcl8.5-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9305</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9305"/>
		<updated>2011-04-24T16:55:42Z</updated>

		<summary type="html">&lt;p&gt;Martial: Added tcl 8.5 dev library&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml \&lt;br /&gt;
                       libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev libglade2-0 libglade2-dev make build-essential \&lt;br /&gt;
                       git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev tcl8.5-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Tcl/Tk ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install tcl8.5-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9304</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9304"/>
		<updated>2011-04-24T16:54:11Z</updated>

		<summary type="html">&lt;p&gt;Martial: Added tcl 8.5 dev library&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml \&lt;br /&gt;
                       libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev libglade2-0 libglade2-dev make build-essential \&lt;br /&gt;
                       git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev tcl8.5-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9303</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9303"/>
		<updated>2011-04-24T16:48:41Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Whole lot in one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml \&lt;br /&gt;
                       libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev libglade2-0 libglade2-dev make build-essential \&lt;br /&gt;
                       git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9301</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9301"/>
		<updated>2011-04-22T21:52:05Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Ivy-OCAML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev\&lt;br /&gt;
  libglade2-0 libglade2-dev make build-essential git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9300</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9300"/>
		<updated>2011-04-22T21:51:40Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Ivy-c */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev\&lt;br /&gt;
  libglade2-0 libglade2-dev make build-essential git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir -p ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
 $ mkdir ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9299</id>
		<title>Installation/FromScratch</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/FromScratch&amp;diff=9299"/>
		<updated>2011-04-22T21:51:13Z</updated>

		<summary type="html">&lt;p&gt;Martial: Fix mkdir command for already existing develop directory&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
As with all Wiki pages, also this page is a work in progress. try to be a big help to the Paparazzi project and improve this page whenever you can. If you have a distribution different from Ubuntu which doesn't satisfy any other dependency and have instructions about compiling it, packaging it, feel free to add any reference on how to do that on this wikipage.&lt;br /&gt;
&lt;br /&gt;
== Goal ==&lt;br /&gt;
&lt;br /&gt;
The goal of this page is to clarify about which version of each piece of software has to be compiled, where to find that software, patches needed to make it compile on Linux. In our case 64bit Linux. This includes compiling all paparazzi-dev, paparazzi-arm7, paparazzi-stm32 and paparazzi-bin software on your machine, running an Ubuntu Lucid Lynx or later Linux distribution or maybe even FreeBSD, or OSX.&lt;br /&gt;
&lt;br /&gt;
== The shortcut ==&lt;br /&gt;
&lt;br /&gt;
Maybe you are no so interested in the details at this moment and just want to quickly install. That's fine, for that we are working on a script and you only need to run one line to get everything installed. For this to work out you do need a working internet connection, but since you can read this text, that will probably not pose a problem.&lt;br /&gt;
&lt;br /&gt;
 $ cd ~ &amp;amp;&amp;amp; wget http://openuas.org/pub/paparazzifromscratch.sh (still not ready and a work in progress)&lt;br /&gt;
&lt;br /&gt;
If you used the line above, and it all worked out you can stop reading now since everything is installed and compiled, ready for you to use.&lt;br /&gt;
&lt;br /&gt;
== Paparazzi-dev packages ==&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users, you can install the following packages from standard repository. You can just copy the line(s) and paste into your terminal. But do not copy the $ sign, this symbol is just added on this page to show that it is to be pasted at a normal terminal prompt.&lt;br /&gt;
&lt;br /&gt;
=== Whole lot in one ===&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev libpcre-ocaml libpcre-ocaml-dev libgnomecanvas2-0 libgnomecanvas2-dev\&lt;br /&gt;
  libglade2-0 libglade2-dev make build-essential git-core gnuplot boa m4 libtool libftdi-dev libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml and libraries ===&lt;br /&gt;
&lt;br /&gt;
Ocaml, short for Objective Caml is the most popular variant of the Caml language. The Paparazzi GCS and some of it's tools are crafted in this language.&lt;br /&gt;
&lt;br /&gt;
* ocaml, ocaml-camlimages-devel, ocaml-lablgtk2-devel, ocaml-xml-light-devel, ocamlnet-ocaml-devel&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install ocaml libcamlimages-ocaml liblablgtk2-ocaml libxml-light-ocaml-dev libocamlnet-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Gnome canvas Library ===&lt;br /&gt;
&lt;br /&gt;
The GnomeCanvas is an engine for structured graphics that offers a rich imaging model, high performance rendering, and a powerful, high level API. This widget can be used for flexible display of graphics and for creating interactive user interface elements.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libgnomecanvas2-0 libgnomecanvas2-dev&lt;br /&gt;
&lt;br /&gt;
=== USB Library ===&lt;br /&gt;
&lt;br /&gt;
The libusb project aims to create a library for use by user level applications to access USB devices regardless of OS. http://www.libusb.org&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libusb-dev&lt;br /&gt;
&lt;br /&gt;
=== Ocaml PCRE ===&lt;br /&gt;
&lt;br /&gt;
This OCaml-library interfaces the PCRE (Perl-compatibility regular expressions) C library. it can be used for matching regular expressions which are written in Perl style.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libpcre-ocaml libpcre-ocaml-dev&lt;br /&gt;
&lt;br /&gt;
=== Glade Library ===&lt;br /&gt;
&lt;br /&gt;
Libglade is a library that performs a similar job to the C source output routines in the GLADE user interface builder. Whereas GLADE's output routines create C source code that must be compiled, libglade builds the interface from an XML file (GLADE's save format) at runtime. This can allow modifying the user interface without recompiling.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libglade2-0 libglade2-dev&lt;br /&gt;
&lt;br /&gt;
=== Make ===&lt;br /&gt;
&lt;br /&gt;
GNU Make is an utility which controls the generation of executables and other target files of a program from the program's source files. &lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install make&lt;br /&gt;
&lt;br /&gt;
=== Build essential ===&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
=== Libtool ===&lt;br /&gt;
&lt;br /&gt;
GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. Creating the files for Paparazzi software building becomes less cumbersome by using this tool.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Git Client ===&lt;br /&gt;
&lt;br /&gt;
Git is a version control system. Version control systems allow many individuals to collaborate on the Paparazzi source code. This is needed to retrieve the latest sourcecode from various packages and Paparazzi sourcecode itself.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install git-core&lt;br /&gt;
&lt;br /&gt;
=== GNU Plot ===&lt;br /&gt;
&lt;br /&gt;
A command-line driven interactive plotting program. Unknow if it is used&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-get install gnuplot&lt;br /&gt;
&lt;br /&gt;
=== FTDI library ===&lt;br /&gt;
&lt;br /&gt;
libftdi is a library that talks to FTDI's 232 type chips, including the popular bitbang mode, using libusb. A library to be able to use with a debugging Autopilot hardware boards.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libftdi-dev &lt;br /&gt;
&lt;br /&gt;
=== MPFR library ===&lt;br /&gt;
&lt;br /&gt;
The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libmpfr-dev&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
&lt;br /&gt;
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. Being able to modify image based map pictures is a feature that may bome in handy one time.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install imagemagick&lt;br /&gt;
&lt;br /&gt;
=== Optional on an older OS ===&lt;br /&gt;
&lt;br /&gt;
If you have an older OS distribution it never hurts to install the following...&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dev libncursesw5 libncursesw5-dev zlibc&lt;br /&gt;
&lt;br /&gt;
== Building the Cross compiler toolchain ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to building an ARM and sTM32 cross-toolchain with binutils gcc newlib and gdb from source. This is needed so we can compile the code that ends up onto the autopilot board. Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Enter the following on your command prompt&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ nano paparazzi_from_scratch.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the part below (CTRL+C) and go to your terminal window again and use CTRL+SHIFT+V to paste the text into the nano editor. Afterther save the file with CTRL+X and answer Y &lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 #&lt;br /&gt;
 # Goal: Get the ARM and sTM32 cross compilers, tools and libraries installed and all &lt;br /&gt;
 #       working on 64Bit (Linux) computer system like they should&lt;br /&gt;
 # Version:  1.7 &lt;br /&gt;
 # Copyright: 2011 LGPL OpenUAS http://www.openuas.org/&lt;br /&gt;
 # Date: 20110225 14:01&lt;br /&gt;
 # Usage: $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt  &lt;br /&gt;
 #        &lt;br /&gt;
 # I want to improve this script, what can I do?&lt;br /&gt;
 #&lt;br /&gt;
 #  IMPR: Add STM32 support&lt;br /&gt;
 #  IMPR: with automatic log filename appending date like &amp;quot;date +%y%j%H%M%S&amp;quot;&lt;br /&gt;
 #  IMPR: Set MAJOR and MINOR GCC verion in make parameter automatically&lt;br /&gt;
 #  IMPR: Add all commands from this wikipage also to the script, so we have a &lt;br /&gt;
 #        full paparazzi from scratch in one script!&lt;br /&gt;
 #&lt;br /&gt;
 # Useful links:&lt;br /&gt;
 # http://fun-tech.se/stm32/gcc/index.php&lt;br /&gt;
 # http://only.mawhrin.net/~alexey/prg/lpc2103/toolchain/&lt;br /&gt;
 # http://gcc.gnu.org/install/configure.html&lt;br /&gt;
 # http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
 # http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
 # http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
 # http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
 # http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
 # http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
 # http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Gcc433&lt;br /&gt;
 # http://chdk.wikia.com/wiki/Compiling_CHDK_under_Linux&lt;br /&gt;
 #&lt;br /&gt;
 # http://gcc.gnu.org/faq.html#multiple&lt;br /&gt;
 # https://wiki.kubuntu.org/CompilerFlags&lt;br /&gt;
 #&lt;br /&gt;
 # Older compiler http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=91596&lt;br /&gt;
 # Replaced O_CREAT for S_IRWXU in the files where you get gcc-3.4.4/gcc/collect2.c&lt;br /&gt;
 #&lt;br /&gt;
 # The eBook &amp;quot;Definitive guide to GCC&amp;quot; may come in handy&lt;br /&gt;
 #&lt;br /&gt;
 # And if all went well, a command&lt;br /&gt;
 #  $ arm-elf-gcc -print-multi-lib&lt;br /&gt;
 #&lt;br /&gt;
 # Should give the following &lt;br /&gt;
 #&lt;br /&gt;
 # .;&lt;br /&gt;
 # thumb;@mthumb&lt;br /&gt;
 # interwork;@mthumb-interwork&lt;br /&gt;
 # thumb/interwork;@mthumb@mthumb-interwork&lt;br /&gt;
 #&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # In case you want to recompile, and if you do not want to re-download the files&lt;br /&gt;
 # to save time and bandwith set CLEANUPDOWNLOADS to N&lt;br /&gt;
 CLEANUPDOWNLOADS=&amp;quot;N&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 TARGET=arm-elf  #Or use  TARGET=arm-none-eabi or arm_non_eabi the pararazzi makefile will figure it out&lt;br /&gt;
 PREFIX=$HOME/arm-elf-paparazzi # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 &lt;br /&gt;
 # If you have a good reason to compile other versions, ONLY then change the version data below&lt;br /&gt;
 BINUTILS_VERSION=2.16.1&lt;br /&gt;
 GCC_VERSION=3.4.4&lt;br /&gt;
 NEWLIB_VERSION=1.13.0&lt;br /&gt;
 GDB_VERSION=6.8&lt;br /&gt;
 &lt;br /&gt;
 #Just in case for some reason you want the latest versions a just values here&lt;br /&gt;
 # and some more 3.4 in the rest of the script&lt;br /&gt;
 #TARGET=arm-elf&lt;br /&gt;
 #PREFIX=$HOME/arm-elf-latest # Install location of the final toolchain, change this to your liking&lt;br /&gt;
 #BINUTILS_VERSION=2.20.1&lt;br /&gt;
 #GCC_VERSION=4.4.4&lt;br /&gt;
 #NEWLIB_VERSION=1.18.0&lt;br /&gt;
 #GDB_VERSION=7.1&lt;br /&gt;
 &lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 # * No need to change anything below this line, exept improvements             *&lt;br /&gt;
 # ******************************************************************************&lt;br /&gt;
 &lt;br /&gt;
 # On multicore Processor this value can speedup the compilation&lt;br /&gt;
 if grep -q &amp;quot;processor&amp;quot; /proc/cpuinfo || grep -q &amp;quot;siblings&amp;quot; /proc/cpuinfo&lt;br /&gt;
 then&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;-j &amp;quot;$(($( grep &amp;quot;processor&amp;quot; /proc/cpuinfo | sort -u | wc -l ) * $( grep &amp;quot;siblings&amp;quot; /proc/cpuinfo | tail -1 | cut -d: -f2 )))&lt;br /&gt;
 else&lt;br /&gt;
   SPEEDUPCOMPILATION=&amp;quot;&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Install texinfo tool&lt;br /&gt;
 sudo apt-get install texinfo&lt;br /&gt;
 &lt;br /&gt;
 # A GCC v3.4 64Bit install to avoid issues whil compiling the crosscompiler, native compile use would be much better&lt;br /&gt;
 # Or, get debian packages from here http://www.openuas.org/pub/ubuntu/pool/universe/g/gcc-3.4/ or http://es.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 wget -N -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.6-8ubuntu2_amd64.deb &lt;br /&gt;
 # Must be installed in this order&lt;br /&gt;
 sudo dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i cpp-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 sudo dpkg -i gcc-3.4_3.4.6-8ubuntu2_amd64.deb&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm *.deb&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 BINUTILS=binutils-$BINUTILS_VERSION&lt;br /&gt;
 GCC=gcc-$GCC_VERSION&lt;br /&gt;
 NEWLIB=newlib-$NEWLIB_VERSION&lt;br /&gt;
 GDB=gdb-$GDB_VERSION&lt;br /&gt;
 &lt;br /&gt;
 mkdir $PREFIX&lt;br /&gt;
 &lt;br /&gt;
 # ** Now set the gcc and tools to be used in environment&lt;br /&gt;
 echo 'export PATH='$PREFIX'/bin:$PATH' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
 rm -drf build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 &lt;br /&gt;
 # Get and compile the BinUtils&lt;br /&gt;
 wget -N -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2&lt;br /&gt;
 tar xfvj $BINUTILS.tar.bz2 &lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$BINUTILS/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $BINUTILS&lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $BINUTILS.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # ** Get and compile GCC stuff&lt;br /&gt;
 wget -N -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2&lt;br /&gt;
 tar xfvj $GCC.tar.bz2&lt;br /&gt;
 &lt;br /&gt;
 # Set correct MULTILIB options in GCC config, by patching&lt;br /&gt;
 ONTHFLYPATCHFILE='gcc_thumb_interwork_settings.patch'&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE #Just to make sure&lt;br /&gt;
 echo '--- t-arm-elf	2003-09-30 12:21:41.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+++ t-arm-elf	2010-08-07 19:17:47.000000000 +0200' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '@@ -26,8 +26,8 @@' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_DIRNAMES   += 32bit 26bit' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '-# MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo '+MULTILIB_DIRNAMES   += normal interwork' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # ' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 echo ' # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore' &amp;gt;&amp;gt; $ONTHFLYPATCHFILE&lt;br /&gt;
 patch $GCC/gcc/config/arm/t-arm-elf &amp;lt; $ONTHFLYPATCHFILE&lt;br /&gt;
 rm -f $ONTHFLYPATCHFILE&lt;br /&gt;
 cd build&lt;br /&gt;
 &lt;br /&gt;
 # IMPR &amp;quot;../$GCC/gcc/collect2.c&amp;quot; ajust the line in this file to prevent compiler error for older gcc to &amp;quot;redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IRWXU);&amp;quot;&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --enable-languages=c --prefix=$PREFIX --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot; --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=$TARGET&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4  all&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install&lt;br /&gt;
 cd ..&lt;br /&gt;
 # NOTE: We do not delete GCC temporary build yet, we need it once more later in this script&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm $GCC.tar.bz2&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # Now get and compile NewLib, note that sometimes this server is to busy serving the files,&lt;br /&gt;
 # try to get the files via an FTP client with good resume if it happens&lt;br /&gt;
 wget -N -c --waitretry=20 http://www.openuas.org/pub/newlib/$NEWLIB.tar.gz&lt;br /&gt;
 tar xfvz $NEWLIB.tar.gz&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$NEWLIB/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --build=x86_64-linux-gnu --host=x86_64-linux-gnu&lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 &lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4  install&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $NEWLIB &lt;br /&gt;
 if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 then&lt;br /&gt;
   rm -rf $NEWLIB.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # GCC needs to be build again including the real newlib now&lt;br /&gt;
 cd build&lt;br /&gt;
 unset CFLAGS &amp;amp;&amp;amp; unset LDFLAGS &amp;amp;&amp;amp; unset CPPFLAGS &amp;amp;&amp;amp; unset CXXFLAGS &amp;amp;&amp;amp;&lt;br /&gt;
 CC=gcc-3.4&lt;br /&gt;
 CXX=g++-3.4&lt;br /&gt;
 ../$GCC/configure -v --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib --enable-languages=&amp;quot;c,c++&amp;quot; --with-newlib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --build=x86_64-linux-gnu --host=x86_64-linux-gnu --infodir=$PREFIX&amp;quot;/share/info&amp;quot; --mandir=$PREFIX&amp;quot;/share/man&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 make $SPEEDUPCOMPILATION CC=gcc-3.4 CXX=g++-3.4 all-gcc&lt;br /&gt;
 make CC=gcc-3.4 CXX=g++-3.4 install-gcc&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf build/* $GCC&lt;br /&gt;
 rm -rf build&lt;br /&gt;
 &lt;br /&gt;
 # We need a symlink to arm-elf-gcc in /usr/bin/ the way the current paparazzi AP compile script works&lt;br /&gt;
 # We need a better solution here then symlinks, any clues...plz improve&lt;br /&gt;
 # Yes, helping with a better use of shell by using arm-elf wild-cards is appreciated &lt;br /&gt;
 PREFIXBINDIR=$PREFIX/bin&lt;br /&gt;
 OURBINDIR=/usr/bin&lt;br /&gt;
 #Remove old symlinks&lt;br /&gt;
 for x in $OURBINDIR/arm-elf*; do if [ -L $x ]; then sudo rm $x; fi ; done&lt;br /&gt;
 #Make fresh symlinks so arm tools ar found by paparazzi center&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-addr2line $OURBINDIR/arm-elf-addr2line&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ar $OURBINDIR/arm-elf-ar&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-as $OURBINDIR/arm-elf-as&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-c++filt $OURBINDIR/arm-elf-c++filt&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-cpp $OURBINDIR/arm-elf-cpp&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc $OURBINDIR/arm-elf-gcc&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcc-3.4.4 $OURBINDIR/arm-elf-gcc-3.4.4&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gccbug $OURBINDIR/arm-elf-gccbug&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-gcov $OURBINDIR/arm-elf-gcov&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ld $OURBINDIR/arm-elf-ld&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-nm $OURBINDIR/arm-elf-nm&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objcopy $OURBINDIR/arm-elf-objcopy&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-objdump $OURBINDIR/arm-elf-objdump&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-ranlib $OURBINDIR/arm-elf-ranlib&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-readelf $OURBINDIR/arm-elf-readelf&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-size $OURBINDIR/arm-elf-size&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strings $OURBINDIR/arm-elf-strings&lt;br /&gt;
 sudo ln -s $PREFIXBINDIR/arm-elf-strip $OURBINDIR/arm-elf-strip&lt;br /&gt;
 &lt;br /&gt;
 # If you also a want to add the debugger, Uncomen the lines here. Configure could need parameter &amp;quot;--disable-werror&amp;quot; in some cases&lt;br /&gt;
 #wget -N -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2&lt;br /&gt;
 #tar xfvj $GDB.tar.bz2&lt;br /&gt;
 #cd build&lt;br /&gt;
 #../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib&lt;br /&gt;
 #make $SPEEDUPCOMPILATION&lt;br /&gt;
 #make install&lt;br /&gt;
 #cd ..&lt;br /&gt;
 &lt;br /&gt;
 #rm -rf build $GDB&lt;br /&gt;
 #if [ &amp;quot;${CLEANUPDOWNLOADS}&amp;quot; != &amp;quot;N&amp;quot; ]&lt;br /&gt;
 #then&lt;br /&gt;
 #  rm $GDB.tar.bz2&lt;br /&gt;
 #fi&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Misterious as this scripts progress might have looked, everything is now done, hopefully without any issue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run the script in a terminal window via:&lt;br /&gt;
&lt;br /&gt;
 $ sh ./paparazzi_from_scratch.sh 2&amp;gt;&amp;amp;1 | tee buildlog.txt&lt;br /&gt;
&lt;br /&gt;
== Rest of code needed ==&lt;br /&gt;
&lt;br /&gt;
To install the rest we make a special directory &amp;quot;develop&amp;quot;. You can give it another name ofcourse.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
&lt;br /&gt;
== LPC21ISP ==&lt;br /&gt;
&lt;br /&gt;
To get the software onto the main autopilot board a special tool is needed. We will use the great open-source LPC21ISP application. LPC21ISP is an in-circuit programming (ISP) tool for the microcontroller used on the Paparazzi autopilot boards. The lpc21isp project is hosted on sourceforge and one can find the source packages and information at http://sourceforge.net/projects/lpc21isp/ &lt;br /&gt;
&lt;br /&gt;
Get the SVN version via&lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/lpc21isp&lt;br /&gt;
 $ cd ~/develop/lpc21isp&lt;br /&gt;
 $ svn co https://lpc21isp.svn.sourceforge.net/svnroot/lpc21isp lpc21&lt;br /&gt;
&lt;br /&gt;
To compile go into the source directory and then do&lt;br /&gt;
&lt;br /&gt;
 $ cd lpc21&lt;br /&gt;
 $ make -f Makefile clean all&lt;br /&gt;
&lt;br /&gt;
To install&lt;br /&gt;
&lt;br /&gt;
 $ sudo cp lpc21isp /usr/bin/&lt;br /&gt;
&lt;br /&gt;
==  IVY ==&lt;br /&gt;
&lt;br /&gt;
IVY is a simple protocol and a set of open-source libraries and programs that allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions. The project can be found at: http://www2.tls.cena.fr/products/ivy/  &lt;br /&gt;
&lt;br /&gt;
In the paparazzi project, Ivy is used to send telemetry data to where ever you want.&lt;br /&gt;
&lt;br /&gt;
NOTE: Do not confuse this IVY with the Apache Ivy project. &lt;br /&gt;
&lt;br /&gt;
=== Ivy-python ===&lt;br /&gt;
&lt;br /&gt;
The ivy-python package makes it possible to use the IVY libraries from within the Python programming language. The ivy-python package is architecture independent, so it can be downloaded from the Ubuntu or Debian paparazzi repository. However since this is the from scratch page we will to download it from the official source repository via &lt;br /&gt;
 &lt;br /&gt;
 $ mkdir -p ~/develop/ivy-python/&lt;br /&gt;
 $ cd ~/develop/ivy-python/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-python/trunk&lt;br /&gt;
&lt;br /&gt;
Now we can build and install&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-python/trunk&lt;br /&gt;
 $ sudo ./setup.py install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-c ===&lt;br /&gt;
&lt;br /&gt;
To be able to use IVY-c, the libraries need to be installed. Source packages of ivy-c can be downloaded via:&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop/ivy-c&lt;br /&gt;
 $ cd ~/develop/ivy-c&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-c/trunk&lt;br /&gt;
&lt;br /&gt;
To compile&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-c/trunk/src&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
It is possible you get errors of the test module when compiling, just ignore the messages, it is not important for the Paparazzi project. Contact the IVY team to help them also to resolve also the testing makefile issue.&lt;br /&gt;
&lt;br /&gt;
Now install the compiled libraries&lt;br /&gt;
&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Ivy-OCAML ===&lt;br /&gt;
&lt;br /&gt;
The Ivy-ocaml is a Library that make it possible to use Ivy via de Ocaml language.&lt;br /&gt;
&lt;br /&gt;
 $ mkdir ~/develop&lt;br /&gt;
 $ mkdir ~/develop/ivy-ocaml&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/&lt;br /&gt;
 $ svn co http://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk&lt;br /&gt;
&lt;br /&gt;
NOTE: If the above SVN repository does not work due ti API incompatibilities get the ivy-ocaml source via&lt;br /&gt;
&lt;br /&gt;
 $ wget http://paparazzi.enac.fr/ubuntu/dists/lucid/main/binary-i386/ivy-ocaml_1.1-10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Now we need to compile the source via&lt;br /&gt;
&lt;br /&gt;
 $ cd ~/develop/ivy-ocaml/trunk&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
Compilation that doesn't work on 64bit systems, if you just run 'make'&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/ld: civyloop.o: relocation R_X86_64_32 against `timer_cb' can not be used when making a shared object; recompile with -fPIC&lt;br /&gt;
&lt;br /&gt;
That's solved by just editing the Makefile. Change the line containing&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
        $(CC) -Wall -c -fPIC $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: &lt;br /&gt;
File a defect to the ivy-ocam development team: A proper patch for the original sources would be one that checks if the system is a 64bit system, and if so set FPIC env variable. The following code at the beginning of the Makefile needs to be added just as it is done in the ivy-c Makefile&lt;br /&gt;
&lt;br /&gt;
 PERHAPS64:= $(shell uname -m | perl -ne &amp;quot;print /64/? '64' : '';&amp;quot;)''&lt;br /&gt;
 ifeq ($(PERHAPS64), &amp;quot;64&amp;quot;)&lt;br /&gt;
         FPIC=&lt;br /&gt;
 else&lt;br /&gt;
         FPIC=-fPIC&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
And then let the rule to compile all .c and .o files be like the following:&lt;br /&gt;
&lt;br /&gt;
 .c.o:&lt;br /&gt;
         $(CC) -Wall -c $(FPIC) $(OCAMLINC) $(GLIBINC) $&amp;lt;&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Main sourcecode ==&lt;br /&gt;
&lt;br /&gt;
To run the Ground control station and to be able to create airborne code for the Autopilot board and more one needs to get the Paparazzi source via&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compilation&lt;br /&gt;
&lt;br /&gt;
If you enter the sources directory and simply run ''make'' you will get the following error in an amd64 system:&lt;br /&gt;
&lt;br /&gt;
 cd sw/ground_segment/multimon; make PAPARAZZI_SRC=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp PAPARAZZI_HOME=/home/roi/Codigo/paparazzi-dev/lenny_versions/paparazzi/temp&lt;br /&gt;
 CC hdlc.c&lt;br /&gt;
 hdlc.c:1: error: CPU you selected does not support x86-64 instruction set&lt;br /&gt;
&lt;br /&gt;
This is because the code in sw/ground_segment/multimon/filter-i386.h which contains optimizations for some functions gets included and it doesn't work on amd64. filter.h says that filter-i386.h gets included if:&lt;br /&gt;
&lt;br /&gt;
 #ifdef ARCH_I386&lt;br /&gt;
 #include &amp;quot;filter-i386.h&amp;quot;&lt;br /&gt;
 #endif /* ARCH_I386 */&lt;br /&gt;
&lt;br /&gt;
If we take a look to the Makefile (sw/ground_segment/multimon/Makefile):&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -march=i486 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2 -DARCH_I386&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
We'll have to change it to not define ARCH_I386, not optimize for i486 and add -fPIC. So we need to leave the above lines like:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS          =-Wall -fPIC -Wstrict-prototypes -I/usr/X11R6/include -I `ocamlc -where`&lt;br /&gt;
 ifeq ($(DEBUG),y)&lt;br /&gt;
 CFLAGS          +=-g -O -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 else&lt;br /&gt;
 CFLAGS          +=-O3 -falign-loops=2 -falign-jumps=2 \&lt;br /&gt;
                  -falign-functions=2&lt;br /&gt;
 endif&lt;br /&gt;
&lt;br /&gt;
Note that leaving the sources like this won't apply the optimisations if now you take the modified source and compile it in a 32bit system...&lt;br /&gt;
&lt;br /&gt;
Now it will compile. run paparazzi and test it with a simulation via &lt;br /&gt;
&lt;br /&gt;
$ ./paparazzi&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
See also the main installation page&lt;br /&gt;
&lt;br /&gt;
TIP: &lt;br /&gt;
If you get the File &amp;quot;pprz.mli&amp;quot;, line 149, characters 78-89: Error: Unbound type constructor Ivy.binding&lt;br /&gt;
...this happens when IVY libraries are not yet installed. How to do this, read the part on installing IVY on this page&lt;br /&gt;
&lt;br /&gt;
=== Set the UDev rules ===&lt;br /&gt;
&lt;br /&gt;
To be able to access the Hardware attached to your PC later on, rules must be set in your OS. By setting the correct rules a regular user can access USB and other devices, otherwise restricted for only the root user.&lt;br /&gt;
&lt;br /&gt;
Now in a terminal&lt;br /&gt;
&lt;br /&gt;
 $ sudo nano /etc/udev/rules.d/91-paparazzi.rules&lt;br /&gt;
&lt;br /&gt;
then select and copy (CTRL+V) the text below:&lt;br /&gt;
&lt;br /&gt;
 ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SUBSYSTEM!=&amp;quot;usb&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENV{DEVTYPE}!=&amp;quot;usb_device&amp;quot;, GOTO=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{serial}==&amp;quot;*_fbw&amp;quot;, NAME=&amp;quot;test_fbw&amp;quot;, SYMLINK+=&amp;quot;paparazzi/%s{serial}&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # MaxStream xbee pro box&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{product}==&amp;quot;MaxStream PKG-U&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/xbee&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # bare FTDI chip without EEPROM&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6001&amp;quot;, KERNEL==&amp;quot;ttyUSB*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/serial&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # all (fake VID 0x7070) LPCUSB devices (access through libusb)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;7070&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 parallel converter / Amontec JTAG-Tiny (access through libftdi)&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;,  ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;cff8&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI 2232 based jtag for Lisa/L&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # make joysticks/gamepads readable on event interface (writeable for force feedback), see input_event.sh&lt;br /&gt;
 KERNEL==&amp;quot;event*&amp;quot;, IMPORT{program}=&amp;quot;input_event.sh %p&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;, MODE=&amp;quot;0640&amp;quot; ENV{FF_DEVICE}==&amp;quot;1&amp;quot;, MODE=&amp;quot;0660&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 #needed for lisa usb upload&lt;br /&gt;
 SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0403&amp;quot;, ATTRS{idProduct}==&amp;quot;6010&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # FTDI with uBlox direct on USB&lt;br /&gt;
 SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;1546&amp;quot;, ATTRS{idProduct}==&amp;quot;01a5&amp;quot;, KERNEL==&amp;quot;ttyACM*&amp;quot;, SYMLINK+=&amp;quot;paparazzi/acm&amp;quot;, GROUP=&amp;quot;plugdev&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;paparazzi_rules_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Past the text in the terminal window via CTRL+SHIFT+V and save the file via CTRL+X. Test via &lt;br /&gt;
&lt;br /&gt;
 $ udevadm info -q all -n /dev/paparazzi/serial&lt;br /&gt;
&lt;br /&gt;
If you want to learn more about what UDEV is, [http://www.openuas.org/pub/writing_udev_rules.html there is a very informative page about '''udev''' here]&lt;br /&gt;
&lt;br /&gt;
== The depriciated -mapcs-32 option ==&lt;br /&gt;
&lt;br /&gt;
The option &amp;quot;-mapcs-32&amp;quot; is only available with very old tool chain versions e.g. GCC-3.3.x. More recent tool chains will either require &amp;quot;-mabi=apcs-gnu&amp;quot; (non-EABI-compliant) or &amp;quot;-mabi=aapcs-linux&amp;quot; (EABI-compliant). To have an overview of all flags go here&lt;br /&gt;
&lt;br /&gt;
http://ecos.sourceware.org/docs-1.3.1/ref/gnupro-ref/arm/ARM_COMBO_ch01.html&lt;br /&gt;
&lt;br /&gt;
By changing -mapcs-32 with -Wa,-mapcs-32 compilation will work with more recent compilers and we have backward compatibility with the old flag for older compilers. The option -Wa,-mapcs-32 is doing the following: ''-Wa,option'' : Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.&lt;br /&gt;
&lt;br /&gt;
The -mapcs-32 option generates code for a processor running with a 32-bit program counter and conforming to the function calling standards for the APCS 32-bit option. If interested in depth what APCS is read the following: http://www.openuas.org/site/APCS.txt&lt;br /&gt;
&lt;br /&gt;
The gcc flag -mapcs-32 was deprecated since gcc-3.4.0 and finally removed in gcc-4.0.0 which unconditionally generates 32bit ARM code. You should not need to pass this flag to the assembler either but it might not hurt for backwards compatibility with older compilers, so it's best to leave it in with the -Wa, option metho&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/esden/summon-arm-toolchain&lt;br /&gt;
&lt;br /&gt;
https://github.com/paparazzi/paparazzi-portability-support&lt;br /&gt;
&lt;br /&gt;
http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk/conf/Makefile.stm32&lt;br /&gt;
&lt;br /&gt;
http://wiki.ubuntuusers.de/GNU_arm-toolchain&lt;br /&gt;
&lt;br /&gt;
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/ARM-Options.html#ARM-Options&lt;br /&gt;
&lt;br /&gt;
http://mcuprogramming.com/forum/arm/gnu-arm-toolchain-installer/&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/hobbycode/source/browse/trunk/gnu-arm-installer&lt;br /&gt;
&lt;br /&gt;
http://www.ethernut.de/en/documents/cross-toolchain-osx.html&lt;br /&gt;
&lt;br /&gt;
http://paparazzi.enac.fr/w/index.php?title=User:Roirodriguez&lt;br /&gt;
&lt;br /&gt;
http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Speech&amp;diff=8822</id>
		<title>Speech</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Speech&amp;diff=8822"/>
		<updated>2011-03-03T20:28:04Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Packages Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Speech==&lt;br /&gt;
&lt;br /&gt;
The [[GCS]] is able to provide the messages of the console via the speakers by starting with the option [[GCS_Configuration|-speech]]. &lt;br /&gt;
&lt;br /&gt;
'''On Ubuntu 10.10 this works out of the box with speech-dispatcher and espeak.'''&lt;br /&gt;
&lt;br /&gt;
You can test your setup with&lt;br /&gt;
 spd-conf -d&lt;br /&gt;
&lt;br /&gt;
== Using festival ==&lt;br /&gt;
If you want to use festival instead you need to install some packages and configure the speech-dispatcher to use festival.&lt;br /&gt;
&lt;br /&gt;
=== Packages Installation===&lt;br /&gt;
Install festival, speech-dispatcher, speech-dispatcher-festival and python-speechd packages, if not already installed. &amp;lt;br&amp;gt;&lt;br /&gt;
 sudo apt-get install festival speech-dispatcher speech-dispatcher-festival python-speechd&lt;br /&gt;
&lt;br /&gt;
=== Configuration===&lt;br /&gt;
Edit '''speechd.conf''' in /etc/speech-dispatcher/  with the command &lt;br /&gt;
 sudo gedit /etc/speech-dispatcher/speechd.conf&lt;br /&gt;
&lt;br /&gt;
   AddModule &amp;quot;espeak&amp;quot;       &amp;quot;sd_espeak&amp;quot;   &amp;quot;espeak.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   AddModule &amp;quot;festival&amp;quot;     &amp;quot;sd_festival&amp;quot;  &amp;quot;festival.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;flite&amp;quot;        &amp;quot;sd_flite&amp;quot;     &amp;quot;flite.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;espeak-generic&amp;quot; &amp;quot;sd_generic&amp;quot; &amp;quot;espeak-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;epos-generic&amp;quot; &amp;quot;sd_generic&amp;quot;   &amp;quot;epos-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;dtk-generic&amp;quot;  &amp;quot;sd_generic&amp;quot;   &amp;quot;dtk-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;ibmtts&amp;quot;       &amp;quot;sd_ibmtts&amp;quot;    &amp;quot;ibmtts.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;cicero&amp;quot;        &amp;quot;sd_cicero&amp;quot;     &amp;quot;cicero.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   &amp;lt;br&amp;gt;&lt;br /&gt;
   DefaultModule festival&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Optionally''' edit festival.conf in /etc/speech-dispatcher/modules/ and change/uncomment the following lines (these are the defaults so they don't need to be uncommented if not changed): &amp;lt;br&amp;gt;&lt;br /&gt;
   # Address where the Festival server runs (you have to &amp;lt;br&amp;gt;&lt;br /&gt;
   # have a Festival server running, please see documentation).&lt;br /&gt;
   &amp;lt;br&amp;gt;&lt;br /&gt;
   FestivalServerHost  &amp;quot;localhost&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
   FestivalServerPort   1314&lt;br /&gt;
&lt;br /&gt;
=== Starting the applications/servers===&lt;br /&gt;
Type in the command window:&amp;lt;br&amp;gt;&lt;br /&gt;
 festival --server&lt;br /&gt;
&lt;br /&gt;
You can test with&lt;br /&gt;
 spd-conf --test-festival&lt;br /&gt;
 spd-conf -d&lt;br /&gt;
&lt;br /&gt;
You might have to kill your current speech-dispatcher for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
Start the [[GCS_Configuration|GCS]] with the -speech option and there you go! (Hopefully)&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Speech&amp;diff=8821</id>
		<title>Speech</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Speech&amp;diff=8821"/>
		<updated>2011-03-03T20:23:51Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Speech==&lt;br /&gt;
&lt;br /&gt;
The [[GCS]] is able to provide the messages of the console via the speakers by starting with the option [[GCS_Configuration|-speech]]. &lt;br /&gt;
&lt;br /&gt;
'''On Ubuntu 10.10 this works out of the box with speech-dispatcher and espeak.'''&lt;br /&gt;
&lt;br /&gt;
You can test your setup with&lt;br /&gt;
 spd-conf -d&lt;br /&gt;
&lt;br /&gt;
== Using festival ==&lt;br /&gt;
If you want to use festival instead you need to install some packages and configure the speech-dispatcher to use festival.&lt;br /&gt;
&lt;br /&gt;
=== Packages Installation===&lt;br /&gt;
Install festival, speech-dispatcher and speech-dispatcher-festival packages, if not already installed. &amp;lt;br&amp;gt;&lt;br /&gt;
 sudo apt-get install festival speech-dispatcher speech-dispatcher-festival&lt;br /&gt;
&lt;br /&gt;
=== Configuration===&lt;br /&gt;
Edit '''speechd.conf''' in /etc/speech-dispatcher/  with the command &lt;br /&gt;
 sudo gedit /etc/speech-dispatcher/speechd.conf&lt;br /&gt;
&lt;br /&gt;
   AddModule &amp;quot;espeak&amp;quot;       &amp;quot;sd_espeak&amp;quot;   &amp;quot;espeak.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   AddModule &amp;quot;festival&amp;quot;     &amp;quot;sd_festival&amp;quot;  &amp;quot;festival.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;flite&amp;quot;        &amp;quot;sd_flite&amp;quot;     &amp;quot;flite.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;espeak-generic&amp;quot; &amp;quot;sd_generic&amp;quot; &amp;quot;espeak-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;epos-generic&amp;quot; &amp;quot;sd_generic&amp;quot;   &amp;quot;epos-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;dtk-generic&amp;quot;  &amp;quot;sd_generic&amp;quot;   &amp;quot;dtk-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;ibmtts&amp;quot;       &amp;quot;sd_ibmtts&amp;quot;    &amp;quot;ibmtts.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;cicero&amp;quot;        &amp;quot;sd_cicero&amp;quot;     &amp;quot;cicero.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   &amp;lt;br&amp;gt;&lt;br /&gt;
   DefaultModule festival&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Optionally''' edit festival.conf in /etc/speech-dispatcher/modules/ and change/uncomment the following lines (these are the defaults so they don't need to be uncommented if not changed): &amp;lt;br&amp;gt;&lt;br /&gt;
   # Address where the Festival server runs (you have to &amp;lt;br&amp;gt;&lt;br /&gt;
   # have a Festival server running, please see documentation).&lt;br /&gt;
   &amp;lt;br&amp;gt;&lt;br /&gt;
   FestivalServerHost  &amp;quot;localhost&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
   FestivalServerPort   1314&lt;br /&gt;
&lt;br /&gt;
=== Starting the applications/servers===&lt;br /&gt;
Type in the command window:&amp;lt;br&amp;gt;&lt;br /&gt;
 festival --server&lt;br /&gt;
&lt;br /&gt;
You can test with&lt;br /&gt;
 spd-conf --test-festival&lt;br /&gt;
 spd-conf -d&lt;br /&gt;
&lt;br /&gt;
You might have to kill your current speech-dispatcher for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
Start the [[GCS_Configuration|GCS]] with the -speech option and there you go! (Hopefully)&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Speech&amp;diff=8820</id>
		<title>Speech</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Speech&amp;diff=8820"/>
		<updated>2011-03-03T20:21:32Z</updated>

		<summary type="html">&lt;p&gt;Martial: /* Packages Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Speech==&lt;br /&gt;
&lt;br /&gt;
The [[GCS]] is able to provide the messages of the console via the speakers by starting with the option [[GCS_Configuration|-speech]]. &lt;br /&gt;
&lt;br /&gt;
'''On Ubuntu 10.10 this works out of the box with speech-dispatcher and espeak.'''&lt;br /&gt;
&lt;br /&gt;
You can test your setup with&lt;br /&gt;
 spd-conf -d&lt;br /&gt;
&lt;br /&gt;
== Using festival ==&lt;br /&gt;
If you want to use festival instead you need to install some packages and configure the speech-dispatcher to use festival.&lt;br /&gt;
&lt;br /&gt;
=== Packages Installation===&lt;br /&gt;
Install festival, speech-dispatcher and speech-dispatcher-festival packages, if not already installed. &amp;lt;br&amp;gt;&lt;br /&gt;
 sudo apt-get install festival speech-dispatcher speech-dispatcher-festival&lt;br /&gt;
&lt;br /&gt;
=== Configuration===&lt;br /&gt;
Edit '''speechd.conf''' in /etc/speech-dispatcher/  with the command ''gksudo gedit /etc/speech-dispatcher/speechd.conf''&lt;br /&gt;
&lt;br /&gt;
   AddModule &amp;quot;espeak&amp;quot;       &amp;quot;sd_espeak&amp;quot;   &amp;quot;espeak.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   AddModule &amp;quot;festival&amp;quot;     &amp;quot;sd_festival&amp;quot;  &amp;quot;festival.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;flite&amp;quot;        &amp;quot;sd_flite&amp;quot;     &amp;quot;flite.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;espeak-generic&amp;quot; &amp;quot;sd_generic&amp;quot; &amp;quot;espeak-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;epos-generic&amp;quot; &amp;quot;sd_generic&amp;quot;   &amp;quot;epos-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;dtk-generic&amp;quot;  &amp;quot;sd_generic&amp;quot;   &amp;quot;dtk-generic.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;ibmtts&amp;quot;       &amp;quot;sd_ibmtts&amp;quot;    &amp;quot;ibmtts.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   #AddModule &amp;quot;cicero&amp;quot;        &amp;quot;sd_cicero&amp;quot;     &amp;quot;cicero.conf&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
   &amp;lt;br&amp;gt;&lt;br /&gt;
   DefaultModule festival&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Optionally''' edit festival.conf in /etc/speech-dispatcher/modules/ and change/uncomment the following lines (these are the defaults so they don't need to be uncommented if not changed): &amp;lt;br&amp;gt;&lt;br /&gt;
   # Address where the Festival server runs (you have to &amp;lt;br&amp;gt;&lt;br /&gt;
   # have a Festival server running, please see documentation).&lt;br /&gt;
   &amp;lt;br&amp;gt;&lt;br /&gt;
   FestivalServerHost  &amp;quot;localhost&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
   FestivalServerPort   1314&lt;br /&gt;
&lt;br /&gt;
=== Starting the applications/servers===&lt;br /&gt;
Type in the command window:&amp;lt;br&amp;gt;&lt;br /&gt;
 festival --server&lt;br /&gt;
&lt;br /&gt;
You can test with&lt;br /&gt;
 spd-conf --test-festival&lt;br /&gt;
 spd-conf -d&lt;br /&gt;
&lt;br /&gt;
You might have to kill your current speech-dispatcher for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
Start the [[GCS_Configuration|GCS]] with the -speech option and there you go! (Hopefully)&lt;/div&gt;</summary>
		<author><name>Martial</name></author>
	</entry>
</feed>