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