altoslib: Track GPS altitude values to be able to report max gps height
[fw/altos] / doc / altusmetrum.xsl
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
4 <book>
5   <title>The Altus Metrum System</title>
6   <subtitle>An Owner's Manual for Altus Metrum Rocketry Electronics</subtitle>
7   <bookinfo>
8     <author>
9       <firstname>Bdale</firstname>
10       <surname>Garbee</surname>
11     </author>
12     <author>
13       <firstname>Keith</firstname>
14       <surname>Packard</surname>
15     </author>
16     <author>
17       <firstname>Bob</firstname>
18       <surname>Finch</surname>
19     </author>
20     <author>
21       <firstname>Anthony</firstname>
22       <surname>Towns</surname>
23     </author>
24     <copyright>
25       <year>2014</year>
26       <holder>Bdale Garbee and Keith Packard</holder>
27     </copyright>
28     <legalnotice>
29       <para>
30         This document is released under the terms of the
31         <ulink url="http://creativecommons.org/licenses/by-sa/3.0/">
32           Creative Commons ShareAlike 3.0
33         </ulink>
34         license.
35       </para>
36     </legalnotice>
37     <revhistory>
38       <revision>
39         <revnumber>1.3.2</revnumber>
40         <date>24 January 2014</date>
41         <revremark>
42           Bug fixes for TeleMega and AltosUI.
43         </revremark>
44       </revision>
45       <revision>
46         <revnumber>1.3.1</revnumber>
47         <date>21 January 2014</date>
48         <revremark>
49           Bug fixes for TeleMega and TeleMetrum v2.0 along with a few
50           small UI improvements.
51         </revremark>
52       </revision>
53       <revision>
54         <revnumber>1.3</revnumber>
55         <date>12 November 2013</date>
56         <revremark>
57           Updated for software version 1.3. Version 1.3 adds support
58           for TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini
59           and fixes bugs in AltosUI and the AltOS firmware.
60         </revremark>
61       </revision>
62       <revision>
63         <revnumber>1.2.1</revnumber>
64         <date>21 May 2013</date>
65         <revremark>
66           Updated for software version 1.2. Version 1.2 adds support
67           for TeleBT and AltosDroid. It also adds a few minor features
68           and fixes bugs in AltosUI and the AltOS firmware.
69         </revremark>
70       </revision>
71       <revision>
72         <revnumber>1.2</revnumber>
73         <date>18 April 2013</date>
74         <revremark>
75           Updated for software version 1.2. Version 1.2 adds support
76           for MicroPeak and the MicroPeak USB interface.
77         </revremark>
78       </revision>
79       <revision>
80         <revnumber>1.1.1</revnumber>
81         <date>16 September 2012</date>
82         <revremark>
83           Updated for software version 1.1.1 Version 1.1.1 fixes a few
84           bugs found in version 1.1.
85         </revremark>
86       </revision>
87       <revision>
88         <revnumber>1.1</revnumber>
89         <date>13 September 2012</date>
90         <revremark>
91           Updated for software version 1.1. Version 1.1 has new
92           features but is otherwise compatible with version 1.0.
93         </revremark>
94       </revision>
95       <revision>
96         <revnumber>1.0</revnumber>
97         <date>24 August 2011</date>
98         <revremark>
99           Updated for software version 1.0.  Note that 1.0 represents a
100           telemetry format change, meaning both ends of a link 
101           (TeleMetrum/TeleMini and TeleDongle) must be updated or 
102           communications will fail.
103         </revremark>
104       </revision>
105       <revision>
106         <revnumber>0.9</revnumber>
107         <date>18 January 2011</date>
108         <revremark>
109           Updated for software version 0.9.  Note that 0.9 represents a
110           telemetry format change, meaning both ends of a link (TeleMetrum and
111           TeleDongle) must be updated or communications will fail.
112         </revremark>
113       </revision>
114       <revision>
115         <revnumber>0.8</revnumber>
116         <date>24 November 2010</date>
117         <revremark>Updated for software version 0.8 </revremark>
118       </revision>
119     </revhistory>
120   </bookinfo>
121   <dedication>
122     <title>Acknowledgments</title>
123     <para>
124       Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The
125       Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
126       Kit” which formed the basis of the original Getting Started chapter 
127       in this manual.  Bob was one of our first customers for a production
128       TeleMetrum, and his continued enthusiasm and contributions
129       are immensely gratifying and highly appreciated!
130     </para>
131     <para>
132       And thanks to Anthony (AJ) Towns for major contributions including
133       the AltosUI graphing and site map code and associated documentation. 
134       Free software means that our customers and friends can become our
135       collaborators, and we certainly appreciate this level of
136       contribution!
137     </para>
138     <para>
139       Have fun using these products, and we hope to meet all of you
140       out on the rocket flight line somewhere.
141       <literallayout>
142 Bdale Garbee, KB0G
143 NAR #87103, TRA #12201
144
145 Keith Packard, KD7SQG
146 NAR #88757, TRA #12200
147       </literallayout>
148     </para>
149   </dedication>
150   <chapter>
151     <title>Introduction and Overview</title>
152     <para>
153       Welcome to the Altus Metrum community!  Our circuits and software reflect
154       our passion for both hobby rocketry and Free Software.  We hope their
155       capabilities and performance will delight you in every way, but by
156       releasing all of our hardware and software designs under open licenses,
157       we also hope to empower you to take as active a role in our collective
158       future as you wish!
159     </para>
160     <para>
161       The first device created for our community was TeleMetrum, a dual
162       deploy altimeter with fully integrated GPS and radio telemetry
163       as standard features, and a “companion interface” that will
164       support optional capabilities in the future. The latest version
165       of TeleMetrum, v2.0, has all of the same features but with
166       improved sensors and radio to offer increased performance.
167     </para>
168     <para>
169       Our second device was TeleMini, a dual deploy altimeter with
170       radio telemetry and radio direction finding. The first version
171       of this device was only 13mm by 38mm (½ inch by 1½ inches) and
172       could fit easily in an 18mm air-frame. The latest version, v2.0,
173       includes a beeper, USB data download and extended on-board
174       flight logging, along with an improved barometric sensor.
175     </para>
176     <para>
177       TeleMega is our most sophisticated device, including six pyro
178       channels (four of which are fully programmable), integrated GPS,
179       integrated gyroscopes for staging/air-start inhibit and high
180       performance telemetry.
181     </para>
182     <para>
183       EasyMini is a dual-deploy altimeter with logging and built-in
184       USB data download.
185     </para>
186     <para>
187       TeleDongle was our first ground station, providing a USB to RF
188       interfaces for communicating with the altimeters. Combined with
189       your choice of antenna and notebook computer, TeleDongle and our
190       associated user interface software form a complete ground
191       station capable of logging and displaying in-flight telemetry,
192       aiding rocket recovery, then processing and archiving flight
193       data for analysis and review.
194     </para>
195     <para>
196       For a slightly more portable ground station experience that also
197       provides direct rocket recovery support, TeleBT offers flight
198       monitoring and data logging using a  Bluetooth™ connection between
199       the receiver and an Android device that has the AltosDroid
200       application installed from the Google Play store.
201     </para>
202     <para>
203       More products will be added to the Altus Metrum family over time, and
204       we currently envision that this will be a single, comprehensive manual
205       for the entire product family.
206     </para>
207   </chapter>
208   <chapter>
209     <title>Getting Started</title>
210     <para>
211       The first thing to do after you check the inventory of parts in your
212       “starter kit” is to charge the battery.
213     </para>
214     <para>
215       For TeleMetrum and TeleMega, the battery can be charged by plugging it into the
216       corresponding socket of the device and then using the USB
217       cable to plug the flight computer into your computer's USB socket. The
218       on-board circuitry will charge the battery whenever it is plugged
219       in, because the on-off switch does NOT control the
220       charging circuitry.
221     </para>
222     <para>
223       On TeleMetrum v1 boards, when the GPS chip is initially
224       searching for satellites, TeleMetrum will consume more current
225       than it pulls from the USB port, so the battery must be
226       attached in order to get satellite lock.  Once GPS is locked,
227       the current consumption goes back down enough to enable charging
228       while running. So it's a good idea to fully charge the battery
229       as your first item of business so there is no issue getting and
230       maintaining satellite lock.  The yellow charge indicator led
231       will go out when the battery is nearly full and the charger goes
232       to trickle charge. It can take several hours to fully recharge a
233       deeply discharged battery.
234     </para>
235     <para>
236       TeleMetrum v2.0 and TeleMega use a higher power battery charger,
237       allowing them to charge the battery while running the board at
238       maximum power. When the battery is charging, or when the board
239       is consuming a lot of power, the red LED will be lit. When the
240       battery is fully charged, the green LED will be lit. When the
241       battery is damaged or missing, both LEDs will be lit, which
242       appears yellow.
243     </para>
244     <para>
245       The Lithium Polymer TeleMini and EasyMini battery can be charged by
246       disconnecting it from the board and plugging it into a
247       standalone battery charger such as the LipoCharger product
248       included in TeleMini Starter Kits, and connecting that via a USB
249       cable to a laptop or other USB power source.
250     </para>
251     <para>
252       You can also choose to use another battery with TeleMini v2.0
253       and EasyMini, anything supplying between 4 and 12 volts should
254       work fine (like a standard 9V battery), but if you are planning
255       to fire pyro charges, ground testing is required to verify that
256       the battery supplies enough current to fire your chosen e-matches.
257     </para>
258     <para>
259       The other active device in the starter kit is the TeleDongle USB to
260       RF interface.  If you plug it in to your Mac or Linux computer it should
261       “just work”, showing up as a serial port device.  Windows systems need
262       driver information that is part of the AltOS download to know that the
263       existing USB modem driver will work.  We therefore recommend installing
264       our software before plugging in TeleDongle if you are using a Windows
265       computer.  If you are using an older version of Linux and are having 
266       problems, try moving to a fresher kernel (2.6.33 or newer). 
267     </para>
268     <para>
269       Next you should obtain and install the AltOS software.  The AltOS
270       distribution includes the AltosUI ground station program, current 
271       firmware
272       images for all of the hardware, and a number of standalone
273       utilities that are rarely needed.  Pre-built binary packages are
274       available for Linux, Microsoft Windows, and recent MacOSX
275       versions.  Full source code and build instructions are also
276       available.  The latest version may always be downloaded from
277       <ulink url="http://altusmetrum.org/AltOS"/>.
278     </para>
279     <para>
280       If you're using a TeleBT instead of the TeleDongle, you'll want to 
281       install the AltosDroid application from the Google Play store on an 
282       Android device. You don't need a data plan to use AltosDroid, but 
283       without network access, the Map view will be less useful as it
284       won't contain any map data. You can also use TeleBT connected
285       over USB with your laptop computer; it acts exactly like a
286       TeleDongle. Anywhere this manual talks about TeleDongle, you can
287       also read that as 'and TeleBT when connected via USB'.
288     </para>
289   </chapter>
290   <chapter>
291     <title>Handling Precautions</title>
292     <para>
293       All Altus Metrum products are sophisticated electronic devices.  
294       When handled gently and properly installed in an air-frame, they
295       will deliver impressive results.  However, as with all electronic 
296       devices, there are some precautions you must take.
297     </para>
298     <para>
299       The Lithium Polymer rechargeable batteries have an
300       extraordinary power density.  This is great because we can fly with
301       much less battery mass than if we used alkaline batteries or previous
302       generation rechargeable batteries... but if they are punctured
303       or their leads are allowed to short, they can and will release their
304       energy very rapidly!
305       Thus we recommend that you take some care when handling our batteries
306       and consider giving them some extra protection in your air-frame.  We
307       often wrap them in suitable scraps of closed-cell packing foam before
308       strapping them down, for example.
309     </para>
310     <para>
311       The barometric sensors used on all of our flight computers are 
312       sensitive to sunlight.  In normal mounting situations, the baro sensor
313       and all of the other surface mount components
314       are “down” towards whatever the underlying mounting surface is, so
315       this is not normally a problem.  Please consider this when designing an 
316       installation in an air-frame with a see-through plastic payload bay.  It
317       is particularly important to
318       consider this with TeleMini v1.0, both because the baro sensor is on the
319       “top” of the board, and because many model rockets with payload bays
320       use clear plastic for the payload bay!  Replacing these with an opaque
321       cardboard tube, painting them, or wrapping them with a layer of masking
322       tape are all reasonable approaches to keep the sensor out of direct
323       sunlight.
324     </para>
325     <para>
326       The barometric sensor sampling port must be able to “breathe”,
327       both by not being covered by foam or tape or other materials that might
328       directly block the hole on the top of the sensor, and also by having a
329       suitable static vent to outside air.
330     </para>
331     <para>
332       As with all other rocketry electronics, Altus Metrum altimeters must 
333       be protected from exposure to corrosive motor exhaust and ejection 
334       charge gasses.
335     </para>
336   </chapter>
337   <chapter>
338     <title>Altus Metrum Hardware</title>
339     <section>
340       <title>General Usage Instructions</title>
341       <para>
342         Here are general instructions for hooking up an Altus Metrum
343         flight computer. Instructions specific to each model will be
344         found in the section devoted to that model below.
345       </para>
346       <para>
347         To prevent electrical interference from affecting the
348         operation of the flight computer, it's important to always
349         twist pairs of wires connected to the board. Twist the switch
350         leads, the pyro leads and the battery leads. This reduces
351         interference through a mechanism called common mode rejection.
352       </para>
353       <section>
354         <title>Hooking Up Lithium Polymer Batteries</title>
355         <para>
356           All Altus Metrum flight computers have a two pin JST PH
357           series connector to connect up a single-cell Lithium Polymer
358           cell (3.7V nominal). You can purchase matching batteries
359           from the Altus Metrum store, or other vendors, or you can
360           make your own. Pin 1 of the connector is positive, pin 2 is
361           negative. Spark Fun sells a cable with the connector
362           attached, which they call a <ulink
363           url="https://www.sparkfun.com/products/9914">JST Jumper 2
364           Wire Assembly</ulink>.
365         </para>
366         <para>
367           Many RC vendors also sell lithium polymer batteries with
368           this same connector. All that we have found use the opposite
369           polarity, and if you use them that way, you will damage or
370           destroy the flight computer.
371         </para>
372       </section>
373       <section>
374         <title>Hooking Up Pyro Charges</title>
375         <para>
376           Altus Metrum flight computers always have two screws for
377           each pyro charge. This means you shouldn't need to put two
378           wires into a screw terminal or connect leads from pyro
379           charges together externally.
380         </para>
381         <para>
382           On the flight computer, one lead from each charge is hooked
383           to the positive battery terminal through the power switch.
384           The other lead is connected through the pyro circuit, which
385           is connected to the negative battery terminal when the pyro
386           circuit is fired.
387         </para>
388       </section>
389       <section>
390         <title>Hooking Up a Power Switch</title>
391         <para>
392           Altus Metrum flight computers need an external power switch
393           to turn them on. This disconnects both the computer and the
394           pyro charges from the battery, preventing the charges from
395           firing when in the Off position. The switch is in-line with
396           the positive battery terminal.
397         </para>
398         <section>
399           <title>Using an External Active Switch Circuit</title>
400           <para>
401             You can use an active switch circuit, such as the
402             Featherweight Magnetic Switch, with any Altus Metrum
403             flight computer. These require three connections, one to
404             the battery, one to the positive power input on the flight
405             computer and one to ground. Find instructions on how to
406             hook these up for each flight computer below. The follow
407             the instructions that come with your active switch to
408             connect it up.
409           </para>
410         </section>
411       </section>
412       <section>
413         <title>Using a Separate Pyro Battery</title>
414         <para>
415           As mentioned above in the section on hooking up pyro
416           charges, one lead for each of the pyro charges is connected
417           through the power switch directly to the positive battery
418           terminal. The other lead is connected to the pyro circuit,
419           which connects it to the negative battery terminal when the
420           pyro circuit is fired. The pyro circuit on all of the flight
421           computers is designed to handle up to 16V.
422         </para>
423         <para>
424           To use a separate pyro battery, connect the negative pyro
425           battery terminal to the flight computer ground terminal,
426           the positive battery terminal to the igniter and the other
427           igniter lead to the negative pyro terminal on the flight
428           computer. When the pyro channel fires, it will complete the
429           circuit between the negative pyro terminal and the ground
430           terminal, firing the igniter. Specific instructions on how
431           to hook this up will be found in each section below.
432         </para>
433       </section>
434       <section>
435         <title>Using a Different Kind of Battery</title>
436         <para>
437           EasyMini and TeleMini v2 are designed to use either a
438           lithium polymer battery or any other battery producing
439           between 4 and 12 volts, such as a rectangular 9V
440           battery. TeleMega and TeleMetrum are not designed for this,
441           and must only be powered by a lithium polymer battery. Find
442           instructions on how to use other batteries in the EasyMini
443           and TeleMini sections below.
444         </para>
445       </section>
446     </section>
447     <section>
448       <title>Specifications</title>
449       <para>
450         Here's the full set of Altus Metrum products, both in
451         production and retired.
452       </para>
453       <table frame='all'>
454         <title>Altus Metrum Electronics</title>
455         <?dbfo keep-together="always"?>
456         <tgroup cols='8' align='center' colsep='1' rowsep='1'>
457           <colspec align='center' colwidth='*' colname='Device'/>
458           <colspec align='center' colwidth='*' colname='Barometer'/>
459           <colspec align='center' colwidth='*' colname='Z-axis accelerometer'/>
460           <colspec align='center' colwidth='*' colname='GPS'/>
461           <colspec align='center' colwidth='*' colname='3D sensors'/>
462           <colspec align='center' colwidth='*' colname='Storage'/>
463           <colspec align='center' colwidth='*' colname='RF'/>
464           <colspec align='center' colwidth='*' colname='Battery'/>
465           <thead>
466             <row>
467               <entry align='center'>Device</entry>
468               <entry align='center'>Barometer</entry>
469               <entry align='center'>Z-axis accelerometer</entry>
470               <entry align='center'>GPS</entry>
471               <entry align='center'>3D sensors</entry>
472               <entry align='center'>Storage</entry>
473               <entry align='center'>RF Output</entry>
474               <entry align='center'>Battery</entry>
475             </row>
476           </thead>
477           <tbody>
478             <row>
479               <entry>TeleMetrum v1.0</entry>
480               <entry><para>MP3H6115 10km (33k')</para></entry>
481               <entry><para>MMA2202 50g</para></entry>
482               <entry>SkyTraq</entry>
483               <entry>-</entry>
484               <entry>1MB</entry>
485               <entry>10mW</entry>
486               <entry>3.7V</entry>
487             </row>
488             <row>
489               <entry>TeleMetrum v1.1</entry>
490               <entry><para>MP3H6115 10km (33k')</para></entry>
491               <entry><para>MMA2202 50g</para></entry>
492               <entry>SkyTraq</entry>
493               <entry>-</entry>
494               <entry>2MB</entry>
495               <entry>10mW</entry>
496               <entry>3.7V</entry>
497             </row>
498             <row>
499               <entry>TeleMetrum v1.2</entry>
500               <entry><para>MP3H6115 10km (33k')</para></entry>
501               <entry><para>ADXL78 70g</para></entry>
502               <entry>SkyTraq</entry>
503               <entry>-</entry>
504               <entry>2MB</entry>
505               <entry>10mW</entry>
506               <entry>3.7V</entry>
507             </row>
508             <row>
509               <entry>TeleMetrum v2.0</entry>
510               <entry><para>MS5607 30km (100k')</para></entry>
511               <entry><para>MMA6555 102g</para></entry>
512               <entry>uBlox Max-7Q</entry>
513               <entry>-</entry>
514               <entry>8MB</entry>
515               <entry>40mW</entry>
516               <entry>3.7V</entry>
517             </row>
518             <row>
519               <entry><para>TeleMini <?linebreak?>v1.0</para></entry>
520               <entry><para>MP3H6115 10km (33k')</para></entry>
521               <entry>-</entry>
522               <entry>-</entry>
523               <entry>-</entry>
524               <entry>5kB</entry>
525               <entry>10mW</entry>
526               <entry>3.7V</entry>
527             </row>
528             <row>
529               <entry>TeleMini <?linebreak?>v2.0</entry>
530               <entry><para>MS5607 30km (100k')</para></entry>
531               <entry>-</entry>
532               <entry>-</entry>
533               <entry>-</entry>
534               <entry>1MB</entry>
535               <entry>10mW</entry>
536               <entry>3.7-12V</entry>
537             </row>
538             <row>
539               <entry>EasyMini <?linebreak?>v1.0</entry>
540               <entry><para>MS5607 30km (100k')</para></entry>
541               <entry>-</entry>
542               <entry>-</entry>
543               <entry>-</entry>
544               <entry>1MB</entry>
545               <entry>-</entry>
546               <entry>3.7-12V</entry>
547             </row>
548             <row>
549               <entry>TeleMega <?linebreak?>v1.0</entry>
550               <entry><para>MS5607 30km (100k')</para></entry>
551               <entry><para>MMA6555 102g</para></entry>
552               <entry>uBlox Max-7Q</entry>
553               <entry><para>MPU6000 HMC5883</para></entry>
554               <entry>8MB</entry>
555               <entry>40mW</entry>
556               <entry>3.7V</entry>
557             </row>
558           </tbody>
559         </tgroup>
560       </table>
561       <table frame='all'>
562         <title>Altus Metrum Boards</title>
563         <?dbfo keep-together="always"?>
564         <tgroup cols='6' align='center' colsep='1' rowsep='1'>
565           <colspec align='center' colwidth='*' colname='Device'/>
566           <colspec align='center' colwidth='*' colname='Connectors'/>
567           <colspec align='center' colwidth='*' colname='Screw Terminals'/>
568           <colspec align='center' colwidth='*' colname='Width'/>
569           <colspec align='center' colwidth='*' colname='Length'/>
570           <colspec align='center' colwidth='*' colname='Tube Size'/>
571           <thead>
572             <row>
573               <entry align='center'>Device</entry>
574               <entry align='center'>Connectors</entry>
575               <entry align='center'>Screw Terminals</entry>
576               <entry align='center'>Width</entry>
577               <entry align='center'>Length</entry>
578               <entry align='center'>Tube Size</entry>
579             </row>
580           </thead>
581           <tbody>
582             <row>
583               <entry>TeleMetrum</entry>
584               <entry><para>
585                 Antenna<?linebreak?>
586                 Debug<?linebreak?>
587                 Companion<?linebreak?>
588                 USB<?linebreak?>
589                 Battery
590               </para></entry>
591               <entry><para>Apogee pyro <?linebreak?>Main pyro <?linebreak?>Switch</para></entry>
592               <entry>1 inch (2.54cm)</entry>
593               <entry>2 ¾ inch (6.99cm)</entry>
594               <entry>29mm coupler</entry>
595             </row>
596             <row>
597               <entry><para>TeleMini <?linebreak?>v1.0</para></entry>
598               <entry><para>
599                 Antenna<?linebreak?>
600                 Debug<?linebreak?>
601                 Battery
602               </para></entry>
603               <entry><para>
604                 Apogee pyro <?linebreak?>
605                 Main pyro
606               </para></entry>
607               <entry>½ inch (1.27cm)</entry>
608               <entry>1½ inch (3.81cm)</entry>
609               <entry>18mm coupler</entry>
610             </row>
611             <row>
612               <entry>TeleMini <?linebreak?>v2.0</entry>
613               <entry><para>
614                 Antenna<?linebreak?>
615                 Debug<?linebreak?>
616                 USB<?linebreak?>
617                 Battery
618               </para></entry>
619               <entry><para>
620                 Apogee pyro <?linebreak?>
621                 Main pyro <?linebreak?>
622                 Battery <?linebreak?>
623                 Switch
624                 </para></entry>
625               <entry>0.8 inch (2.03cm)</entry>
626               <entry>1½ inch (3.81cm)</entry>
627               <entry>24mm coupler</entry>
628             </row>
629             <row>
630               <entry>EasyMini</entry>
631               <entry><para>
632                 Debug<?linebreak?>
633                 USB<?linebreak?>
634                 Battery
635               </para></entry>
636               <entry><para>
637                 Apogee pyro <?linebreak?>
638                 Main pyro <?linebreak?>
639                 Battery <?linebreak?>
640                 Switch
641                 </para></entry>
642               <entry>0.8 inch (2.03cm)</entry>
643               <entry>1½ inch (3.81cm)</entry>
644               <entry>24mm coupler</entry>
645             </row>
646             <row>
647               <entry>TeleMega</entry>
648               <entry><para>
649                 Antenna<?linebreak?>
650                 Debug<?linebreak?>
651                 Companion<?linebreak?>
652                 USB<?linebreak?>
653                 Battery
654               </para></entry>
655               <entry><para>
656                 Apogee pyro <?linebreak?>
657                 Main pyro<?linebreak?>
658                 Pyro A-D<?linebreak?>
659                 Switch<?linebreak?>
660                 Pyro battery
661               </para></entry>
662               <entry>1¼ inch (3.18cm)</entry>
663               <entry>3¼ inch (8.26cm)</entry>
664               <entry>38mm coupler</entry>
665             </row>
666           </tbody>
667         </tgroup>
668       </table>
669     </section>
670     <section>
671       <title>TeleMetrum</title>
672       <informalfigure>
673         <mediaobject>
674           <imageobject>
675             <imagedata fileref="telemetrum-v1.1-thside.jpg" width="5.5in" scalefit="1"/>
676           </imageobject>
677         </mediaobject>
678       </informalfigure>
679       <para>
680         TeleMetrum is a 1 inch by 2¾ inch circuit board.  It was designed to
681         fit inside coupler for 29mm air-frame tubing, but using it in a tube that
682         small in diameter may require some creativity in mounting and wiring
683         to succeed!  The presence of an accelerometer means TeleMetrum should
684         be aligned along the flight axis of the airframe, and by default the ¼
685         wave UHF wire antenna should be on the nose-cone end of the board.  The
686         antenna wire is about 7 inches long, and wiring for a power switch and
687         the e-matches for apogee and main ejection charges depart from the
688         fin can end of the board, meaning an ideal “simple” avionics
689         bay for TeleMetrum should have at least 10 inches of interior length.
690       </para>
691       <section>
692         <title>TeleMetrum Screw Terminals</title>
693         <para>
694           TeleMetrum has six screw terminals on the end of the board
695           opposite the telemetry antenna. Two are for the power
696           switch, and two each for the apogee and main igniter
697           circuits. Using the picture above and starting from the top,
698           the terminals are as follows:
699         </para>
700         <table frame='all'>
701           <title>TeleMetrum Screw Terminals</title>
702           <?dbfo keep-together="always"?>
703           <tgroup cols='3' align='center' colsep='1' rowsep='1'>
704             <colspec align='center' colwidth='*' colname='Pin #'/>
705             <colspec align='center' colwidth='2*' colname='Pin Name'/>
706             <colspec align='left' colwidth='5*' colname='Description'/>
707             <thead>
708               <row>
709                 <entry align='center'>Terminal #</entry>
710                 <entry align='center'>Terminal Name</entry>
711                 <entry align='center'>Description</entry>
712               </row>
713             </thead>
714             <tbody>
715               <row>
716                 <entry>1</entry>
717                 <entry>Switch Output</entry>
718                 <entry>Switch connection to flight computer</entry>
719               </row>
720               <row>
721                 <entry>2</entry>
722                 <entry>Switch Input</entry>
723                 <entry>Switch connection to positive battery terminal</entry>
724               </row>
725               <row>
726                 <entry>3</entry>
727                 <entry>Main +</entry>
728                 <entry>Main pyro channel common connection to battery +</entry>
729               </row>
730               <row>
731                 <entry>4</entry>
732                 <entry>Main -</entry>
733                 <entry>Main pyro channel connection to pyro circuit</entry>
734               </row>
735               <row>
736                 <entry>5</entry>
737                 <entry>Apogee +</entry>
738                 <entry>Apogee pyro channel common connection to battery +</entry>
739               </row>
740               <row>
741                 <entry>6</entry>
742                 <entry>Apogee -</entry>
743                 <entry>Apogee pyro channel connection to pyro circuit</entry>
744               </row>
745             </tbody>
746           </tgroup>
747         </table>
748       </section>
749       <section>
750         <title>Using a Separate Pyro Battery with TeleMetrum</title>
751         <para>
752           As described above, using an external pyro battery involves
753           connecting the negative battery terminal to the flight
754           computer ground, connecting the positive battery terminal to
755           one of the igniter leads and connecting the other igniter
756           lead to the per-channel pyro circuit connection.
757         </para>
758         <para>
759           To connect the negative battery terminal to the TeleMetrum
760           ground, insert a small piece of wire, 24 to 28 gauge
761           stranded, into the GND hole just above the screw terminal
762           strip and solder it in place.
763         </para>
764         <para>
765           Connecting the positive battery terminal to the pyro
766           charges must be done separate from TeleMetrum, by soldering
767           them together or using some other connector.
768         </para>
769         <para>
770           The other lead from each pyro charge is then inserted into
771           the appropriate per-pyro channel screw terminal (terminal 4 for the
772           Main charge, terminal 6 for the Apogee charge).
773         </para>
774       </section>
775       <section>
776         <title>Using an Active Switch with TeleMetrum</title>
777         <para>
778           As explained above, an external active switch requires three
779           connections, one to the positive battery terminal, one to
780           the flight computer positive input and one to ground.
781         </para>
782         <para>
783           The positive battery terminal is available on screw terminal
784           2, the positive flight computer input is on terminal 1. To
785           hook a lead to ground, solder a piece of wire, 24 to 28
786           gauge stranded, to the GND hole just above terminal 1.
787         </para>
788       </section>
789     </section>
790     <section>
791       <title>TeleMini v1.0</title>
792       <informalfigure>
793         <mediaobject>
794           <imageobject>
795             <imagedata fileref="telemini-v1-top.jpg" width="5.5in" scalefit="1"/>
796           </imageobject>
797         </mediaobject>
798       </informalfigure>
799       <para>
800         TeleMini v1.0 is ½ inches by 1½ inches.  It was
801         designed to fit inside an 18mm air-frame tube, but using it in
802         a tube that small in diameter may require some creativity in
803         mounting and wiring to succeed!  Since there is no
804         accelerometer, TeleMini can be mounted in any convenient
805         orientation.  The default ¼ wave UHF wire antenna attached to
806         the center of one end of the board is about 7 inches long. Two
807         wires for the power switch are connected to holes in the
808         middle of the board. Screw terminals for the e-matches for
809         apogee and main ejection charges depart from the other end of
810         the board, meaning an ideal “simple” avionics bay for TeleMini
811         should have at least 9 inches of interior length.
812       </para>
813       <section>
814         <title>TeleMini v1.0 Screw Terminals</title>
815         <para>
816           TeleMini v1.0 has four screw terminals on the end of the
817           board opposite the telemetry antenna. Two are for the apogee
818           and two are for main igniter circuits. There are also wires
819           soldered to the board for the power switch.  Using the
820           picture above and starting from the top for the terminals
821           and from the left for the power switch wires, the
822           connections are as follows:
823         </para>
824         <table frame='all'>
825           <title>TeleMini v1.0 Connections</title>
826           <?dbfo keep-together="always"?>
827           <tgroup cols='3' align='center' colsep='1' rowsep='1'>
828             <colspec align='center' colwidth='*' colname='Pin #'/>
829             <colspec align='center' colwidth='2*' colname='Pin Name'/>
830             <colspec align='left' colwidth='5*' colname='Description'/>
831             <thead>
832               <row>
833                 <entry align='center'>Terminal #</entry>
834                 <entry align='center'>Terminal Name</entry>
835                 <entry align='center'>Description</entry>
836               </row>
837             </thead>
838             <tbody>
839               <row>
840                 <entry>1</entry>
841                 <entry>Apogee -</entry>
842                 <entry>Apogee pyro channel connection to pyro circuit</entry>
843               </row>
844               <row>
845                 <entry>2</entry>
846                 <entry>Apogee +</entry>
847                 <entry>Apogee pyro channel common connection to battery +</entry>
848               </row>
849               <row>
850                 <entry>3</entry>
851                 <entry>Main -</entry>
852                 <entry>Main pyro channel connection to pyro circuit</entry>
853               </row>
854               <row>
855                 <entry>4</entry>
856                 <entry>Main +</entry>
857                 <entry>Main pyro channel common connection to battery +</entry>
858               </row>
859               <row>
860                 <entry>Left</entry>
861                 <entry>Switch Output</entry>
862                 <entry>Switch connection to flight computer</entry>
863               </row>
864               <row>
865                 <entry>Right</entry>
866                 <entry>Switch Input</entry>
867                 <entry>Switch connection to positive battery terminal</entry>
868               </row>
869             </tbody>
870           </tgroup>
871         </table>
872       </section>
873       <section>
874         <title>Using a Separate Pyro Battery with TeleMini v1.0</title>
875         <para>
876           As described above, using an external pyro battery involves
877           connecting the negative battery terminal to the flight
878           computer ground, connecting the positive battery terminal to
879           one of the igniter leads and connecting the other igniter
880           lead to the per-channel pyro circuit connection. Because
881           there is no solid ground connection to use on TeleMini, this
882           is not recommended.
883         </para>
884         <para>
885           The only available ground connection on TeleMini v1.0 are
886           the two mounting holes next to the telemetry
887           antenna. Somehow connect a small piece of wire to one of
888           those holes and hook it to the negative pyro battery terminal.
889         </para>
890         <para>
891           Connecting the positive battery terminal to the pyro
892           charges must be done separate from TeleMini v1.0, by soldering
893           them together or using some other connector.
894         </para>
895         <para>
896           The other lead from each pyro charge is then inserted into
897           the appropriate per-pyro channel screw terminal (terminal 3 for the
898           Main charge, terminal 1 for the Apogee charge).
899         </para>
900       </section>
901       <section>
902         <title>Using an Active Switch with TeleMini v1.0</title>
903         <para>
904           As explained above, an external active switch requires three
905           connections, one to the positive battery terminal, one to
906           the flight computer positive input and one to ground. Again,
907           because TeleMini doesn't have any good ground connection,
908           this is not recommended.
909         </para>
910         <para>
911           The positive battery terminal is available on the Right
912           power switch wire, the positive flight computer input is on
913           the left power switch wire. Hook a lead to either of the
914           mounting holes for a ground connection.
915         </para>
916       </section>
917     </section>
918     <section>
919       <title>TeleMini v2.0</title>
920       <informalfigure>
921         <mediaobject>
922           <imageobject>
923             <imagedata fileref="telemini-v2-top.jpg" width="5.5in" scalefit="1"/>
924           </imageobject>
925         </mediaobject>
926       </informalfigure>
927       <para>
928         TeleMini v2.0 is 0.8 inches by 1½ inches. It adds more
929         on-board data logging memory, a built-in USB connector and
930         screw terminals for the battery and power switch. The larger
931         board fits in a 24mm coupler. There's also a battery connector
932         for a LiPo battery if you want to use one of those.
933       </para>
934       <section>
935         <title>TeleMini v2.0 Screw Terminals</title>
936         <para>
937           TeleMini v2.0 has two sets of four screw terminals on the end of the
938           board opposite the telemetry antenna. Using the picture
939           above, the top four have connections for the main pyro
940           circuit and an external battery and the bottom four have
941           connections for the apogee pyro circuit and the power
942           switch. Counting from the left, the connections are as follows:
943         </para>
944         <table frame='all'>
945           <title>TeleMini v2.0 Connections</title>
946           <?dbfo keep-together="always"?>
947           <tgroup cols='3' align='center' colsep='1' rowsep='1'>
948             <colspec align='center' colwidth='*' colname='Pin #'/>
949             <colspec align='center' colwidth='2*' colname='Pin Name'/>
950             <colspec align='left' colwidth='5*' colname='Description'/>
951             <thead>
952               <row>
953                 <entry align='center'>Terminal #</entry>
954                 <entry align='center'>Terminal Name</entry>
955                 <entry align='center'>Description</entry>
956               </row>
957             </thead>
958             <tbody>
959               <row>
960                 <entry>Top 1</entry>
961                 <entry>Main -</entry>
962                 <entry>Main pyro channel connection to pyro circuit</entry>
963               </row>
964               <row>
965                 <entry>Top 2</entry>
966                 <entry>Main +</entry>
967                 <entry>Main pyro channel common connection to battery +</entry>
968               </row>
969               <row>
970                 <entry>Top 3</entry>
971                 <entry>Battery +</entry>
972                 <entry>Positive external battery terminal</entry>
973               </row>
974               <row>
975                 <entry>Top 4</entry>
976                 <entry>Battery -</entry>
977                 <entry>Negative external battery terminal</entry>
978               </row>
979               <row>
980                 <entry>Bottom 1</entry>
981                 <entry>Apogee -</entry>
982                 <entry>Apogee pyro channel connection to pyro circuit</entry>
983               </row>
984               <row>
985                 <entry>Bottom 2</entry>
986                 <entry>Apogee +</entry>
987                 <entry>Apogee pyro channel common connection to
988                 battery +</entry>
989               </row>
990               <row>
991                 <entry>Bottom 3</entry>
992                 <entry>Switch Output</entry>
993                 <entry>Switch connection to flight computer</entry>
994               </row>
995               <row>
996                 <entry>Bottom 4</entry>
997                 <entry>Switch Input</entry>
998                 <entry>Switch connection to positive battery terminal</entry>
999               </row>
1000             </tbody>
1001           </tgroup>
1002         </table>
1003       </section>
1004       <section>
1005         <title>Using a Separate Pyro Battery with TeleMini v2.0</title>
1006         <para>
1007           As described above, using an external pyro battery involves
1008           connecting the negative battery terminal to the flight
1009           computer ground, connecting the positive battery terminal to
1010           one of the igniter leads and connecting the other igniter
1011           lead to the per-channel pyro circuit connection.
1012         </para>
1013         <para>
1014           To connect the negative pyro battery terminal to TeleMini
1015           ground, connect it to the negative external battery
1016           connection, top terminal 4.
1017         </para>
1018         <para>
1019           Connecting the positive battery terminal to the pyro
1020           charges must be done separate from TeleMini v2.0, by soldering
1021           them together or using some other connector.
1022         </para>
1023         <para>
1024           The other lead from each pyro charge is then inserted into
1025           the appropriate per-pyro channel screw terminal (top
1026           terminal 1 for the Main charge, bottom terminal 1 for the
1027           Apogee charge).
1028         </para>
1029       </section>
1030       <section>
1031         <title>Using an Active Switch with TeleMini v2.0</title>
1032         <para>
1033           As explained above, an external active switch requires three
1034           connections, one to the positive battery terminal, one to
1035           the flight computer positive input and one to ground. Use
1036           the negative external battery connection, top terminal 4 for
1037           ground.
1038         </para>
1039         <para>
1040           The positive battery terminal is available on bottom
1041           terminal 4, the positive flight computer input is on the
1042           bottom terminal 3.
1043         </para>
1044       </section>
1045     </section>
1046     <section>
1047       <title>EasyMini</title>
1048       <informalfigure>
1049         <mediaobject>
1050           <imageobject>
1051             <imagedata fileref="easymini-top.jpg" width="5.5in" scalefit="1"/>
1052           </imageobject>
1053         </mediaobject>
1054       </informalfigure>
1055       <para>
1056         EasyMini is built on a 0.8 inch by 1½ inch circuit board. It's
1057         designed to fit in a 24mm coupler tube. The connectors and
1058         screw terminals match TeleMini v2.0, so you can easily swap between
1059         EasyMini and TeleMini.
1060       </para>
1061       <section>
1062         <title>EasyMini Screw Terminals</title>
1063         <para>
1064           EasyMini has two sets of four screw terminals on the end of the
1065           board opposite the telemetry antenna. Using the picture
1066           above, the top four have connections for the main pyro
1067           circuit and an external battery and the bottom four have
1068           connections for the apogee pyro circuit and the power
1069           switch. Counting from the left, the connections are as follows:
1070         </para>
1071         <table frame='all'>
1072           <title>EasyMini Connections</title>
1073           <?dbfo keep-together="always"?>
1074           <tgroup cols='3' align='center' colsep='1' rowsep='1'>
1075             <colspec align='center' colwidth='*' colname='Pin #'/>
1076             <colspec align='center' colwidth='2*' colname='Pin Name'/>
1077             <colspec align='left' colwidth='5*' colname='Description'/>
1078             <thead>
1079               <row>
1080                 <entry align='center'>Terminal #</entry>
1081                 <entry align='center'>Terminal Name</entry>
1082                 <entry align='center'>Description</entry>
1083               </row>
1084             </thead>
1085             <tbody>
1086               <row>
1087                 <entry>Top 1</entry>
1088                 <entry>Main -</entry>
1089                 <entry>Main pyro channel connection to pyro circuit</entry>
1090               </row>
1091               <row>
1092                 <entry>Top 2</entry>
1093                 <entry>Main +</entry>
1094                 <entry>Main pyro channel common connection to battery +</entry>
1095               </row>
1096               <row>
1097                 <entry>Top 3</entry>
1098                 <entry>Battery +</entry>
1099                 <entry>Positive external battery terminal</entry>
1100               </row>
1101               <row>
1102                 <entry>Top 4</entry>
1103                 <entry>Battery -</entry>
1104                 <entry>Negative external battery terminal</entry>
1105               </row>
1106               <row>
1107                 <entry>Bottom 1</entry>
1108                 <entry>Apogee -</entry>
1109                 <entry>Apogee pyro channel connection to pyro circuit</entry>
1110               </row>
1111               <row>
1112                 <entry>Bottom 2</entry>
1113                 <entry>Apogee +</entry>
1114                 <entry>Apogee pyro channel common connection to
1115                 battery +</entry>
1116               </row>
1117               <row>
1118                 <entry>Bottom 3</entry>
1119                 <entry>Switch Output</entry>
1120                 <entry>Switch connection to flight computer</entry>
1121               </row>
1122               <row>
1123                 <entry>Bottom 4</entry>
1124                 <entry>Switch Input</entry>
1125                 <entry>Switch connection to positive battery terminal</entry>
1126               </row>
1127             </tbody>
1128           </tgroup>
1129         </table>
1130       </section>
1131       <section>
1132         <title>Using a Separate Pyro Battery with EasyMini</title>
1133         <para>
1134           As described above, using an external pyro battery involves
1135           connecting the negative battery terminal to the flight
1136           computer ground, connecting the positive battery terminal to
1137           one of the igniter leads and connecting the other igniter
1138           lead to the per-channel pyro circuit connection.
1139         </para>
1140         <para>
1141           To connect the negative pyro battery terminal to TeleMini
1142           ground, connect it to the negative external battery
1143           connection, top terminal 4.
1144         </para>
1145         <para>
1146           Connecting the positive battery terminal to the pyro
1147           charges must be done separate from EasyMini, by soldering
1148           them together or using some other connector.
1149         </para>
1150         <para>
1151           The other lead from each pyro charge is then inserted into
1152           the appropriate per-pyro channel screw terminal (top
1153           terminal 1 for the Main charge, bottom terminal 1 for the
1154           Apogee charge).
1155         </para>
1156       </section>
1157       <section>
1158         <title>Using an Active Switch with EasyMini</title>
1159         <para>
1160           As explained above, an external active switch requires three
1161           connections, one to the positive battery terminal, one to
1162           the flight computer positive input and one to ground. Use
1163           the negative external battery connection, top terminal 4 for
1164           ground.
1165         </para>
1166         <para>
1167           The positive battery terminal is available on bottom
1168           terminal 4, the positive flight computer input is on the
1169           bottom terminal 3.
1170         </para>
1171       </section>
1172     </section>
1173     <section>
1174       <title>TeleMega</title>
1175       <informalfigure>
1176         <mediaobject>
1177           <imageobject>
1178             <imagedata fileref="telemega-v1.0-top.jpg" width="5.5in" scalefit="1"/>
1179           </imageobject>
1180         </mediaobject>
1181       </informalfigure>
1182       <para>
1183         TeleMega is a 1¼ inch by 3¼ inch circuit board. It was
1184         designed to easily fit in a 38mm coupler. Like TeleMetrum,
1185         TeleMega has an accelerometer and so it must be mounted so that
1186         the board is aligned with the flight axis. It can be mounted
1187         either antenna up or down.
1188       </para>
1189       <section>
1190         <title>TeleMega Screw Terminals</title>
1191         <para>
1192           TeleMega has two sets of nine screw terminals on the end of
1193           the board opposite the telemetry antenna. They are as follows:
1194         </para>
1195         <table frame='all'>
1196           <title>TeleMega Screw Terminals</title>
1197           <?dbfo keep-together="always"?>
1198           <tgroup cols='3' align='center' colsep='1' rowsep='1'>
1199             <colspec align='center' colwidth='*' colname='Pin #'/>
1200             <colspec align='center' colwidth='2*' colname='Pin Name'/>
1201             <colspec align='left' colwidth='5*' colname='Description'/>
1202             <thead>
1203               <row>
1204                 <entry align='center'>Terminal #</entry>
1205                 <entry align='center'>Terminal Name</entry>
1206                 <entry align='center'>Description</entry>
1207               </row>
1208             </thead>
1209             <tbody>
1210               <row>
1211                 <entry>Top 1</entry>
1212                 <entry>Switch Input</entry>
1213                 <entry>Switch connection to positive battery terminal</entry>
1214               </row>
1215               <row>
1216                 <entry>Top 2</entry>
1217                 <entry>Switch Output</entry>
1218                 <entry>Switch connection to flight computer</entry>
1219               </row>
1220               <row>
1221                 <entry>Top 3</entry>
1222                 <entry>GND</entry>
1223                 <entry>Ground connection for use with external active switch</entry>
1224               </row>
1225               <row>
1226                 <entry>Top 4</entry>
1227                 <entry>Main -</entry>
1228                 <entry>Main pyro channel connection to pyro circuit</entry>
1229               </row>
1230               <row>
1231                 <entry>Top 5</entry>
1232                 <entry>Main +</entry>
1233                 <entry>Main pyro channel common connection to battery +</entry>
1234               </row>
1235               <row>
1236                 <entry>Top 6</entry>
1237                 <entry>Apogee -</entry>
1238                 <entry>Apogee pyro channel connection to pyro circuit</entry>
1239               </row>
1240               <row>
1241                 <entry>Top 7</entry>
1242                 <entry>Apogee +</entry>
1243                 <entry>Apogee pyro channel common connection to battery +</entry>
1244               </row>
1245               <row>
1246                 <entry>Top 8</entry>
1247                 <entry>D -</entry>
1248                 <entry>D pyro channel connection to pyro circuit</entry>
1249               </row>
1250               <row>
1251                 <entry>Top 9</entry>
1252                 <entry>D +</entry>
1253                 <entry>D pyro channel common connection to battery +</entry>
1254               </row>
1255               <row>
1256                 <entry>Bottom 1</entry>
1257                 <entry>GND</entry>
1258                 <entry>Ground connection for negative pyro battery terminal</entry>
1259               </row>
1260               <row>
1261                 <entry>Bottom 2</entry>
1262                 <entry>Pyro</entry>
1263                 <entry>Positive pyro battery terminal</entry>
1264               </row>
1265               <row>
1266                 <entry>Bottom 3</entry>
1267                 <entry>Lipo</entry>
1268                 <entry>
1269                   Power switch output. Use to connect main battery to
1270                   pyro battery input
1271                 </entry>
1272               </row>
1273               <row>
1274                 <entry>Bottom 4</entry>
1275                 <entry>A -</entry>
1276                 <entry>A pyro channel connection to pyro circuit</entry>
1277               </row>
1278               <row>
1279                 <entry>Bottom 5</entry>
1280                 <entry>A +</entry>
1281                 <entry>A pyro channel common connection to battery +</entry>
1282               </row>
1283               <row>
1284                 <entry>Bottom 6</entry>
1285                 <entry>B -</entry>
1286                 <entry>B pyro channel connection to pyro circuit</entry>
1287               </row>
1288               <row>
1289                 <entry>Bottom 7</entry>
1290                 <entry>B +</entry>
1291                 <entry>B pyro channel common connection to battery +</entry>
1292               </row>
1293               <row>
1294                 <entry>Bottom 8</entry>
1295                 <entry>C -</entry>
1296                 <entry>C pyro channel connection to pyro circuit</entry>
1297               </row>
1298               <row>
1299                 <entry>Bottom 9</entry>
1300                 <entry>C +</entry>
1301                 <entry>C pyro channel common connection to battery +</entry>
1302               </row>
1303             </tbody>
1304           </tgroup>
1305         </table>
1306       </section>
1307       <section>
1308         <title>Using a Separate Pyro Battery with TeleMega</title>
1309         <para>
1310           TeleMega provides explicit support for an external pyro
1311           battery. All that is required is to remove the jumper
1312           between the lipo terminal (Bottom 3) and the pyro terminal
1313           (Bottom 2). Then hook the negative pyro battery terminal to ground
1314           (Bottom 1) and the positive pyro battery to the pyro battery
1315           input (Bottom 2). You can then use the existing pyro screw
1316           terminals to hook up all of the pyro charges.
1317         </para>
1318       </section>
1319       <section>
1320         <title>Using an Active Switch with TeleMega</title>
1321         <para>
1322           As explained above, an external active switch requires three
1323           connections, one to the positive battery terminal, one to
1324           the flight computer positive input and one to ground.
1325         </para>
1326         <para>
1327           The positive battery terminal is available on Top terminal
1328           1, the positive flight computer input is on Top terminal
1329           2. Ground is on Top terminal 3.
1330         </para>
1331       </section>
1332     </section>
1333     <section>
1334       <title>Flight Data Recording</title>
1335       <para>
1336         Each flight computer logs data at 100 samples per second
1337         during ascent and 10 samples per second during descent, except
1338         for TeleMini v1.0, which records ascent at 10 samples per
1339         second and descent at 1 sample per second. Data are logged to
1340         an on-board flash memory part, which can be partitioned into
1341         several equal-sized blocks, one for each flight.
1342       </para>
1343       <table frame='all'>
1344         <title>Data Storage on Altus Metrum altimeters</title>
1345         <?dbfo keep-together="always"?>
1346         <tgroup cols='4' align='center' colsep='1' rowsep='1'>
1347           <colspec align='center' colwidth='*' colname='Device'/>
1348           <colspec align='center' colwidth='*' colname='Bytes per sample'/>
1349           <colspec align='center' colwidth='*' colname='Total storage'/>
1350           <colspec align='center' colwidth='*' colname='Minutes of
1351                                                         full-rate'/>
1352           <thead>
1353             <row>
1354               <entry align='center'>Device</entry>
1355               <entry align='center'>Bytes per Sample</entry>
1356               <entry align='center'>Total Storage</entry>
1357               <entry align='center'>Minutes at Full Rate</entry>
1358             </row>
1359           </thead>
1360           <tbody>
1361             <row>
1362               <entry>TeleMetrum v1.0</entry>
1363               <entry>8</entry>
1364               <entry>1MB</entry>
1365               <entry>20</entry>
1366             </row>
1367             <row>
1368               <entry>TeleMetrum v1.1 v1.2</entry>
1369               <entry>8</entry>
1370               <entry>2MB</entry>
1371               <entry>40</entry>
1372             </row>
1373             <row>
1374               <entry>TeleMetrum v2.0</entry>
1375               <entry>16</entry>
1376               <entry>8MB</entry>
1377               <entry>80</entry>
1378             </row>
1379             <row>
1380               <entry>TeleMini v1.0</entry>
1381               <entry>2</entry>
1382               <entry>5kB</entry>
1383               <entry>4</entry>
1384             </row>
1385             <row>
1386               <entry>TeleMini v2.0</entry>
1387               <entry>16</entry>
1388               <entry>1MB</entry>
1389               <entry>10</entry>
1390             </row>
1391             <row>
1392               <entry>EasyMini</entry>
1393               <entry>16</entry>
1394               <entry>1MB</entry>
1395               <entry>10</entry>
1396             </row>
1397             <row>
1398               <entry>TeleMega</entry>
1399               <entry>32</entry>
1400               <entry>8MB</entry>
1401               <entry>40</entry>
1402             </row>
1403           </tbody>
1404         </tgroup>
1405       </table>
1406       <para>
1407         The on-board flash is partitioned into separate flight logs,
1408         each of a fixed maximum size. Increase the maximum size of
1409         each log and you reduce the number of flights that can be
1410         stored. Decrease the size and you can store more flights.
1411       </para>
1412       <para>
1413         Configuration data is also stored in the flash memory on
1414         TeleMetrum v1.x, TeleMini and EasyMini. This consumes 64kB
1415         of flash space.  This configuration space is not available
1416         for storing flight log data. TeleMetrum v2.0 and TeleMega
1417         store configuration data in a bit of eeprom available within
1418         the processor chip, leaving that space available in flash for
1419         more flight data.
1420       </para>
1421       <para>
1422         To compute the amount of space needed for a single flight, you
1423         can multiply the expected ascent time (in seconds) by 100
1424         times bytes-per-sample, multiply the expected descent time (in
1425         seconds) by 10 times the bytes per sample and add the two
1426         together. That will slightly under-estimate the storage (in
1427         bytes) needed for the flight. For instance, a TeleMetrum v2.0 flight spending
1428         20 seconds in ascent and 150 seconds in descent will take
1429         about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You
1430         could store dozens of these flights in the on-board flash.
1431       </para>
1432       <para>
1433         The default size allows for several flights on each flight
1434         computer, except for TeleMini v1.0, which only holds data for a
1435         single flight. You can adjust the size.
1436       </para>
1437       <para>
1438         Altus Metrum flight computers will not overwrite existing
1439         flight data, so be sure to download flight data and erase it
1440         from the flight computer before it fills up. The flight
1441         computer will still successfully control the flight even if it
1442         cannot log data, so the only thing you will lose is the data.
1443       </para>
1444     </section>
1445     <section>
1446       <title>Installation</title>
1447       <para>
1448         A typical installation involves attaching 
1449         only a suitable battery, a single pole switch for 
1450         power on/off, and two pairs of wires connecting e-matches for the 
1451         apogee and main ejection charges.  All Altus Metrum products are 
1452         designed for use with single-cell batteries with 3.7 volts
1453         nominal. TeleMini v2.0 and EasyMini may also be used with other
1454         batteries as long as they supply between 4 and 12 volts. 
1455       </para>
1456       <para>
1457         The battery connectors are a standard 2-pin JST connector and
1458         match batteries sold by Spark Fun. These batteries are
1459         single-cell Lithium Polymer batteries that nominally provide 3.7
1460         volts.  Other vendors sell similar batteries for RC aircraft
1461         using mating connectors, however the polarity for those is
1462         generally reversed from the batteries used by Altus Metrum
1463         products. In particular, the Tenergy batteries supplied for use
1464         in Featherweight flight computers are not compatible with Altus
1465         Metrum flight computers or battery chargers. <emphasis>Check
1466         polarity and voltage before connecting any battery not purchased
1467         from Altus Metrum or Spark Fun.</emphasis>
1468       </para>
1469       <para>
1470         By default, we use the unregulated output of the battery directly
1471         to fire ejection charges.  This works marvelously with standard
1472         low-current e-matches like the J-Tek from MJG Technologies, and with
1473         Quest Q2G2 igniters.  However, if you want or need to use a separate 
1474         pyro battery, check out the “External Pyro Battery” section in this 
1475         manual for instructions on how to wire that up. The altimeters are 
1476         designed to work with an external pyro battery of no more than 15 volts.
1477       </para>
1478       <para>
1479         Ejection charges are wired directly to the screw terminal block
1480         at the aft end of the altimeter.  You'll need a very small straight 
1481         blade screwdriver for these screws, such as you might find in a 
1482         jeweler's screwdriver set.
1483       </para>
1484       <para>
1485         Except for TeleMini v1.0, the flight computers also use the
1486         screw terminal block for the power switch leads. On TeleMini v1.0,
1487         the power switch leads are soldered directly to the board and
1488         can be connected directly to a switch.
1489       </para>
1490       <para>
1491         For most air-frames, the integrated antennas are more than
1492         adequate.   However, if you are installing in a carbon-fiber or
1493         metal electronics bay which is opaque to RF signals, you may need to
1494         use off-board external antennas instead.  In this case, you can
1495         replace the stock UHF antenna wire with an edge-launched SMA connector,
1496         and, on TeleMetrum v1, you can unplug the integrated GPS
1497         antenna and select an appropriate off-board GPS antenna with
1498         cable terminating in a U.FL connector.
1499       </para>
1500     </section>
1501   </chapter>
1502   <chapter>
1503     <title>System Operation</title>
1504     <section>
1505       <title>Firmware Modes </title>
1506       <para>
1507         The AltOS firmware build for the altimeters has two
1508         fundamental modes, “idle” and “flight”.  Which of these modes
1509         the firmware operates in is determined at start up time. For
1510         TeleMetrum and TeleMega, which have accelerometers, the mode is 
1511         controlled by the orientation of the
1512         rocket (well, actually the board, of course...) at the time
1513         power is switched on.  If the rocket is “nose up”, then
1514         the flight computer assumes it's on a rail or rod being prepared for
1515         launch, so the firmware chooses flight mode.  However, if the
1516         rocket is more or less horizontal, the firmware instead enters
1517         idle mode.  Since TeleMini v2.0 and EasyMini don't have an
1518         accelerometer we can use to determine orientation, “idle” mode
1519         is selected if the board is connected via USB to a computer,
1520         otherwise the board enters “flight” mode. TeleMini v1.0
1521         selects “idle” mode if it receives a command packet within the
1522         first five seconds of operation.
1523       </para>
1524       <para>
1525         At power on, you will hear three beeps or see three flashes
1526         (“S” in Morse code for start up) and then a pause while
1527         the altimeter completes initialization and self test, and decides 
1528         which mode to enter next.
1529       </para>
1530       <para>
1531         Here's a short summary of all of the modes and the beeping (or
1532         flashing, in the case of TeleMini v1) that accompanies each
1533         mode. In the description of the beeping pattern, “dit” means a
1534         short beep while "dah" means a long beep (three times as
1535         long). “Brap” means a long dissonant tone.
1536         <table frame='all'>
1537           <title>AltOS Modes</title>
1538           <?dbfo keep-together="always"?>
1539           <tgroup cols='4' align='center' colsep='1' rowsep='1'>
1540             <colspec align='center' colwidth='*' colname='Mode Name'/>
1541             <colspec align='center' colwidth='*' colname='Letter'/>
1542             <colspec align='center' colwidth='*' colname='Beeps'/>
1543             <colspec align='center' colwidth='*' colname='Description'/>
1544             <thead>
1545               <row>
1546                 <entry>Mode Name</entry>
1547                 <entry>Abbreviation</entry>
1548                 <entry>Beeps</entry>
1549                 <entry>Description</entry>
1550               </row>
1551             </thead>
1552             <tbody>
1553               <row>
1554                 <entry>Startup</entry>
1555                 <entry>S</entry>
1556                 <entry>dit dit dit</entry>
1557                 <entry>
1558                   <para>
1559                     Calibrating sensors, detecting orientation.
1560                   </para>
1561                 </entry>
1562               </row>
1563               <row>
1564                 <entry>Idle</entry>
1565                 <entry>I</entry>
1566                 <entry>dit dit</entry>
1567                 <entry>
1568                   <para>
1569                     Ready to accept commands over USB or radio link.
1570                   </para>
1571                 </entry>
1572               </row>
1573               <row>
1574                 <entry>Pad</entry>
1575                 <entry>P</entry>
1576                 <entry>dit dah dah dit</entry>
1577                 <entry>
1578                   <para>
1579                     Waiting for launch. Not listening for commands.
1580                   </para>
1581                 </entry>
1582               </row>
1583               <row>
1584                 <entry>Boost</entry>
1585                 <entry>B</entry>
1586                 <entry>dah dit dit dit</entry>
1587                 <entry>
1588                   <para>
1589                     Accelerating upwards.
1590                   </para>
1591                 </entry>
1592               </row>
1593               <row>
1594                 <entry>Fast</entry>
1595                 <entry>F</entry>
1596                 <entry>dit dit dah dit</entry>
1597                 <entry>
1598                   <para>
1599                     Decelerating, but moving faster than 200m/s.
1600                   </para>
1601                 </entry>
1602               </row>
1603               <row>
1604                 <entry>Coast</entry>
1605                 <entry>C</entry>
1606                 <entry>dah dit dah dit</entry>
1607                 <entry>
1608                   <para>
1609                     Decelerating, moving slower than 200m/s
1610                   </para>
1611                 </entry>
1612               </row>
1613               <row>
1614                 <entry>Drogue</entry>
1615                 <entry>D</entry>
1616                 <entry>dah dit dit</entry>
1617                 <entry>
1618                   <para>
1619                     Descending after apogee. Above main height.
1620                   </para>
1621                 </entry>
1622               </row>
1623               <row>
1624                 <entry>Main</entry>
1625                 <entry>M</entry>
1626                 <entry>dah dah</entry>
1627                 <entry>
1628                   <para>
1629                     Descending. Below main height.
1630                   </para>
1631                 </entry>
1632               </row>
1633               <row>
1634                 <entry>Landed</entry>
1635                 <entry>L</entry>
1636                 <entry>dit dah dit dit</entry>
1637                 <entry>
1638                   <para>
1639                     Stable altitude for at least ten seconds.
1640                   </para>
1641                 </entry>
1642               </row>
1643               <row>
1644                 <entry>Sensor error</entry>
1645                 <entry>X</entry>
1646                 <entry>dah dit dit dah</entry>
1647                 <entry>
1648                   <para>
1649                     Error detected during sensor calibration.
1650                   </para>
1651                 </entry>
1652               </row>
1653             </tbody>
1654           </tgroup>
1655         </table>
1656       </para>
1657       <para>
1658         In flight or “pad” mode, the altimeter engages the flight
1659         state machine, goes into transmit-only mode to send telemetry,
1660         and waits for launch to be detected.  Flight mode is indicated
1661         by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
1662         followed by beeps or flashes indicating the state of the
1663         pyrotechnic igniter continuity.  One beep/flash indicates
1664         apogee continuity, two beeps/flashes indicate main continuity,
1665         three beeps/flashes indicate both apogee and main continuity,
1666         and one longer “brap” sound which is made by rapidly
1667         alternating between two tones indicates no continuity.  For a
1668         dual deploy flight, make sure you're getting three beeps or
1669         flashes before launching!  For apogee-only or motor eject
1670         flights, do what makes sense.
1671       </para>
1672       <para>
1673         If idle mode is entered, you will hear an audible “di-dit” or
1674         see two short flashes (“I” for idle), and the flight state
1675         machine is disengaged, thus no ejection charges will fire.
1676         The altimeters also listen for the radio link when in idle
1677         mode for requests sent via TeleDongle.  Commands can be issued
1678         in idle mode over either USB or the radio link
1679         equivalently. TeleMini v1.0 only has the radio link.  Idle
1680         mode is useful for configuring the altimeter, for extracting
1681         data from the on-board storage chip after flight, and for
1682         ground testing pyro charges.
1683       </para>
1684       <para>
1685         In “Idle” and “Pad” modes, once the mode indication
1686         beeps/flashes and continuity indication has been sent, if
1687         there is no space available to log the flight in on-board
1688         memory, the flight computer will emit a warbling tone (much
1689         slower than the “no continuity tone”)
1690       </para>
1691       <para>
1692         Here's a summary of all of the “pad” and “idle” mode indications.
1693         <table frame='all'>
1694           <title>Pad/Idle Indications</title>
1695           <?dbfo keep-together="always"?>
1696           <tgroup cols='3' align='center' colsep='1' rowsep='1'>
1697             <colspec align='center' colwidth='*' colname='Name'/>
1698             <colspec align='center' colwidth='*' colname='Beeps'/>
1699             <colspec align='center' colwidth='*' colname='Description'/>
1700             <thead>
1701               <row>
1702                 <entry>Name</entry>
1703                 <entry>Beeps</entry>
1704                 <entry>Description</entry>
1705               </row>
1706             </thead>
1707             <tbody>
1708               <row>
1709                 <entry>Neither</entry>
1710                 <entry>brap</entry>
1711                 <entry>
1712                   <para>
1713                     No continuity detected on either apogee or main
1714                     igniters.
1715                   </para>
1716                 </entry>
1717               </row>
1718               <row>
1719                 <entry>Apogee</entry>
1720                 <entry>dit</entry>
1721                 <entry>
1722                   <para>
1723                     Continuity detected only on apogee igniter.
1724                   </para>
1725                 </entry>
1726               </row>
1727               <row>
1728                 <entry>Main</entry>
1729                 <entry>dit dit</entry>
1730                 <entry>
1731                   <para>
1732                     Continuity detected only on main igniter.
1733                   </para>
1734                 </entry>
1735               </row>
1736               <row>
1737                 <entry>Both</entry>
1738                 <entry>dit dit dit</entry>
1739                 <entry>
1740                   <para>
1741                     Continuity detected on both igniters.
1742                   </para>
1743                 </entry>
1744               </row>
1745               <row>
1746                 <entry>Storage Full</entry>
1747                 <entry>warble</entry>
1748                 <entry>
1749                   <para>
1750                     On-board data logging storage is full. This will
1751                     not prevent the flight computer from safely
1752                     controlling the flight or transmitting telemetry
1753                     signals, but no record of the flight will be
1754                     stored in on-board flash.
1755                   </para>
1756                 </entry>
1757               </row>
1758             </tbody>
1759           </tgroup>
1760         </table>
1761       </para>
1762       <para>
1763         Once landed, the flight computer will signal that by emitting
1764         the “Landed” sound described above, after which it will beep
1765         out the apogee height (in meters). Each digit is represented
1766         by a sequence of short “dit” beeps, with a pause between
1767         digits. A zero digit is represented with one long “dah”
1768         beep. The flight computer will continue to report landed mode
1769         and beep out the maximum height until turned off.
1770       </para>
1771       <para>
1772         One “neat trick” of particular value when TeleMetrum or TeleMega are used with 
1773         very large air-frames, is that you can power the board up while the 
1774         rocket is horizontal, such that it comes up in idle mode.  Then you can
1775         raise the air-frame to launch position, and issue a 'reset' command 
1776         via TeleDongle over the radio link to cause the altimeter to reboot and 
1777         come up in flight mode.  This is much safer than standing on the top 
1778         step of a rickety step-ladder or hanging off the side of a launch 
1779         tower with a screw-driver trying to turn on your avionics before 
1780         installing igniters!
1781       </para>
1782       <para>
1783         TeleMini v1.0 is configured solely via the radio link. Of course, that
1784         means you need to know the TeleMini radio configuration values
1785         or you won't be able to communicate with it. For situations
1786         when you don't have the radio configuration values, TeleMini v1.0
1787         offers an 'emergency recovery' mode. In this mode, TeleMini is
1788         configured as follows:
1789         <itemizedlist>
1790           <listitem>
1791             <para>
1792             Sets the radio frequency to 434.550MHz
1793             </para>
1794           </listitem>
1795           <listitem>
1796             <para>
1797             Sets the radio calibration back to the factory value.
1798             </para>
1799           </listitem>
1800           <listitem>
1801             <para>
1802             Sets the callsign to N0CALL
1803             </para>
1804           </listitem>
1805           <listitem>
1806             <para>
1807             Does not go to 'pad' mode after five seconds.
1808             </para>
1809           </listitem>
1810         </itemizedlist>
1811       </para>
1812       <para>
1813         To get into 'emergency recovery' mode, first find the row of
1814         four small holes opposite the switch wiring. Using a short
1815         piece of small gauge wire, connect the outer two holes
1816         together, then power TeleMini up. Once the red LED is lit,
1817         disconnect the wire and the board should signal that it's in
1818         'idle' mode after the initial five second startup period.
1819       </para>
1820     </section>
1821     <section>
1822       <title>GPS </title>
1823       <para>
1824         TeleMetrum and TeleMega include a complete GPS receiver.  A
1825         complete explanation of how GPS works is beyond the scope of
1826         this manual, but the bottom line is that the GPS receiver
1827         needs to lock onto at least four satellites to obtain a solid
1828         3 dimensional position fix and know what time it is.
1829       </para>
1830       <para>
1831         The flight computers provide backup power to the GPS chip any time a 
1832         battery is connected.  This allows the receiver to “warm start” on
1833         the launch rail much faster than if every power-on were a GPS 
1834         “cold start”.  In typical operations, powering up
1835         on the flight line in idle mode while performing final air-frame
1836         preparation will be sufficient to allow the GPS receiver to cold
1837         start and acquire lock.  Then the board can be powered down during
1838         RSO review and installation on a launch rod or rail.  When the board
1839         is turned back on, the GPS system should lock very quickly, typically
1840         long before igniter installation and return to the flight line are
1841         complete.
1842       </para>
1843     </section>
1844     <section>
1845       <title>Controlling An Altimeter Over The Radio Link</title>
1846       <para>
1847         One of the unique features of the Altus Metrum system is the
1848         ability to create a two way command link between TeleDongle
1849         and an altimeter using the digital radio transceivers
1850         built into each device. This allows you to interact with the
1851         altimeter from afar, as if it were directly connected to the
1852         computer.
1853       </para>
1854       <para>
1855         Any operation which can be performed with a flight computer can
1856         either be done with the device directly connected to the
1857         computer via the USB cable, or through the radio
1858         link. TeleMini v1.0 doesn't provide a USB connector and so it is
1859         always communicated with over radio.  Select the appropriate 
1860         TeleDongle device when the list of devices is presented and 
1861         AltosUI will interact with an altimeter over the radio link.
1862       </para>
1863       <para>
1864         One oddity in the current interface is how AltosUI selects the
1865         frequency for radio communications. Instead of providing
1866         an interface to specifically configure the frequency, it uses
1867         whatever frequency was most recently selected for the target
1868         TeleDongle device in Monitor Flight mode. If you haven't ever
1869         used that mode with the TeleDongle in question, select the
1870         Monitor Flight button from the top level UI, and pick the
1871         appropriate TeleDongle device.  Once the flight monitoring
1872         window is open, select the desired frequency and then close it
1873         down again. All radio communications will now use that frequency.
1874       </para>
1875       <itemizedlist>
1876         <listitem>
1877           <para>
1878             Save Flight Data—Recover flight data from the rocket without
1879             opening it up.
1880           </para>
1881         </listitem>
1882         <listitem>
1883           <para>
1884             Configure altimeter apogee delays, main deploy heights
1885             and additional pyro event conditions
1886             to respond to changing launch conditions. You can also
1887             'reboot' the altimeter. Use this to remotely enable the
1888             flight computer by turning TeleMetrum or TeleMega on in “idle” mode,
1889             then once the air-frame is oriented for launch, you can
1890             reboot the altimeter and have it restart in pad mode
1891             without having to climb the scary ladder.
1892           </para>
1893         </listitem>
1894         <listitem>
1895           <para>
1896             Fire Igniters—Test your deployment charges without snaking
1897             wires out through holes in the air-frame. Simply assemble the
1898             rocket as if for flight with the apogee and main charges
1899             loaded, then remotely command the altimeter to fire the
1900             igniters.
1901           </para>
1902         </listitem>
1903       </itemizedlist>
1904       <para>
1905         Operation over the radio link for configuring an altimeter, ground
1906         testing igniters, and so forth uses the same RF frequencies as flight
1907         telemetry.  To configure the desired TeleDongle frequency, select
1908         the monitor flight tab, then use the frequency selector and 
1909         close the window before performing other desired radio operations.
1910       </para>
1911       <para>
1912         The flight computers only enable radio commanding in 'idle' mode.
1913         TeleMetrum and TeleMega use the accelerometer to detect which orientation they
1914         start up in, so make sure you have the flight computer lying horizontally when you turn
1915         it on. Otherwise, it will start in 'pad' mode ready for
1916         flight, and will not be listening for command packets from TeleDongle.
1917       </para>
1918       <para>
1919         TeleMini listens for a command packet for five seconds after
1920         first being turned on, if it doesn't hear anything, it enters
1921         'pad' mode, ready for flight and will no longer listen for
1922         command packets. The easiest way to connect to TeleMini is to
1923         initiate the command and select the TeleDongle device. At this
1924         point, the TeleDongle will be attempting to communicate with
1925         the TeleMini. Now turn TeleMini on, and it should immediately
1926         start communicating with the TeleDongle and the desired
1927         operation can be performed.
1928       </para>
1929       <para>
1930         You can monitor the operation of the radio link by watching the 
1931         lights on the devices. The red LED will flash each time a packet
1932         is transmitted, while the green LED will light up on TeleDongle when 
1933         it is waiting to receive a packet from the altimeter.
1934       </para>
1935     </section>
1936     <section>
1937       <title>Ground Testing </title>
1938       <para>
1939         An important aspect of preparing a rocket using electronic deployment
1940         for flight is ground testing the recovery system.  Thanks
1941         to the bi-directional radio link central to the Altus Metrum system,
1942         this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket 
1943         with less work than you may be accustomed to with other systems.  It 
1944         can even be fun!
1945       </para>
1946       <para>
1947         Just prep the rocket for flight, then power up the altimeter
1948         in “idle” mode (placing air-frame horizontal for TeleMetrum or TeleMega, or
1949         selecting the Configure Altimeter tab for TeleMini).  This will cause 
1950         the firmware to go into “idle” mode, in which the normal flight
1951         state machine is disabled and charges will not fire without
1952         manual command.  You can now command the altimeter to fire the apogee
1953         or main charges from a safe distance using your computer and 
1954         TeleDongle and the Fire Igniter tab to complete ejection testing.
1955       </para>
1956     </section>
1957     <section>
1958       <title>Radio Link </title>
1959       <para>
1960         Our flight computers all incorporate an RF transceiver, but
1961         it's not a full duplex system... each end can only be transmitting or
1962         receiving at any given moment.  So we had to decide how to manage the
1963         link.
1964       </para>
1965       <para>
1966         By design, the altimeter firmware listens for the radio link when
1967         it's in “idle mode”, which
1968         allows us to use the radio link to configure the rocket, do things like
1969         ejection tests, and extract data after a flight without having to
1970         crack open the air-frame.  However, when the board is in “flight
1971         mode”, the altimeter only
1972         transmits and doesn't listen at all.  That's because we want to put
1973         ultimate priority on event detection and getting telemetry out of
1974         the rocket through
1975         the radio in case the rocket crashes and we aren't able to extract
1976         data later...
1977       </para>
1978       <para>
1979         We don't generally use a 'normal packet radio' mode like APRS
1980         because they're just too inefficient.  The GFSK modulation we
1981         use is FSK with the base-band pulses passed through a Gaussian
1982         filter before they go into the modulator to limit the
1983         transmitted bandwidth.  When combined with forward error
1984         correction and interleaving, this allows us to have a very
1985         robust 19.2 kilobit data link with only 10-40 milliwatts of
1986         transmit power, a whip antenna in the rocket, and a hand-held
1987         Yagi on the ground.  We've had flights to above 21k feet AGL
1988         with great reception, and calculations suggest we should be
1989         good to well over 40k feet AGL with a 5-element yagi on the
1990         ground with our 10mW units and over 100k feet AGL with the
1991         40mW devices.  We hope to fly boards to higher altitudes over
1992         time, and would of course appreciate customer feedback on
1993         performance in higher altitude flights!
1994       </para>
1995       <para>
1996         TeleMetrum v2.0 and TeleMega can send APRS if desired, and the
1997         interval between APRS packets can be configured. As each APRS
1998         packet takes a full second to transmit, we recommend an
1999         interval of at least 5 seconds to avoid consuming too much
2000         battery power or radio channel bandwidth.
2001       </para>
2002     </section>
2003     <section>
2004       <title>Configurable Parameters</title>
2005       <para>
2006         Configuring an Altus Metrum altimeter for flight is very
2007         simple.  Even on our baro-only TeleMini and EasyMini boards, the use of a Kalman 
2008         filter means there is no need to set a “mach delay”.  The few 
2009         configurable parameters can all be set using AltosUI over USB or
2010         or radio link via TeleDongle.
2011       </para>
2012       <section>
2013         <title>Radio Frequency</title>
2014         <para>
2015           Altus Metrum boards support radio frequencies in the 70cm
2016           band. By default, the configuration interface provides a
2017           list of 10 “standard” frequencies in 100kHz channels starting at
2018           434.550MHz.  However, the firmware supports use of
2019           any 50kHz multiple within the 70cm band. At any given
2020           launch, we highly recommend coordinating when and by whom each
2021           frequency will be used to avoid interference.  And of course, both
2022           altimeter and TeleDongle must be configured to the same
2023           frequency to successfully communicate with each other.
2024         </para>
2025       </section>
2026       <section>
2027         <title>Apogee Delay</title>
2028         <para>
2029           Apogee delay is the number of seconds after the altimeter detects flight
2030           apogee that the drogue charge should be fired.  In most cases, this
2031           should be left at the default of 0.  However, if you are flying
2032           redundant electronics such as for an L3 certification, you may wish
2033           to set one of your altimeters to a positive delay so that both
2034           primary and backup pyrotechnic charges do not fire simultaneously.
2035         </para>
2036         <para>
2037           The Altus Metrum apogee detection algorithm fires exactly at
2038           apogee.  If you are also flying an altimeter like the
2039           PerfectFlite MAWD, which only supports selecting 0 or 1
2040           seconds of apogee delay, you may wish to set the MAWD to 0
2041           seconds delay and set the TeleMetrum to fire your backup 2
2042           or 3 seconds later to avoid any chance of both charges
2043           firing simultaneously.  We've flown several air-frames this
2044           way quite happily, including Keith's successful L3 cert.
2045         </para>
2046       </section>
2047       <section>
2048         <title>Main Deployment Altitude</title>
2049         <para>
2050           By default, the altimeter will fire the main deployment charge at an
2051           elevation of 250 meters (about 820 feet) above ground.  We think this
2052           is a good elevation for most air-frames, but feel free to change this
2053           to suit.  In particular, if you are flying two altimeters, you may
2054           wish to set the
2055           deployment elevation for the backup altimeter to be something lower
2056           than the primary so that both pyrotechnic charges don't fire
2057           simultaneously.
2058         </para>
2059       </section>
2060       <section>
2061         <title>Maximum Flight Log</title>
2062         <para>
2063           Changing this value will set the maximum amount of flight
2064           log storage that an individual flight will use. The
2065           available storage is divided into as many flights of the
2066           specified size as can fit in the available space. You can
2067           download and erase individual flight logs. If you fill up
2068           the available storage, future flights will not get logged
2069           until you erase some of the stored ones.
2070         </para>
2071         <para>
2072           Even though our flight computers (except TeleMini v1.0) can store
2073           multiple flights, we strongly recommend downloading and saving
2074           flight data after each flight.
2075         </para>
2076       </section>
2077       <section>
2078         <title>Ignite Mode</title>
2079         <para>
2080           Instead of firing one charge at apogee and another charge at
2081           a fixed height above the ground, you can configure the
2082           altimeter to fire both at apogee or both during
2083           descent. This was added to support an airframe Bdale designed that 
2084           had two altimeters, one in the fin can and one in the nose.
2085         </para>
2086         <para>
2087           Providing the ability to use both igniters for apogee or
2088           main allows some level of redundancy without needing two
2089           flight computers.  In Redundant Apogee or Redundant Main
2090           mode, the two charges will be fired two seconds apart.
2091         </para>
2092       </section>
2093       <section>
2094         <title>Pad Orientation</title>
2095         <para>
2096           TeleMetrum and TeleMega measure acceleration along the axis
2097           of the board. Which way the board is oriented affects the
2098           sign of the acceleration value. Instead of trying to guess
2099           which way the board is mounted in the air frame, the
2100           altimeter must be explicitly configured for either Antenna
2101           Up or Antenna Down. The default, Antenna Up, expects the end
2102           of the board connected to the 70cm antenna to be nearest the
2103           nose of the rocket, with the end containing the screw
2104           terminals nearest the tail.
2105         </para>
2106       </section>
2107       <section>
2108         <title>Configurable Pyro Channels</title>
2109         <para>
2110           In addition to the usual Apogee and Main pyro channels,
2111           TeleMega has four additional channels that can be configured
2112           to activate when various flight conditions are
2113           satisfied. You can select as many conditions as necessary;
2114           all of them must be met in order to activate the
2115           channel. The conditions available are:
2116         </para>
2117         <itemizedlist>
2118           <listitem>
2119             <para>
2120               Acceleration away from the ground. Select a value, and
2121               then choose whether acceleration should be above or
2122               below that value. Acceleration is positive upwards, so
2123               accelerating towards the ground would produce negative
2124               numbers. Acceleration during descent is noisy and
2125               inaccurate, so be careful when using it during these
2126               phases of the flight.
2127             </para>
2128           </listitem>
2129           <listitem>
2130             <para>
2131               Vertical speed.  Select a value, and then choose whether
2132               vertical speed should be above or below that
2133               value. Speed is positive upwards, so moving towards the
2134               ground would produce negative numbers. Speed during
2135               descent is a bit noisy and so be careful when using it
2136               during these phases of the flight.
2137             </para>
2138           </listitem>
2139           <listitem>
2140             <para>
2141               Height. Select a value, and then choose whether the
2142               height above the launch pad should be above or below
2143               that value.
2144             </para>
2145           </listitem>
2146           <listitem>
2147             <para>
2148               Orientation. TeleMega contains a 3-axis gyroscope and
2149               accelerometer which is used to measure the current
2150               angle. Note that this angle is not the change in angle
2151               from the launch pad, but rather absolute relative to
2152               gravity; the 3-axis accelerometer is used to compute the
2153               angle of the rocket on the launch pad and initialize the
2154               system. Because this value is computed by integrating
2155               rate gyros, it gets progressively less accurate as the
2156               flight goes on. It should have an accumulated error of
2157               less than 0.2°/second (after 10 seconds of flight, the
2158               error should be less than 2°).
2159             </para>
2160             <para>
2161               The usual use of the orientation configuration is to
2162               ensure that the rocket is traveling mostly upwards when
2163               deciding whether to ignite air starts or additional
2164               stages. For that, choose a reasonable maximum angle
2165               (like 20°) and set the motor igniter to require an angle
2166               of less than that value.
2167             </para>
2168           </listitem>
2169           <listitem>
2170             <para>
2171               Flight Time. Time since boost was detected. Select a
2172               value and choose whether to activate the pyro channel
2173               before or after that amount of time.
2174             </para>
2175           </listitem>
2176           <listitem>
2177             <para>
2178               Ascending. A simple test saying whether the rocket is
2179               going up or not. This is exactly equivalent to testing
2180               whether the speed is &gt; 0.
2181             </para>
2182           </listitem>
2183           <listitem>
2184             <para>
2185               Descending. A simple test saying whether the rocket is
2186               going down or not. This is exactly equivalent to testing
2187               whether the speed is &lt; 0.
2188             </para>
2189           </listitem>
2190           <listitem>
2191             <para>
2192               After Motor. The flight software counts each time the
2193               rocket starts accelerating (presumably due to a motor or
2194               motors igniting). Use this value to count ignitions for
2195               multi-staged or multi-airstart launches.
2196             </para>
2197           </listitem>
2198           <listitem>
2199             <para>
2200               Delay. This value doesn't perform any checks, instead it
2201               inserts a delay between the time when the other
2202               parameters become true and when the pyro channel is
2203               activated.
2204             </para>
2205           </listitem>
2206           <listitem>
2207             <para>
2208               Flight State. The flight software tracks the flight
2209               through a sequence of states:
2210               <orderedlist>
2211                 <listitem>
2212                   <para>
2213                     Boost. The motor has lit and the rocket is
2214                     accelerating upwards.
2215                   </para>
2216                 </listitem>
2217                 <listitem>
2218                   <para>
2219                     Fast. The motor has burned out and the rocket is
2220                     decelerating, but it is going faster than 200m/s.
2221                   </para>
2222                 </listitem>
2223                 <listitem>
2224                   <para>
2225                     Coast. The rocket is still moving upwards and
2226                     decelerating, but the speed is less than 200m/s.
2227                   </para>
2228                 </listitem>
2229                 <listitem>
2230                   <para>
2231                     Drogue. The rocket has reached apogee and is heading
2232                     back down, but is above the configured Main
2233                     altitude.
2234                   </para>
2235                 </listitem>
2236                 <listitem>
2237                   <para>
2238                     Main. The rocket is still descending, and is below
2239                     the Main altitude
2240                   </para>
2241                 </listitem>
2242                 <listitem>
2243                   <para>
2244                     Landed. The rocket is no longer moving.
2245                   </para>
2246                 </listitem>
2247               </orderedlist>
2248             </para>
2249             <para>
2250               You can select a state to limit when the pyro channel
2251               may activate; note that the check is based on when the
2252               rocket transitions <emphasis>into</emphasis> the state, and so checking for
2253               “greater than Boost” means that the rocket is currently
2254               in boost or some later state.
2255             </para>
2256             <para>
2257               When a motor burns out, the rocket enters either Fast or
2258               Coast state (depending on how fast it is moving). If the
2259               computer detects upwards acceleration again, it will
2260               move back to Boost state.
2261             </para>
2262           </listitem>
2263         </itemizedlist>
2264       </section>
2265     </section>
2266
2267   </chapter>
2268   <chapter>
2269     <title>AltosUI</title>
2270     <informalfigure>
2271       <mediaobject>
2272         <imageobject>
2273           <imagedata fileref="altosui.png" width="4.6in"/>
2274         </imageobject>
2275       </mediaobject>
2276     </informalfigure>
2277     <para>
2278       The AltosUI program provides a graphical user interface for
2279       interacting with the Altus Metrum product family. AltosUI can
2280       monitor telemetry data, configure devices and many other
2281       tasks. The primary interface window provides a selection of
2282       buttons, one for each major activity in the system.  This chapter
2283       is split into sections, each of which documents one of the tasks
2284       provided from the top-level toolbar.
2285     </para>
2286     <section>
2287       <title>Monitor Flight</title>
2288       <subtitle>Receive, Record and Display Telemetry Data</subtitle>
2289       <para>
2290         Selecting this item brings up a dialog box listing all of the
2291         connected TeleDongle devices. When you choose one of these,
2292         AltosUI will create a window to display telemetry data as
2293         received by the selected TeleDongle device.
2294       </para>
2295       <informalfigure>
2296         <mediaobject>
2297           <imageobject>
2298             <imagedata fileref="device-selection.png" width="3.1in"/>
2299           </imageobject>
2300         </mediaobject>
2301       </informalfigure>
2302       <para>
2303         All telemetry data received are automatically recorded in
2304         suitable log files. The name of the files includes the current
2305         date and rocket serial and flight numbers.
2306       </para>
2307       <para>
2308         The radio frequency being monitored by the TeleDongle device is
2309         displayed at the top of the window. You can configure the
2310         frequency by clicking on the frequency box and selecting the desired
2311         frequency. AltosUI remembers the last frequency selected for each
2312         TeleDongle and selects that automatically the next time you use
2313         that device.
2314       </para>
2315       <para>
2316         Below the TeleDongle frequency selector, the window contains a few
2317         significant pieces of information about the altimeter providing
2318         the telemetry data stream:
2319       </para>
2320       <itemizedlist>
2321         <listitem>
2322           <para>The configured call-sign</para>
2323         </listitem>
2324         <listitem>
2325           <para>The device serial number</para>
2326         </listitem>
2327         <listitem>
2328           <para>The flight number. Each altimeter remembers how many
2329             times it has flown.
2330           </para>
2331         </listitem>
2332         <listitem>
2333           <para>
2334             The rocket flight state. Each flight passes through several
2335             states including Pad, Boost, Fast, Coast, Drogue, Main and
2336             Landed.
2337           </para>
2338         </listitem>
2339         <listitem>
2340           <para>
2341             The Received Signal Strength Indicator value. This lets
2342             you know how strong a signal TeleDongle is receiving. The
2343             radio inside TeleDongle operates down to about -99dBm;
2344             weaker signals may not be receivable. The packet link uses
2345             error detection and correction techniques which prevent
2346             incorrect data from being reported.
2347           </para>
2348         </listitem>
2349         <listitem>
2350           <para>
2351             The age of the displayed data, in seconds since the last 
2352             successfully received telemetry packet.  In normal operation
2353             this will stay in the low single digits.  If the number starts
2354             counting up, then you are no longer receiving data over the radio
2355             link from the flight computer.
2356           </para>
2357         </listitem>
2358       </itemizedlist>
2359       <para>
2360         Finally, the largest portion of the window contains a set of
2361         tabs, each of which contain some information about the rocket.
2362         They're arranged in 'flight order' so that as the flight
2363         progresses, the selected tab automatically switches to display
2364         data relevant to the current state of the flight. You can select
2365         other tabs at any time. The final 'table' tab displays all of
2366         the raw telemetry values in one place in a spreadsheet-like format.
2367       </para>
2368       <section>
2369         <title>Launch Pad</title>
2370         <informalfigure>
2371           <mediaobject>
2372             <imageobject>
2373               <imagedata fileref="launch-pad.png" width="5.5in"/>
2374             </imageobject>
2375           </mediaobject>
2376         </informalfigure>
2377         <para>
2378           The 'Launch Pad' tab shows information used to decide when the
2379           rocket is ready for flight. The first elements include red/green
2380           indicators, if any of these is red, you'll want to evaluate
2381           whether the rocket is ready to launch:
2382           <variablelist>
2383             <varlistentry>
2384               <term>Battery Voltage</term>
2385               <listitem>
2386                 <para>
2387                   This indicates whether the Li-Po battery powering the 
2388                   flight computer has sufficient charge to last for
2389                   the duration of the flight. A value of more than
2390                   3.8V is required for a 'GO' status.
2391                 </para>
2392               </listitem>
2393             </varlistentry>
2394             <varlistentry>
2395               <term>Apogee Igniter Voltage</term>
2396               <listitem>
2397                 <para>
2398                   This indicates whether the apogee
2399                   igniter has continuity. If the igniter has a low
2400                   resistance, then the voltage measured here will be close
2401                   to the Li-Po battery voltage. A value greater than 3.2V is
2402                   required for a 'GO' status.
2403                 </para>
2404               </listitem>
2405             </varlistentry>
2406             <varlistentry>
2407               <term>Main Igniter Voltage</term>
2408               <listitem>
2409                 <para>
2410                   This indicates whether the main
2411                   igniter has continuity. If the igniter has a low
2412                   resistance, then the voltage measured here will be close
2413                   to the Li-Po battery voltage. A value greater than 3.2V is
2414                   required for a 'GO' status.
2415                 </para>
2416               </listitem>
2417             </varlistentry>
2418             <varlistentry>
2419               <term>On-board Data Logging</term>
2420               <listitem>
2421                 <para>
2422                   This indicates whether there is
2423                   space remaining on-board to store flight data for the
2424                   upcoming flight. If you've downloaded data, but failed
2425                   to erase flights, there may not be any space
2426                   left. Most of our flight computers can store multiple 
2427                   flights, depending on the configured maximum flight log 
2428                   size. TeleMini v1.0 stores only a single flight, so it 
2429                   will need to be
2430                   downloaded and erased after each flight to capture
2431                   data. This only affects on-board flight logging; the
2432                   altimeter will still transmit telemetry and fire
2433                   ejection charges at the proper times even if the flight
2434                   data storage is full.
2435                 </para>
2436               </listitem>
2437             </varlistentry>
2438             <varlistentry>
2439               <term>GPS Locked</term>
2440               <listitem>
2441                 <para>
2442                   For a TeleMetrum or TeleMega device, this indicates whether the GPS receiver is
2443                   currently able to compute position information. GPS requires
2444                   at least 4 satellites to compute an accurate position.
2445                 </para>
2446               </listitem>
2447             </varlistentry>
2448             <varlistentry>
2449               <term>GPS Ready</term>
2450               <listitem>
2451                 <para>
2452                   For a TeleMetrum or TeleMega device, this indicates whether GPS has reported at least
2453                   10 consecutive positions without losing lock. This ensures
2454                   that the GPS receiver has reliable reception from the
2455                   satellites.
2456                 </para>
2457               </listitem>
2458             </varlistentry>
2459           </variablelist>
2460         </para>
2461         <para>
2462           The Launchpad tab also shows the computed launch pad position
2463           and altitude, averaging many reported positions to improve the
2464           accuracy of the fix.
2465         </para>
2466       </section>
2467       <section>
2468         <title>Ascent</title>
2469         <informalfigure>
2470           <mediaobject>
2471             <imageobject>
2472               <imagedata fileref="ascent.png" width="5.5in"/>
2473             </imageobject>
2474           </mediaobject>
2475         </informalfigure>
2476         <para>
2477           This tab is shown during Boost, Fast and Coast
2478           phases. The information displayed here helps monitor the
2479           rocket as it heads towards apogee.
2480         </para>
2481         <para>
2482           The height, speed, acceleration and tilt are shown along
2483           with the maximum values for each of them. This allows you to
2484           quickly answer the most commonly asked questions you'll hear
2485           during flight.
2486         </para>
2487         <para>
2488           The current latitude and longitude reported by the GPS are
2489           also shown. Note that under high acceleration, these values
2490           may not get updated as the GPS receiver loses position
2491           fix. Once the rocket starts coasting, the receiver should
2492           start reporting position again.
2493         </para>
2494         <para>
2495           Finally, the current igniter voltages are reported as in the
2496           Launch Pad tab. This can help diagnose deployment failures
2497           caused by wiring which comes loose under high acceleration.
2498         </para>
2499       </section>
2500       <section>
2501         <title>Descent</title>
2502         <informalfigure>
2503           <mediaobject>
2504             <imageobject>
2505               <imagedata fileref="descent.png" width="5.5in"/>
2506             </imageobject>
2507           </mediaobject>
2508         </informalfigure>
2509         <para>
2510           Once the rocket has reached apogee and (we hope) activated the
2511           apogee charge, attention switches to tracking the rocket on
2512           the way back to the ground, and for dual-deploy flights,
2513           waiting for the main charge to fire.
2514         </para>
2515         <para>
2516           To monitor whether the apogee charge operated correctly, the
2517           current descent rate is reported along with the current
2518           height. Good descent rates vary based on the choice of recovery
2519           components, but generally range from 15-30m/s on drogue and should
2520           be below 10m/s when under the main parachute in a dual-deploy flight.
2521         </para>
2522         <para>
2523           With GPS-equipped flight computers, you can locate the rocket in the
2524           sky using the elevation and bearing information to figure
2525           out where to look. Elevation is in degrees above the
2526           horizon. Bearing is reported in degrees relative to true
2527           north. Range can help figure out how big the rocket will
2528           appear. Ground Distance shows how far it is to a point
2529           directly under the rocket and can help figure out where the
2530           rocket is likely to land. Note that all of these values are
2531           relative to the pad location. If the elevation is near 90°,
2532           the rocket is over the pad, not over you.
2533         </para>
2534         <para>
2535           Finally, the igniter voltages are reported in this tab as
2536           well, both to monitor the main charge as well as to see what
2537           the status of the apogee charge is.  Note that some commercial
2538           e-matches are designed to retain continuity even after being
2539           fired, and will continue to show as green or return from red to
2540           green after firing.
2541         </para>
2542       </section>
2543       <section>
2544         <title>Landed</title>
2545         <informalfigure>
2546           <mediaobject>
2547             <imageobject>
2548               <imagedata fileref="landed.png" width="5.5in"/>
2549             </imageobject>
2550           </mediaobject>
2551         </informalfigure>
2552         <para>
2553           Once the rocket is on the ground, attention switches to
2554           recovery. While the radio signal is often lost once the
2555           rocket is on the ground, the last reported GPS position is
2556           generally within a short distance of the actual landing location.
2557         </para>
2558         <para>
2559           The last reported GPS position is reported both by
2560           latitude and longitude as well as a bearing and distance from
2561           the launch pad. The distance should give you a good idea of
2562           whether to walk or hitch a ride.  Take the reported
2563           latitude and longitude and enter them into your hand-held GPS
2564           unit and have that compute a track to the landing location.
2565         </para>
2566         <para>
2567           Our flight computers will continue to transmit RDF
2568           tones after landing, allowing you to locate the rocket by
2569           following the radio signal if necessary. You may need to get 
2570           away from the clutter of the flight line, or even get up on 
2571           a hill (or your neighbor's RV roof) to receive the RDF signal.
2572         </para>
2573         <para>
2574           The maximum height, speed and acceleration reported
2575           during the flight are displayed for your admiring observers.
2576           The accuracy of these immediate values depends on the quality
2577           of your radio link and how many packets were received.  
2578           Recovering the on-board data after flight may yield
2579           more precise results.
2580         </para>
2581         <para>
2582           To get more detailed information about the flight, you can
2583           click on the 'Graph Flight' button which will bring up a
2584           graph window for the current flight.
2585         </para>
2586       </section>
2587       <section>
2588         <title>Table</title>
2589         <informalfigure>
2590           <mediaobject>
2591             <imageobject>
2592               <imagedata fileref="table.png" width="5.5in"/>
2593             </imageobject>
2594           </mediaobject>
2595         </informalfigure>
2596         <para>
2597           The table view shows all of the data available from the
2598           flight computer. Probably the most useful data on
2599           this tab is the detailed GPS information, which includes
2600           horizontal dilution of precision information, and
2601           information about the signal being received from the satellites.
2602         </para>
2603       </section>
2604       <section>
2605         <title>Site Map</title>
2606         <informalfigure>
2607           <mediaobject>
2608             <imageobject>
2609               <imagedata fileref="site-map.png" width="5.5in"/>
2610             </imageobject>
2611           </mediaobject>
2612         </informalfigure>
2613         <para>
2614           When the TeleMetrum has a GPS fix, the Site Map tab will map
2615           the rocket's position to make it easier for you to locate the
2616           rocket, both while it is in the air, and when it has landed. The
2617           rocket's state is indicated by color: white for pad, red for
2618           boost, pink for fast, yellow for coast, light blue for drogue,
2619           dark blue for main, and black for landed.
2620         </para>
2621         <para>
2622           The map's scale is approximately 3m (10ft) per pixel. The map
2623           can be dragged using the left mouse button. The map will attempt
2624           to keep the rocket roughly centered while data is being received.
2625         </para>
2626         <para>
2627           Images are fetched automatically via the Google Maps Static API,
2628           and cached on disk for reuse. If map images cannot be downloaded,
2629           the rocket's path will be traced on a dark gray background
2630           instead.
2631         </para>
2632         <para>
2633           You can pre-load images for your favorite launch sites
2634           before you leave home; check out the 'Preload Maps' section below.
2635         </para>
2636       </section>
2637     </section>
2638     <section>
2639       <title>Save Flight Data</title>
2640       <para>
2641         The altimeter records flight data to its internal flash memory.
2642         TeleMetrum data is recorded at a much higher rate than the telemetry
2643         system can handle, and is not subject to radio drop-outs. As
2644         such, it provides a more complete and precise record of the
2645         flight. The 'Save Flight Data' button allows you to read the
2646         flash memory and write it to disk. 
2647       </para>
2648       <para>
2649         Clicking on the 'Save Flight Data' button brings up a list of
2650         connected flight computers and TeleDongle devices. If you select a
2651         flight computer, the flight data will be downloaded from that
2652         device directly. If you select a TeleDongle device, flight data
2653         will be downloaded from a flight computer over radio link via the 
2654         specified TeleDongle. See the chapter on Controlling An Altimeter 
2655         Over The Radio Link for more information.
2656       </para>
2657       <para>
2658         After the device has been selected, a dialog showing the
2659         flight data saved in the device will be shown allowing you to
2660         select which flights to download and which to delete. With
2661         version 0.9 or newer firmware, you must erase flights in order
2662         for the space they consume to be reused by another
2663         flight. This prevents accidentally losing flight data
2664         if you neglect to download data before flying again. Note that
2665         if there is no more space available in the device, then no
2666         data will be recorded during the next flight.
2667       </para>
2668       <para>
2669         The file name for each flight log is computed automatically
2670         from the recorded flight date, altimeter serial number and
2671         flight number information.
2672       </para>
2673     </section>
2674     <section>
2675       <title>Replay Flight</title>
2676       <para>
2677         Select this button and you are prompted to select a flight
2678         record file, either a .telem file recording telemetry data or a
2679         .eeprom file containing flight data saved from the altimeter
2680         flash memory.
2681       </para>
2682       <para>
2683         Once a flight record is selected, the flight monitor interface
2684         is displayed and the flight is re-enacted in real time. Check
2685         the Monitor Flight chapter above to learn how this window operates.
2686       </para>
2687     </section>
2688     <section>
2689       <title>Graph Data</title>
2690       <para>
2691         Select this button and you are prompted to select a flight
2692         record file, either a .telem file recording telemetry data or a
2693         .eeprom file containing flight data saved from
2694         flash memory.
2695       </para>
2696       <para>
2697         Note that telemetry files will generally produce poor graphs
2698         due to the lower sampling rate and missed telemetry packets.
2699         Use saved flight data in .eeprom files for graphing where possible.
2700       </para>
2701       <para>
2702         Once a flight record is selected, a window with multiple tabs is
2703         opened.
2704       </para>
2705       <section>
2706         <title>Flight Graph</title>
2707         <informalfigure>
2708           <mediaobject>
2709             <imageobject>
2710               <imagedata fileref="graph.png" width="6in" scalefit="1"/>
2711             </imageobject>
2712           </mediaobject>
2713         </informalfigure>
2714         <para>
2715           By default, the graph contains acceleration (blue),
2716           velocity (green) and altitude (red).
2717         </para>
2718       <para>
2719         The graph can be zoomed into a particular area by clicking and
2720         dragging down and to the right. Once zoomed, the graph can be
2721         reset by clicking and dragging up and to the left. Holding down
2722         control and clicking and dragging allows the graph to be panned.
2723         The right mouse button causes a pop-up menu to be displayed, giving
2724         you the option save or print the plot.
2725       </para>
2726       </section>
2727       <section>
2728         <title>Configure Graph</title>
2729         <informalfigure>
2730           <mediaobject>
2731             <imageobject>
2732               <imagedata fileref="graph-configure.png" width="6in" scalefit="1"/>
2733             </imageobject>
2734           </mediaobject>
2735         </informalfigure>
2736         <para>
2737           This selects which graph elements to show, and, at the
2738           very bottom, lets you switch between metric and
2739           imperial units
2740         </para>
2741       </section>
2742       <section>
2743         <title>Flight Statistics</title>
2744         <informalfigure>
2745           <mediaobject>
2746             <imageobject>
2747               <imagedata fileref="graph-stats.png" width="6in" scalefit="1"/>
2748             </imageobject>
2749           </mediaobject>
2750         </informalfigure>
2751         <para>
2752           Shows overall data computed from the flight.
2753         </para>
2754       </section>
2755       <section>
2756         <title>Map</title>
2757         <informalfigure>
2758           <mediaobject>
2759             <imageobject>
2760               <imagedata fileref="graph-map.png" width="6in" scalefit="1"/>
2761             </imageobject>
2762           </mediaobject>
2763         </informalfigure>
2764         <para>
2765           Shows a satellite image of the flight area overlaid
2766           with the path of the flight. The red concentric
2767           circles mark the launch pad, the black concentric
2768           circles mark the landing location.
2769         </para>
2770       </section>
2771     </section>
2772     <section>
2773       <title>Export Data</title>
2774       <para>
2775         This tool takes the raw data files and makes them available for
2776         external analysis. When you select this button, you are prompted to 
2777         select a flight data file, which can be either a .eeprom or .telem.
2778         The .eeprom files contain higher resolution and more continuous data, 
2779         while .telem files contain receiver signal strength information.  
2780         Next, a second dialog appears which is used to select
2781         where to write the resulting file. It has a selector to choose
2782         between CSV and KML file formats.
2783       </para>
2784       <section>
2785         <title>Comma Separated Value Format</title>
2786         <para>
2787           This is a text file containing the data in a form suitable for
2788           import into a spreadsheet or other external data analysis
2789           tool. The first few lines of the file contain the version and
2790           configuration information from the altimeter, then
2791           there is a single header line which labels all of the
2792           fields. All of these lines start with a '#' character which
2793           many tools can be configured to skip over.
2794         </para>
2795         <para>
2796           The remaining lines of the file contain the data, with each
2797           field separated by a comma and at least one space. All of
2798           the sensor values are converted to standard units, with the
2799           barometric data reported in both pressure, altitude and
2800           height above pad units.
2801         </para>
2802       </section>
2803       <section>
2804         <title>Keyhole Markup Language (for Google Earth)</title>
2805         <para>
2806           This is the format used by Google Earth to provide an overlay 
2807           within that application. With this, you can use Google Earth to 
2808           see the whole flight path in 3D.
2809         </para>
2810       </section>
2811     </section>
2812     <section>
2813       <title>Configure Altimeter</title>
2814       <informalfigure>
2815         <mediaobject>
2816           <imageobject>
2817             <imagedata fileref="configure-altimeter.png" width="3.6in" scalefit="1"/>
2818           </imageobject>
2819         </mediaobject>
2820       </informalfigure>
2821       <para>
2822         Select this button and then select either an altimeter or
2823         TeleDongle Device from the list provided. Selecting a TeleDongle
2824         device will use the radio link to configure a remote altimeter. 
2825       </para>
2826       <para>
2827         The first few lines of the dialog provide information about the
2828         connected device, including the product name,
2829         software version and hardware serial number. Below that are the
2830         individual configuration entries.
2831       </para>
2832       <para>
2833         At the bottom of the dialog, there are four buttons:
2834       </para>
2835       <variablelist>
2836         <varlistentry>
2837           <term>Save</term>
2838           <listitem>
2839             <para>
2840               This writes any changes to the
2841               configuration parameter block in flash memory. If you don't
2842               press this button, any changes you make will be lost.
2843             </para>
2844           </listitem>
2845         </varlistentry>
2846         <varlistentry>
2847           <term>Reset</term>
2848           <listitem>
2849             <para>
2850               This resets the dialog to the most recently saved values,
2851               erasing any changes you have made.
2852             </para>
2853           </listitem>
2854         </varlistentry>
2855         <varlistentry>
2856           <term>Reboot</term>
2857           <listitem>
2858             <para>
2859               This reboots the device. Use this to
2860               switch from idle to pad mode by rebooting once the rocket is
2861               oriented for flight, or to confirm changes you think you saved 
2862               are really saved.
2863             </para>
2864           </listitem>
2865         </varlistentry>
2866         <varlistentry>
2867           <term>Close</term>
2868           <listitem>
2869             <para>
2870               This closes the dialog. Any unsaved changes will be
2871               lost.
2872             </para>
2873           </listitem>
2874         </varlistentry>
2875       </variablelist>
2876       <para>
2877         The rest of the dialog contains the parameters to be configured.
2878       </para>
2879       <section>
2880         <title>Main Deploy Altitude</title>
2881         <para>
2882           This sets the altitude (above the recorded pad altitude) at
2883           which the 'main' igniter will fire. The drop-down menu shows
2884           some common values, but you can edit the text directly and
2885           choose whatever you like. If the apogee charge fires below
2886           this altitude, then the main charge will fire two seconds
2887           after the apogee charge fires.
2888         </para>
2889       </section>
2890       <section>
2891         <title>Apogee Delay</title>
2892         <para>
2893           When flying redundant electronics, it's often important to
2894           ensure that multiple apogee charges don't fire at precisely
2895           the same time, as that can over pressurize the apogee deployment
2896           bay and cause a structural failure of the air-frame. The Apogee
2897           Delay parameter tells the flight computer to fire the apogee
2898           charge a certain number of seconds after apogee has been
2899           detected.
2900         </para>
2901       </section>
2902       <section>
2903         <title>Radio Frequency</title>
2904         <para>
2905           This configures which of the frequencies to use for both
2906           telemetry and packet command mode. Note that if you set this
2907           value via packet command mode, the TeleDongle frequency will
2908           also be automatically reconfigured to match so that
2909           communication will continue afterwards.
2910         </para>
2911       </section>
2912       <section>
2913         <title>RF Calibration</title>
2914         <para>
2915           The radios in every Altus Metrum device are calibrated at the
2916           factory to ensure that they transmit and receive on the
2917           specified frequency.  If you need to you can adjust the calibration 
2918           by changing this value.  Do not do this without understanding what
2919           the value means, read the appendix on calibration and/or the source
2920           code for more information.  To change a TeleDongle's calibration, 
2921           you must reprogram the unit completely.
2922         </para>
2923       </section>
2924       <section>
2925         <title>Telemetry/RDF/APRS Enable</title>
2926         <para>
2927           Enables the radio for transmission during flight. When
2928           disabled, the radio will not transmit anything during flight
2929           at all.
2930         </para>
2931       </section>
2932       <section>
2933         <title>APRS Interval</title>
2934         <para>
2935           How often to transmit GPS information via APRS. This option
2936           is available on TeleMetrum v2 and TeleMega
2937           boards. TeleMetrum v1 boards cannot transmit APRS
2938           packets. Note that a single APRS packet takes nearly a full
2939           second to transmit, so enabling this option will prevent
2940           sending any other telemetry during that time.
2941         </para>
2942       </section>
2943       <section>
2944         <title>Callsign</title>
2945         <para>
2946           This sets the call sign included in each telemetry packet. Set this
2947           as needed to conform to your local radio regulations.
2948         </para>
2949       </section>
2950       <section>
2951         <title>Maximum Flight Log Size</title>
2952         <para>
2953           This sets the space (in kilobytes) allocated for each flight
2954           log. The available space will be divided into chunks of this
2955           size. A smaller value will allow more flights to be stored,
2956           a larger value will record data from longer flights.
2957         </para>
2958       </section>
2959       <section>
2960         <title>Ignite Mode</title>
2961         <para>
2962           TeleMetrum and TeleMini provide two igniter channels as they
2963           were originally designed as dual-deploy flight
2964           computers. This configuration parameter allows the two
2965           channels to be used in different configurations.
2966         </para>
2967           <variablelist>
2968             <varlistentry>
2969               <term>Dual Deploy</term>
2970               <listitem>
2971                 <para>
2972                   This is the usual mode of operation; the
2973                   'apogee' channel is fired at apogee and the 'main'
2974                   channel at the height above ground specified by the
2975                   'Main Deploy Altitude' during descent.
2976                 </para>
2977               </listitem>
2978             </varlistentry>
2979             <varlistentry>
2980               <term>Redundant Apogee</term>
2981               <listitem>
2982                 <para>
2983                   This fires both channels at
2984                   apogee, the 'apogee' channel first followed after a two second
2985                   delay by the 'main' channel.
2986                 </para>
2987               </listitem>
2988             </varlistentry>
2989             <varlistentry>
2990               <term>Redundant Main</term>
2991               <listitem>
2992                 <para>
2993                   This fires both channels at the
2994                   height above ground specified by the Main Deploy
2995                   Altitude setting during descent. The 'apogee'
2996                   channel is fired first, followed after a two second
2997                   delay by the 'main' channel.
2998                 </para>
2999               </listitem>
3000             </varlistentry>
3001         </variablelist>
3002       </section>
3003       <section>
3004         <title>Pad Orientation</title>
3005         <para>
3006           Because they include accelerometers, TeleMetrum and
3007           TeleMega are sensitive to the orientation of the board. By
3008           default, they expect the antenna end to point forward. This
3009           parameter allows that default to be changed, permitting the
3010           board to be mounted with the antenna pointing aft instead.
3011         </para>
3012         <variablelist>
3013           <varlistentry>
3014             <term>Antenna Up</term>
3015             <listitem>
3016               <para>
3017                 In this mode, the antenna end of the
3018                 flight computer must point forward, in line with the
3019                 expected flight path.
3020               </para>
3021             </listitem>
3022           </varlistentry>
3023           <varlistentry>
3024             <term>Antenna Down</term>
3025             <listitem>
3026               <para>
3027                 In this mode, the antenna end of the
3028                 flight computer must point aft, in line with the
3029                 expected flight path.
3030               </para>
3031             </listitem>
3032           </varlistentry>
3033         </variablelist>
3034       </section>
3035       <section>
3036         <title>Configure Pyro Channels</title>
3037         <informalfigure>
3038           <mediaobject>
3039             <imageobject>
3040               <imagedata fileref="configure-pyro.png" width="6in" scalefit="1"/>
3041             </imageobject>
3042           </mediaobject>
3043         </informalfigure>
3044         <para>
3045           This opens a separate window to configure the additional
3046           pyro channels available on TeleMega.  One column is
3047           presented for each channel. Each row represents a single
3048           parameter, if enabled the parameter must meet the specified
3049           test for the pyro channel to be fired. See the Pyro Channels
3050           section in the System Operation chapter above for a
3051           description of these parameters.
3052         </para>
3053         <para>
3054           Select conditions and set the related value; the pyro
3055           channel will be activated when <emphasis>all</emphasis> of the
3056           conditions are met. Each pyro channel has a separate set of
3057           configuration values, so you can use different values for
3058           the same condition with different channels.
3059         </para>
3060         <para>
3061           Once you have selected the appropriate configuration for all
3062           of the necessary pyro channels, you can save the pyro
3063           configuration along with the rest of the flight computer
3064           configuration by pressing the 'Save' button in the main
3065           Configure Flight Computer window.
3066         </para>
3067       </section>
3068     </section>
3069     <section>
3070       <title>Configure AltosUI</title>
3071       <informalfigure>
3072         <mediaobject>
3073           <imageobject>
3074             <imagedata fileref="configure-altosui.png" width="2.4in" scalefit="1"/>
3075           </imageobject>
3076         </mediaobject>
3077       </informalfigure>
3078       <para>
3079         This button presents a dialog so that you can configure the AltosUI global settings.
3080       </para>
3081       <section>
3082         <title>Voice Settings</title>
3083         <para>
3084           AltosUI provides voice announcements during flight so that you
3085           can keep your eyes on the sky and still get information about
3086           the current flight status. However, sometimes you don't want
3087           to hear them.
3088         </para>
3089         <variablelist>
3090           <varlistentry>
3091             <term>Enable</term>
3092             <listitem>
3093               <para>Turns all voice announcements on and off</para>
3094             </listitem>
3095           </varlistentry>
3096           <varlistentry>
3097             <term>Test Voice</term>
3098             <listitem>
3099               <para>
3100                 Plays a short message allowing you to verify
3101                 that the audio system is working and the volume settings
3102                 are reasonable
3103               </para>
3104             </listitem>
3105           </varlistentry>
3106         </variablelist>
3107       </section>
3108       <section>
3109         <title>Log Directory</title>
3110         <para>
3111           AltosUI logs all telemetry data and saves all TeleMetrum flash
3112           data to this directory. This directory is also used as the
3113           staring point when selecting data files for display or export.
3114         </para>
3115         <para>
3116           Click on the directory name to bring up a directory choosing
3117           dialog, select a new directory and click 'Select Directory' to
3118           change where AltosUI reads and writes data files.
3119         </para>
3120       </section>
3121       <section>
3122         <title>Callsign</title>
3123         <para>
3124           This value is transmitted in each command packet sent from 
3125           TeleDongle and received from an altimeter.  It is not used in 
3126           telemetry mode, as the callsign configured in the altimeter board
3127           is included in all telemetry packets.  Configure this
3128           with the AltosUI operators call sign as needed to comply with
3129           your local radio regulations.
3130         </para>
3131         <para>
3132           Note that to successfully command a flight computer over the radio
3133           (to configure the altimeter, monitor idle, or fire pyro charges), 
3134           the callsign configured here must exactly match the callsign
3135           configured in the flight computer.  This matching is case 
3136           sensitive.
3137         </para>
3138       </section>
3139       <section>
3140         <title>Imperial Units</title>
3141         <para>
3142           This switches between metric units (meters) and imperial
3143           units (feet and miles). This affects the display of values
3144           use during flight monitoring, configuration, data graphing
3145           and all of the voice announcements. It does not change the
3146           units used when exporting to CSV files, those are always
3147           produced in metric units.
3148         </para>
3149       </section>
3150       <section>
3151         <title>Font Size</title>
3152         <para>
3153           Selects the set of fonts used in the flight monitor
3154           window. Choose between the small, medium and large sets.
3155         </para>
3156       </section>
3157       <section>
3158         <title>Serial Debug</title>
3159         <para>
3160           This causes all communication with a connected device to be
3161           dumped to the console from which AltosUI was started. If
3162           you've started it from an icon or menu entry, the output
3163           will simply be discarded. This mode can be useful to debug
3164           various serial communication issues.
3165         </para>
3166       </section>
3167       <section>
3168         <title>Manage Frequencies</title>
3169         <para>
3170           This brings up a dialog where you can configure the set of
3171           frequencies shown in the various frequency menus. You can
3172           add as many as you like, or even reconfigure the default
3173           set. Changing this list does not affect the frequency
3174           settings of any devices, it only changes the set of
3175           frequencies shown in the menus.
3176         </para>
3177       </section>
3178     </section>
3179     <section>
3180       <title>Configure Groundstation</title>
3181       <informalfigure>
3182         <mediaobject>
3183           <imageobject>
3184             <imagedata fileref="configure-groundstation.png" width="3.1in" scalefit="1"/>
3185           </imageobject>
3186         </mediaobject>
3187       </informalfigure>
3188       <para>
3189         Select this button and then select a TeleDongle Device from the list provided.
3190       </para>
3191       <para>
3192         The first few lines of the dialog provide information about the
3193         connected device, including the product name,
3194         software version and hardware serial number. Below that are the
3195         individual configuration entries.
3196       </para>
3197       <para>
3198         Note that the TeleDongle itself doesn't save any configuration
3199         data, the settings here are recorded on the local machine in
3200         the Java preferences database. Moving the TeleDongle to
3201         another machine, or using a different user account on the same
3202         machine will cause settings made here to have no effect.
3203       </para>
3204       <para>
3205         At the bottom of the dialog, there are three buttons:
3206       </para>
3207       <variablelist>
3208         <varlistentry>
3209           <term>Save</term>
3210           <listitem>
3211             <para>
3212               This writes any changes to the
3213               local Java preferences file. If you don't
3214               press this button, any changes you make will be lost.
3215             </para>
3216           </listitem>
3217         </varlistentry>
3218         <varlistentry>
3219           <term>Reset</term>
3220           <listitem>
3221             <para>
3222               This resets the dialog to the most recently saved values,
3223               erasing any changes you have made.
3224             </para>
3225           </listitem>
3226         </varlistentry>
3227         <varlistentry>
3228           <term>Close</term>
3229           <listitem>
3230             <para>
3231               This closes the dialog. Any unsaved changes will be
3232               lost.
3233             </para>
3234           </listitem>
3235         </varlistentry>
3236       </variablelist>
3237       <para>
3238         The rest of the dialog contains the parameters to be configured.
3239       </para>
3240       <section>
3241         <title>Frequency</title>
3242         <para>
3243           This configures the frequency to use for both telemetry and
3244           packet command mode. Set this before starting any operation
3245           involving packet command mode so that it will use the right
3246           frequency. Telemetry monitoring mode also provides a menu to
3247           change the frequency, and that menu also sets the same Java
3248           preference value used here.
3249         </para>
3250       </section>
3251       <section>
3252         <title>Radio Calibration</title>
3253         <para>
3254           The radios in every Altus Metrum device are calibrated at the
3255           factory to ensure that they transmit and receive on the
3256           specified frequency.  To change a TeleDongle's calibration, 
3257           you must reprogram the unit completely, so this entry simply
3258           shows the current value and doesn't allow any changes.
3259         </para>
3260       </section>
3261     </section>
3262     <section>
3263       <title>Flash Image</title>
3264       <para>
3265         This reprograms Altus Metrum devices with new
3266         firmware. TeleMetrum v1.x, TeleDongle, TeleMini and TeleBT are
3267         all reprogrammed by using another similar unit as a
3268         programming dongle (pair programming). TeleMega, TeleMetrum v2
3269         and EasyMini are all programmed directly over their USB ports
3270         (self programming).  Please read the directions for flashing
3271         devices in the Updating Device Firmware chapter below.
3272       </para>
3273     </section>
3274     <section>
3275       <title>Fire Igniter</title>
3276       <informalfigure>
3277         <mediaobject>
3278           <imageobject>
3279             <imagedata fileref="fire-igniter.png" width="1.2in" scalefit="1"/>
3280           </imageobject>
3281         </mediaobject>
3282       </informalfigure>
3283       <para>
3284         This activates the igniter circuits in the flight computer to help 
3285         test recovery systems deployment. Because this command can operate
3286         over the Packet Command Link, you can prepare the rocket as
3287         for flight and then test the recovery system without needing
3288         to snake wires inside the air-frame.
3289       </para>
3290       <para>
3291         Selecting the 'Fire Igniter' button brings up the usual device
3292         selection dialog. Pick the desired device. This brings up another 
3293         window which shows the current continuity test status for all
3294         of the pyro channels.
3295       </para>
3296       <para>
3297         Next, select the desired igniter to fire. This will enable the
3298         'Arm' button.
3299       </para>
3300       <para>
3301         Select the 'Arm' button. This enables the 'Fire' button. The
3302         word 'Arm' is replaced by a countdown timer indicating that
3303         you have 10 seconds to press the 'Fire' button or the system
3304         will deactivate, at which point you start over again at
3305         selecting the desired igniter.
3306       </para>
3307     </section>
3308     <section>
3309       <title>Scan Channels</title>
3310       <informalfigure>
3311         <mediaobject>
3312           <imageobject>
3313             <imagedata fileref="scan-channels.png" width="3.2in" scalefit="1"/>
3314           </imageobject>
3315         </mediaobject>
3316       </informalfigure>
3317       <para>
3318         This listens for telemetry packets on all of the configured
3319         frequencies, displaying information about each device it
3320         receives a packet from. You can select which of the three
3321         telemetry formats should be tried; by default, it only listens
3322         for the standard telemetry packets used in v1.0 and later
3323         firmware.
3324       </para>
3325     </section>
3326     <section>
3327       <title>Load Maps</title>
3328       <informalfigure>
3329         <mediaobject>
3330           <imageobject>
3331             <imagedata fileref="load-maps.png" width="5.2in" scalefit="1"/>
3332           </imageobject>
3333         </mediaobject>
3334       </informalfigure>
3335       <para>
3336         Before heading out to a new launch site, you can use this to
3337         load satellite images in case you don't have internet
3338         connectivity at the site. This loads a fairly large area
3339         around the launch site, which should cover any flight you're likely to make.
3340       </para>
3341       <para>
3342         There's a drop-down menu of launch sites we know about; if
3343         your favorites aren't there, please let us know the lat/lon
3344         and name of the site. The contents of this list are actually
3345         downloaded from our server at run-time, so as new sites are sent 
3346         in, they'll get automatically added to this list.
3347       </para>
3348       <para>
3349         If the launch site isn't in the list, you can manually enter the lat/lon values
3350       </para>
3351       <para>
3352         Clicking the 'Load Map' button will fetch images from Google
3353         Maps; note that Google limits how many images you can fetch at
3354         once, so if you load more than one launch site, you may get
3355         some gray areas in the map which indicate that Google is tired
3356         of sending data to you. Try again later.
3357       </para>
3358     </section>
3359     <section>
3360       <title>Monitor Idle</title>
3361       <para>
3362         This brings up a dialog similar to the Monitor Flight UI,
3363         except it works with the altimeter in “idle” mode by sending
3364         query commands to discover the current state rather than
3365         listening for telemetry packets. Because this uses command
3366         mode, it needs to have the TeleDongle and flight computer
3367         callsigns match exactly. If you can receive telemetry, but
3368         cannot manage to run Monitor Idle, then it's very likely that
3369         your callsigns are different in some way.
3370       </para>
3371     </section>
3372   </chapter>
3373   <chapter>
3374     <title>AltosDroid</title>
3375     <para>
3376       AltosDroid provides the same flight monitoring capabilities as
3377       AltosUI, but runs on Android devices and is designed to connect
3378       to a TeleBT receiver over Bluetooth™. AltosDroid monitors
3379       telemetry data, logging it to internal storage in the Android
3380       device, and presents that data in a UI the same way the 'Monitor
3381       Flight' window does in AltosUI.
3382     </para>
3383     <para>
3384       This manual will explain how to configure AltosDroid, connect
3385       to TeleBT, operate the flight monitoring interface and describe
3386       what the displayed data means.
3387     </para>
3388     <section>
3389       <title>Installing AltosDroid</title>
3390       <para>
3391         AltosDroid is available from the Google Play store. To install
3392         it on your Android device, open the Google Play Store
3393         application and search for “altosdroid”. Make sure you don't
3394         have a space between “altos” and “droid” or you probably won't
3395         find what you want. That should bring you to the right page
3396         from which you can download and install the application.
3397       </para>
3398     </section>
3399     <section>
3400       <title>Connecting to TeleBT</title>
3401       <para>
3402         Press the Android 'Menu' button or soft-key to see the
3403         configuration options available. Select the 'Connect a device'
3404         option and then the 'Scan for devices' entry at the bottom to
3405         look for your TeleBT device. Select your device, and when it
3406         asks for the code, enter '1234'.
3407       </para>
3408       <para>
3409         Subsequent connections will not require you to enter that
3410         code, and your 'paired' device will appear in the list without
3411         scanning.
3412       </para>
3413     </section>
3414     <section>
3415       <title>Configuring AltosDroid</title>
3416       <para>
3417         The only configuration option available for AltosDroid is
3418         which frequency to listen on. Press the Android 'Menu' button
3419         or soft-key and pick the 'Select radio frequency' entry. That
3420         brings up a menu of pre-set radio frequencies; pick the one
3421         which matches your altimeter.
3422       </para>
3423     </section>
3424     <section>
3425       <title>AltosDroid Flight Monitoring</title>
3426       <para>
3427         AltosDroid is designed to mimic the AltosUI flight monitoring
3428         display, providing separate tabs for each stage of your rocket
3429         flight along with a tab containing a map of the local area
3430         with icons marking the current location of the altimeter and
3431         the Android device.
3432       </para>
3433       <section>
3434         <title>Pad</title>
3435         <para>
3436           The 'Launch Pad' tab shows information used to decide when the
3437           rocket is ready for flight. The first elements include red/green
3438           indicators, if any of these is red, you'll want to evaluate
3439           whether the rocket is ready to launch:
3440           <variablelist>
3441             <varlistentry>
3442               <term>Battery Voltage</term>
3443               <listitem>
3444                 <para>
3445                   This indicates whether the Li-Po battery
3446                   powering the TeleMetrum has sufficient charge to last for
3447                   the duration of the flight. A value of more than
3448                   3.8V is required for a 'GO' status.
3449                 </para>
3450               </listitem>
3451             </varlistentry>
3452             <varlistentry>
3453               <term>Apogee Igniter Voltage</term>
3454               <listitem>
3455                 <para>
3456                   This indicates whether the apogee
3457                   igniter has continuity. If the igniter has a low
3458                   resistance, then the voltage measured here will be close
3459                   to the Li-Po battery voltage. A value greater than 3.2V is
3460                   required for a 'GO' status.
3461                 </para>
3462               </listitem>
3463             </varlistentry>
3464             <varlistentry>
3465               <term>Main Igniter Voltage</term>
3466               <listitem>
3467                 <para>
3468                   This indicates whether the main
3469                   igniter has continuity. If the igniter has a low
3470                   resistance, then the voltage measured here will be close
3471                   to the Li-Po battery voltage. A value greater than 3.2V is
3472                   required for a 'GO' status.
3473                 </para>
3474               </listitem>
3475             </varlistentry>
3476             <varlistentry>
3477               <term>On-board Data Logging</term>
3478               <listitem>
3479                 <para>
3480                   This indicates whether there is
3481                   space remaining on-board to store flight data for the
3482                   upcoming flight. If you've downloaded data, but failed
3483                   to erase flights, there may not be any space
3484                   left. TeleMetrum can store multiple flights, depending
3485                   on the configured maximum flight log size. TeleMini
3486                   stores only a single flight, so it will need to be
3487                   downloaded and erased after each flight to capture
3488                   data. This only affects on-board flight logging; the
3489                   altimeter will still transmit telemetry and fire
3490                   ejection charges at the proper times.
3491                 </para>
3492               </listitem>
3493             </varlistentry>
3494             <varlistentry>
3495               <term>GPS Locked</term>
3496               <listitem>
3497                 <para>
3498                   For a TeleMetrum or TeleMega device, this indicates whether the GPS receiver is
3499                   currently able to compute position information. GPS requires
3500                   at least 4 satellites to compute an accurate position.
3501                 </para>
3502               </listitem>
3503             </varlistentry>
3504             <varlistentry>
3505               <term>GPS Ready</term>
3506               <listitem>
3507                 <para>
3508                   For a TeleMetrum or TeleMega device, this indicates whether GPS has reported at least
3509                   10 consecutive positions without losing lock. This ensures
3510                   that the GPS receiver has reliable reception from the
3511                   satellites.
3512                 </para>
3513               </listitem>
3514             </varlistentry>
3515           </variablelist>
3516         </para>
3517         <para>
3518           The Launchpad tab also shows the computed launch pad position
3519           and altitude, averaging many reported positions to improve the
3520           accuracy of the fix.
3521         </para>
3522       </section>
3523     </section>
3524     <section>
3525       <title>Downloading Flight Logs</title>
3526       <para>
3527         AltosDroid always saves every bit of telemetry data it
3528         receives. To download that to a computer for use with AltosUI,
3529         simply remove the SD card from your Android device, or connect
3530         your device to your computer's USB port and browse the files
3531         on that device. You will find '.telem' files in the TeleMetrum
3532         directory that will work with AltosUI directly.
3533       </para>
3534     </section>
3535   </chapter>
3536   <chapter>
3537     <title>Using Altus Metrum Products</title>
3538     <section>
3539       <title>Being Legal</title>
3540       <para>
3541         First off, in the US, you need an <ulink url="http://www.altusmetrum.org/Radio/">amateur radio license</ulink> or
3542         other authorization to legally operate the radio transmitters that are part
3543         of our products.
3544       </para>
3545       </section>
3546       <section>
3547         <title>In the Rocket</title>
3548         <para>
3549           In the rocket itself, you just need a flight computer and
3550           a single-cell, 3.7 volt nominal Li-Po rechargeable battery.  An 
3551           850mAh battery weighs less than a 9V alkaline battery, and will 
3552           run a TeleMetrum or TeleMega for hours.
3553           A 110mAh battery weighs less than a triple A battery and is a good
3554           choice for use with TeleMini.
3555         </para>
3556         <para>
3557           By default, we ship flight computers with a simple wire antenna.  
3558           If your electronics bay or the air-frame it resides within is made 
3559           of carbon fiber, which is opaque to RF signals, you may prefer to 
3560           install an SMA connector so that you can run a coaxial cable to an 
3561           antenna mounted elsewhere in the rocket.  However, note that the 
3562           GPS antenna is fixed on all current products, so you really want
3563           to install the flight computer in a bay made of RF-transparent
3564           materials if at all possible.
3565         </para>
3566       </section>
3567       <section>
3568         <title>On the Ground</title>
3569         <para>
3570           To receive the data stream from the rocket, you need an antenna and short
3571           feed-line connected to one of our <ulink url="http://www.altusmetrum.org/TeleDongle/">TeleDongle</ulink> units.  If possible, use an SMA to BNC 
3572         adapter instead of feedline between the antenna feedpoint and 
3573         TeleDongle, as this will give you the best performance.  The
3574           TeleDongle in turn plugs directly into the USB port on a notebook
3575           computer.  Because TeleDongle looks like a simple serial port, your computer
3576           does not require special device drivers... just plug it in.
3577         </para>
3578         <para>
3579           The GUI tool, AltosUI, is written in Java and runs across
3580           Linux, Mac OS and Windows. There's also a suite of C tools
3581           for Linux which can perform most of the same tasks.
3582         </para>
3583         <para>
3584           Alternatively, a TeleBT attached with an SMA to BNC adapter at the
3585           feed point of a hand-held yagi used in conjunction with an Android
3586           device running AltosDroid makes an outstanding ground station.
3587         </para>
3588         <para>
3589           After the flight, you can use the radio link to extract the more detailed data
3590           logged in either TeleMetrum or TeleMini devices, or you can use a mini USB cable to plug into the
3591           TeleMetrum board directly.  Pulling out the data without having to open up
3592           the rocket is pretty cool!  A USB cable is also how you charge the Li-Po
3593           battery, so you'll want one of those anyway... the same cable used by lots
3594           of digital cameras and other modern electronic stuff will work fine.
3595         </para>
3596         <para>
3597           If your rocket lands out of sight, you may enjoy having a hand-held 
3598           GPS receiver, so that you can put in a way-point for the last 
3599           reported rocket position before touch-down.  This makes looking for 
3600           your rocket a lot like Geo-Caching... just go to the way-point and 
3601           look around starting from there.  AltosDroid on an Android device
3602           with GPS receiver works great for this, too!
3603         </para>
3604         <para>
3605           You may also enjoy having a ham radio “HT” that covers the 70cm band... you
3606           can use that with your antenna to direction-find the rocket on the ground
3607           the same way you can use a Walston or Beeline tracker.  This can be handy
3608           if the rocket is hiding in sage brush or a tree, or if the last GPS position
3609           doesn't get you close enough because the rocket dropped into a canyon, or
3610           the wind is blowing it across a dry lake bed, or something like that...  Keith
3611           currently uses a Yaesu VX-7R, Bdale has a Baofung UV-5R
3612           which isn't as nice, but was a whole lot cheaper.
3613         </para>
3614         <para>
3615           So, to recap, on the ground the hardware you'll need includes:
3616           <orderedlist inheritnum='inherit' numeration='arabic'>
3617             <listitem>
3618               <para>
3619               an antenna and feed-line or adapter
3620               </para>
3621             </listitem>
3622             <listitem>
3623               <para>
3624               a TeleDongle
3625               </para>
3626             </listitem>
3627             <listitem>
3628               <para>
3629               a notebook computer
3630               </para>
3631             </listitem>
3632             <listitem>
3633               <para>
3634               optionally, a hand-held GPS receiver
3635               </para>
3636             </listitem>
3637             <listitem>
3638               <para>
3639               optionally, an HT or receiver covering 435 MHz
3640               </para>
3641             </listitem>
3642           </orderedlist>
3643         </para>
3644         <para>
3645           The best hand-held commercial directional antennas we've found for radio
3646           direction finding rockets are from
3647           <ulink url="http://www.arrowantennas.com/" >
3648             Arrow Antennas.
3649           </ulink>
3650           The 440-3 and 440-5 are both good choices for finding a
3651           TeleMetrum- or TeleMini- equipped rocket when used with a suitable 
3652           70cm HT.  TeleDongle and an SMA to BNC adapter fit perfectly
3653           between the driven element and reflector of Arrow antennas.
3654         </para>
3655       </section>
3656       <section>
3657         <title>Data Analysis</title>
3658         <para>
3659           Our software makes it easy to log the data from each flight, both the
3660           telemetry received during the flight itself, and the more
3661           complete data log recorded in the flash memory on the altimeter
3662           board.  Once this data is on your computer, our post-flight tools make it
3663           easy to quickly get to the numbers everyone wants, like apogee altitude,
3664           max acceleration, and max velocity.  You can also generate and view a
3665           standard set of plots showing the altitude, acceleration, and
3666           velocity of the rocket during flight.  And you can even export a TeleMetrum data file
3667           usable with Google Maps and Google Earth for visualizing the flight path
3668           in two or three dimensions!
3669         </para>
3670         <para>
3671           Our ultimate goal is to emit a set of files for each flight that can be
3672           published as a web page per flight, or just viewed on your local disk with
3673           a web browser.
3674         </para>
3675       </section>
3676       <section>
3677         <title>Future Plans</title>
3678         <para>
3679           We've designed a simple GPS based radio tracker called TeleGPS.  
3680           If all goes well, we hope to introduce this in the first
3681           half of 2014.
3682         </para>
3683         <para>
3684           We have designed and prototyped several “companion boards” that 
3685           can attach to the companion connector on TeleMetrum and TeleMega
3686           flight computers to collect more data, provide more pyro channels, 
3687           and so forth.  We do not yet know if or when any of these boards
3688           will be produced in enough quantity to sell.  If you have specific
3689           interests for data collection or control of events in your rockets
3690           beyond the capabilities of our existing productions, please let 
3691           us know!
3692         </para>
3693         <para>
3694           Because all of our work is open, both the hardware designs and the 
3695           software, if you have some great idea for an addition to the current 
3696           Altus Metrum family, feel free to dive in and help!  Or let us know 
3697           what you'd like to see that we aren't already working on, and maybe 
3698           we'll get excited about it too...
3699         </para>
3700         <para>
3701           Watch our 
3702           <ulink url="http://altusmetrum.org/">web site</ulink> for more news 
3703           and information as our family of products evolves!
3704         </para>
3705     </section>
3706   </chapter>
3707   <chapter>
3708     <title>Altimeter Installation Recommendations</title>
3709     <para>
3710       Building high-power rockets that fly safely is hard enough. Mix
3711       in some sophisticated electronics and a bunch of radio energy
3712       and some creativity and/or compromise may be required. This chapter
3713       contains some suggestions about how to install Altus Metrum
3714       products into a rocket air-frame, including how to safely and
3715       reliably mix a variety of electronics into the same air-frame.
3716     </para>
3717     <section>
3718       <title>Mounting the Altimeter</title>
3719       <para>
3720         The first consideration is to ensure that the altimeter is
3721         securely fastened to the air-frame. For most of our products, we 
3722         prefer nylon standoffs and nylon screws; they're good to at least 50G
3723         and cannot cause any electrical issues on the board.  Metal screws
3724         and standoffs are fine, too, just be careful to avoid electrical
3725         shorts!  For TeleMini v1.0, we usually cut small pieces of 1/16 inch 
3726         balsa to fit
3727         under the screw holes, and then take 2x56 nylon screws and
3728         screw them through the TeleMini mounting holes, through the
3729         balsa and into the underlying material.
3730       </para>
3731       <orderedlist inheritnum='inherit' numeration='arabic'>
3732         <listitem>
3733           <para>
3734             Make sure accelerometer-equipped products like TeleMetrum and
3735             TeleMega are aligned precisely along the axis of
3736             acceleration so that the accelerometer can accurately
3737             capture data during the flight.
3738           </para>
3739         </listitem>
3740         <listitem>
3741           <para>
3742             Watch for any metal touching components on the
3743             board. Shorting out connections on the bottom of the board
3744             can cause the altimeter to fail during flight.
3745           </para>
3746         </listitem>
3747       </orderedlist>
3748     </section>
3749     <section>
3750       <title>Dealing with the Antenna</title>
3751       <para>
3752         The antenna supplied is just a piece of solid, insulated,
3753         wire. If it gets damaged or broken, it can be easily
3754         replaced. It should be kept straight and not cut; bending or
3755         cutting it will change the resonant frequency and/or
3756         impedance, making it a less efficient radiator and thus
3757         reducing the range of the telemetry signal.
3758       </para>
3759       <para>
3760         Keeping metal away from the antenna will provide better range
3761         and a more even radiation pattern. In most rockets, it's not
3762         entirely possible to isolate the antenna from metal
3763         components; there are often bolts, all-thread and wires from other
3764         electronics to contend with. Just be aware that the more stuff
3765         like this around the antenna, the lower the range.
3766       </para>
3767       <para>
3768         Make sure the antenna is not inside a tube made or covered
3769         with conducting material. Carbon fiber is the most common
3770         culprit here -- CF is a good conductor and will effectively
3771         shield the antenna, dramatically reducing signal strength and
3772         range. Metallic flake paint is another effective shielding
3773         material which should be avoided around any antennas.
3774       </para>
3775       <para>
3776         If the ebay is large enough, it can be convenient to simply
3777         mount the altimeter at one end and stretch the antenna out
3778         inside. Taping the antenna to the sled can keep it straight
3779         under acceleration. If there are metal rods, keep the
3780         antenna as far away as possible.
3781       </para>
3782       <para>
3783         For a shorter ebay, it's quite practical to have the antenna
3784         run through a bulkhead and into an adjacent bay. Drill a small
3785         hole in the bulkhead, pass the antenna wire through it and
3786         then seal it up with glue or clay. We've also used acrylic
3787         tubing to create a cavity for the antenna wire. This works a
3788         bit better in that the antenna is known to stay straight and
3789         not get folded by recovery components in the bay. Angle the
3790         tubing towards the side wall of the rocket and it ends up
3791         consuming very little space.
3792       </para>
3793       <para>
3794         If you need to place the UHF antenna at a distance from the
3795         altimeter, you can replace the antenna with an edge-mounted
3796         SMA connector, and then run 50Ω coax from the board to the
3797         antenna. Building a remote antenna is beyond the scope of this
3798         manual.
3799       </para>
3800     </section>
3801     <section>
3802       <title>Preserving GPS Reception</title>
3803       <para>
3804         The GPS antenna and receiver used in TeleMetrum and TeleMega is 
3805         highly sensitive and normally have no trouble tracking enough
3806         satellites to provide accurate position information for
3807         recovering the rocket. However, there are many ways the GPS signal
3808         can end up attenuated, negatively affecting GPS performance. 
3809       <orderedlist inheritnum='inherit' numeration='arabic'>
3810         <listitem>
3811           <para>
3812             Conductive tubing or coatings. Carbon fiber and metal
3813             tubing, or metallic paint will all dramatically attenuate the
3814             GPS signal. We've never heard of anyone successfully
3815             receiving GPS from inside these materials.
3816           </para>
3817         </listitem>
3818         <listitem>
3819           <para>
3820             Metal components near the GPS patch antenna. These will
3821             de-tune the patch antenna, changing the resonant frequency
3822             away from the L1 carrier and reduce the effectiveness of the
3823             antenna. You can place as much stuff as you like beneath the
3824             antenna as that's covered with a ground plane. But, keep
3825             wires and metal out from above the patch antenna.
3826           </para>
3827         </listitem>
3828       </orderedlist>
3829       </para>
3830     </section>
3831     <section>
3832       <title>Radio Frequency Interference</title>
3833       <para>
3834         Any altimeter will generate RFI; the digital circuits use
3835         high-frequency clocks that spray radio interference across a
3836         wide band. Altus Metrum altimeters generate intentional radio
3837         signals as well, increasing the amount of RF energy around the board.
3838       </para>
3839       <para>
3840         Rocketry altimeters also use precise sensors measuring air
3841         pressure and acceleration. Tiny changes in voltage can cause
3842         these sensor readings to vary by a huge amount. When the
3843         sensors start mis-reporting data, the altimeter can either
3844         fire the igniters at the wrong time, or not fire them at all.
3845       </para>
3846       <para>
3847         Voltages are induced when radio frequency energy is
3848         transmitted from one circuit to another. Here are things that
3849         influence the induced voltage and current:
3850       </para>
3851       <itemizedlist>
3852         <listitem>
3853           <para>
3854             Keep wires from different circuits apart. Moving circuits
3855             further apart will reduce RFI.
3856           </para>
3857         </listitem>
3858         <listitem>
3859           <para>
3860           Avoid parallel wires from different circuits. The longer two
3861           wires run parallel to one another, the larger the amount of
3862           transferred energy. Cross wires at right angles to reduce
3863           RFI.
3864           </para>
3865         </listitem>
3866         <listitem>
3867           <para>
3868           Twist wires from the same circuits. Two wires the same
3869           distance from the transmitter will get the same amount of
3870           induced energy which will then cancel out. Any time you have
3871           a wire pair running together, twist the pair together to
3872           even out distances and reduce RFI. For altimeters, this
3873           includes battery leads, switch hookups and igniter
3874           circuits.
3875           </para>
3876         </listitem>
3877         <listitem>
3878           <para>
3879           Avoid resonant lengths. Know what frequencies are present
3880           in the environment and avoid having wire lengths near a
3881           natural resonant length. Altus Metrum products transmit on the
3882           70cm amateur band, so you should avoid lengths that are a
3883           simple ratio of that length; essentially any multiple of ¼
3884           of the wavelength (17.5cm).
3885           </para>
3886         </listitem>
3887       </itemizedlist>
3888     </section>
3889     <section>
3890       <title>The Barometric Sensor</title>
3891       <para>
3892         Altusmetrum altimeters measure altitude with a barometric
3893         sensor, essentially measuring the amount of air above the
3894         rocket to figure out how high it is. A large number of
3895         measurements are taken as the altimeter initializes itself to
3896         figure out the pad altitude. Subsequent measurements are then
3897         used to compute the height above the pad.
3898       </para>
3899       <para>
3900         To accurately measure atmospheric pressure, the ebay
3901         containing the altimeter must be vented outside the
3902         air-frame. The vent must be placed in a region of linear
3903         airflow, have smooth edges, and away from areas of increasing or 
3904         decreasing pressure.
3905       </para>
3906       <para>
3907         All barometric sensors are quite sensitive to chemical damage from 
3908         the products of APCP or BP combustion, so make sure the ebay is 
3909         carefully sealed from any compartment which contains ejection 
3910         charges or motors.
3911       </para>
3912     </section>
3913     <section>
3914       <title>Ground Testing</title>
3915       <para>
3916         The most important aspect of any installation is careful
3917         ground testing. Bringing an air-frame up to the LCO table which
3918         hasn't been ground tested can lead to delays or ejection
3919         charges firing on the pad, or, even worse, a recovery system
3920         failure.
3921       </para>
3922       <para>
3923         Do a 'full systems' test that includes wiring up all igniters
3924         without any BP and turning on all of the electronics in flight
3925         mode. This will catch any mistakes in wiring and any residual
3926         RFI issues that might accidentally fire igniters at the wrong
3927         time. Let the air-frame sit for several minutes, checking for
3928         adequate telemetry signal strength and GPS lock.  If any igniters
3929         fire unexpectedly, find and resolve the issue before loading any
3930         BP charges!
3931       </para>
3932       <para>
3933         Ground test the ejection charges. Prepare the rocket for
3934         flight, loading ejection charges and igniters. Completely
3935         assemble the air-frame and then use the 'Fire Igniters'
3936         interface through a TeleDongle to command each charge to
3937         fire. Make sure the charge is sufficient to robustly separate
3938         the air-frame and deploy the recovery system.
3939       </para>
3940     </section>
3941   </chapter>
3942   <chapter>
3943     <title>Updating Device Firmware</title>
3944     <para>
3945       TeleMega, TeleMetrum v2 and EasyMini are all programmed directly
3946       over their USB connectors (self programming). TeleMetrum v1, TeleMini and
3947       TeleDongle are all programmed by using another device as a
3948       programmer (pair programming). It's important to recognize which
3949       kind of devices you have before trying to reprogram them.
3950     </para>
3951     <para>
3952       You may wish to begin by ensuring you have current firmware images.
3953       These are distributed as part of the AltOS software bundle that
3954       also includes the AltosUI ground station program.  Newer ground
3955       station versions typically work fine with older firmware versions,
3956       so you don't need to update your devices just to try out new
3957       software features.  You can always download the most recent
3958       version from <ulink url="http://www.altusmetrum.org/AltOS/"/>.
3959     </para>
3960     <para>
3961       If you need to update the firmware on a TeleDongle, we recommend 
3962       updating the altimeter first, before updating TeleDongle.  However,
3963       note that TeleDongle rarely need to be updated.  Any firmware version
3964       1.0.1 or later will work, version 1.2.1 may have improved receiver
3965       performance slightly.
3966     </para>
3967     <para>
3968       Self-programmable devices (TeleMega, TeleMetrum v2 and EasyMini)
3969       are reprogrammed by connecting them to your computer over USB
3970     </para>
3971     <section>
3972       <title>
3973         Updating TeleMega, TeleMetrum v2 or EasyMini Firmware
3974       </title>
3975       <orderedlist inheritnum='inherit' numeration='arabic'>
3976         <listitem>
3977           <para>
3978             Attach a battery and power switch to the target
3979             device. Power up the device.
3980           </para>
3981         </listitem>
3982         <listitem>
3983           <para>
3984             Using a Micro USB cable, connect the target device to your
3985             computer's USB socket.
3986           </para>
3987         </listitem>
3988         <listitem>
3989           <para>
3990             Run AltosUI, and select 'Flash Image' from the File menu.
3991           </para>
3992         </listitem>
3993         <listitem>
3994           <para>
3995             Select the target device in the Device Selection dialog.
3996           </para>
3997         </listitem>
3998         <listitem>
3999           <para>
4000             Select the image you want to flash to the device, which
4001             should have a name in the form
4002             &lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx, such
4003             as TeleMega-v1.0-1.3.0.ihx.
4004           </para>
4005         </listitem>
4006         <listitem>
4007           <para>
4008             Make sure the configuration parameters are reasonable
4009             looking. If the serial number and/or RF configuration
4010             values aren't right, you'll need to change them.
4011           </para>
4012         </listitem>
4013         <listitem>
4014           <para>
4015             Hit the 'OK' button and the software should proceed to flash
4016             the device with new firmware, showing a progress bar.
4017           </para>
4018         </listitem>
4019         <listitem>
4020           <para>
4021             Verify that the device is working by using the 'Configure
4022             Altimeter' item to check over the configuration.
4023           </para>
4024         </listitem>
4025       </orderedlist>
4026       <section>
4027         <title>Recovering From Self-Flashing Failure</title>
4028         <para>
4029           If the firmware loading fails, it can leave the device
4030           unable to boot. Not to worry, you can force the device to
4031           start the boot loader instead, which will let you try to
4032           flash the device again.
4033         </para>
4034         <para>
4035           On each device, connecting two pins from one of the exposed
4036           connectors will force the boot loader to start, even if the
4037           regular operating system has been corrupted in some way.
4038         </para>
4039         <variablelist>
4040           <varlistentry>
4041             <term>TeleMega</term>
4042             <listitem>
4043               <para>
4044                 Connect pin 6 and pin 1 of the companion connector. Pin 1
4045                 can be identified by the square pad around it, and then
4046                 the pins could sequentially across the board. Be very
4047                 careful to <emphasis>not</emphasis> short pin 8 to
4048                 anything as that is connected directly to the battery. Pin
4049                 7 carries 3.3V and the board will crash if that is
4050                 connected to pin 1, but shouldn't damage the board.
4051               </para>
4052             </listitem>
4053           </varlistentry>
4054           <varlistentry>
4055             <term>TeleMetrum v2</term>
4056             <listitem>
4057               <para>
4058                 Connect pin 6 and pin 1 of the companion connector. Pin 1
4059                 can be identified by the square pad around it, and then
4060                 the pins could sequentially across the board. Be very
4061                 careful to <emphasis>not</emphasis> short pin 8 to
4062                 anything as that is connected directly to the battery. Pin
4063                 7 carries 3.3V and the board will crash if that is
4064                 connected to pin 1, but shouldn't damage the board.
4065               </para>
4066             </listitem>
4067           </varlistentry>
4068           <varlistentry>
4069             <term>EasyMini</term>
4070             <listitem>
4071               <para>
4072                 Connect pin 6 and pin 1 of the debug connector, which is
4073                 the six holes next to the beeper. Pin 1 can be identified
4074                 by the square pad around it, and then the pins could
4075                 sequentially across the board, making Pin 6 the one on the
4076                 other end of the row.
4077               </para>
4078             </listitem>
4079           </varlistentry>
4080         </variablelist>
4081       </section>
4082     </section>
4083     <section>
4084       <title>Pair Programming</title>
4085       <para>
4086         The big concept to understand is that you have to use a
4087         TeleMega, TeleMetrum or TeleDongle as a programmer to update a
4088         pair programmed device. Due to limited memory resources in the
4089         cc1111, we don't support programming directly over USB for these
4090         devices.
4091       </para>
4092     </section>
4093     <section>
4094       <title>Updating TeleMetrum v1.x Firmware</title>
4095       <orderedlist inheritnum='inherit' numeration='arabic'>
4096         <listitem>
4097           <para>
4098           Find the 'programming cable' that you got as part of the starter
4099           kit, that has a red 8-pin MicroMaTch connector on one end and a
4100           red 4-pin MicroMaTch connector on the other end.
4101           </para>
4102         </listitem>
4103         <listitem>
4104           <para>
4105           Take the 2 screws out of the TeleDongle case to get access
4106           to the circuit board.
4107           </para>
4108         </listitem>
4109         <listitem>
4110           <para>
4111           Plug the 8-pin end of the programming cable to the
4112           matching connector on the TeleDongle, and the 4-pin end to the
4113           matching connector on the TeleMetrum.
4114           Note that each MicroMaTch connector has an alignment pin that
4115           goes through a hole in the PC board when you have the cable
4116           oriented correctly.
4117           </para>
4118         </listitem>
4119         <listitem>
4120           <para>
4121           Attach a battery to the TeleMetrum board.
4122           </para>
4123         </listitem>
4124         <listitem>
4125           <para>
4126           Plug the TeleDongle into your computer's USB port, and power
4127           up the TeleMetrum.
4128           </para>
4129         </listitem>
4130         <listitem>
4131           <para>
4132           Run AltosUI, and select 'Flash Image' from the File menu.
4133           </para>
4134         </listitem>
4135         <listitem>
4136           <para>
4137           Pick the TeleDongle device from the list, identifying it as the
4138           programming device.
4139           </para>
4140         </listitem>
4141         <listitem>
4142           <para>
4143           Select the image you want put on the TeleMetrum, which should have a
4144           name in the form telemetrum-v1.2-1.0.0.ihx.  It should be visible
4145         in the default directory, if not you may have to poke around
4146         your system to find it.
4147           </para>
4148         </listitem>
4149         <listitem>
4150           <para>
4151           Make sure the configuration parameters are reasonable
4152           looking. If the serial number and/or RF configuration
4153           values aren't right, you'll need to change them.
4154           </para>
4155         </listitem>
4156         <listitem>
4157           <para>
4158           Hit the 'OK' button and the software should proceed to flash
4159           the TeleMetrum with new firmware, showing a progress bar.
4160           </para>
4161         </listitem>
4162         <listitem>
4163           <para>
4164           Confirm that the TeleMetrum board seems to have updated OK, which you
4165           can do by plugging in to it over USB and using a terminal program
4166           to connect to the board and issue the 'v' command to check
4167           the version, etc.
4168           </para>
4169         </listitem>
4170         <listitem>
4171           <para>
4172           If something goes wrong, give it another try.
4173           </para>
4174         </listitem>
4175       </orderedlist>
4176     </section>
4177     <section>
4178       <title>Updating TeleMini Firmware</title>
4179       <orderedlist inheritnum='inherit' numeration='arabic'>
4180         <listitem>
4181 <para>
4182           You'll need a special 'programming cable' to reprogram the
4183           TeleMini.  You can make your own using an 8-pin MicroMaTch 
4184           connector on one end and a set of four pins on the other.
4185         </para>
4186 </listitem>
4187         <listitem>
4188 <para>
4189           Take the 2 screws out of the TeleDongle case to get access
4190           to the circuit board.
4191         </para>
4192 </listitem>
4193         <listitem>
4194 <para>
4195           Plug the 8-pin end of the programming cable to the matching
4196           connector on the TeleDongle, and the 4-pins into the holes
4197           in the TeleMini circuit board.  Note that the MicroMaTch
4198           connector has an alignment pin that goes through a hole in
4199           the PC board when you have the cable oriented correctly, and
4200           that pin 1 on the TeleMini board is marked with a square pad
4201           while the other pins have round pads.
4202         </para>
4203 </listitem>
4204         <listitem>
4205 <para>
4206           Attach a battery to the TeleMini board.
4207         </para>
4208 </listitem>
4209         <listitem>
4210 <para>
4211           Plug the TeleDongle into your computer's USB port, and power
4212           up the TeleMini
4213         </para>
4214 </listitem>
4215         <listitem>
4216 <para>
4217           Run AltosUI, and select 'Flash Image' from the File menu.
4218         </para>
4219 </listitem>
4220         <listitem>
4221 <para>
4222           Pick the TeleDongle device from the list, identifying it as the
4223           programming device.
4224         </para>
4225 </listitem>
4226         <listitem>
4227 <para>
4228           Select the image you want put on the TeleMini, which should have a
4229           name in the form telemini-v1.0-1.0.0.ihx.  It should be visible
4230         in the default directory, if not you may have to poke around
4231         your system to find it.
4232         </para>
4233 </listitem>
4234         <listitem>
4235 <para>
4236           Make sure the configuration parameters are reasonable
4237           looking. If the serial number and/or RF configuration
4238           values aren't right, you'll need to change them.
4239         </para>
4240 </listitem>
4241         <listitem>
4242 <para>
4243           Hit the 'OK' button and the software should proceed to flash
4244           the TeleMini with new firmware, showing a progress bar.
4245         </para>
4246 </listitem>
4247         <listitem>
4248 <para>
4249           Confirm that the TeleMini board seems to have updated OK, which you
4250           can do by configuring it over the radio link through the TeleDongle, or
4251           letting it come up in “flight” mode and listening for telemetry.
4252         </para>
4253 </listitem>
4254         <listitem>
4255 <para>
4256           If something goes wrong, give it another try.
4257         </para>
4258 </listitem>
4259       </orderedlist>
4260     </section>
4261     <section>
4262       <title>Updating TeleDongle Firmware</title>
4263       <para>
4264         Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
4265         firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
4266         </para>
4267       <orderedlist inheritnum='inherit' numeration='arabic'>
4268         <listitem>
4269 <para>
4270           Find the 'programming cable' that you got as part of the starter
4271           kit, that has a red 8-pin MicroMaTch connector on one end and a
4272           red 4-pin MicroMaTch connector on the other end.
4273         </para>
4274 </listitem>
4275         <listitem>
4276 <para>
4277           Find the USB cable that you got as part of the starter kit, and
4278           plug the “mini” end in to the mating connector on TeleMetrum or TeleDongle.
4279         </para>
4280 </listitem>
4281         <listitem>
4282 <para>
4283           Take the 2 screws out of the TeleDongle case to get access
4284           to the circuit board.
4285         </para>
4286 </listitem>
4287         <listitem>
4288 <para>
4289           Plug the 8-pin end of the programming cable to the
4290           matching connector on the programmer, and the 4-pin end to the
4291           matching connector on the TeleDongle.
4292           Note that each MicroMaTch connector has an alignment pin that
4293           goes through a hole in the PC board when you have the cable
4294           oriented correctly.
4295         </para>
4296 </listitem>
4297         <listitem>
4298 <para>
4299           Attach a battery to the TeleMetrum board if you're using one.
4300         </para>
4301 </listitem>
4302         <listitem>
4303 <para>
4304           Plug both the programmer and the TeleDongle into your computer's USB
4305           ports, and power up the programmer.
4306         </para>
4307 </listitem>
4308         <listitem>
4309 <para>
4310           Run AltosUI, and select 'Flash Image' from the File menu.
4311         </para>
4312 </listitem>
4313         <listitem>
4314 <para>
4315           Pick the programmer device from the list, identifying it as the
4316           programming device.
4317         </para>
4318 </listitem>
4319         <listitem>
4320 <para>
4321           Select the image you want put on the TeleDongle, which should have a
4322           name in the form teledongle-v0.2-1.0.0.ihx.  It should be visible
4323         in the default directory, if not you may have to poke around
4324         your system to find it.
4325         </para>
4326 </listitem>
4327         <listitem>
4328 <para>
4329           Make sure the configuration parameters are reasonable
4330           looking. If the serial number and/or RF configuration
4331           values aren't right, you'll need to change them.  The TeleDongle
4332           serial number is on the “bottom” of the circuit board, and can
4333           usually be read through the translucent blue plastic case without
4334           needing to remove the board from the case.
4335         </para>
4336 </listitem>
4337         <listitem>
4338 <para>
4339           Hit the 'OK' button and the software should proceed to flash
4340           the TeleDongle with new firmware, showing a progress bar.
4341         </para>
4342 </listitem>
4343         <listitem>
4344 <para>
4345           Confirm that the TeleDongle board seems to have updated OK, which you
4346           can do by plugging in to it over USB and using a terminal program
4347           to connect to the board and issue the 'v' command to check
4348           the version, etc.  Once you're happy, remove the programming cable
4349           and put the cover back on the TeleDongle.
4350         </para>
4351 </listitem>
4352         <listitem>
4353 <para>
4354           If something goes wrong, give it another try.
4355         </para>
4356 </listitem>
4357       </orderedlist>
4358       <para>
4359         Be careful removing the programming cable from the locking 8-pin
4360         connector on TeleMetrum.  You'll need a fingernail or perhaps a thin
4361         screwdriver or knife blade to gently pry the locking ears out
4362         slightly to extract the connector.  We used a locking connector on
4363         TeleMetrum to help ensure that the cabling to companion boards
4364         used in a rocket don't ever come loose accidentally in flight.
4365       </para>
4366     </section>
4367   </chapter>
4368   <chapter>
4369     <title>Hardware Specifications</title>
4370     <section>
4371       <title>
4372         TeleMega Specifications
4373       </title>
4374       <itemizedlist>
4375         <listitem>
4376           <para>
4377             Recording altimeter for model rocketry.
4378           </para>
4379         </listitem>
4380         <listitem>
4381           <para>
4382             Supports dual deployment and four auxiliary pyro channels
4383             (a total of 6 events).
4384           </para>
4385         </listitem>
4386         <listitem>
4387           <para>
4388             70cm 40mW ham-band transceiver for telemetry down-link.
4389           </para>
4390         </listitem>
4391         <listitem>
4392           <para>
4393             Barometric pressure sensor good to 100k feet MSL.
4394           </para>
4395         </listitem>
4396         <listitem>
4397           <para>
4398             1-axis high-g accelerometer for motor characterization, capable of
4399             +/- 102g.
4400           </para>
4401         </listitem>
4402         <listitem>
4403           <para>
4404             9-axis IMU including integrated 3-axis accelerometer,
4405             3-axis gyroscope and 3-axis magnetometer.
4406           </para>
4407         </listitem>
4408         <listitem>
4409           <para>
4410             On-board, integrated uBlox Max 7 GPS receiver with 5Hz update rate capability.
4411           </para>
4412         </listitem>
4413         <listitem>
4414           <para>
4415             On-board 8 Megabyte non-volatile memory for flight data storage.
4416           </para>
4417         </listitem>
4418         <listitem>
4419           <para>
4420             USB interface for battery charging, configuration, and data recovery.
4421           </para>
4422         </listitem>
4423         <listitem>
4424           <para>
4425             Fully integrated support for Li-Po rechargeable batteries.
4426           </para>
4427         </listitem>
4428         <listitem>
4429           <para>
4430             Can use either main system Li-Po or optional separate pyro battery
4431             to fire e-matches.
4432           </para>
4433         </listitem>
4434         <listitem>
4435           <para>
4436             3.25 x 1.25 inch board designed to fit inside 38mm air-frame coupler tube.
4437           </para>
4438         </listitem>
4439       </itemizedlist>
4440     </section>
4441     <section>
4442       <title>
4443         TeleMetrum v2 Specifications
4444       </title>
4445       <itemizedlist>
4446         <listitem>
4447           <para>
4448             Recording altimeter for model rocketry.
4449           </para>
4450         </listitem>
4451         <listitem>
4452           <para>
4453             Supports dual deployment (can fire 2 ejection charges).
4454           </para>
4455         </listitem>
4456         <listitem>
4457           <para>
4458             70cm, 40mW ham-band transceiver for telemetry down-link.
4459           </para>
4460         </listitem>
4461         <listitem>
4462           <para>
4463             Barometric pressure sensor good to 100k feet MSL.
4464           </para>
4465         </listitem>
4466         <listitem>
4467           <para>
4468             1-axis high-g accelerometer for motor characterization, capable of
4469             +/- 102g.
4470           </para>
4471         </listitem>
4472         <listitem>
4473           <para>
4474             On-board, integrated uBlox Max 7 GPS receiver with 5Hz update rate capability.
4475           </para>
4476         </listitem>
4477         <listitem>
4478           <para>
4479             On-board 8 Megabyte non-volatile memory for flight data storage.
4480           </para>
4481         </listitem>
4482         <listitem>
4483           <para>
4484             USB interface for battery charging, configuration, and data recovery.
4485           </para>
4486         </listitem>
4487         <listitem>
4488           <para>
4489             Fully integrated support for Li-Po rechargeable batteries.
4490           </para>
4491         </listitem>
4492         <listitem>
4493           <para>
4494             Uses Li-Po to fire e-matches, can be modified to support 
4495             optional separate pyro battery if needed.
4496           </para>
4497         </listitem>
4498         <listitem>
4499           <para>
4500             2.75 x 1 inch board designed to fit inside 29mm air-frame coupler tube.
4501           </para>
4502         </listitem>
4503       </itemizedlist>
4504     </section>
4505     <section>
4506       <title>TeleMetrum v1 Specifications</title>
4507       <itemizedlist>
4508         <listitem>
4509           <para>
4510             Recording altimeter for model rocketry.
4511           </para>
4512         </listitem>
4513         <listitem>
4514           <para>
4515             Supports dual deployment (can fire 2 ejection charges).
4516           </para>
4517         </listitem>
4518         <listitem>
4519           <para>
4520             70cm, 10mW ham-band transceiver for telemetry down-link.
4521           </para>
4522         </listitem>
4523         <listitem>
4524           <para>
4525             Barometric pressure sensor good to 45k feet MSL.
4526           </para>
4527         </listitem>
4528         <listitem>
4529           <para>
4530             1-axis high-g accelerometer for motor characterization, capable of
4531             +/- 50g using default part.
4532           </para>
4533         </listitem>
4534         <listitem>
4535           <para>
4536             On-board, integrated GPS receiver with 5Hz update rate capability.
4537           </para>
4538         </listitem>
4539         <listitem>
4540           <para>
4541             On-board 1 megabyte non-volatile memory for flight data storage.
4542           </para>
4543         </listitem>
4544         <listitem>
4545           <para>
4546             USB interface for battery charging, configuration, and data recovery.
4547           </para>
4548         </listitem>
4549         <listitem>
4550           <para>
4551             Fully integrated support for Li-Po rechargeable batteries.
4552           </para>
4553         </listitem>
4554         <listitem>
4555           <para>
4556             Uses Li-Po to fire e-matches, can be modified to support 
4557             optional separate pyro battery if needed.
4558           </para>
4559         </listitem>
4560         <listitem>
4561           <para>
4562             2.75 x 1 inch board designed to fit inside 29mm air-frame coupler tube.
4563           </para>
4564         </listitem>
4565       </itemizedlist>
4566     </section>
4567     <section>
4568       <title>
4569         TeleMini v2.0 Specifications
4570       </title>
4571       <itemizedlist>
4572         <listitem>
4573           <para>
4574             Recording altimeter for model rocketry.
4575           </para>
4576         </listitem>
4577         <listitem>
4578           <para>
4579             Supports dual deployment (can fire 2 ejection charges).
4580           </para>
4581         </listitem>
4582         <listitem>
4583           <para>
4584             70cm, 10mW ham-band transceiver for telemetry down-link.
4585           </para>
4586         </listitem>
4587         <listitem>
4588           <para>
4589             Barometric pressure sensor good to 100k feet MSL.
4590           </para>
4591         </listitem>
4592         <listitem>
4593           <para>
4594             On-board 1 megabyte non-volatile memory for flight data storage.
4595           </para>
4596         </listitem>
4597         <listitem>
4598           <para>
4599             USB interface for configuration, and data recovery.
4600           </para>
4601         </listitem>
4602         <listitem>
4603           <para>
4604             Support for Li-Po rechargeable batteries (using an
4605             external charger), or any 3.7-15V external battery.
4606           </para>
4607         </listitem>
4608         <listitem>
4609           <para>
4610             Uses Li-Po to fire e-matches, can be modified to support 
4611             optional separate pyro battery if needed.
4612           </para>
4613         </listitem>
4614         <listitem>
4615           <para>
4616             1.5 x .8 inch board designed to fit inside 24mm air-frame coupler tube.
4617           </para>
4618         </listitem>
4619       </itemizedlist>
4620     </section>
4621     <section>
4622       <title>
4623         TeleMini v1.0 Specifications
4624       </title>
4625       <itemizedlist>
4626         <listitem>
4627           <para>
4628             Recording altimeter for model rocketry.
4629           </para>
4630         </listitem>
4631         <listitem>
4632           <para>
4633             Supports dual deployment (can fire 2 ejection charges).
4634           </para>
4635         </listitem>
4636         <listitem>
4637           <para>
4638             70cm, 10mW ham-band transceiver for telemetry down-link.
4639           </para>
4640         </listitem>
4641         <listitem>
4642           <para>
4643             Barometric pressure sensor good to 45k feet MSL.
4644           </para>
4645         </listitem>
4646         <listitem>
4647           <para>
4648             On-board 5 kilobyte non-volatile memory for flight data storage.
4649           </para>
4650         </listitem>
4651         <listitem>
4652           <para>
4653             RF interface for configuration, and data recovery.
4654           </para>
4655         </listitem>
4656         <listitem>
4657           <para>
4658             Support for Li-Po rechargeable batteries, using an external charger.
4659           </para>
4660         </listitem>
4661         <listitem>
4662           <para>
4663             Uses Li-Po to fire e-matches, can be modified to support 
4664             optional separate pyro battery if needed.
4665           </para>
4666         </listitem>
4667         <listitem>
4668           <para>
4669             1.5 x .5 inch board designed to fit inside 18mm air-frame coupler tube.
4670           </para>
4671         </listitem>
4672       </itemizedlist>
4673     </section>
4674     <section>
4675       <title>
4676         EasyMini Specifications
4677       </title>
4678       <itemizedlist>
4679         <listitem>
4680           <para>
4681             Recording altimeter for model rocketry.
4682           </para>
4683         </listitem>
4684         <listitem>
4685           <para>
4686             Supports dual deployment (can fire 2 ejection charges).
4687           </para>
4688         </listitem>
4689         <listitem>
4690           <para>
4691             Barometric pressure sensor good to 100k feet MSL.
4692           </para>
4693         </listitem>
4694         <listitem>
4695           <para>
4696             On-board 1 megabyte non-volatile memory for flight data storage.
4697           </para>
4698         </listitem>
4699         <listitem>
4700           <para>
4701             USB interface for configuration, and data recovery.
4702           </para>
4703         </listitem>
4704         <listitem>
4705           <para>
4706             Support for Li-Po rechargeable batteries (using an
4707             external charger), or any 3.7-15V external battery.
4708           </para>
4709         </listitem>
4710         <listitem>
4711           <para>
4712             Uses Li-Po to fire e-matches, can be modified to support 
4713             optional separate pyro battery if needed.
4714           </para>
4715         </listitem>
4716         <listitem>
4717           <para>
4718             1.5 x .8 inch board designed to fit inside 24mm air-frame coupler tube.
4719           </para>
4720         </listitem>
4721       </itemizedlist>
4722     </section>
4723   </chapter>
4724   <chapter>
4725     <title>FAQ</title>
4726       <para>
4727         <emphasis>TeleMetrum seems to shut off when disconnected from the
4728         computer.</emphasis>  <?linebreak?>
4729         Make sure the battery is adequately charged.  Remember the
4730         unit will pull more power than the USB port can deliver before the
4731         GPS enters “locked” mode.  The battery charges best when TeleMetrum
4732         is turned off.
4733       </para>
4734       <para>
4735         <emphasis>It's impossible to stop the TeleDongle when it's in “p” mode, I have
4736         to unplug the USB cable? </emphasis><?linebreak?>
4737         Make sure you have tried to “escape out” of
4738         this mode.  If this doesn't work the reboot procedure for the
4739         TeleDongle *is* to simply unplug it. 'cu' however will retain it's
4740         outgoing buffer IF your “escape out” ('~~') does not work.
4741         At this point using either 'ao-view' (or possibly
4742         'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
4743         communication.
4744       </para>
4745       <para>
4746         <emphasis>The amber LED (on the TeleMetrum) lights up when both
4747         battery and USB are connected. Does this mean it's charging? 
4748         </emphasis><?linebreak?>
4749         Yes, the yellow LED indicates the charging at the 'regular' rate.
4750         If the led is out but the unit is still plugged into a USB port,
4751         then the battery is being charged at a 'trickle' rate.
4752       </para>
4753       <para>
4754         <emphasis>There are no “dit-dah-dah-dit” sound or lights like the manual 
4755         mentions?</emphasis><?linebreak?>
4756         That's the “pad” mode.  Weak batteries might be the problem.
4757         It is also possible that the flight computer is horizontal and the 
4758         output
4759         is instead a “dit-dit” meaning 'idle'. For TeleMini, it's possible that
4760         it received a command packet which would have left it in “pad” mode.
4761       </para>
4762       <para>
4763         <emphasis>How do I save flight data?</emphasis><?linebreak?>
4764         Live telemetry is written to file(s) whenever AltosUI is connected
4765         to the TeleDongle.  The file area defaults to ~/TeleMetrum
4766         but is easily changed using the menus in AltosUI. The files that
4767         are written end in '.telem'. The after-flight
4768         data-dumped files will end in .eeprom and represent continuous data
4769         unlike the .telem files that are subject to losses
4770         along the RF data path.
4771         See the above instructions on what and how to save the eeprom stored
4772         data after physically retrieving your altimeter.  Make sure to save
4773         the on-board data after each flight; while the TeleMetrum can store
4774         multiple flights, you never know when you'll lose the altimeter...
4775       </para>
4776   </chapter>
4777   <appendix>
4778     <title>Notes for Older Software</title>
4779     <para>
4780       <emphasis>
4781       Before AltosUI was written, using Altus Metrum devices required
4782       some finesse with the Linux command line. There was a limited
4783       GUI tool, ao-view, which provided functionality similar to the
4784       Monitor Flight window in AltosUI, but everything else was a
4785       fairly 80's experience. This appendix includes documentation for
4786       using that software.
4787       </emphasis>
4788     </para>
4789     <para>
4790       Both TeleMetrum and TeleDongle can be directly communicated
4791       with using USB ports. The first thing you should try after getting
4792       both units plugged into to your computer's USB port(s) is to run
4793       'ao-list' from a terminal-window to see what port-device-name each
4794       device has been assigned by the operating system.
4795       You will need this information to access the devices via their
4796       respective on-board firmware and data using other command line
4797       programs in the AltOS software suite.
4798     </para>
4799     <para>
4800       TeleMini can be communicated with through a TeleDongle device
4801       over the radio link. When first booted, TeleMini listens for a
4802       TeleDongle device and if it receives a packet, it goes into
4803       'idle' mode. Otherwise, it goes into 'pad' mode and waits to be
4804       launched. The easiest way to get it talking is to start the
4805       communication link on the TeleDongle and the power up the
4806       TeleMini board.
4807     </para>
4808     <para>
4809       To access the device's firmware for configuration you need a terminal
4810       program such as you would use to talk to a modem.  The software
4811       authors prefer using the program 'cu' which comes from the UUCP package
4812       on most Unix-like systems such as Linux.  An example command line for
4813       cu might be 'cu -l /dev/ttyACM0', substituting the correct number
4814       indicated from running the
4815       ao-list program.  Another reasonable terminal program for Linux is
4816       'cutecom'.  The default 'escape'
4817       character used by CU (i.e. the character you use to
4818       issue commands to cu itself instead of sending the command as input
4819       to the connected device) is a '~'. You will need this for use in
4820       only two different ways during normal operations. First is to exit
4821       the program by sending a '~.' which is called a 'escape-disconnect'
4822       and allows you to close-out from 'cu'. The
4823       second use will be outlined later.
4824     </para>
4825     <para>
4826       All of the Altus Metrum devices share the concept of a two level
4827       command set in their firmware.
4828       The first layer has several single letter commands. Once
4829       you are using 'cu' (or 'cutecom') sending (typing) a '?'
4830       returns a full list of these
4831       commands. The second level are configuration sub-commands accessed
4832       using the 'c' command, for
4833       instance typing 'c?' will give you this second level of commands
4834       (all of which require the
4835       letter 'c' to access).  Please note that most configuration options
4836       are stored only in Flash memory; TeleDongle doesn't provide any storage
4837       for these options and so they'll all be lost when you unplug it.
4838     </para>
4839     <para>
4840       Try setting these configuration ('c' or second level menu) values.  A good
4841       place to start is by setting your call sign.  By default, the boards
4842       use 'N0CALL' which is cute, but not exactly legal!
4843       Spend a few minutes getting comfortable with the units, their
4844       firmware, and 'cu' (or possibly 'cutecom').
4845       For instance, try to send
4846       (type) a 'c r 2' and verify the channel change by sending a 'c s'.
4847       Verify you can connect and disconnect from the units while in your
4848       terminal program by sending the escape-disconnect mentioned above.
4849     </para>
4850         <para>
4851           To set the radio frequency, use the 'c R' command to specify the
4852           radio transceiver configuration parameter. This parameter is computed
4853           using the desired frequency, 'F', the radio calibration parameter, 'C' (showed by the 'c s' command) and
4854           the standard calibration reference frequency, 'S', (normally 434.550MHz):
4855           <programlisting>
4856             R = F / S * C
4857           </programlisting>
4858           Round the result to the nearest integer value.
4859           As with all 'c' sub-commands, follow this with a 'c w' to write the
4860           change to the parameter block in the on-board flash on
4861           your altimeter board if you want the change to stay in place across reboots.
4862         </para>
4863         <para>
4864           To set the apogee delay, use the 'c d' command.
4865           As with all 'c' sub-commands, follow this with a 'c w' to write the
4866           change to the parameter block in the on-board DataFlash chip.
4867         </para>
4868         <para>
4869           To set the main deployment altitude, use the 'c m' command.
4870           As with all 'c' sub-commands, follow this with a 'c w' to write the
4871           change to the parameter block in the on-board DataFlash chip.
4872         </para>
4873         <para>
4874           To calibrate the radio frequency, connect the UHF antenna port to a
4875           frequency counter, set the board to 434.550MHz, and use the 'C'
4876           command to generate a CW carrier.  Wait for the transmitter temperature
4877           to stabilize and the frequency to settle down.
4878           Then, divide 434.550 MHz by the
4879           measured frequency and multiply by the current radio cal value show
4880           in the 'c s' command.  For an unprogrammed board, the default value
4881           is 1186611 for cc1111 based products and 7119667 for cc1120
4882           based products.  Take the resulting integer and program it using the 'c f'
4883           command.  Testing with the 'C' command again should show a carrier
4884           within a few tens of Hertz of the intended frequency.
4885           As with all 'c' sub-commands, follow this with a 'c w' to write the
4886           change to the configuration memory.
4887         </para>
4888     <para>
4889       Note that the 'reboot' command, which is very useful on the altimeters,
4890       will likely just cause problems with the dongle.  The *correct* way
4891       to reset the dongle is just to unplug and re-plug it.
4892     </para>
4893     <para>
4894       A fun thing to do at the launch site and something you can do while
4895       learning how to use these units is to play with the radio link access
4896       between an altimeter and the TeleDongle.  Be aware that you *must* create
4897       some physical separation between the devices, otherwise the link will
4898       not function due to signal overload in the receivers in each device.
4899     </para>
4900     <para>
4901       Now might be a good time to take a break and read the rest of this
4902       manual, particularly about the two “modes” that the altimeters
4903       can be placed in. TeleMetrum uses the position of the device when booting
4904       up will determine whether the unit is in “pad” or “idle” mode. TeleMini
4905       enters “idle” mode when it receives a command packet within the first 5 seconds
4906       of being powered up, otherwise it enters “pad” mode.
4907     </para>
4908     <para>
4909       You can access an altimeter in idle mode from the TeleDongle's USB
4910       connection using the radio link
4911       by issuing a 'p' command to the TeleDongle. Practice connecting and
4912       disconnecting ('~~' while using 'cu') from the altimeter.  If
4913       you cannot escape out of the “p” command, (by using a '~~' when in
4914       CU) then it is likely that your kernel has issues.  Try a newer version.
4915     </para>
4916     <para>
4917       Using this radio link allows you to configure the altimeter, test
4918       fire e-matches and igniters from the flight line, check pyro-match
4919       continuity and so forth. You can leave the unit turned on while it
4920       is in 'idle mode' and then place the
4921       rocket vertically on the launch pad, walk away and then issue a
4922       reboot command.  The altimeter will reboot and start sending data
4923       having changed to the “pad” mode. If the TeleDongle is not receiving
4924       this data, you can disconnect 'cu' from the TeleDongle using the
4925       procedures mentioned above and THEN connect to the TeleDongle from
4926       inside 'ao-view'. If this doesn't work, disconnect from the
4927       TeleDongle, unplug it, and try again after plugging it back in.
4928     </para>
4929     <para>
4930       In order to reduce the chance of accidental firing of pyrotechnic
4931       charges, the command to fire a charge is intentionally somewhat
4932       difficult to type, and the built-in help is slightly cryptic to
4933       prevent accidental echoing of characters from the help text back at
4934       the board from firing a charge.  The command to fire the apogee
4935       drogue charge is 'i DoIt drogue' and the command to fire the main
4936       charge is 'i DoIt main'.
4937     </para>
4938     <para>
4939       On TeleMetrum, the GPS will eventually find enough satellites, lock in on them,
4940       and 'ao-view' will both auditorily announce and visually indicate
4941       that GPS is ready.
4942       Now you can launch knowing that you have a good data path and
4943       good satellite lock for flight data and recovery.  Remember
4944       you MUST tell ao-view to connect to the TeleDongle explicitly in
4945       order for ao-view to be able to receive data.
4946     </para>
4947     <para>
4948       The altimeters provide RDF (radio direction finding) tones on
4949       the pad, during descent and after landing. These can be used to
4950       locate the rocket using a directional antenna; the signal
4951       strength providing an indication of the direction from receiver to rocket.
4952     </para>
4953     <para>
4954       TeleMetrum also provides GPS tracking data, which can further simplify
4955       locating the rocket once it has landed. (The last good GPS data
4956       received before touch-down will be on the data screen of 'ao-view'.)
4957     </para>
4958     <para>
4959       Once you have recovered the rocket you can download the eeprom
4960       contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
4961       either a USB cable or over the radio link using TeleDongle.
4962       And by following the man page for 'ao-postflight' you can create
4963       various data output reports, graphs, and even KML data to see the
4964       flight trajectory in Google-earth. (Moving the viewing angle making
4965       sure to connect the yellow lines while in Google-earth is the proper
4966       technique.)
4967     </para>
4968     <para>
4969       As for ao-view.... some things are in the menu but don't do anything
4970       very useful.  The developers have stopped working on ao-view to focus
4971       on a new, cross-platform ground station program.  So ao-view may or
4972       may not be updated in the future.  Mostly you just use
4973       the Log and Device menus.  It has a wonderful display of the incoming
4974       flight data and I am sure you will enjoy what it has to say to you
4975       once you enable the voice output!
4976     </para>
4977   </appendix>
4978   <appendix>
4979     <title>Drill Templates</title>
4980     <para>
4981       These images, when printed, provide precise templates for the
4982       mounting holes in Altus Metrum flight computers
4983     </para>
4984     <section>
4985       <title>TeleMega template</title>
4986       <para>
4987         TeleMega has overall dimensions of 1.250 x 3.250 inches, and
4988         the mounting holes are sized for use with 4-40 or M3 screws.
4989       </para>
4990       <informalfigure>
4991         <mediaobject id="TeleMegaTemplate">
4992           <imageobject>
4993             <imagedata format="SVG" fileref="telemega-outline.svg"/>
4994           </imageobject>
4995         </mediaobject>
4996       </informalfigure>
4997     </section>
4998     <section>
4999       <title>TeleMetrum template</title>
5000       <para>
5001         TeleMetrum has overall dimensions of 1.000 x 2.750 inches, and the
5002         mounting holes are sized for use with 4-40 or M3 screws.
5003       </para>
5004       <informalfigure>
5005         <mediaobject id="TeleMetrumTemplate">
5006           <imageobject>
5007             <imagedata format="SVG" fileref="telemetrum.svg"/>
5008           </imageobject>
5009         </mediaobject>
5010       </informalfigure>
5011     </section>
5012     <section>
5013       <title>TeleMini v2/EasyMini template</title>
5014       <para>
5015         TeleMini v2 and EasyMini have overall dimensions of 0.800 x 1.500 inches, and the
5016         mounting holes are sized for use with 4-40 or M3 screws.
5017       </para>
5018       <informalfigure>
5019         <mediaobject id="MiniTemplate">
5020           <imageobject>
5021             <imagedata format="SVG" fileref="easymini-outline.svg"/>
5022           </imageobject>
5023         </mediaobject>
5024       </informalfigure>
5025     </section>
5026     <section>
5027       <title>TeleMini v1 template</title>
5028       <para>
5029         TeleMini has overall dimensions of 0.500 x 1.500 inches, and the
5030         mounting holes are sized for use with 2-56 or M2 screws.
5031       </para>
5032       <informalfigure>
5033         <mediaobject id="TeleMiniTemplate">
5034           <imageobject>
5035             <imagedata format="SVG" fileref="telemini.svg"/>
5036           </imageobject>
5037         </mediaobject>
5038       </informalfigure>
5039     </section>
5040   </appendix>
5041   <appendix>
5042       <title>Calibration</title>
5043       <para>
5044         There are only two calibrations required for TeleMetrum and
5045         TeleMega, and only one for TeleDongle, TeleMini and EasyMini.
5046         All boards are shipped from the factory pre-calibrated, but
5047         the procedures are documented here in case they are ever
5048         needed.  Re-calibration is not supported by AltosUI, you must
5049         connect to the board with a serial terminal program and
5050         interact directly with the on-board command interpreter to
5051         effect calibration.
5052       </para>
5053       <section>
5054         <title>Radio Frequency</title>
5055         <para>
5056           The radio frequency is synthesized from a clock based on the
5057           crystal on the board.  The actual frequency of this oscillator 
5058           must be measured to generate a calibration constant.  While our 
5059           GFSK modulation
5060           bandwidth is wide enough to allow boards to communicate even when
5061           their oscillators are not on exactly the same frequency, performance
5062           is best when they are closely matched.
5063           Radio frequency calibration requires a calibrated frequency counter.
5064           Fortunately, once set, the variation in frequency due to aging and
5065           temperature changes is small enough that re-calibration by customers
5066           should generally not be required.
5067         </para>
5068         <para>
5069           To calibrate the radio frequency, connect the UHF antenna
5070           port to a frequency counter, set the board to 434.550MHz,
5071           and use the 'C' command in the on-board command interpreter
5072           to generate a CW carrier.  For USB-enabled boards, this is
5073           best done over USB.  For TeleMini v1, note that the only way
5074           to escape the 'C' command is via power cycle since the board
5075           will no longer be listening for commands once it starts
5076           generating a CW carrier.
5077         </para>
5078         <para>
5079           Wait for the transmitter temperature to stabilize and the frequency 
5080           to settle down.  Then, divide 434.550 MHz by the
5081           measured frequency and multiply by the current radio cal value show
5082           in the 'c s' command.  For an unprogrammed board, the default value
5083           is 1186611.  Take the resulting integer and program it using the 'c f'
5084           command.  Testing with the 'C' command again should show a carrier
5085           within a few tens of Hertz of the intended frequency.
5086           As with all 'c' sub-commands, follow this with a 'c w' to write the
5087           change to the parameter block in the on-board storage chip.
5088         </para>
5089         <para>
5090           Note that any time you re-do the radio frequency calibration, the
5091           radio frequency is reset to the default 434.550 Mhz.  If you want
5092           to use another frequency, you will have to set that again after
5093           calibration is completed.
5094         </para>
5095       </section>
5096       <section>
5097         <title>TeleMetrum and TeleMega Accelerometers</title>
5098         <para>
5099           While barometric sensors are factory-calibrated,
5100           accelerometers are not, and so each must be calibrated once
5101           installed in a flight computer.  Explicitly calibrating the
5102           accelerometers also allows us to load any compatible device.
5103           We perform a two-point calibration using gravity.
5104         </para>
5105         <para>
5106           To calibrate the acceleration sensor, use the 'c a 0' command.  You
5107           will be prompted to orient the board vertically with the UHF antenna
5108           up and press a key, then to orient the board vertically with the
5109           UHF antenna down and press a key.  Note that the accuracy of this
5110           calibration depends primarily on how perfectly vertical and still
5111           the board is held during the cal process.  As with all 'c' 
5112           sub-commands, follow this with a 'c w' to write the
5113           change to the parameter block in the on-board DataFlash chip.
5114         </para>
5115         <para>
5116           The +1g and -1g calibration points are included in each telemetry
5117           frame and are part of the header stored in onboard flash to be
5118           downloaded after flight.  We always store and return raw ADC 
5119           samples for each sensor... so nothing is permanently “lost” or 
5120           “damaged” if the calibration is poor.
5121         </para>
5122         <para>
5123          In the unlikely event an accel cal goes badly, it is possible
5124          that TeleMetrum or TeleMega may always come up in 'pad mode'
5125          and as such not be listening to either the USB or radio link.
5126          If that happens, there is a special hook in the firmware to
5127          force the board back in to 'idle mode' so you can re-do the
5128          cal.  To use this hook, you just need to ground the SPI clock
5129          pin at power-on.  This pin is available as pin 2 on the 8-pin
5130          companion connector, and pin 1 is ground.  So either
5131          carefully install a fine-gauge wire jumper between the two
5132          pins closest to the index hole end of the 8-pin connector, or
5133          plug in the programming cable to the 8-pin connector and use
5134          a small screwdriver or similar to short the two pins closest
5135          to the index post on the 4-pin end of the programming cable,
5136          and power up the board.  It should come up in 'idle mode'
5137          (two beeps), allowing a re-cal.
5138         </para>
5139       </section>
5140   </appendix>
5141   <appendix>
5142     <title>Release Notes</title>
5143     <simplesect>
5144       <title>Version 1.3.2</title>
5145       <xi:include
5146           xmlns:xi="http://www.w3.org/2001/XInclude"
5147           href="release-notes-1.3.2.xsl"
5148           xpointer="xpointer(/article/*)"/>
5149     </simplesect>
5150     <simplesect>
5151       <title>Version 1.3.1</title>
5152       <xi:include
5153           xmlns:xi="http://www.w3.org/2001/XInclude"
5154           href="release-notes-1.3.1.xsl"
5155           xpointer="xpointer(/article/*)"/>
5156     </simplesect>
5157     <simplesect>
5158       <title>Version 1.3</title>
5159       <xi:include
5160           xmlns:xi="http://www.w3.org/2001/XInclude"
5161           href="release-notes-1.3.xsl"
5162           xpointer="xpointer(/article/*)"/>
5163     </simplesect>
5164     <simplesect>
5165       <title>Version 1.2.1</title>
5166       <xi:include
5167           xmlns:xi="http://www.w3.org/2001/XInclude"
5168           href="release-notes-1.2.1.xsl"
5169           xpointer="xpointer(/article/*)"/>
5170     </simplesect>
5171     <simplesect>
5172       <title>Version 1.2</title>
5173       <xi:include
5174           xmlns:xi="http://www.w3.org/2001/XInclude"
5175           href="release-notes-1.2.xsl"
5176           xpointer="xpointer(/article/*)"/>
5177     </simplesect>
5178     <simplesect>
5179       <title>Version 1.1.1</title>
5180       <xi:include
5181           xmlns:xi="http://www.w3.org/2001/XInclude"
5182           href="release-notes-1.1.1.xsl"
5183           xpointer="xpointer(/article/*)"/>
5184     </simplesect>
5185     <simplesect>
5186       <title>Version 1.1</title>
5187       <xi:include
5188           xmlns:xi="http://www.w3.org/2001/XInclude"
5189           href="release-notes-1.1.xsl"
5190           xpointer="xpointer(/article/*)"/>
5191     </simplesect>
5192     <simplesect>
5193       <title>Version 1.0.1</title>
5194       <xi:include
5195           xmlns:xi="http://www.w3.org/2001/XInclude"
5196           href="release-notes-1.0.1.xsl"
5197           xpointer="xpointer(/article/*)"/>
5198     </simplesect>
5199     <simplesect>
5200       <title>Version 0.9.2</title>
5201       <xi:include
5202           xmlns:xi="http://www.w3.org/2001/XInclude"
5203           href="release-notes-0.9.2.xsl"
5204           xpointer="xpointer(/article/*)"/>
5205     </simplesect>
5206     <simplesect>
5207       <title>Version 0.9</title>
5208       <xi:include
5209           xmlns:xi="http://www.w3.org/2001/XInclude"
5210           href="release-notes-0.9.xsl"
5211           xpointer="xpointer(/article/*)"/>
5212     </simplesect>
5213     <simplesect>
5214       <title>Version 0.8</title>
5215       <xi:include
5216           xmlns:xi="http://www.w3.org/2001/XInclude"
5217           href="release-notes-0.8.xsl"
5218           xpointer="xpointer(/article/*)"/>
5219     </simplesect>
5220     <simplesect>
5221       <title>Version 0.7.1</title>
5222       <xi:include
5223           xmlns:xi="http://www.w3.org/2001/XInclude"
5224           href="release-notes-0.7.1.xsl"
5225           xpointer="xpointer(/article/*)"/>
5226     </simplesect>
5227   </appendix>
5228 </book>
5229
5230 <!-- LocalWords: Altusmetrum
5231 -->