<?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=Martin</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=Martin"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/Martin"/>
	<updated>2026-04-28T05:49:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=12960</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=12960"/>
		<updated>2012-07-27T04:54:58Z</updated>

		<summary type="html">&lt;p&gt;Martin: /* Asia */&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;
|[http://paparazzi.enac.fr/wiki/User:Christoph Christoph]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
See [[Developers]]&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Users sorted geographically ==&lt;br /&gt;
&lt;br /&gt;
===Asia===&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:wzxwyvippt@126.com WANGYAO]|| China || UMARIM,twog,tiny2.11 lisa/m2.0 ||| 2008|| fly with lisa/m2.0 now, fully auto takeoff and landing &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 || ,Umarim board assembled and tested all are ok on ground, now building a MAV to do test flight using UMARIM, 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:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:charles-edmond.bichot@ec-lyon.fr Charles-Edmond Bichot] || Lyon, France || Tiny/YAPA, IR+GPS, XBee/smartphone ||| September 2009 || Teaching projects, solar cells, object detection in video / image&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 || Lisa/M, Lisa/L, Booz, Twog ||| 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 flight 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 || YAPA2/SparkFun-SEN-10121-6DOF-IMU, Multiplex Mentor, SebArt Wind S 50E  ||| 2011 || Many flights successfully performed, including autostart/autolanding, many 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;
{| 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;
| [mailto:piotr@esden.net Piotr Esden-Tempski] || Santa Cruz, CA || Lisa/L, Lisa/M, Aspirin, Quadshot, Rotorcraft ||| 2009 || Software and Hardware development as well as [http://thequadshot.com The Quadshot]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://clubs.asua.arizona.edu/~mavclub University of Arizona MAV] || Tucson, AZ || Lisa/M 2.0, Aspirin v2.0, uBlox MAX-6Q, XBee 900 Pro/868LP, Mini-Vertigo ||| 2005 || University of Arizona Micro Air Vehicle Club (competing in IMAVs with Paparazzi since 2003.)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Cwozny Chris Wozny] || Nashua, New Hampshire || Lisa/M, Aspirin ||| 2008 || Currently building quadcopter around Lisa/M 2.0 platform.&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;
{| 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;
{| 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 / LISA-M, UBLOX, Xbee900 60mw||| 2011 || Working with geoprocessing - developping new modules and sensors to paparazzi. [http://brquad.blogspot.com ACCENT AERiALS]&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;
{| 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;
{| 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>Martin</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12227</id>
		<title>Compiling</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12227"/>
		<updated>2012-05-06T06:21:14Z</updated>

		<summary type="html">&lt;p&gt;Martin: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part of the documentation is to give you insight in how to give your Autopilot board a ''Brain''. Airborne autopilot code, flight plans and configuration settings are compiled into a single file, sometimes referred to as a ''binary image''. After compilation this file is transferred to the Autopilot board micro-controller flash ROM through use of an USB cable. Note that most tuning and flight plan parameters can be changed in-flight but after each power cycle, the autopilot reverts to the original settings. Permanent changes are made by recompiling the airborne code and it's new configurations settings, and re-upload this to the autopilot board. It may sound complicated but in fact it is quite simple if you follow the steps below.&lt;br /&gt;
&lt;br /&gt;
== Get access to your computers USB port ==&lt;br /&gt;
&lt;br /&gt;
Regular users, (also known as Non-Root) by default, as security measure, can not access and interact with hardware in- and output- devices (I/O), USB ports included. To make it possible, the user you are using to program the autopilot board must be a member of the ''plugdev'' group. Note that usually the original username you used when you installed your Linux OS is already a member. &lt;br /&gt;
&lt;br /&gt;
If you are '''not''' already a member, add yourself to this ''plugdev'' group with the following command:&lt;br /&gt;
&lt;br /&gt;
  $ sudo adduser $USER plugdev&lt;br /&gt;
&lt;br /&gt;
It will be effective only on your next login or after the command&lt;br /&gt;
&lt;br /&gt;
  $ newgrp -&lt;br /&gt;
&lt;br /&gt;
=== Udev rules ===&lt;br /&gt;
&lt;br /&gt;
The Paparazzi device rules are required for flashing and to recognize your modem (with usb adapter) correctly. Copy them into place if you haven't already done so:&lt;br /&gt;
 &lt;br /&gt;
  $ sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
If you are using Ubuntu with a version '''older than v9.10''', the [http://mielke.cc/brltty/ Braille TTY] driver interferes with FTDI USB Serial adapters and should be removed by running the following in the command prompt&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
== Flashing ==&lt;br /&gt;
&lt;br /&gt;
=== USB flashing ===&lt;br /&gt;
[[Image:Tiny_test_wiring.jpg|thumb|Example wiring for programming and telemetry]]&lt;br /&gt;
If the autopilot senses a connected USB cable during power-on, it will wait to receive a firmware image rather than booting normally.  The firmware can be compiled and flashed by several means, '''the simplest way using the [[Paparazzi_Center|Paparazzi Center]]''', the traditional way being:&lt;br /&gt;
 make AIRCRAFT=''myplane'' clean_ac ap.upload&lt;br /&gt;
 (where ''myplane'' is the name of your airframe as defined in &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
This command erases any compiled autopilot code from the PC, recompiles everything from scratch, and then sends it to the autopilot.  &lt;br /&gt;
Variations include:&lt;br /&gt;
* make AIRCRAFT=''myplane'' sim&lt;br /&gt;
*: Compiles your code for use in the simulator - note that &amp;quot;clean_ac&amp;quot; will remove this code, so the simulator code must be rebuilt each time a clean has been performed.&lt;br /&gt;
* make AIRCRAFT=''myplane'' fbw.upload&lt;br /&gt;
*: This is needed when configuring the separate &amp;quot;fly by wire&amp;quot; MCU on the [[Classix]] autopilot.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap&lt;br /&gt;
*: This will simply build the portions of autopilot code that have changed since the last compile without attempting to flash.  Note: this method may not detect certain changes (i.e. changes to the airframe makefile section or CVS updated code).&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=IAP&lt;br /&gt;
*: Specifies USB flashing.  This should be specified at the top of the makefile section of your airframe file but can be overridden here.  Use FLASH_MODE=IAS for serial flashing.&lt;br /&gt;
&lt;br /&gt;
=== Serial Flashing ===&lt;br /&gt;
You can also flash via serial cable or modem, but it takes a longer time.&lt;br /&gt;
You can't just consider the baud rate to estimate the duration of the operation are there are many exchanges in the flashing protocol and the com latency over RF becomes significant.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=ISP&lt;br /&gt;
Or add &amp;lt;configure name=&amp;quot;FLASH_MODE&amp;quot; value=&amp;quot;ISP&amp;quot;/&amp;gt; to the firmware section of your [[Airframe_Configuration|airframe file]].&lt;br /&gt;
&lt;br /&gt;
=== JTAG Flashing ===&lt;br /&gt;
&lt;br /&gt;
I will be adding more info here as I compile and upload to the Lisa/M board. The info I placed here is directly from the mailing list. - cwozny&lt;br /&gt;
&lt;br /&gt;
Ensure that the paparazzi-dev, paparazzi-arm-multilib and openocd packages are installed in your distro via:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-arm-multilib openocd&lt;br /&gt;
&lt;br /&gt;
Make sure you have openocd-0.5 or higher, if you are on Ubuntu lucid or natty, you can add [https://launchpad.net/~paparazzi-uav/+archive/ppa ppa:paparazzi-uav/ppa] which includes backported openocd packages.&lt;br /&gt;
&lt;br /&gt;
This is all you need to build AND flash the STM microprocessor. The reason for this method of flashing is that there is no boot loader for this microprocessor yet which is what is required for USB/Serial flashing. Currently, only the Lisa boards utilize the STM32 microprocessor. Lisa/L has an onboard JTAG while Lisa/M needs an external JTAG. You can now build paparazzi, run the [[Paparazzi_Center|Paparazzi Center]], adapt an airframe (e.g. microjet_example.xml) to board=&amp;quot;lisa_m_1.1&amp;quot;, compile and upload. During an upload the JTAG RxTx LEDs should blink. Make sure you also configured the paparazzi-rules explained on the installation page.&lt;br /&gt;
&lt;br /&gt;
=== Verify that above upload works ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1 ====&lt;br /&gt;
&lt;br /&gt;
Connect an USB cable to the USB port on the autopilot board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Fase2_Insert_Flightplan_A.jpg|Board to mini USB connect&lt;br /&gt;
Image:Fase2_Insert_Flightplan_B.jpg|Make sure you have a connector for power ('''Don't''' power up yet!)&lt;br /&gt;
Image:Fase2_Insert_Flightplan_C.jpg|Connect USB to PC '''and''' Board&lt;br /&gt;
Image:Fase2_Insert_Flightplan_D.jpg|only '''now''', power up the board&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now if you type the following command in your terminal...&lt;br /&gt;
&lt;br /&gt;
 $ dmesg | tail -5&lt;br /&gt;
&lt;br /&gt;
..you should see messages that look like:&lt;br /&gt;
&lt;br /&gt;
 [79212.484187] pl2303 1-2.3:1.0: device disconnected&lt;br /&gt;
 [82312.463077] usb 5-1: new high speed USB device using ehci_hcd and address 23&lt;br /&gt;
 [82327.555770] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.752307] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.968031] usb 5-1: new high speed USB device using ehci_hcd and address 24&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device is powered up and working, and ready to accept new airborne code. In case you do not see this message, check your battery voltage and connections and make sure the cables are not broken.&lt;br /&gt;
&lt;br /&gt;
==== Step 2 ====&lt;br /&gt;
&lt;br /&gt;
Upload the compiled Autopilot code a.k.a, firmware&lt;br /&gt;
&lt;br /&gt;
   $ make AIRCRAFT=DEMO demo2.upload&lt;br /&gt;
&lt;br /&gt;
     make[1]: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 all&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /home/dirkx/paparazzi/var/demo/demo2/demo2.elf  :&lt;br /&gt;
    section    size         addr&lt;br /&gt;
    .text       956        16384&lt;br /&gt;
    .ctors        0        17340&lt;br /&gt;
    .dtors        0        17340&lt;br /&gt;
    .data         0   1073741824&lt;br /&gt;
    .bss         12   1073741824&lt;br /&gt;
    .stack     4096   1073742080&lt;br /&gt;
    .comment     54            0&lt;br /&gt;
    Total      5118&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 upload&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /usr/share/paparazzi/sw/ground_segment/lpc21iap/lpc21iap  /home/dirkx/paparazzi/var/demo/demo2/demo2.elf&lt;br /&gt;
    .&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
    Starting software at 0x00004000&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    make: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device has the bootloader functioning. The important bit of output is:&lt;br /&gt;
&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
&lt;br /&gt;
In the rare case your autopilot board does not have a bootloader,[http://paparazzi.enac.fr/wiki/BootloaderUploadHowTo  read and follow the instruction on how to install a bootloader first]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: In the above example we're using a modified [http://paparazzi.enac.fr/wiki/Using_demo_programs_in_sw/airborne demo] - which flashes the LEDs with a Tiny2.1 board): Be aware that the demos involving serial ports do not currently work with Tiny V2's.&lt;br /&gt;
&lt;br /&gt;
==== Step 3 ====&lt;br /&gt;
&lt;br /&gt;
Observe the LEDs flashing.&lt;br /&gt;
&lt;br /&gt;
==== Step 4 ====&lt;br /&gt;
&lt;br /&gt;
Disconnect the USB cable, Disconnect the power and reconnect the power of the autopilot board. The LED's should flash again.&lt;br /&gt;
&lt;br /&gt;
==== Step 5 ====&lt;br /&gt;
&lt;br /&gt;
Select aircraft MJ5, build and upload.&lt;br /&gt;
&lt;br /&gt;
Select airframe funjet1.xml (if you have a Tiny V2)&lt;br /&gt;
&lt;br /&gt;
Connect the serial port of your tiny to your PC using a level converter and select session Flight USB serial@9600.&lt;br /&gt;
&lt;br /&gt;
If you are using funjet1.xml:&lt;br /&gt;
*Stop all the processes but do not remove them.&lt;br /&gt;
*Edit the line Data Link and add &amp;quot;-s 57600&amp;quot; to the end, to tell the data link the baud rate of the MJ5.&lt;br /&gt;
*Restart Data Link, Server and GCS in that order.&lt;br /&gt;
&lt;br /&gt;
If all went well, it should work and you should see messages coming in from the Tiny!&lt;br /&gt;
&lt;br /&gt;
== Installing the tunnel for direct access to the GPS ==&lt;br /&gt;
&lt;br /&gt;
This completely replaces the normal autopilot code (leaving the USB bootloader intact) with a simple serial-to-serial pass-thru that essentially connects the GPS serial port directly to the modem serial port or a USB-to-serial connection that creates a USB serial port that goes to GPS port or modem port. Use this only to gain direct access to the GPS for testing/configuration with [[GPS#GPS_configuration_using_U-Center|U-Center]] or other software.&lt;br /&gt;
&lt;br /&gt;
You have to add the tunnel targets to your airframe file if you want to use them:&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;usb_tunnel_0&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== UART tunnel ====&lt;br /&gt;
&lt;br /&gt;
Use this if you have a serial cable to connect. The LEDs will blink when data is transferred. Type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' tunnel.upload&lt;br /&gt;
Connect the USB cable and power on the autopilot to receive the code.&lt;br /&gt;
&lt;br /&gt;
This can be done without the USB bootloader by appending ''FLASH_MODE=ISP'' to the command line (specifying ISP serial loading).  This will require a serial cable connection (i.e. FTDI USB-to-TTL). '''WARNING!''' Installing tunnel code with the ISP method will erase any USB bootloader code. Make sure you are able to install a bootloader yourself.&lt;br /&gt;
&lt;br /&gt;
==== USB tunnel ====&lt;br /&gt;
&lt;br /&gt;
This can be done without a serial cable just by having USB. The LEDs will blink when data is transferred. It can connect to either serial port on the autopilot (for Tiny 2.11: uart0=gps, uart1=modem). To connect USB to the gps type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' usb_tunnel_0.upload&lt;br /&gt;
Connect the usb cable and power on the autopilot to receive the code. The code will switch the USB to emulate a serial port that you can access at '''/dev/ttyACMx'''. Windows user can extract the usbser.sys file from .cab file in C:\WINDOWS\Driver Cache\i386 and store it somewhere (C:\temp is a good place) along with the [[Media:Usbser.zip|usbser.inf]] file. Windows then creates an extra COMx port that you can use in a terminal program or with ucenter.&lt;br /&gt;
To use the USB tunnel make sure you first power the autopilot before connecting USB not to end up in the USB bootloader.&lt;br /&gt;
&lt;br /&gt;
== Firmware Architecture ==&lt;br /&gt;
More info on the firmware architecture &amp;lt;br&amp;gt;&lt;br /&gt;
[[FirmwareArchitecture]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
As a rapidly evolving open-source project, on occasion your software may fail to compile after a [[Installation#Software_Updates|git pull]]. This is most likely due to a new or changed variable name that is now required in your airframe, flight plan or somewhere else. Since the user-configured files are not updated automatically you may need to view the most recently changed sample airframe or flight plan files to find the required changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12226</id>
		<title>Compiling</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12226"/>
		<updated>2012-05-06T06:08:21Z</updated>

		<summary type="html">&lt;p&gt;Martin: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part of the documentation is to give you insight in how to give your Autopilot board a ''Brain''. Airborne autopilot code, flight plans and configuration settings are compiled into a single file, sometimes referred to as a ''binary image''. After compilation this file is transferred to the Autopilot board micro-controller flash ROM through use of an USB cable. Note that most tuning and flight plan parameters can be changed in-flight but after each power cycle, the autopilot reverts to the original settings. Permanent changes are made by recompiling the airborne code and it's new configurations settings, and re-upload this to the autopilot board. It may sound complicated but in fact it is quite simple if you follow the steps below.&lt;br /&gt;
&lt;br /&gt;
== Get access to your computers USB port ==&lt;br /&gt;
&lt;br /&gt;
Regular users, (also known as Non-Root) by default, as security measure, can not access and interact with hardware in- and output- devices (I/O), USB ports included. To make it possible, the user you are using to program the autopilot board must be a member of the ''plugdev'' group. Note that usually the original username you used when you installed your Linux OS is already a member. &lt;br /&gt;
&lt;br /&gt;
If you are '''not''' already a member, add yourself to this ''plugdev'' group with the following command:&lt;br /&gt;
&lt;br /&gt;
  $ sudo adduser $USER plugdev&lt;br /&gt;
&lt;br /&gt;
It will be effective only on your next login or after the command&lt;br /&gt;
&lt;br /&gt;
  $ newgrp -&lt;br /&gt;
&lt;br /&gt;
=== Udev rules ===&lt;br /&gt;
&lt;br /&gt;
The Paparazzi device rules are required for flashing and to recognize your modem (with usb adapter) correctly. Copy them into place if you haven't already done so:&lt;br /&gt;
 &lt;br /&gt;
  $ sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
If you are using Ubuntu with a version '''older than v9.10''', the [http://mielke.cc/brltty/ Braille TTY] driver interferes with FTDI USB Serial adapters and should be removed by running the following in the command prompt&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
== Flashing ==&lt;br /&gt;
&lt;br /&gt;
=== USB flashing ===&lt;br /&gt;
[[Image:Tiny_test_wiring.jpg|thumb|Example wiring for programming and telemetry]]&lt;br /&gt;
If the autopilot senses a connected USB cable during power-on, it will wait to receive a firmware image rather than booting normally.  The firmware can be compiled and flashed by several means, '''the simplest way using the [[Paparazzi_Center|Paparazzi Center]]''', the traditional way being:&lt;br /&gt;
 make AIRCRAFT=''myplane'' clean_ac ap.upload&lt;br /&gt;
 (where ''myplane'' is the name of your airframe as defined in &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
This command erases any compiled autopilot code from the PC, recompiles everything from scratch, and then sends it to the autopilot.  &lt;br /&gt;
Variations include:&lt;br /&gt;
* make AIRCRAFT=''myplane'' sim&lt;br /&gt;
*: Compiles your code for use in the simulator - note that &amp;quot;clean_ac&amp;quot; will remove this code, so the simulator code must be rebuilt each time a clean has been performed.&lt;br /&gt;
* make AIRCRAFT=''myplane'' fbw.upload&lt;br /&gt;
*: This is needed when configuring the separate &amp;quot;fly by wire&amp;quot; MCU on the [[Classix]] autopilot.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap&lt;br /&gt;
*: This will simply build the portions of autopilot code that have changed since the last compile without attempting to flash.  Note: this method may not detect certain changes (i.e. changes to the airframe makefile section or CVS updated code).&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=IAP&lt;br /&gt;
*: Specifies USB flashing.  This should be specified at the top of the makefile section of your airframe file but can be overridden here.  Use FLASH_MODE=IAS for serial flashing.&lt;br /&gt;
&lt;br /&gt;
=== Serial Flashing ===&lt;br /&gt;
You can also flash via serial cable or modem, but it takes a longer time.&lt;br /&gt;
You can't just consider the baud rate to estimate the duration of the operation are there are many exchanges in the flashing protocol and the com latency over RF becomes significant.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=ISP&lt;br /&gt;
Or add &amp;lt;configure name=&amp;quot;FLASH_MODE&amp;quot; value=&amp;quot;ISP&amp;quot;/&amp;gt; to the firmware section of your [[Airframe_Configuration|airframe file]].&lt;br /&gt;
&lt;br /&gt;
=== JTAG Flashing ===&lt;br /&gt;
&lt;br /&gt;
I will be adding more info here as I compile and upload to the Lisa/M board. The info I placed here is directly from the mailing list. - cwozny&lt;br /&gt;
&lt;br /&gt;
Ensure that the paparazzi-dev, paparazzi-arm-multilib and openocd packages are installed in your distro via:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-arm-multilib openocd&lt;br /&gt;
&lt;br /&gt;
Make sure you have openocd-0.5 or higher, if you are on Ubuntu lucid or natty, you can add [https://launchpad.net/~paparazzi-uav/+archive/ppa ppa:paparazzi-uav/ppa] which includes backported openocd packages.&lt;br /&gt;
&lt;br /&gt;
This is all you need to build AND flash the STM microprocessor. The reason for this method of flashing is that there is no boot loader for this microprocessor yet which is what is required for USB/Serial flashing. Currently, only the Lisa boards utilize the STM32 microprocessor. Lisa/L has an onboard JTAG while Lisa/M needs an external JTAG. You can now build paparazzi, run the [[Paparazzi_Center|Paparazzi Center]], adapt an airframe (e.g. microjet_example.xml) to board=&amp;quot;lisa_m_1.1&amp;quot;, compile and upload. During an upload the JTAG RxTx LEDs should blink. Make sure you also configured the paparazzi-rules explained on the installation page.&lt;br /&gt;
&lt;br /&gt;
=== Verify that above upload works ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1 ====&lt;br /&gt;
&lt;br /&gt;
Connect an USB cable to the USB port on the autopilot board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Fase2_Insert_Flightplan_A.jpg|Board to mini USB connect&lt;br /&gt;
Image:Fase2_Insert_Flightplan_B.jpg|Make sure you have a connector for power ('''Don't''' power up yet!)&lt;br /&gt;
Image:Fase2_Insert_Flightplan_C.jpg|Connect USB to PC '''and''' Board&lt;br /&gt;
Image:Fase2_Insert_Flightplan_D.jpg|only '''now''', power up the board&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now if you type the following command in your terminal...&lt;br /&gt;
&lt;br /&gt;
 $ dmesg | tail -5&lt;br /&gt;
&lt;br /&gt;
..you should see messages that look like:&lt;br /&gt;
&lt;br /&gt;
 [79212.484187] pl2303 1-2.3:1.0: device disconnected&lt;br /&gt;
 [82312.463077] usb 5-1: new high speed USB device using ehci_hcd and address 23&lt;br /&gt;
 [82327.555770] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.752307] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.968031] usb 5-1: new high speed USB device using ehci_hcd and address 24&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device is powered up and working, and ready to accept new airborne code. In case you do not see this message, check your battery voltage and connections and make sure the cables are not broken.&lt;br /&gt;
&lt;br /&gt;
==== Step 2 ====&lt;br /&gt;
&lt;br /&gt;
Upload the compiled Autopilot code a.k.a, firmware&lt;br /&gt;
&lt;br /&gt;
   $ make AIRCRAFT=DEMO demo2.upload&lt;br /&gt;
&lt;br /&gt;
     make[1]: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 all&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /home/dirkx/paparazzi/var/demo/demo2/demo2.elf  :&lt;br /&gt;
    section    size         addr&lt;br /&gt;
    .text       956        16384&lt;br /&gt;
    .ctors        0        17340&lt;br /&gt;
    .dtors        0        17340&lt;br /&gt;
    .data         0   1073741824&lt;br /&gt;
    .bss         12   1073741824&lt;br /&gt;
    .stack     4096   1073742080&lt;br /&gt;
    .comment     54            0&lt;br /&gt;
    Total      5118&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 upload&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /usr/share/paparazzi/sw/ground_segment/lpc21iap/lpc21iap  /home/dirkx/paparazzi/var/demo/demo2/demo2.elf&lt;br /&gt;
    .&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
    Starting software at 0x00004000&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    make: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device has the bootloader functioning. The important bit of output is:&lt;br /&gt;
&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
&lt;br /&gt;
In the rare case your autopilot board does not have a bootloader,[http://paparazzi.enac.fr/wiki/  read and follow the instruction on how to install a bootloader first]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: In the above example we're using a modified [http://paparazzi.enac.fr/wiki/Using_demo_programs_in_sw/airborne demo] - which flashes the LEDs with a Tiny2.1 board): Be aware that the demos involving serial ports do not currently work with Tiny V2's.&lt;br /&gt;
&lt;br /&gt;
==== Step 3 ====&lt;br /&gt;
&lt;br /&gt;
Observe the LEDs flashing.&lt;br /&gt;
&lt;br /&gt;
==== Step 4 ====&lt;br /&gt;
&lt;br /&gt;
Disconnect the USB cable, Disconnect the power and reconnect the power of the autopilot board. The LED's should flash again.&lt;br /&gt;
&lt;br /&gt;
==== Step 5 ====&lt;br /&gt;
&lt;br /&gt;
Select aircraft MJ5, build and upload.&lt;br /&gt;
&lt;br /&gt;
Select airframe funjet1.xml (if you have a Tiny V2)&lt;br /&gt;
&lt;br /&gt;
Connect the serial port of your tiny to your PC using a level converter and select session Flight USB serial@9600.&lt;br /&gt;
&lt;br /&gt;
If you are using funjet1.xml:&lt;br /&gt;
*Stop all the processes but do not remove them.&lt;br /&gt;
*Edit the line Data Link and add &amp;quot;-s 57600&amp;quot; to the end, to tell the data link the baud rate of the MJ5.&lt;br /&gt;
*Restart Data Link, Server and GCS in that order.&lt;br /&gt;
&lt;br /&gt;
If all went well, it should work and you should see messages coming in from the Tiny!&lt;br /&gt;
&lt;br /&gt;
== Installing the tunnel for direct access to the GPS ==&lt;br /&gt;
&lt;br /&gt;
This completely replaces the normal autopilot code (leaving the USB bootloader intact) with a simple serial-to-serial pass-thru that essentially connects the GPS serial port directly to the modem serial port or a USB-to-serial connection that creates a USB serial port that goes to GPS port or modem port. Use this only to gain direct access to the GPS for testing/configuration with [[GPS#GPS_configuration_using_U-Center|U-Center]] or other software.&lt;br /&gt;
&lt;br /&gt;
You have to add the tunnel targets to your airframe file if you want to use them:&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;usb_tunnel_0&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== UART tunnel ====&lt;br /&gt;
&lt;br /&gt;
Use this if you have a serial cable to connect. The LEDs will blink when data is transferred. Type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' tunnel.upload&lt;br /&gt;
Connect the USB cable and power on the autopilot to receive the code.&lt;br /&gt;
&lt;br /&gt;
This can be done without the USB bootloader by appending ''FLASH_MODE=ISP'' to the command line (specifying ISP serial loading).  This will require a serial cable connection (i.e. FTDI USB-to-TTL). '''WARNING!''' Installing tunnel code with the ISP method will erase any USB bootloader code. Make sure you are able to install a bootloader yourself.&lt;br /&gt;
&lt;br /&gt;
==== USB tunnel ====&lt;br /&gt;
&lt;br /&gt;
This can be done without a serial cable just by having USB. The LEDs will blink when data is transferred. It can connect to either serial port on the autopilot (for Tiny 2.11: uart0=gps, uart1=modem). To connect USB to the gps type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' usb_tunnel_0.upload&lt;br /&gt;
Connect the usb cable and power on the autopilot to receive the code. The code will switch the USB to emulate a serial port that you can access at '''/dev/ttyACMx'''. Windows user can extract the usbser.sys file from .cab file in C:\WINDOWS\Driver Cache\i386 and store it somewhere (C:\temp is a good place) along with the [[Media:Usbser.zip|usbser.inf]] file. Windows then creates an extra COMx port that you can use in a terminal program or with ucenter.&lt;br /&gt;
To use the USB tunnel make sure you first power the autopilot before connecting USB not to end up in the USB bootloader.&lt;br /&gt;
&lt;br /&gt;
== Firmware Architecture ==&lt;br /&gt;
More info on the firmware architecture &amp;lt;br&amp;gt;&lt;br /&gt;
[[FirmwareArchitecture]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
As a rapidly evolving open-source project, on occasion your software may fail to compile after a [[Installation#Software_Updates|git pull]]. This is most likely due to a new or changed variable name that is now required in your airframe, flight plan or somewhere else. Since the user-configured files are not updated automatically you may need to view the most recently changed sample airframe or flight plan files to find the required changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12225</id>
		<title>Compiling</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12225"/>
		<updated>2012-05-06T05:52:05Z</updated>

		<summary type="html">&lt;p&gt;Martin: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part of the documentation is to give you insight in how to give your Autopilot board a ''Brain''. Airborne autopilot code, flight plans and configuration settings are compiled into a single file, sometimes referred to as a ''binary image''. After compilation this file is transferred to the Autopilot board micro-controller flash ROM through use of an USB cable. Note that most tuning and flight plan parameters can be changed in-flight but after each power cycle, the autopilot reverts to the original settings. Permanent changes are made by recompiling the airborne code and it's new configurations settings, and re-upload this to the autopilot board. It may sound complicated but in fact it is quite simple if you follow the steps below.&lt;br /&gt;
&lt;br /&gt;
== Get access to your computers USB port ==&lt;br /&gt;
&lt;br /&gt;
Regular users, (also known as Non-Root) by default, as security measure, can not access and interact with hardware in- and output- devices (I/O), USB ports included. To make it possible, the user you are using to program the autopilot board must be a member of the ''plugdev'' group. Note that usually the original username you used when you installed your Linux OS is already a member. &lt;br /&gt;
&lt;br /&gt;
If you are '''not''' already a member, add yourself to this ''plugdev'' group with the following command:&lt;br /&gt;
&lt;br /&gt;
  $ sudo adduser $USER plugdev&lt;br /&gt;
&lt;br /&gt;
It will be effective only on your next login or after the command&lt;br /&gt;
&lt;br /&gt;
  $ newgrp -&lt;br /&gt;
&lt;br /&gt;
=== Udev rules ===&lt;br /&gt;
&lt;br /&gt;
The Paparazzi device rules are required for flashing and to recognize your modem (with usb adapter) correctly. Copy them into place if you haven't already done so:&lt;br /&gt;
 &lt;br /&gt;
  $ sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
If you are using Ubuntu with a version '''older than v9.10''', the [http://mielke.cc/brltty/ Braille TTY] driver interferes with FTDI USB Serial adapters and should be removed by running the following in the command prompt&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
== Flashing ==&lt;br /&gt;
&lt;br /&gt;
=== USB flashing ===&lt;br /&gt;
[[Image:Tiny_test_wiring.jpg|thumb|Example wiring for programming and telemetry]]&lt;br /&gt;
If the autopilot senses a connected USB cable during power-on, it will wait to receive a firmware image rather than booting normally.  The firmware can be compiled and flashed by several means, '''the simplest way using the [[Paparazzi_Center|Paparazzi Center]]''', the traditional way being:&lt;br /&gt;
 make AIRCRAFT=''myplane'' clean_ac ap.upload&lt;br /&gt;
 (where ''myplane'' is the name of your airframe as defined in &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
This command erases any compiled autopilot code from the PC, recompiles everything from scratch, and then sends it to the autopilot.  &lt;br /&gt;
Variations include:&lt;br /&gt;
* make AIRCRAFT=''myplane'' sim&lt;br /&gt;
*: Compiles your code for use in the simulator - note that &amp;quot;clean_ac&amp;quot; will remove this code, so the simulator code must be rebuilt each time a clean has been performed.&lt;br /&gt;
* make AIRCRAFT=''myplane'' fbw.upload&lt;br /&gt;
*: This is needed when configuring the separate &amp;quot;fly by wire&amp;quot; MCU on the [[Classix]] autopilot.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap&lt;br /&gt;
*: This will simply build the portions of autopilot code that have changed since the last compile without attempting to flash.  Note: this method may not detect certain changes (i.e. changes to the airframe makefile section or CVS updated code).&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=IAP&lt;br /&gt;
*: Specifies USB flashing.  This should be specified at the top of the makefile section of your airframe file but can be overridden here.  Use FLASH_MODE=IAS for serial flashing.&lt;br /&gt;
&lt;br /&gt;
=== Serial Flashing ===&lt;br /&gt;
You can also flash via serial cable or modem, but it takes a longer time.&lt;br /&gt;
You can't just consider the baud rate to estimate the duration of the operation are there are many exchanges in the flashing protocol and the com latency over RF becomes significant.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=ISP&lt;br /&gt;
Or add &amp;lt;configure name=&amp;quot;FLASH_MODE&amp;quot; value=&amp;quot;ISP&amp;quot;/&amp;gt; to the firmware section of your [[Airframe_Configuration|airframe file]].&lt;br /&gt;
&lt;br /&gt;
=== JTAG Flashing ===&lt;br /&gt;
&lt;br /&gt;
I will be adding more info here as I compile and upload to the Lisa/M board. The info I placed here is directly from the mailing list. - cwozny&lt;br /&gt;
&lt;br /&gt;
Ensure that the paparazzi-dev, paparazzi-arm-multilib and openocd packages are installed in your distro via:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-arm-multilib openocd&lt;br /&gt;
&lt;br /&gt;
Make sure you have openocd-0.5 or higher, if you are on Ubuntu lucid or natty, you can add [https://launchpad.net/~paparazzi-uav/+archive/ppa ppa:paparazzi-uav/ppa] which includes backported openocd packages.&lt;br /&gt;
&lt;br /&gt;
This is all you need to build AND flash the STM microprocessor. The reason for this method of flashing is that there is no boot loader for this microprocessor yet which is what is required for USB/Serial flashing. Currently, only the Lisa boards utilize the STM32 microprocessor. Lisa/L has an onboard JTAG while Lisa/M needs an external JTAG. You can now build paparazzi, run the [[Paparazzi_Center|Paparazzi Center]], adapt an airframe (e.g. microjet_example.xml) to board=&amp;quot;lisa_m_1.1&amp;quot;, compile and upload. During an upload the JTAG RxTx LEDs should blink. Make sure you also configured the paparazzi-rules explained on the installation page.&lt;br /&gt;
&lt;br /&gt;
=== Verify that above upload works ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1 ====&lt;br /&gt;
&lt;br /&gt;
Connect an USB cable to the USB port on the autopilot board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Fase2_Insert_Flightplan_A.jpg|Board to mini USB connect&lt;br /&gt;
Image:Fase2_Insert_Flightplan_B.jpg|Make sure you have a connector for power ('''Don't''' power up yet!)&lt;br /&gt;
Image:Fase2_Insert_Flightplan_C.jpg|Connect USB to PC '''and''' Board&lt;br /&gt;
Image:Fase2_Insert_Flightplan_D.jpg|only '''now''', power up the board&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now if you type the following command in your terminal...&lt;br /&gt;
&lt;br /&gt;
 $ dmesg | tail -5&lt;br /&gt;
&lt;br /&gt;
..you should see messages that look like:&lt;br /&gt;
&lt;br /&gt;
 [79212.484187] pl2303 1-2.3:1.0: device disconnected&lt;br /&gt;
 [82312.463077] usb 5-1: new high speed USB device using ehci_hcd and address 23&lt;br /&gt;
 [82327.555770] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.752307] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.968031] usb 5-1: new high speed USB device using ehci_hcd and address 24&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device is powered up and working, and ready to accept new airborne code. In case you do not see this message, check your battery voltage and connections and make sure the cables are not broken.&lt;br /&gt;
&lt;br /&gt;
==== Step 2 ====&lt;br /&gt;
&lt;br /&gt;
Upload the compiled Autopilot code a.k.a, firmware&lt;br /&gt;
&lt;br /&gt;
   $ make AIRCRAFT=DEMO demo2.upload&lt;br /&gt;
&lt;br /&gt;
     make[1]: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 all&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /home/dirkx/paparazzi/var/demo/demo2/demo2.elf  :&lt;br /&gt;
    section    size         addr&lt;br /&gt;
    .text       956        16384&lt;br /&gt;
    .ctors        0        17340&lt;br /&gt;
    .dtors        0        17340&lt;br /&gt;
    .data         0   1073741824&lt;br /&gt;
    .bss         12   1073741824&lt;br /&gt;
    .stack     4096   1073742080&lt;br /&gt;
    .comment     54            0&lt;br /&gt;
    Total      5118&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 upload&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /usr/share/paparazzi/sw/ground_segment/lpc21iap/lpc21iap  /home/dirkx/paparazzi/var/demo/demo2/demo2.elf&lt;br /&gt;
    .&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
    Starting software at 0x00004000&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    make: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device has the bootloader functioning. The important bit of output is:&lt;br /&gt;
&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
&lt;br /&gt;
In the rare case your autopilot board does not have a bootloader,  read and follow the instruction on how to install a bootloader first[http://paparazzi.enac.fr/wiki/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: In the above example we're using a modified [http://paparazzi.enac.fr/wiki/Using_demo_programs_in_sw/airborne demo] - which flashes the LEDs with a Tiny2.1 board): Be aware that the demos involving serial ports do not currently work with Tiny V2's.&lt;br /&gt;
&lt;br /&gt;
==== Step 3 ====&lt;br /&gt;
&lt;br /&gt;
Observe the LEDs flashing.&lt;br /&gt;
&lt;br /&gt;
==== Step 4 ====&lt;br /&gt;
&lt;br /&gt;
Disconnect the USB cable, Disconnect the power and reconnect the power of the autopilot board. The LED's should flash again.&lt;br /&gt;
&lt;br /&gt;
==== Step 5 ====&lt;br /&gt;
&lt;br /&gt;
Select aircraft MJ5, build and upload.&lt;br /&gt;
&lt;br /&gt;
Select airframe funjet1.xml (if you have a Tiny V2)&lt;br /&gt;
&lt;br /&gt;
Connect the serial port of your tiny to your PC using a level converter and select session Flight USB serial@9600.&lt;br /&gt;
&lt;br /&gt;
If you are using funjet1.xml:&lt;br /&gt;
*Stop all the processes but do not remove them.&lt;br /&gt;
*Edit the line Data Link and add &amp;quot;-s 57600&amp;quot; to the end, to tell the data link the baud rate of the MJ5.&lt;br /&gt;
*Restart Data Link, Server and GCS in that order.&lt;br /&gt;
&lt;br /&gt;
If all went well, it should work and you should see messages coming in from the Tiny!&lt;br /&gt;
&lt;br /&gt;
== Installing the tunnel for direct access to the GPS ==&lt;br /&gt;
&lt;br /&gt;
This completely replaces the normal autopilot code (leaving the USB bootloader intact) with a simple serial-to-serial pass-thru that essentially connects the GPS serial port directly to the modem serial port or a USB-to-serial connection that creates a USB serial port that goes to GPS port or modem port. Use this only to gain direct access to the GPS for testing/configuration with [[GPS#GPS_configuration_using_U-Center|U-Center]] or other software.&lt;br /&gt;
&lt;br /&gt;
You have to add the tunnel targets to your airframe file if you want to use them:&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;usb_tunnel_0&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== UART tunnel ====&lt;br /&gt;
&lt;br /&gt;
Use this if you have a serial cable to connect. The LEDs will blink when data is transferred. Type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' tunnel.upload&lt;br /&gt;
Connect the USB cable and power on the autopilot to receive the code.&lt;br /&gt;
&lt;br /&gt;
This can be done without the USB bootloader by appending ''FLASH_MODE=ISP'' to the command line (specifying ISP serial loading).  This will require a serial cable connection (i.e. FTDI USB-to-TTL). '''WARNING!''' Installing tunnel code with the ISP method will erase any USB bootloader code. Make sure you are able to install a bootloader yourself.&lt;br /&gt;
&lt;br /&gt;
==== USB tunnel ====&lt;br /&gt;
&lt;br /&gt;
This can be done without a serial cable just by having USB. The LEDs will blink when data is transferred. It can connect to either serial port on the autopilot (for Tiny 2.11: uart0=gps, uart1=modem). To connect USB to the gps type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' usb_tunnel_0.upload&lt;br /&gt;
Connect the usb cable and power on the autopilot to receive the code. The code will switch the USB to emulate a serial port that you can access at '''/dev/ttyACMx'''. Windows user can extract the usbser.sys file from .cab file in C:\WINDOWS\Driver Cache\i386 and store it somewhere (C:\temp is a good place) along with the [[Media:Usbser.zip|usbser.inf]] file. Windows then creates an extra COMx port that you can use in a terminal program or with ucenter.&lt;br /&gt;
To use the USB tunnel make sure you first power the autopilot before connecting USB not to end up in the USB bootloader.&lt;br /&gt;
&lt;br /&gt;
== Firmware Architecture ==&lt;br /&gt;
More info on the firmware architecture &amp;lt;br&amp;gt;&lt;br /&gt;
[[FirmwareArchitecture]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
As a rapidly evolving open-source project, on occasion your software may fail to compile after a [[Installation#Software_Updates|git pull]]. This is most likely due to a new or changed variable name that is now required in your airframe, flight plan or somewhere else. Since the user-configured files are not updated automatically you may need to view the most recently changed sample airframe or flight plan files to find the required changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12224</id>
		<title>Compiling</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12224"/>
		<updated>2012-05-06T05:49:39Z</updated>

		<summary type="html">&lt;p&gt;Martin: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part of the documentation is to give you insight in how to give your Autopilot board a ''Brain''. Airborne autopilot code, flight plans and configuration settings are compiled into a single file, sometimes referred to as a ''binary image''. After compilation this file is transferred to the Autopilot board micro-controller flash ROM through use of an USB cable. Note that most tuning and flight plan parameters can be changed in-flight but after each power cycle, the autopilot reverts to the original settings. Permanent changes are made by recompiling the airborne code and it's new configurations settings, and re-upload this to the autopilot board. It may sound complicated but in fact it is quite simple if you follow the steps below.&lt;br /&gt;
&lt;br /&gt;
== Get access to your computers USB port ==&lt;br /&gt;
&lt;br /&gt;
Regular users, (also known as Non-Root) by default, as security measure, can not access and interact with hardware in- and output- devices (I/O), USB ports included. To make it possible, the user you are using to program the autopilot board must be a member of the ''plugdev'' group. Note that usually the original username you used when you installed your Linux OS is already a member. &lt;br /&gt;
&lt;br /&gt;
If you are '''not''' already a member, add yourself to this ''plugdev'' group with the following command:&lt;br /&gt;
&lt;br /&gt;
  $ sudo adduser $USER plugdev&lt;br /&gt;
&lt;br /&gt;
It will be effective only on your next login or after the command&lt;br /&gt;
&lt;br /&gt;
  $ newgrp -&lt;br /&gt;
&lt;br /&gt;
=== Udev rules ===&lt;br /&gt;
&lt;br /&gt;
The Paparazzi device rules are required for flashing and to recognize your modem (with usb adapter) correctly. Copy them into place if you haven't already done so:&lt;br /&gt;
 &lt;br /&gt;
  $ sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
If you are using Ubuntu with a version '''older than v9.10''', the [http://mielke.cc/brltty/ Braille TTY] driver interferes with FTDI USB Serial adapters and should be removed by running the following in the command prompt&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
== Flashing ==&lt;br /&gt;
&lt;br /&gt;
=== USB flashing ===&lt;br /&gt;
[[Image:Tiny_test_wiring.jpg|thumb|Example wiring for programming and telemetry]]&lt;br /&gt;
If the autopilot senses a connected USB cable during power-on, it will wait to receive a firmware image rather than booting normally.  The firmware can be compiled and flashed by several means, '''the simplest way using the [[Paparazzi_Center|Paparazzi Center]]''', the traditional way being:&lt;br /&gt;
 make AIRCRAFT=''myplane'' clean_ac ap.upload&lt;br /&gt;
 (where ''myplane'' is the name of your airframe as defined in &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
This command erases any compiled autopilot code from the PC, recompiles everything from scratch, and then sends it to the autopilot.  &lt;br /&gt;
Variations include:&lt;br /&gt;
* make AIRCRAFT=''myplane'' sim&lt;br /&gt;
*: Compiles your code for use in the simulator - note that &amp;quot;clean_ac&amp;quot; will remove this code, so the simulator code must be rebuilt each time a clean has been performed.&lt;br /&gt;
* make AIRCRAFT=''myplane'' fbw.upload&lt;br /&gt;
*: This is needed when configuring the separate &amp;quot;fly by wire&amp;quot; MCU on the [[Classix]] autopilot.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap&lt;br /&gt;
*: This will simply build the portions of autopilot code that have changed since the last compile without attempting to flash.  Note: this method may not detect certain changes (i.e. changes to the airframe makefile section or CVS updated code).&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=IAP&lt;br /&gt;
*: Specifies USB flashing.  This should be specified at the top of the makefile section of your airframe file but can be overridden here.  Use FLASH_MODE=IAS for serial flashing.&lt;br /&gt;
&lt;br /&gt;
=== Serial Flashing ===&lt;br /&gt;
You can also flash via serial cable or modem, but it takes a longer time.&lt;br /&gt;
You can't just consider the baud rate to estimate the duration of the operation are there are many exchanges in the flashing protocol and the com latency over RF becomes significant.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=ISP&lt;br /&gt;
Or add &amp;lt;configure name=&amp;quot;FLASH_MODE&amp;quot; value=&amp;quot;ISP&amp;quot;/&amp;gt; to the firmware section of your [[Airframe_Configuration|airframe file]].&lt;br /&gt;
&lt;br /&gt;
=== JTAG Flashing ===&lt;br /&gt;
&lt;br /&gt;
I will be adding more info here as I compile and upload to the Lisa/M board. The info I placed here is directly from the mailing list. - cwozny&lt;br /&gt;
&lt;br /&gt;
Ensure that the paparazzi-dev, paparazzi-arm-multilib and openocd packages are installed in your distro via:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-arm-multilib openocd&lt;br /&gt;
&lt;br /&gt;
Make sure you have openocd-0.5 or higher, if you are on Ubuntu lucid or natty, you can add [https://launchpad.net/~paparazzi-uav/+archive/ppa ppa:paparazzi-uav/ppa] which includes backported openocd packages.&lt;br /&gt;
&lt;br /&gt;
This is all you need to build AND flash the STM microprocessor. The reason for this method of flashing is that there is no boot loader for this microprocessor yet which is what is required for USB/Serial flashing. Currently, only the Lisa boards utilize the STM32 microprocessor. Lisa/L has an onboard JTAG while Lisa/M needs an external JTAG. You can now build paparazzi, run the [[Paparazzi_Center|Paparazzi Center]], adapt an airframe (e.g. microjet_example.xml) to board=&amp;quot;lisa_m_1.1&amp;quot;, compile and upload. During an upload the JTAG RxTx LEDs should blink. Make sure you also configured the paparazzi-rules explained on the installation page.&lt;br /&gt;
&lt;br /&gt;
=== Verify that above upload works ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1 ====&lt;br /&gt;
&lt;br /&gt;
Connect an USB cable to the USB port on the autopilot board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Fase2_Insert_Flightplan_A.jpg|Board to mini USB connect&lt;br /&gt;
Image:Fase2_Insert_Flightplan_B.jpg|Make sure you have a connector for power ('''Don't''' power up yet!)&lt;br /&gt;
Image:Fase2_Insert_Flightplan_C.jpg|Connect USB to PC '''and''' Board&lt;br /&gt;
Image:Fase2_Insert_Flightplan_D.jpg|only '''now''', power up the board&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now if you type the following command in your terminal...&lt;br /&gt;
&lt;br /&gt;
 $ dmesg | tail -5&lt;br /&gt;
&lt;br /&gt;
..you should see messages that look like:&lt;br /&gt;
&lt;br /&gt;
 [79212.484187] pl2303 1-2.3:1.0: device disconnected&lt;br /&gt;
 [82312.463077] usb 5-1: new high speed USB device using ehci_hcd and address 23&lt;br /&gt;
 [82327.555770] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.752307] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.968031] usb 5-1: new high speed USB device using ehci_hcd and address 24&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device is powered up and working, and ready to accept new airborne code. In case you do not see this message, check your battery voltage and connections and make sure the cables are not broken.&lt;br /&gt;
&lt;br /&gt;
==== Step 2 ====&lt;br /&gt;
&lt;br /&gt;
Upload the compiled Autopilot code a.k.a, firmware&lt;br /&gt;
&lt;br /&gt;
   $ make AIRCRAFT=DEMO demo2.upload&lt;br /&gt;
&lt;br /&gt;
     make[1]: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 all&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /home/dirkx/paparazzi/var/demo/demo2/demo2.elf  :&lt;br /&gt;
    section    size         addr&lt;br /&gt;
    .text       956        16384&lt;br /&gt;
    .ctors        0        17340&lt;br /&gt;
    .dtors        0        17340&lt;br /&gt;
    .data         0   1073741824&lt;br /&gt;
    .bss         12   1073741824&lt;br /&gt;
    .stack     4096   1073742080&lt;br /&gt;
    .comment     54            0&lt;br /&gt;
    Total      5118&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 upload&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /usr/share/paparazzi/sw/ground_segment/lpc21iap/lpc21iap  /home/dirkx/paparazzi/var/demo/demo2/demo2.elf&lt;br /&gt;
    .&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
    Starting software at 0x00004000&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    make: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device has the bootloader functioning. The important bit of output is:&lt;br /&gt;
&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
&lt;br /&gt;
In the rare case your autopilot board does not have a bootloader,  [read and follow the instruction on how to install a bootloader first]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: In the above example we're using a modified [http://paparazzi.enac.fr/wiki/Using_demo_programs_in_sw/airborne demo] - which flashes the LEDs with a Tiny2.1 board): Be aware that the demos involving serial ports do not currently work with Tiny V2's.&lt;br /&gt;
&lt;br /&gt;
==== Step 3 ====&lt;br /&gt;
&lt;br /&gt;
Observe the LEDs flashing.&lt;br /&gt;
&lt;br /&gt;
==== Step 4 ====&lt;br /&gt;
&lt;br /&gt;
Disconnect the USB cable, Disconnect the power and reconnect the power of the autopilot board. The LED's should flash again.&lt;br /&gt;
&lt;br /&gt;
==== Step 5 ====&lt;br /&gt;
&lt;br /&gt;
Select aircraft MJ5, build and upload.&lt;br /&gt;
&lt;br /&gt;
Select airframe funjet1.xml (if you have a Tiny V2)&lt;br /&gt;
&lt;br /&gt;
Connect the serial port of your tiny to your PC using a level converter and select session Flight USB serial@9600.&lt;br /&gt;
&lt;br /&gt;
If you are using funjet1.xml:&lt;br /&gt;
*Stop all the processes but do not remove them.&lt;br /&gt;
*Edit the line Data Link and add &amp;quot;-s 57600&amp;quot; to the end, to tell the data link the baud rate of the MJ5.&lt;br /&gt;
*Restart Data Link, Server and GCS in that order.&lt;br /&gt;
&lt;br /&gt;
If all went well, it should work and you should see messages coming in from the Tiny!&lt;br /&gt;
&lt;br /&gt;
== Installing the tunnel for direct access to the GPS ==&lt;br /&gt;
&lt;br /&gt;
This completely replaces the normal autopilot code (leaving the USB bootloader intact) with a simple serial-to-serial pass-thru that essentially connects the GPS serial port directly to the modem serial port or a USB-to-serial connection that creates a USB serial port that goes to GPS port or modem port. Use this only to gain direct access to the GPS for testing/configuration with [[GPS#GPS_configuration_using_U-Center|U-Center]] or other software.&lt;br /&gt;
&lt;br /&gt;
You have to add the tunnel targets to your airframe file if you want to use them:&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;usb_tunnel_0&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== UART tunnel ====&lt;br /&gt;
&lt;br /&gt;
Use this if you have a serial cable to connect. The LEDs will blink when data is transferred. Type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' tunnel.upload&lt;br /&gt;
Connect the USB cable and power on the autopilot to receive the code.&lt;br /&gt;
&lt;br /&gt;
This can be done without the USB bootloader by appending ''FLASH_MODE=ISP'' to the command line (specifying ISP serial loading).  This will require a serial cable connection (i.e. FTDI USB-to-TTL). '''WARNING!''' Installing tunnel code with the ISP method will erase any USB bootloader code. Make sure you are able to install a bootloader yourself.&lt;br /&gt;
&lt;br /&gt;
==== USB tunnel ====&lt;br /&gt;
&lt;br /&gt;
This can be done without a serial cable just by having USB. The LEDs will blink when data is transferred. It can connect to either serial port on the autopilot (for Tiny 2.11: uart0=gps, uart1=modem). To connect USB to the gps type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' usb_tunnel_0.upload&lt;br /&gt;
Connect the usb cable and power on the autopilot to receive the code. The code will switch the USB to emulate a serial port that you can access at '''/dev/ttyACMx'''. Windows user can extract the usbser.sys file from .cab file in C:\WINDOWS\Driver Cache\i386 and store it somewhere (C:\temp is a good place) along with the [[Media:Usbser.zip|usbser.inf]] file. Windows then creates an extra COMx port that you can use in a terminal program or with ucenter.&lt;br /&gt;
To use the USB tunnel make sure you first power the autopilot before connecting USB not to end up in the USB bootloader.&lt;br /&gt;
&lt;br /&gt;
== Firmware Architecture ==&lt;br /&gt;
More info on the firmware architecture &amp;lt;br&amp;gt;&lt;br /&gt;
[[FirmwareArchitecture]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
As a rapidly evolving open-source project, on occasion your software may fail to compile after a [[Installation#Software_Updates|git pull]]. This is most likely due to a new or changed variable name that is now required in your airframe, flight plan or somewhere else. Since the user-configured files are not updated automatically you may need to view the most recently changed sample airframe or flight plan files to find the required changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12223</id>
		<title>Compiling</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Compiling&amp;diff=12223"/>
		<updated>2012-05-06T05:46:55Z</updated>

		<summary type="html">&lt;p&gt;Martin: /* Step 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part of the documentation is to give you insight in how to give your Autopilot board a ''Brain''. Airborne autopilot code, flight plans and configuration settings are compiled into a single file, sometimes referred to as a ''binary image''. After compilation this file is transferred to the Autopilot board micro-controller flash ROM through use of an USB cable. Note that most tuning and flight plan parameters can be changed in-flight but after each power cycle, the autopilot reverts to the original settings. Permanent changes are made by recompiling the airborne code and it's new configurations settings, and re-upload this to the autopilot board. It may sound complicated but in fact it is quite simple if you follow the steps below.&lt;br /&gt;
&lt;br /&gt;
== Get access to your computers USB port ==&lt;br /&gt;
&lt;br /&gt;
Regular users, (also known as Non-Root) by default, as security measure, can not access and interact with hardware in- and output- devices (I/O), USB ports included. To make it possible, the user you are using to program the autopilot board must be a member of the ''plugdev'' group. Note that usually the original username you used when you installed your Linux OS is already a member. &lt;br /&gt;
&lt;br /&gt;
If you are '''not''' already a member, add yourself to this ''plugdev'' group with the following command:&lt;br /&gt;
&lt;br /&gt;
  $ sudo adduser $USER plugdev&lt;br /&gt;
&lt;br /&gt;
It will be effective only on your next login or after the command&lt;br /&gt;
&lt;br /&gt;
  $ newgrp -&lt;br /&gt;
&lt;br /&gt;
=== Udev rules ===&lt;br /&gt;
&lt;br /&gt;
The Paparazzi device rules are required for flashing and to recognize your modem (with usb adapter) correctly. Copy them into place if you haven't already done so:&lt;br /&gt;
 &lt;br /&gt;
  $ sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
If you are using Ubuntu with a version '''older than v9.10''', the [http://mielke.cc/brltty/ Braille TTY] driver interferes with FTDI USB Serial adapters and should be removed by running the following in the command prompt&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
== Flashing ==&lt;br /&gt;
&lt;br /&gt;
=== USB flashing ===&lt;br /&gt;
[[Image:Tiny_test_wiring.jpg|thumb|Example wiring for programming and telemetry]]&lt;br /&gt;
If the autopilot senses a connected USB cable during power-on, it will wait to receive a firmware image rather than booting normally.  The firmware can be compiled and flashed by several means, '''the simplest way using the [[Paparazzi_Center|Paparazzi Center]]''', the traditional way being:&lt;br /&gt;
 make AIRCRAFT=''myplane'' clean_ac ap.upload&lt;br /&gt;
 (where ''myplane'' is the name of your airframe as defined in &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
This command erases any compiled autopilot code from the PC, recompiles everything from scratch, and then sends it to the autopilot.  &lt;br /&gt;
Variations include:&lt;br /&gt;
* make AIRCRAFT=''myplane'' sim&lt;br /&gt;
*: Compiles your code for use in the simulator - note that &amp;quot;clean_ac&amp;quot; will remove this code, so the simulator code must be rebuilt each time a clean has been performed.&lt;br /&gt;
* make AIRCRAFT=''myplane'' fbw.upload&lt;br /&gt;
*: This is needed when configuring the separate &amp;quot;fly by wire&amp;quot; MCU on the [[Classix]] autopilot.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap&lt;br /&gt;
*: This will simply build the portions of autopilot code that have changed since the last compile without attempting to flash.  Note: this method may not detect certain changes (i.e. changes to the airframe makefile section or CVS updated code).&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=IAP&lt;br /&gt;
*: Specifies USB flashing.  This should be specified at the top of the makefile section of your airframe file but can be overridden here.  Use FLASH_MODE=IAS for serial flashing.&lt;br /&gt;
&lt;br /&gt;
=== Serial Flashing ===&lt;br /&gt;
You can also flash via serial cable or modem, but it takes a longer time.&lt;br /&gt;
You can't just consider the baud rate to estimate the duration of the operation are there are many exchanges in the flashing protocol and the com latency over RF becomes significant.&lt;br /&gt;
* make AIRCRAFT=''myplane'' ap.upload FLASH_MODE=ISP&lt;br /&gt;
Or add &amp;lt;configure name=&amp;quot;FLASH_MODE&amp;quot; value=&amp;quot;ISP&amp;quot;/&amp;gt; to the firmware section of your [[Airframe_Configuration|airframe file]].&lt;br /&gt;
&lt;br /&gt;
=== JTAG Flashing ===&lt;br /&gt;
&lt;br /&gt;
I will be adding more info here as I compile and upload to the Lisa/M board. The info I placed here is directly from the mailing list. - cwozny&lt;br /&gt;
&lt;br /&gt;
Ensure that the paparazzi-dev, paparazzi-arm-multilib and openocd packages are installed in your distro via:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install paparazzi-dev paparazzi-arm-multilib openocd&lt;br /&gt;
&lt;br /&gt;
Make sure you have openocd-0.5 or higher, if you are on Ubuntu lucid or natty, you can add [https://launchpad.net/~paparazzi-uav/+archive/ppa ppa:paparazzi-uav/ppa] which includes backported openocd packages.&lt;br /&gt;
&lt;br /&gt;
This is all you need to build AND flash the STM microprocessor. The reason for this method of flashing is that there is no boot loader for this microprocessor yet which is what is required for USB/Serial flashing. Currently, only the Lisa boards utilize the STM32 microprocessor. Lisa/L has an onboard JTAG while Lisa/M needs an external JTAG. You can now build paparazzi, run the [[Paparazzi_Center|Paparazzi Center]], adapt an airframe (e.g. microjet_example.xml) to board=&amp;quot;lisa_m_1.1&amp;quot;, compile and upload. During an upload the JTAG RxTx LEDs should blink. Make sure you also configured the paparazzi-rules explained on the installation page.&lt;br /&gt;
&lt;br /&gt;
=== Verify that above upload works ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1 ====&lt;br /&gt;
&lt;br /&gt;
Connect an USB cable to the USB port on the autopilot board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Fase2_Insert_Flightplan_A.jpg|Board to mini USB connect&lt;br /&gt;
Image:Fase2_Insert_Flightplan_B.jpg|Make sure you have a connector for power ('''Don't''' power up yet!)&lt;br /&gt;
Image:Fase2_Insert_Flightplan_C.jpg|Connect USB to PC '''and''' Board&lt;br /&gt;
Image:Fase2_Insert_Flightplan_D.jpg|only '''now''', power up the board&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now if you type the following command in your terminal...&lt;br /&gt;
&lt;br /&gt;
 $ dmesg | tail -5&lt;br /&gt;
&lt;br /&gt;
..you should see messages that look like:&lt;br /&gt;
&lt;br /&gt;
 [79212.484187] pl2303 1-2.3:1.0: device disconnected&lt;br /&gt;
 [82312.463077] usb 5-1: new high speed USB device using ehci_hcd and address 23&lt;br /&gt;
 [82327.555770] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.752307] usb 5-1: device descriptor read/64, error -110&lt;br /&gt;
 [82342.968031] usb 5-1: new high speed USB device using ehci_hcd and address 24&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device is powered up and working, and ready to accept new airborne code. In case you do not see this message, check your battery voltage and connections and make sure the cables are not broken.&lt;br /&gt;
&lt;br /&gt;
==== Step 2 ====&lt;br /&gt;
&lt;br /&gt;
Upload the compiled Autopilot code a.k.a, firmware&lt;br /&gt;
&lt;br /&gt;
   $ make AIRCRAFT=DEMO demo2.upload&lt;br /&gt;
&lt;br /&gt;
     make[1]: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 all&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /home/dirkx/paparazzi/var/demo/demo2/demo2.elf  :&lt;br /&gt;
    section    size         addr&lt;br /&gt;
    .text       956        16384&lt;br /&gt;
    .ctors        0        17340&lt;br /&gt;
    .dtors        0        17340&lt;br /&gt;
    .data         0   1073741824&lt;br /&gt;
    .bss         12   1073741824&lt;br /&gt;
    .stack     4096   1073742080&lt;br /&gt;
    .comment     54            0&lt;br /&gt;
    Total      5118&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    cd sw/airborne; make PAPARAZZI_SRC=/usr/share/paparazzi PAPARAZZI_HOME=/home/dirkx/paparazzi TARGET=demo2 upload&lt;br /&gt;
    make[1]: Entering directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    /usr/share/paparazzi/sw/ground_segment/lpc21iap/lpc21iap  /home/dirkx/paparazzi/var/demo/demo2/demo2.elf&lt;br /&gt;
    .&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
    Starting software at 0x00004000&lt;br /&gt;
    make[1]: Leaving directory `/usr/share/paparazzi/sw/airborne'&lt;br /&gt;
    make: Leaving directory `/usr/share/paparazzi'&lt;br /&gt;
&lt;br /&gt;
Which confirms that your device has the bootloader functioning. The important bit of output is:&lt;br /&gt;
&lt;br /&gt;
    Found USB device&lt;br /&gt;
    BootROM code: 2.12&lt;br /&gt;
    Part ID: 0x0402FF25 (LPC2148, 512k Flash, 32k+8k RAM)&lt;br /&gt;
    BootLoader version: 1.3&lt;br /&gt;
    #&lt;br /&gt;
&lt;br /&gt;
In the rare case your autopilot board does not have a bootloader,  read and follow the instruction on how to install a bootloader first&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: In the above example we're using a modified [http://paparazzi.enac.fr/wiki/Using_demo_programs_in_sw/airborne demo] - which flashes the LEDs with a Tiny2.1 board): Be aware that the demos involving serial ports do not currently work with Tiny V2's.&lt;br /&gt;
&lt;br /&gt;
==== Step 3 ====&lt;br /&gt;
&lt;br /&gt;
Observe the LEDs flashing.&lt;br /&gt;
&lt;br /&gt;
==== Step 4 ====&lt;br /&gt;
&lt;br /&gt;
Disconnect the USB cable, Disconnect the power and reconnect the power of the autopilot board. The LED's should flash again.&lt;br /&gt;
&lt;br /&gt;
==== Step 5 ====&lt;br /&gt;
&lt;br /&gt;
Select aircraft MJ5, build and upload.&lt;br /&gt;
&lt;br /&gt;
Select airframe funjet1.xml (if you have a Tiny V2)&lt;br /&gt;
&lt;br /&gt;
Connect the serial port of your tiny to your PC using a level converter and select session Flight USB serial@9600.&lt;br /&gt;
&lt;br /&gt;
If you are using funjet1.xml:&lt;br /&gt;
*Stop all the processes but do not remove them.&lt;br /&gt;
*Edit the line Data Link and add &amp;quot;-s 57600&amp;quot; to the end, to tell the data link the baud rate of the MJ5.&lt;br /&gt;
*Restart Data Link, Server and GCS in that order.&lt;br /&gt;
&lt;br /&gt;
If all went well, it should work and you should see messages coming in from the Tiny!&lt;br /&gt;
&lt;br /&gt;
== Installing the tunnel for direct access to the GPS ==&lt;br /&gt;
&lt;br /&gt;
This completely replaces the normal autopilot code (leaving the USB bootloader intact) with a simple serial-to-serial pass-thru that essentially connects the GPS serial port directly to the modem serial port or a USB-to-serial connection that creates a USB serial port that goes to GPS port or modem port. Use this only to gain direct access to the GPS for testing/configuration with [[GPS#GPS_configuration_using_U-Center|U-Center]] or other software.&lt;br /&gt;
&lt;br /&gt;
You have to add the tunnel targets to your airframe file if you want to use them:&lt;br /&gt;
  &amp;lt;firmware name=&amp;quot;setup&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;tunnel&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;target name=&amp;quot;usb_tunnel_0&amp;quot; board=&amp;quot;twog_1.0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/firmware&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== UART tunnel ====&lt;br /&gt;
&lt;br /&gt;
Use this if you have a serial cable to connect. The LEDs will blink when data is transferred. Type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' tunnel.upload&lt;br /&gt;
Connect the USB cable and power on the autopilot to receive the code.&lt;br /&gt;
&lt;br /&gt;
This can be done without the USB bootloader by appending ''FLASH_MODE=ISP'' to the command line (specifying ISP serial loading).  This will require a serial cable connection (i.e. FTDI USB-to-TTL). '''WARNING!''' Installing tunnel code with the ISP method will erase any USB bootloader code. Make sure you are able to install a bootloader yourself.&lt;br /&gt;
&lt;br /&gt;
==== USB tunnel ====&lt;br /&gt;
&lt;br /&gt;
This can be done without a serial cable just by having USB. The LEDs will blink when data is transferred. It can connect to either serial port on the autopilot (for Tiny 2.11: uart0=gps, uart1=modem). To connect USB to the gps type the following command from your paparazzi folder, substituting the name of your airframe and paying attention to case sensitivity:&lt;br /&gt;
 make AIRCRAFT=''myplane'' usb_tunnel_0.upload&lt;br /&gt;
Connect the usb cable and power on the autopilot to receive the code. The code will switch the USB to emulate a serial port that you can access at '''/dev/ttyACMx'''. Windows user can extract the usbser.sys file from .cab file in C:\WINDOWS\Driver Cache\i386 and store it somewhere (C:\temp is a good place) along with the [[Media:Usbser.zip|usbser.inf]] file. Windows then creates an extra COMx port that you can use in a terminal program or with ucenter.&lt;br /&gt;
To use the USB tunnel make sure you first power the autopilot before connecting USB not to end up in the USB bootloader.&lt;br /&gt;
&lt;br /&gt;
== Firmware Architecture ==&lt;br /&gt;
More info on the firmware architecture &amp;lt;br&amp;gt;&lt;br /&gt;
[[FirmwareArchitecture]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
As a rapidly evolving open-source project, on occasion your software may fail to compile after a [[Installation#Software_Updates|git pull]]. This is most likely due to a new or changed variable name that is now required in your airframe, flight plan or somewhere else. Since the user-configured files are not updated automatically you may need to view the most recently changed sample airframe or flight plan files to find the required changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Developer_Documentation]]&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
</feed>