Merge branch 'master' of ssh://git.gag.com/scm/git/web/altusmetrum
[web/altusmetrum] / AltOS / doc / altusmetrum.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Altus Metrum System</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="idm6236096"></a>The Altus Metrum System</h1></div><div><h2 class="subtitle">An Owner's Manual for Altus Metrum Rocketry Electronics</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Bdale</span> <span class="surname">Garbee</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Keith</span> <span class="surname">Packard</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Bob</span> <span class="surname">Finch</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Anthony</span> <span class="surname">Towns</span></h3></div></div><div><p class="copyright">Copyright © 2014 Bdale Garbee and Keith Packard</p></div><div><div class="legalnotice"><a name="idp47882560"></a><p>
2         This document is released under the terms of the
3         <a class="ulink" href="http://creativecommons.org/licenses/by-sa/3.0/" target="_top">
4           Creative Commons ShareAlike 3.0
5         </a>
6         license.
7       </p></div></div><div><div class="revhistory"><table style="border-style:solid; width:100%;" summary="Revision History"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 1.3.1</td><td align="left">21 January 2014</td></tr><tr><td align="left" colspan="2">
8           Bug fixes for TeleMega and TeleMetrum v2.0 along with a few
9           small UI improvements.
10         </td></tr><tr><td align="left">Revision 1.3</td><td align="left">12 November 2013</td></tr><tr><td align="left" colspan="2">
11           Updated for software version 1.3. Version 1.3 adds support
12           for TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini
13           and fixes bugs in AltosUI and the AltOS firmware.
14         </td></tr><tr><td align="left">Revision 1.2.1</td><td align="left">21 May 2013</td></tr><tr><td align="left" colspan="2">
15           Updated for software version 1.2. Version 1.2 adds support
16           for TeleBT and AltosDroid. It also adds a few minor features
17           and fixes bugs in AltosUI and the AltOS firmware.
18         </td></tr><tr><td align="left">Revision 1.2</td><td align="left">18 April 2013</td></tr><tr><td align="left" colspan="2">
19           Updated for software version 1.2. Version 1.2 adds support
20           for MicroPeak and the MicroPeak USB interface.
21         </td></tr><tr><td align="left">Revision 1.1.1</td><td align="left">16 September 2012</td></tr><tr><td align="left" colspan="2">
22           Updated for software version 1.1.1 Version 1.1.1 fixes a few
23           bugs found in version 1.1.
24         </td></tr><tr><td align="left">Revision 1.1</td><td align="left">13 September 2012</td></tr><tr><td align="left" colspan="2">
25           Updated for software version 1.1. Version 1.1 has new
26           features but is otherwise compatible with version 1.0.
27         </td></tr><tr><td align="left">Revision 1.0</td><td align="left">24 August 2011</td></tr><tr><td align="left" colspan="2">
28           Updated for software version 1.0.  Note that 1.0 represents a
29           telemetry format change, meaning both ends of a link 
30           (TeleMetrum/TeleMini and TeleDongle) must be updated or 
31           communications will fail.
32         </td></tr><tr><td align="left">Revision 0.9</td><td align="left">18 January 2011</td></tr><tr><td align="left" colspan="2">
33           Updated for software version 0.9.  Note that 0.9 represents a
34           telemetry format change, meaning both ends of a link (TeleMetrum and
35           TeleDongle) must be updated or communications will fail.
36         </td></tr><tr><td align="left">Revision 0.8</td><td align="left">24 November 2010</td></tr><tr><td align="left" colspan="2">Updated for software version 0.8 </td></tr></table></div></div></div><hr></div><div class="dedication"><div class="titlepage"><div><div><h1 class="title"><a name="idp48972192"></a>Acknowledgments</h1></div></div></div><p>
37       Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing &#8220;The
38       Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
39       Kit&#8221; which formed the basis of the original Getting Started chapter 
40       in this manual.  Bob was one of our first customers for a production
41       TeleMetrum, and his continued enthusiasm and contributions
42       are immensely gratifying and highly appreciated!
43     </p><p>
44       And thanks to Anthony (AJ) Towns for major contributions including
45       the AltosUI graphing and site map code and associated documentation. 
46       Free software means that our customers and friends can become our
47       collaborators, and we certainly appreciate this level of
48       contribution!
49     </p><p>
50       Have fun using these products, and we hope to meet all of you
51       out on the rocket flight line somewhere.
52       </p><div class="literallayout"><p><br>
53 Bdale Garbee, KB0G<br>
54 NAR #87103, TRA #12201<br>
55 <br>
56 Keith Packard, KD7SQG<br>
57 NAR #88757, TRA #12200<br>
58       </p></div><p>
59     </p></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="#idp48053984">1. Introduction and Overview</a></span></dt><dt><span class="chapter"><a href="#idp48061744">2. Getting Started</a></span></dt><dt><span class="chapter"><a href="#idp47890336">3. Handling Precautions</a></span></dt><dt><span class="chapter"><a href="#idp47895824">4. Altus Metrum Hardware</a></span></dt><dd><dl><dt><span class="section"><a href="#idp47896496">1. Overview</a></span></dt><dt><span class="section"><a href="#idp53909808">2. TeleMetrum</a></span></dt><dt><span class="section"><a href="#idp53914976">3. TeleMini</a></span></dt><dt><span class="section"><a href="#idp53923600">4. EasyMini</a></span></dt><dt><span class="section"><a href="#idp53927712">5. TeleMega</a></span></dt><dt><span class="section"><a href="#idp53931936">6. Flight Data Recording</a></span></dt><dt><span class="section"><a href="#idp53961856">7. Installation</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp53968624">5. System Operation</a></span></dt><dd><dl><dt><span class="section"><a href="#idp53969296">1. Firmware Modes </a></span></dt><dt><span class="section"><a href="#idp53977296">2. GPS </a></span></dt><dt><span class="section"><a href="#idp53979824">3. Controlling An Altimeter Over The Radio Link</a></span></dt><dt><span class="section"><a href="#idp54060432">4. Ground Testing </a></span></dt><dt><span class="section"><a href="#idp54063184">5. Radio Link </a></span></dt><dt><span class="section"><a href="#idp54067872">6. Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54069616">6.1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp54071664">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp54074256">6.3. Main Deployment Altitude</a></span></dt><dt><span class="section"><a href="#idp54075952">6.4. Maximum Flight Log</a></span></dt><dt><span class="section"><a href="#idp54078096">6.5. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp54080208">6.6. Pad Orientation</a></span></dt><dt><span class="section"><a href="#idp54081904">6.7. Configurable Pyro Channels</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#idp54104384">6. AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54108000">1. Monitor Flight</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54120720">1.1. Launch Pad</a></span></dt><dt><span class="section"><a href="#idp54136352">1.2. Ascent</a></span></dt><dt><span class="section"><a href="#idp54141808">1.3. Descent</a></span></dt><dt><span class="section"><a href="#idp54148672">1.4. Landed</a></span></dt><dt><span class="section"><a href="#idp54155520">1.5. Table</a></span></dt><dt><span class="section"><a href="#idp54159104">1.6. Site Map</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54164768">2. Save Flight Data</a></span></dt><dt><span class="section"><a href="#idp54168720">3. Replay Flight</a></span></dt><dt><span class="section"><a href="#idp54170752">4. Graph Data</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54173136">4.1. Flight Graph</a></span></dt><dt><span class="section"><a href="#idp54177584">4.2. Configure Graph</a></span></dt><dt><span class="section"><a href="#idp54181248">4.3. Flight Statistics</a></span></dt><dt><span class="section"><a href="#idp54184768">4.4. Map</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54188624">5. Export Data</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54190192">5.1. Comma Separated Value Format</a></span></dt><dt><span class="section"><a href="#idp54192544">5.2. Keyhole Markup Language (for Google Earth)</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54194032">6. Configure Altimeter</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54206336">6.1. Main Deploy Altitude</a></span></dt><dt><span class="section"><a href="#idp54208304">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp54209920">6.3. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp54211424">6.4. RF Calibration</a></span></dt><dt><span class="section"><a href="#idp54213072">6.5. Telemetry/RDF/APRS Enable</a></span></dt><dt><span class="section"><a href="#idp54214368">6.6. APRS Interval</a></span></dt><dt><span class="section"><a href="#idp54215872">6.7. Callsign</a></span></dt><dt><span class="section"><a href="#idp54217184">6.8. Maximum Flight Log Size</a></span></dt><dt><span class="section"><a href="#idp54218624">6.9. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp54225616">6.10. Pad Orientation</a></span></dt><dt><span class="section"><a href="#idp54230832">6.11. Configure Pyro Channels</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54236640">7. Configure AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54240144">7.1. Voice Settings</a></span></dt><dt><span class="section"><a href="#idp54245168">7.2. Log Directory</a></span></dt><dt><span class="section"><a href="#idp54247168">7.3. Callsign</a></span></dt><dt><span class="section"><a href="#idp54249408">7.4. Imperial Units</a></span></dt><dt><span class="section"><a href="#idp54250912">7.5. Font Size</a></span></dt><dt><span class="section"><a href="#idp54252192">7.6. Serial Debug</a></span></dt><dt><span class="section"><a href="#idp54253696">7.7. Manage Frequencies</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54255328">8. Configure Groundstation</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54266448">8.1. Frequency</a></span></dt><dt><span class="section"><a href="#idp54268016">8.2. Radio Calibration</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54269648">9. Flash Image</a></span></dt><dt><span class="section"><a href="#idp54271280">10. Fire Igniter</a></span></dt><dt><span class="section"><a href="#idp54276912">11. Scan Channels</a></span></dt><dt><span class="section"><a href="#idp54280768">12. Load Maps</a></span></dt><dt><span class="section"><a href="#idp54286464">13. Monitor Idle</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp54288560">7. AltosDroid</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54290944">1. Installing AltosDroid</a></span></dt><dt><span class="section"><a href="#idp54292880">2. Connecting to TeleBT</a></span></dt><dt><span class="section"><a href="#idp54294880">3. Configuring AltosDroid</a></span></dt><dt><span class="section"><a href="#idp54296336">4. AltosDroid Flight Monitoring</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54297648">4.1. Pad</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54311200">5. Downloading Flight Logs</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp54312864">8. Using Altus Metrum Products</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54313504">1. Being Legal</a></span></dt><dt><span class="section"><a href="#idp54315408">2. In the Rocket</a></span></dt><dt><span class="section"><a href="#idp54317872">3. On the Ground</a></span></dt><dt><span class="section"><a href="#idp54331184">4. Data Analysis</a></span></dt><dt><span class="section"><a href="#idp54333728">5. Future Plans</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp54338112">9. Altimeter Installation Recommendations</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54339568">1. Mounting the Altimeter</a></span></dt><dt><span class="section"><a href="#idp54344400">2. Dealing with the Antenna</a></span></dt><dt><span class="section"><a href="#idp54349968">3. Preserving GPS Reception</a></span></dt><dt><span class="section"><a href="#idp54354752">4. Radio Frequency Interference</a></span></dt><dt><span class="section"><a href="#idp54362320">5. The Barometric Sensor</a></span></dt><dt><span class="section"><a href="#idp54365120">6. Ground Testing</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp54368288">10. Updating Device Firmware</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54372304">1. 
60         Updating TeleMega, TeleMetrum v2 or EasyMini Firmware
61       </a></span></dt><dd><dl><dt><span class="section"><a href="#idp54381120">1.1. Recovering From Self-Flashing Failure</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54390096">2. Pair Programming</a></span></dt><dt><span class="section"><a href="#idp54391536">3. Updating TeleMetrum v1.x Firmware</a></span></dt><dt><span class="section"><a href="#idp54404576">4. Updating TeleMini Firmware</a></span></dt><dt><span class="section"><a href="#idp54417968">5. Updating TeleDongle Firmware</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp54434512">11. Hardware Specifications</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54435152">1. 
62         TeleMega Specifications
63       </a></span></dt><dt><span class="section"><a href="#idp54446496">2. 
64         TeleMetrum v2 Specifications
65       </a></span></dt><dt><span class="section"><a href="#idp54457056">3. TeleMetrum v1 Specifications</a></span></dt><dt><span class="section"><a href="#idp54467616">4. 
66         TeleMini v2.0 Specifications
67       </a></span></dt><dt><span class="section"><a href="#idp54476448">5. 
68         TeleMini v1.0 Specifications
69       </a></span></dt><dt><span class="section"><a href="#idp54485248">6. 
70         EasyMini Specifications
71       </a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp54493360">12. FAQ</a></span></dt><dt><span class="appendix"><a href="#idp54502208">A. Notes for Older Software</a></span></dt><dt><span class="appendix"><a href="#idp54526032">B. Drill Templates</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54527200">1. TeleMega template</a></span></dt><dt><span class="section"><a href="#idp54543168">2. TeleMetrum template</a></span></dt><dt><span class="section"><a href="#idp54546832">3. TeleMini v2/EasyMini template</a></span></dt><dt><span class="section"><a href="#idp54550512">4. TeleMini v1 template</a></span></dt></dl></dd><dt><span class="appendix"><a href="#idp54554304">C. Calibration</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54555856">1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp54561136">2. TeleMetrum and TeleMega Accelerometers</a></span></dt></dl></dd><dt><span class="appendix"><a href="#idp54567264">D. Release Notes</a></span></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>4.1. <a href="#idp47897552">Altus Metrum Electronics</a></dt><dt>4.2. <a href="#idp53870912">Altus Metrum Boards</a></dt><dt>4.3. <a href="#idp53933376">Data Storage on Altus Metrum altimeters</a></dt><dt>5.1. <a href="#idp50990144">AltOS Modes</a></dt><dt>5.2. <a href="#idp54003920">Pad/Idle Indications</a></dt></dl></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp48053984"></a>Chapter 1. Introduction and Overview</h1></div></div></div><p>
72       Welcome to the Altus Metrum community!  Our circuits and software reflect
73       our passion for both hobby rocketry and Free Software.  We hope their
74       capabilities and performance will delight you in every way, but by
75       releasing all of our hardware and software designs under open licenses,
76       we also hope to empower you to take as active a role in our collective
77       future as you wish!
78     </p><p>
79       The first device created for our community was TeleMetrum, a dual
80       deploy altimeter with fully integrated GPS and radio telemetry
81       as standard features, and a &#8220;companion interface&#8221; that will
82       support optional capabilities in the future. The latest version
83       of TeleMetrum, v2.0, has all of the same features but with
84       improved sensors and radio to offer increased performance.
85     </p><p>
86       Our second device was TeleMini, a dual deploy altimeter with
87       radio telemetry and radio direction finding. The first version
88       of this device was only 13mm by 38mm (½ inch by 1½ inches) and
89       could fit easily in an 18mm air-frame. The latest version, v2.0,
90       includes a beeper, USB data download and extended on-board
91       flight logging, along with an improved barometric sensor.
92     </p><p>
93       TeleMega is our most sophisticated device, including six pyro
94       channels (four of which are fully programmable), integrated GPS,
95       integrated gyroscopes for staging/air-start inhibit and high
96       performance telemetry.
97     </p><p>
98       EasyMini is a dual-deploy altimeter with logging and built-in
99       USB data download.
100     </p><p>
101       TeleDongle was our first ground station, providing a USB to RF
102       interfaces for communicating with the altimeters. Combined with
103       your choice of antenna and notebook computer, TeleDongle and our
104       associated user interface software form a complete ground
105       station capable of logging and displaying in-flight telemetry,
106       aiding rocket recovery, then processing and archiving flight
107       data for analysis and review.
108     </p><p>
109       For a slightly more portable ground station experience that also
110       provides direct rocket recovery support, TeleBT offers flight
111       monitoring and data logging using a  Bluetooth&#8482; connection between
112       the receiver and an Android device that has the AltosDroid
113       application installed from the Google Play store.
114     </p><p>
115       More products will be added to the Altus Metrum family over time, and
116       we currently envision that this will be a single, comprehensive manual
117       for the entire product family.
118     </p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp48061744"></a>Chapter 2. Getting Started</h1></div></div></div><p>
119       The first thing to do after you check the inventory of parts in your
120       &#8220;starter kit&#8221; is to charge the battery.
121     </p><p>
122       For TeleMetrum and TeleMega, the battery can be charged by plugging it into the
123       corresponding socket of the device and then using the USB
124       cable to plug the flight computer into your computer's USB socket. The
125       on-board circuitry will charge the battery whenever it is plugged
126       in, because the on-off switch does NOT control the
127       charging circuitry.
128     </p><p>
129       On TeleMetrum v1 boards, when the GPS chip is initially
130       searching for satellites, TeleMetrum will consume more current
131       than it pulls from the USB port, so the battery must be
132       attached in order to get satellite lock.  Once GPS is locked,
133       the current consumption goes back down enough to enable charging
134       while running. So it's a good idea to fully charge the battery
135       as your first item of business so there is no issue getting and
136       maintaining satellite lock.  The yellow charge indicator led
137       will go out when the battery is nearly full and the charger goes
138       to trickle charge. It can take several hours to fully recharge a
139       deeply discharged battery.
140     </p><p>
141       TeleMetrum v2.0 and TeleMega use a higher power battery charger,
142       allowing them to charge the battery while running the board at
143       maximum power. When the battery is charging, or when the board
144       is consuming a lot of power, the red LED will be lit. When the
145       battery is fully charged, the green LED will be lit. When the
146       battery is damaged or missing, both LEDs will be lit, which
147       appears yellow.
148     </p><p>
149       The Lithium Polymer TeleMini and EasyMini battery can be charged by
150       disconnecting it from the board and plugging it into a
151       standalone battery charger such as the LipoCharger product
152       included in TeleMini Starter Kits, and connecting that via a USB
153       cable to a laptop or other USB power source.
154     </p><p>
155       You can also choose to use another battery with TeleMini v2.0
156       and EasyMini, anything supplying between 4 and 12 volts should
157       work fine (like a standard 9V battery), but if you are planning
158       to fire pyro charges, ground testing is required to verify that
159       the battery supplies enough current to fire your chosen e-matches.
160     </p><p>
161       The other active device in the starter kit is the TeleDongle USB to
162       RF interface.  If you plug it in to your Mac or Linux computer it should
163       &#8220;just work&#8221;, showing up as a serial port device.  Windows systems need
164       driver information that is part of the AltOS download to know that the
165       existing USB modem driver will work.  We therefore recommend installing
166       our software before plugging in TeleDongle if you are using a Windows
167       computer.  If you are using an older version of Linux and are having 
168       problems, try moving to a fresher kernel (2.6.33 or newer). 
169     </p><p>
170       Next you should obtain and install the AltOS software.  The AltOS
171       distribution includes the AltosUI ground station program, current 
172       firmware
173       images for all of the hardware, and a number of standalone
174       utilities that are rarely needed.  Pre-built binary packages are
175       available for Linux, Microsoft Windows, and recent MacOSX
176       versions.  Full source code and build instructions are also
177       available.  The latest version may always be downloaded from
178       <a class="ulink" href="http://altusmetrum.org/AltOS" target="_top">http://altusmetrum.org/AltOS</a>.
179     </p><p>
180       If you're using a TeleBT instead of the TeleDongle, you'll want to 
181       install the AltosDroid application from the Google Play store on an 
182       Android device. You don't need a data plan to use AltosDroid, but 
183       without network access, the Map view will be less useful as it
184       won't contain any map data. You can also use TeleBT connected
185       over USB with your laptop computer; it acts exactly like a
186       TeleDongle. Anywhere this manual talks about TeleDongle, you can
187       also read that as 'and TeleBT when connected via USB'.
188     </p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp47890336"></a>Chapter 3. Handling Precautions</h1></div></div></div><p>
189       All Altus Metrum products are sophisticated electronic devices.  
190       When handled gently and properly installed in an air-frame, they
191       will deliver impressive results.  However, as with all electronic 
192       devices, there are some precautions you must take.
193     </p><p>
194       The Lithium Polymer rechargeable batteries have an
195       extraordinary power density.  This is great because we can fly with
196       much less battery mass than if we used alkaline batteries or previous
197       generation rechargeable batteries... but if they are punctured
198       or their leads are allowed to short, they can and will release their
199       energy very rapidly!
200       Thus we recommend that you take some care when handling our batteries
201       and consider giving them some extra protection in your air-frame.  We
202       often wrap them in suitable scraps of closed-cell packing foam before
203       strapping them down, for example.
204     </p><p>
205       The barometric sensors used on all of our flight computers are 
206       sensitive to sunlight.  In normal mounting situations, the baro sensor
207       and all of the other surface mount components
208       are &#8220;down&#8221; towards whatever the underlying mounting surface is, so
209       this is not normally a problem.  Please consider this when designing an 
210       installation in an air-frame with a see-through plastic payload bay.  It
211       is particularly important to
212       consider this with TeleMini v1.0, both because the baro sensor is on the
213       &#8220;top&#8221; of the board, and because many model rockets with payload bays
214       use clear plastic for the payload bay!  Replacing these with an opaque
215       cardboard tube, painting them, or wrapping them with a layer of masking
216       tape are all reasonable approaches to keep the sensor out of direct
217       sunlight.
218     </p><p>
219       The barometric sensor sampling port must be able to &#8220;breathe&#8221;,
220       both by not being covered by foam or tape or other materials that might
221       directly block the hole on the top of the sensor, and also by having a
222       suitable static vent to outside air.
223     </p><p>
224       As with all other rocketry electronics, Altus Metrum altimeters must 
225       be protected from exposure to corrosive motor exhaust and ejection 
226       charge gasses.
227     </p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp47895824"></a>Chapter 4. Altus Metrum Hardware</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp47896496">1. Overview</a></span></dt><dt><span class="section"><a href="#idp53909808">2. TeleMetrum</a></span></dt><dt><span class="section"><a href="#idp53914976">3. TeleMini</a></span></dt><dt><span class="section"><a href="#idp53923600">4. EasyMini</a></span></dt><dt><span class="section"><a href="#idp53927712">5. TeleMega</a></span></dt><dt><span class="section"><a href="#idp53931936">6. Flight Data Recording</a></span></dt><dt><span class="section"><a href="#idp53961856">7. Installation</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp47896496"></a>1. Overview</h2></div></div></div><p>
228         Here's the full set of Altus Metrum products, both in
229         production and retired.
230       </p><div class="table"><a name="idp47897552"></a><p class="title"><b>Table 4.1. Altus Metrum Electronics</b></p><div class="table-contents"><table summary="Altus Metrum Electronics" border="1"><colgroup><col align="center" class="Device"><col align="center" class="Barometer"><col align="center" class="Z-axis accelerometer"><col align="center" class="GPS"><col align="center" class="3D sensors"><col align="center" class="Storage"><col align="center" class="RF"><col align="center" class="Battery"></colgroup><thead><tr><th align="center">Device</th><th align="center">Barometer</th><th align="center">Z-axis accelerometer</th><th align="center">GPS</th><th align="center">3D sensors</th><th align="center">Storage</th><th align="center">RF Output</th><th align="center">Battery</th></tr></thead><tbody><tr><td align="center">TeleMetrum v1.0</td><td align="center"><p>MP3H6115 10km (33k')</p></td><td align="center"><p>MMA2202 50g</p></td><td align="center">SkyTraq</td><td align="center">-</td><td align="center">1MB</td><td align="center">10mW</td><td align="center">3.7V</td></tr><tr><td align="center">TeleMetrum v1.1</td><td align="center"><p>MP3H6115 10km (33k')</p></td><td align="center"><p>MMA2202 50g</p></td><td align="center">SkyTraq</td><td align="center">-</td><td align="center">2MB</td><td align="center">10mW</td><td align="center">3.7V</td></tr><tr><td align="center">TeleMetrum v1.2</td><td align="center"><p>MP3H6115 10km (33k')</p></td><td align="center"><p>ADXL78 70g</p></td><td align="center">SkyTraq</td><td align="center">-</td><td align="center">2MB</td><td align="center">10mW</td><td align="center">3.7V</td></tr><tr><td align="center">TeleMetrum v2.0</td><td align="center"><p>MS5607 30km (100k')</p></td><td align="center"><p>MMA6555 102g</p></td><td align="center">uBlox Max-7Q</td><td align="center">-</td><td align="center">8MB</td><td align="center">40mW</td><td align="center">3.7V</td></tr><tr><td align="center"><p>TeleMini v1.0</p></td><td align="center"><p>MP3H6115 10km (33k')</p></td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">5kB</td><td align="center">10mW</td><td align="center">3.7V</td></tr><tr><td align="center">TeleMini v2.0</td><td align="center"><p>MS5607 30km (100k')</p></td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">1MB</td><td align="center">10mW</td><td align="center">3.7-12V</td></tr><tr><td align="center">EasyMini v1.0</td><td align="center"><p>MS5607 30km (100k')</p></td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">1MB</td><td align="center">-</td><td align="center">3.7-12V</td></tr><tr><td align="center">TeleMega v1.0</td><td align="center"><p>MS5607 30km (100k')</p></td><td align="center"><p>MMA6555 102g</p></td><td align="center">uBlox Max-7Q</td><td align="center"><p>MPU6000 HMC5883</p></td><td align="center">8MB</td><td align="center">40mW</td><td align="center">3.7V</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="idp53870912"></a><p class="title"><b>Table 4.2. Altus Metrum Boards</b></p><div class="table-contents"><table summary="Altus Metrum Boards" border="1"><colgroup><col align="center" class="Device"><col align="center" class="Connectors"><col align="center" class="Screw Terminals"><col align="center" class="Width"><col align="center" class="Length"><col align="center" class="Tube Size"></colgroup><thead><tr><th align="center">Device</th><th align="center">Connectors</th><th align="center">Screw Terminals</th><th align="center">Width</th><th align="center">Length</th><th align="center">Tube Size</th></tr></thead><tbody><tr><td align="center">TeleMetrum</td><td align="center"><p>
231                 Antenna
232                 Debug
233                 Companion
234                 USB
235                 Battery
236               </p></td><td align="center"><p>Apogee pyro Main pyro Switch</p></td><td align="center">1 inch (2.54cm)</td><td align="center">2 ¾ inch (6.99cm)</td><td align="center">29mm coupler</td></tr><tr><td align="center"><p>TeleMini v1.0</p></td><td align="center"><p>
237                 Antenna
238                 Debug
239                 Battery
240               </p></td><td align="center"><p>
241                 Apogee pyro 
242                 Main pyro
243               </p></td><td align="center">½ inch (1.27cm)</td><td align="center">1½ inch (3.81cm)</td><td align="center">18mm coupler</td></tr><tr><td align="center">TeleMini v2.0</td><td align="center"><p>
244                 Antenna
245                 Debug
246                 USB
247                 Battery
248               </p></td><td align="center"><p>
249                 Apogee pyro 
250                 Main pyro 
251                 Battery 
252                 Switch
253                 </p></td><td align="center">0.8 inch (2.03cm)</td><td align="center">1½ inch (3.81cm)</td><td align="center">24mm coupler</td></tr><tr><td align="center">EasyMini</td><td align="center"><p>
254                 Debug
255                 USB
256                 Battery
257               </p></td><td align="center"><p>
258                 Apogee pyro 
259                 Main pyro 
260                 Battery 
261                 Switch
262                 </p></td><td align="center">0.8 inch (2.03cm)</td><td align="center">1½ inch (3.81cm)</td><td align="center">24mm coupler</td></tr><tr><td align="center">TeleMega</td><td align="center"><p>
263                 Antenna
264                 Debug
265                 Companion
266                 USB
267                 Battery
268               </p></td><td align="center"><p>
269                 Apogee pyro 
270                 Main pyro
271                 Pyro A-D
272                 Switch
273                 Pyro battery
274               </p></td><td align="center">1¼ inch (3.18cm)</td><td align="center">3¼ inch (8.26cm)</td><td align="center">38mm coupler</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53909808"></a>2. TeleMetrum</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="telemetrum-v1.1-thside.jpg" width="495"></td></tr></table></div></div><p>
275         TeleMetrum is a 1 inch by 2¾ inch circuit board.  It was designed to
276         fit inside coupler for 29mm air-frame tubing, but using it in a tube that
277         small in diameter may require some creativity in mounting and wiring
278         to succeed!  The presence of an accelerometer means TeleMetrum should
279         be aligned along the flight axis of the airframe, and by default the ¼
280         wave UHF wire antenna should be on the nose-cone end of the board.  The
281         antenna wire is about 7 inches long, and wiring for a power switch and
282         the e-matches for apogee and main ejection charges depart from the
283         fin can end of the board, meaning an ideal &#8220;simple&#8221; avionics
284         bay for TeleMetrum should have at least 10 inches of interior length.
285       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53914976"></a>3. TeleMini</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="telemini-v1-top.jpg" width="495"></td></tr></table></div></div><p>
286         TeleMini v1.0 is ½ inches by 1½ inches.  It was
287         designed to fit inside an 18mm air-frame tube, but using it in
288         a tube that small in diameter may require some creativity in
289         mounting and wiring to succeed!  Since there is no
290         accelerometer, TeleMini can be mounted in any convenient
291         orientation.  The default ¼ wave UHF wire antenna attached to
292         the center of one end of the board is about 7 inches long. Two
293         wires for the power switch are connected to holes in the
294         middle of the board. Screw terminals for the e-matches for
295         apogee and main ejection charges depart from the other end of
296         the board, meaning an ideal &#8220;simple&#8221; avionics bay for TeleMini
297         should have at least 9 inches of interior length.
298       </p><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="telemini-v2-top.jpg" width="495"></td></tr></table></div></div><p>
299         TeleMini v2.0 is 0.8 inches by 1½ inches. It adds more
300         on-board data logging memory, a built-in USB connector and
301         screw terminals for the battery and power switch. The larger
302         board fits in a 24mm coupler. There's also a battery connector
303         for a LiPo battery if you want to use one of those.
304       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53923600"></a>4. EasyMini</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="easymini-top.jpg" width="495"></td></tr></table></div></div><p>
305         EasyMini is built on a 0.8 inch by 1½ inch circuit board. It's
306         designed to fit in a 24mm coupler tube. The connectors and
307         screw terminals match TeleMini v2.0, so you can easily swap between
308         EasyMini and TeleMini.
309       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53927712"></a>5. TeleMega</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="telemega-v1.0-top.jpg" width="495"></td></tr></table></div></div><p>
310         TeleMega is a 1¼ inch by 3¼ inch circuit board. It was
311         designed to easily fit in a 38mm coupler. Like TeleMetrum,
312         TeleMega has an accelerometer and so it must be mounted so that
313         the board is aligned with the flight axis. It can be mounted
314         either antenna up or down.
315       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53931936"></a>6. Flight Data Recording</h2></div></div></div><p>
316         Each flight computer logs data at 100 samples per second
317         during ascent and 10 samples per second during descent, except
318         for TeleMini v1.0, which records ascent at 10 samples per
319         second and descent at 1 sample per second. Data are logged to
320         an on-board flash memory part, which can be partitioned into
321         several equal-sized blocks, one for each flight.
322       </p><div class="table"><a name="idp53933376"></a><p class="title"><b>Table 4.3. Data Storage on Altus Metrum altimeters</b></p><div class="table-contents"><table summary="Data Storage on Altus Metrum altimeters" border="1"><colgroup><col align="center" class="Device"><col align="center" class="Bytes per sample"><col align="center" class="Total storage"><col align="center" class="Minutes of        full-rate"></colgroup><thead><tr><th align="center">Device</th><th align="center">Bytes per Sample</th><th align="center">Total Storage</th><th align="center">Minutes at Full Rate</th></tr></thead><tbody><tr><td align="center">TeleMetrum v1.0</td><td align="center">8</td><td align="center">1MB</td><td align="center">20</td></tr><tr><td align="center">TeleMetrum v1.1 v1.2</td><td align="center">8</td><td align="center">2MB</td><td align="center">40</td></tr><tr><td align="center">TeleMetrum v2.0</td><td align="center">16</td><td align="center">8MB</td><td align="center">80</td></tr><tr><td align="center">TeleMini v1.0</td><td align="center">2</td><td align="center">5kB</td><td align="center">4</td></tr><tr><td align="center">TeleMini v2.0</td><td align="center">16</td><td align="center">1MB</td><td align="center">10</td></tr><tr><td align="center">EasyMini</td><td align="center">16</td><td align="center">1MB</td><td align="center">10</td></tr><tr><td align="center">TeleMega</td><td align="center">32</td><td align="center">8MB</td><td align="center">40</td></tr></tbody></table></div></div><br class="table-break"><p>
323         The on-board flash is partitioned into separate flight logs,
324         each of a fixed maximum size. Increase the maximum size of
325         each log and you reduce the number of flights that can be
326         stored. Decrease the size and you can store more flights.
327       </p><p>
328         Configuration data is also stored in the flash memory on
329         TeleMetrum v1.x, TeleMini and EasyMini. This consumes 64kB
330         of flash space.  This configuration space is not available
331         for storing flight log data. TeleMetrum v2.0 and TeleMega
332         store configuration data in a bit of eeprom available within
333         the processor chip, leaving that space available in flash for
334         more flight data.
335       </p><p>
336         To compute the amount of space needed for a single flight, you
337         can multiply the expected ascent time (in seconds) by 100
338         times bytes-per-sample, multiply the expected descent time (in
339         seconds) by 10 times the bytes per sample and add the two
340         together. That will slightly under-estimate the storage (in
341         bytes) needed for the flight. For instance, a TeleMetrum v2.0 flight spending
342         20 seconds in ascent and 150 seconds in descent will take
343         about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You
344         could store dozens of these flights in the on-board flash.
345       </p><p>
346         The default size allows for several flights on each flight
347         computer, except for TeleMini v1.0, which only holds data for a
348         single flight. You can adjust the size.
349       </p><p>
350         Altus Metrum flight computers will not overwrite existing
351         flight data, so be sure to download flight data and erase it
352         from the flight computer before it fills up. The flight
353         computer will still successfully control the flight even if it
354         cannot log data, so the only thing you will lose is the data.
355       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53961856"></a>7. Installation</h2></div></div></div><p>
356         A typical installation involves attaching 
357         only a suitable battery, a single pole switch for 
358         power on/off, and two pairs of wires connecting e-matches for the 
359         apogee and main ejection charges.  All Altus Metrum products are 
360         designed for use with single-cell batteries with 3.7 volts
361         nominal. TeleMini v2.0 and EasyMini may also be used with other
362         batteries as long as they supply between 4 and 12 volts. 
363       </p><p>
364         The battery connectors are a standard 2-pin JST connector and
365         match batteries sold by Spark Fun. These batteries are
366         single-cell Lithium Polymer batteries that nominally provide 3.7
367         volts.  Other vendors sell similar batteries for RC aircraft
368         using mating connectors, however the polarity for those is
369         generally reversed from the batteries used by Altus Metrum
370         products. In particular, the Tenergy batteries supplied for use
371         in Featherweight flight computers are not compatible with Altus
372         Metrum flight computers or battery chargers. <span class="emphasis"><em>Check
373         polarity and voltage before connecting any battery not purchased
374         from Altus Metrum or Spark Fun.</em></span>
375       </p><p>
376         By default, we use the unregulated output of the battery directly
377         to fire ejection charges.  This works marvelously with standard
378         low-current e-matches like the J-Tek from MJG Technologies, and with
379         Quest Q2G2 igniters.  However, if you want or need to use a separate 
380         pyro battery, check out the &#8220;External Pyro Battery&#8221; section in this 
381         manual for instructions on how to wire that up. The altimeters are 
382         designed to work with an external pyro battery of no more than 15 volts.
383
384       </p><p>
385         Ejection charges are wired directly to the screw terminal block
386         at the aft end of the altimeter.  You'll need a very small straight 
387         blade screwdriver for these screws, such as you might find in a 
388         jeweler's screwdriver set.
389       </p><p>
390         Except for TeleMini v1.0, the flight computers also use the
391         screw terminal block for the power switch leads. On TeleMini v1.0,
392         the power switch leads are soldered directly to the board and
393         can be connected directly to a switch.
394       </p><p>
395         For most air-frames, the integrated antennas are more than
396         adequate.   However, if you are installing in a carbon-fiber or
397         metal electronics bay which is opaque to RF signals, you may need to
398         use off-board external antennas instead.  In this case, you can
399         replace the stock UHF antenna wire with an edge-launched SMA connector,
400         and, on TeleMetrum v1, you can unplug the integrated GPS
401         antenna and select an appropriate off-board GPS antenna with
402         cable terminating in a U.FL connector.
403       </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp53968624"></a>Chapter 5. System Operation</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp53969296">1. Firmware Modes </a></span></dt><dt><span class="section"><a href="#idp53977296">2. GPS </a></span></dt><dt><span class="section"><a href="#idp53979824">3. Controlling An Altimeter Over The Radio Link</a></span></dt><dt><span class="section"><a href="#idp54060432">4. Ground Testing </a></span></dt><dt><span class="section"><a href="#idp54063184">5. Radio Link </a></span></dt><dt><span class="section"><a href="#idp54067872">6. Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54069616">6.1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp54071664">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp54074256">6.3. Main Deployment Altitude</a></span></dt><dt><span class="section"><a href="#idp54075952">6.4. Maximum Flight Log</a></span></dt><dt><span class="section"><a href="#idp54078096">6.5. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp54080208">6.6. Pad Orientation</a></span></dt><dt><span class="section"><a href="#idp54081904">6.7. Configurable Pyro Channels</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53969296"></a>1. Firmware Modes </h2></div></div></div><p>
404         The AltOS firmware build for the altimeters has two
405         fundamental modes, &#8220;idle&#8221; and &#8220;flight&#8221;.  Which of these modes
406         the firmware operates in is determined at start up time. For
407         TeleMetrum and TeleMega, which have accelerometers, the mode is 
408         controlled by the orientation of the
409         rocket (well, actually the board, of course...) at the time
410         power is switched on.  If the rocket is &#8220;nose up&#8221;, then
411         the flight computer assumes it's on a rail or rod being prepared for
412         launch, so the firmware chooses flight mode.  However, if the
413         rocket is more or less horizontal, the firmware instead enters
414         idle mode.  Since TeleMini v2.0 and EasyMini don't have an
415         accelerometer we can use to determine orientation, &#8220;idle&#8221; mode
416         is selected if the board is connected via USB to a computer,
417         otherwise the board enters &#8220;flight&#8221; mode. TeleMini v1.0
418         selects &#8220;idle&#8221; mode if it receives a command packet within the
419         first five seconds of operation.
420       </p><p>
421         At power on, you will hear three beeps or see three flashes
422         (&#8220;S&#8221; in Morse code for start up) and then a pause while
423         the altimeter completes initialization and self test, and decides 
424         which mode to enter next.
425       </p><p>
426         Here's a short summary of all of the modes and the beeping (or
427         flashing, in the case of TeleMini v1) that accompanies each
428         mode. In the description of the beeping pattern, &#8220;dit&#8221; means a
429         short beep while "dah" means a long beep (three times as
430         long). &#8220;Brap&#8221; means a long dissonant tone.
431         </p><div class="table"><a name="idp50990144"></a><p class="title"><b>Table 5.1. AltOS Modes</b></p><div class="table-contents"><table summary="AltOS Modes" border="1"><colgroup><col align="center" class="Mode Name"><col align="center" class="Letter"><col align="center" class="Beeps"><col align="center" class="Description"></colgroup><thead><tr><th align="center">Mode Name</th><th align="center">Abbreviation</th><th align="center">Beeps</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">Startup</td><td align="center">S</td><td align="center">dit dit dit</td><td align="center">
432                   <p>
433                     Calibrating sensors, detecting orientation.
434                   </p>
435                 </td></tr><tr><td align="center">Idle</td><td align="center">I</td><td align="center">dit dit</td><td align="center">
436                   <p>
437                     Ready to accept commands over USB or radio link.
438                   </p>
439                 </td></tr><tr><td align="center">Pad</td><td align="center">P</td><td align="center">dit dah dah dit</td><td align="center">
440                   <p>
441                     Waiting for launch. Not listening for commands.
442                   </p>
443                 </td></tr><tr><td align="center">Boost</td><td align="center">B</td><td align="center">dah dit dit dit</td><td align="center">
444                   <p>
445                     Accelerating upwards.
446                   </p>
447                 </td></tr><tr><td align="center">Fast</td><td align="center">F</td><td align="center">dit dit dah dit</td><td align="center">
448                   <p>
449                     Decellerating, but moving faster than 200m/s.
450                   </p>
451                 </td></tr><tr><td align="center">Coast</td><td align="center">C</td><td align="center">dah dit dah dit</td><td align="center">
452                   <p>
453                     Decellerating, moving slower than 200m/s
454                   </p>
455                 </td></tr><tr><td align="center">Drogue</td><td align="center">D</td><td align="center">dah dit dit</td><td align="center">
456                   <p>
457                     Descending after apogee. Above main height.
458                   </p>
459                 </td></tr><tr><td align="center">Main</td><td align="center">M</td><td align="center">dah dah</td><td align="center">
460                   <p>
461                     Descending. Below main height.
462                   </p>
463                 </td></tr><tr><td align="center">Landed</td><td align="center">L</td><td align="center">dit dah dit dit</td><td align="center">
464                   <p>
465                     Stable altitude for at least ten seconds.
466                   </p>
467                 </td></tr><tr><td align="center">Sensor error</td><td align="center">X</td><td align="center">dah dit dit dah</td><td align="center">
468                   <p>
469                     Error detected during sensor calibration.
470                   </p>
471                 </td></tr></tbody></table></div></div><p><br class="table-break">
472       </p><p>
473         In flight or &#8220;pad&#8221; mode, the altimeter engages the flight
474         state machine, goes into transmit-only mode to send telemetry,
475         and waits for launch to be detected.  Flight mode is indicated
476         by an &#8220;di-dah-dah-dit&#8221; (&#8220;P&#8221; for pad) on the beeper or lights,
477         followed by beeps or flashes indicating the state of the
478         pyrotechnic igniter continuity.  One beep/flash indicates
479         apogee continuity, two beeps/flashes indicate main continuity,
480         three beeps/flashes indicate both apogee and main continuity,
481         and one longer &#8220;brap&#8221; sound which is made by rapidly
482         alternating between two tones indicates no continuity.  For a
483         dual deploy flight, make sure you're getting three beeps or
484         flashes before launching!  For apogee-only or motor eject
485         flights, do what makes sense.
486       </p><p>
487         If idle mode is entered, you will hear an audible &#8220;di-dit&#8221; or
488         see two short flashes (&#8220;I&#8221; for idle), and the flight state
489         machine is disengaged, thus no ejection charges will fire.
490         The altimeters also listen for the radio link when in idle
491         mode for requests sent via TeleDongle.  Commands can be issued
492         in idle mode over either USB or the radio link
493         equivalently. TeleMini v1.0 only has the radio link.  Idle
494         mode is useful for configuring the altimeter, for extracting
495         data from the on-board storage chip after flight, and for
496         ground testing pyro charges.
497       </p><p>
498         In &#8220;Idle&#8221; and &#8220;Pad&#8221; modes, once the mode indication
499         beeps/flashes and continuity indication has been sent, if
500         there is no space available to log the flight in on-board
501         memory, the flight computer will emit a warbling tone (much
502         slower than the &#8220;no continuity tone&#8221;)
503       </p><p>
504         Here's a summary of all of the &#8220;pad&#8221; and &#8220;idle&#8221; mode indications.
505         </p><div class="table"><a name="idp54003920"></a><p class="title"><b>Table 5.2. Pad/Idle Indications</b></p><div class="table-contents"><table summary="Pad/Idle Indications" border="1"><colgroup><col align="center" class="Name"><col align="center" class="Beeps"><col align="center" class="Description"></colgroup><thead><tr><th align="center">Name</th><th align="center">Beeps</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">Neither</td><td align="center">brap</td><td align="center">
506                   <p>
507                     No continuity detected on either apogee or main
508                     igniters.
509                   </p>
510                 </td></tr><tr><td align="center">Apogee</td><td align="center">dit</td><td align="center">
511                   <p>
512                     Continuity detected only on apogee igniter.
513                   </p>
514                 </td></tr><tr><td align="center">Main</td><td align="center">dit dit</td><td align="center">
515                   <p>
516                     Continuity detected only on main igniter.
517                   </p>
518                 </td></tr><tr><td align="center">Both</td><td align="center">dit dit dit</td><td align="center">
519                   <p>
520                     Continuity detected on both igniters.
521                   </p>
522                 </td></tr><tr><td align="center">Storage Full</td><td align="center">warble</td><td align="center">
523                   <p>
524                     On-board data logging storage is full. This will
525                     not prevent the flight computer from safely
526                     controlling the flight or transmitting telemetry
527                     signals, but no record of the flight will be
528                     stored in on-board flash.
529                   </p>
530                 </td></tr></tbody></table></div></div><p><br class="table-break">
531       </p><p>
532         Once landed, the flight computer will signal that by emitting
533         the &#8220;Landed&#8221; sound described above, after which it will beep
534         out the apogee height (in meters). Each digit is represented
535         by a sequence of short &#8220;dit&#8221; beeps, with a pause between
536         digits. A zero digit is represented with one long &#8220;dah&#8221;
537         beep. The flight computer will continue to report landed mode
538         and beep out the maximum height until turned off.
539       </p><p>
540         One &#8220;neat trick&#8221; of particular value when TeleMetrum or TeleMega are used with 
541         very large air-frames, is that you can power the board up while the 
542         rocket is horizontal, such that it comes up in idle mode.  Then you can
543         raise the air-frame to launch position, and issue a 'reset' command 
544         via TeleDongle over the radio link to cause the altimeter to reboot and 
545         come up in flight mode.  This is much safer than standing on the top 
546         step of a rickety step-ladder or hanging off the side of a launch 
547         tower with a screw-driver trying to turn on your avionics before 
548         installing igniters!
549       </p><p>
550         TeleMini v1.0 is configured solely via the radio link. Of course, that
551         means you need to know the TeleMini radio configuration values
552         or you won't be able to communicate with it. For situations
553         when you don't have the radio configuration values, TeleMini v1.0
554         offers an 'emergency recovery' mode. In this mode, TeleMini is
555         configured as follows:
556         </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
557             Sets the radio frequency to 434.550MHz
558             </p></li><li class="listitem"><p>
559             Sets the radio calibration back to the factory value.
560             </p></li><li class="listitem"><p>
561             Sets the callsign to N0CALL
562             </p></li><li class="listitem"><p>
563             Does not go to 'pad' mode after five seconds.
564             </p></li></ul></div><p>
565       </p><p>
566         To get into 'emergency recovery' mode, first find the row of
567         four small holes opposite the switch wiring. Using a short
568         piece of small gauge wire, connect the outer two holes
569         together, then power TeleMini up. Once the red LED is lit,
570         disconnect the wire and the board should signal that it's in
571         'idle' mode after the initial five second startup period.
572       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53977296"></a>2. GPS </h2></div></div></div><p>
573         TeleMetrum and TeleMega include a complete GPS receiver.  A
574         complete explanation of how GPS works is beyond the scope of
575         this manual, but the bottom line is that the GPS receiver
576         needs to lock onto at least four satellites to obtain a solid
577         3 dimensional position fix and know what time it is.
578       </p><p>
579         The flight computers provide backup power to the GPS chip any time a 
580         battery is connected.  This allows the receiver to &#8220;warm start&#8221; on
581         the launch rail much faster than if every power-on were a GPS 
582         &#8220;cold start&#8221;.  In typical operations, powering up
583         on the flight line in idle mode while performing final air-frame
584         preparation will be sufficient to allow the GPS receiver to cold
585         start and acquire lock.  Then the board can be powered down during
586         RSO review and installation on a launch rod or rail.  When the board
587         is turned back on, the GPS system should lock very quickly, typically
588         long before igniter installation and return to the flight line are
589         complete.
590       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp53979824"></a>3. Controlling An Altimeter Over The Radio Link</h2></div></div></div><p>
591         One of the unique features of the Altus Metrum system is the
592         ability to create a two way command link between TeleDongle
593         and an altimeter using the digital radio transceivers
594         built into each device. This allows you to interact with the
595         altimeter from afar, as if it were directly connected to the
596         computer.
597       </p><p>
598         Any operation which can be performed with a flight computer can
599         either be done with the device directly connected to the
600         computer via the USB cable, or through the radio
601         link. TeleMini v1.0 doesn't provide a USB connector and so it is
602         always communicated with over radio.  Select the appropriate 
603         TeleDongle device when the list of devices is presented and 
604         AltosUI will interact with an altimeter over the radio link.
605       </p><p>
606         One oddity in the current interface is how AltosUI selects the
607         frequency for radio communications. Instead of providing
608         an interface to specifically configure the frequency, it uses
609         whatever frequency was most recently selected for the target
610         TeleDongle device in Monitor Flight mode. If you haven't ever
611         used that mode with the TeleDongle in question, select the
612         Monitor Flight button from the top level UI, and pick the
613         appropriate TeleDongle device.  Once the flight monitoring
614         window is open, select the desired frequency and then close it
615         down again. All radio communications will now use that frequency.
616       </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
617             Save Flight Data&#8212;Recover flight data from the rocket without
618             opening it up.
619           </p></li><li class="listitem"><p>
620             Configure altimeter apogee delays, main deploy heights
621             and additional pyro event conditions
622             to respond to changing launch conditions. You can also
623             'reboot' the altimeter. Use this to remotely enable the
624             flight computer by turning TeleMetrum or TeleMega on in &#8220;idle&#8221; mode,
625             then once the air-frame is oriented for launch, you can
626             reboot the altimeter and have it restart in pad mode
627             without having to climb the scary ladder.
628           </p></li><li class="listitem"><p>
629             Fire Igniters&#8212;Test your deployment charges without snaking
630             wires out through holes in the air-frame. Simply assemble the
631             rocket as if for flight with the apogee and main charges
632             loaded, then remotely command the altimeter to fire the
633             igniters.
634           </p></li></ul></div><p>
635         Operation over the radio link for configuring an altimeter, ground
636         testing igniters, and so forth uses the same RF frequencies as flight
637         telemetry.  To configure the desired TeleDongle frequency, select
638         the monitor flight tab, then use the frequency selector and 
639         close the window before performing other desired radio operations.
640       </p><p>
641         The flight computers only enable radio commanding in 'idle' mode.
642         TeleMetrum and TeleMega use the accelerometer to detect which orientation they
643         start up in, so make sure you have the flight computer lying horizontally when you turn
644         it on. Otherwise, it will start in 'pad' mode ready for
645         flight, and will not be listening for command packets from TeleDongle.
646       </p><p>
647         TeleMini listens for a command packet for five seconds after
648         first being turned on, if it doesn't hear anything, it enters
649         'pad' mode, ready for flight and will no longer listen for
650         command packets. The easiest way to connect to TeleMini is to
651         initiate the command and select the TeleDongle device. At this
652         point, the TeleDongle will be attempting to communicate with
653         the TeleMini. Now turn TeleMini on, and it should immediately
654         start communicating with the TeleDongle and the desired
655         operation can be performed.
656       </p><p>
657         You can monitor the operation of the radio link by watching the 
658         lights on the devices. The red LED will flash each time a packet
659         is transmitted, while the green LED will light up on TeleDongle when 
660         it is waiting to receive a packet from the altimeter.
661       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54060432"></a>4. Ground Testing </h2></div></div></div><p>
662         An important aspect of preparing a rocket using electronic deployment
663         for flight is ground testing the recovery system.  Thanks
664         to the bi-directional radio link central to the Altus Metrum system,
665         this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket 
666         with less work than you may be accustomed to with other systems.  It 
667         can even be fun!
668       </p><p>
669         Just prep the rocket for flight, then power up the altimeter
670         in &#8220;idle&#8221; mode (placing air-frame horizontal for TeleMetrum or TeleMega, or
671         selecting the Configure Altimeter tab for TeleMini).  This will cause 
672         the firmware to go into &#8220;idle&#8221; mode, in which the normal flight
673         state machine is disabled and charges will not fire without
674         manual command.  You can now command the altimeter to fire the apogee
675         or main charges from a safe distance using your computer and 
676         TeleDongle and the Fire Igniter tab to complete ejection testing.
677       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54063184"></a>5. Radio Link </h2></div></div></div><p>
678         Our flight computers all incorporate an RF transceiver, but
679         it's not a full duplex system... each end can only be transmitting or
680         receiving at any given moment.  So we had to decide how to manage the
681         link.
682       </p><p>
683         By design, the altimeter firmware listens for the radio link when
684         it's in &#8220;idle mode&#8221;, which
685         allows us to use the radio link to configure the rocket, do things like
686         ejection tests, and extract data after a flight without having to
687         crack open the air-frame.  However, when the board is in &#8220;flight
688         mode&#8221;, the altimeter only
689         transmits and doesn't listen at all.  That's because we want to put
690         ultimate priority on event detection and getting telemetry out of
691         the rocket through
692         the radio in case the rocket crashes and we aren't able to extract
693         data later...
694       </p><p>
695         We don't generally use a 'normal packet radio' mode like APRS
696         because they're just too inefficient.  The GFSK modulation we
697         use is FSK with the base-band pulses passed through a Gaussian
698         filter before they go into the modulator to limit the
699         transmitted bandwidth.  When combined with forward error
700         correction and interleaving, this allows us to have a very
701         robust 19.2 kilobit data link with only 10-40 milliwatts of
702         transmit power, a whip antenna in the rocket, and a hand-held
703         Yagi on the ground.  We've had flights to above 21k feet AGL
704         with great reception, and calculations suggest we should be
705         good to well over 40k feet AGL with a 5-element yagi on the
706         ground with our 10mW units and over 100k feet AGL with the
707         40mW devices.  We hope to fly boards to higher altitudes over
708         time, and would of course appreciate customer feedback on
709         performance in higher altitude flights!
710       </p><p>
711         TeleMetrum v2.0 and TeleMega can send APRS if desired, and the
712         interval between APRS packets can be configured. As each APRS
713         packet takes a full second to transmit, we recommend an
714         interval of at least 5 seconds to avoid consuming too much
715         battery power or radio channel bandwidth.
716       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54067872"></a>6. Configurable Parameters</h2></div></div></div><p>
717         Configuring an Altus Metrum altimeter for flight is very
718         simple.  Even on our baro-only TeleMini and EasyMini boards, the use of a Kalman 
719         filter means there is no need to set a &#8220;mach delay&#8221;.  The few 
720         configurable parameters can all be set using AltosUI over USB or
721         or radio link via TeleDongle.
722       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54069616"></a>6.1. Radio Frequency</h3></div></div></div><p>
723           Altus Metrum boards support radio frequencies in the 70cm
724           band. By default, the configuration interface provides a
725           list of 10 &#8220;standard&#8221; frequencies in 100kHz channels starting at
726           434.550MHz.  However, the firmware supports use of
727           any 50kHz multiple within the 70cm band. At any given
728           launch, we highly recommend coordinating when and by whom each
729           frequency will be used to avoid interference.  And of course, both
730           altimeter and TeleDongle must be configured to the same
731           frequency to successfully communicate with each other.
732         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54071664"></a>6.2. Apogee Delay</h3></div></div></div><p>
733           Apogee delay is the number of seconds after the altimeter detects flight
734           apogee that the drogue charge should be fired.  In most cases, this
735           should be left at the default of 0.  However, if you are flying
736           redundant electronics such as for an L3 certification, you may wish
737           to set one of your altimeters to a positive delay so that both
738           primary and backup pyrotechnic charges do not fire simultaneously.
739         </p><p>
740           The Altus Metrum apogee detection algorithm fires exactly at
741           apogee.  If you are also flying an altimeter like the
742           PerfectFlite MAWD, which only supports selecting 0 or 1
743           seconds of apogee delay, you may wish to set the MAWD to 0
744           seconds delay and set the TeleMetrum to fire your backup 2
745           or 3 seconds later to avoid any chance of both charges
746           firing simultaneously.  We've flown several air-frames this
747           way quite happily, including Keith's successful L3 cert.
748         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54074256"></a>6.3. Main Deployment Altitude</h3></div></div></div><p>
749           By default, the altimeter will fire the main deployment charge at an
750           elevation of 250 meters (about 820 feet) above ground.  We think this
751           is a good elevation for most air-frames, but feel free to change this
752           to suit.  In particular, if you are flying two altimeters, you may
753           wish to set the
754           deployment elevation for the backup altimeter to be something lower
755           than the primary so that both pyrotechnic charges don't fire
756           simultaneously.
757         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54075952"></a>6.4. Maximum Flight Log</h3></div></div></div><p>
758           Changing this value will set the maximum amount of flight
759           log storage that an individual flight will use. The
760           available storage is divided into as many flights of the
761           specified size as can fit in the available space. You can
762           download and erase individual flight logs. If you fill up
763           the available storage, future flights will not get logged
764           until you erase some of the stored ones.
765         </p><p>
766           Even though our flight computers (except TeleMini v1.0) can store
767           multiple flights, we strongly recommend downloading and saving
768           flight data after each flight.
769         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54078096"></a>6.5. Ignite Mode</h3></div></div></div><p>
770           Instead of firing one charge at apogee and another charge at
771           a fixed height above the ground, you can configure the
772           altimeter to fire both at apogee or both during
773           descent. This was added to support an airframe Bdale designed that 
774           had two altimeters, one in the fin can and one in the nose.
775         </p><p>
776           Providing the ability to use both igniters for apogee or
777           main allows some level of redundancy without needing two
778           flight computers.  In Redundant Apogee or Redundant Main
779           mode, the two charges will be fired two seconds apart.
780         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54080208"></a>6.6. Pad Orientation</h3></div></div></div><p>
781           TeleMetrum and TeleMega measure acceleration along the axis
782           of the board. Which way the board is oriented affects the
783           sign of the acceleration value. Instead of trying to guess
784           which way the board is mounted in the air frame, the
785           altimeter must be explicitly configured for either Antenna
786           Up or Antenna Down. The default, Antenna Up, expects the end
787           of the board connected to the 70cm antenna to be nearest the
788           nose of the rocket, with the end containing the screw
789           terminals nearest the tail.
790         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54081904"></a>6.7. Configurable Pyro Channels</h3></div></div></div><p>
791           In addition to the usual Apogee and Main pyro channels,
792           TeleMega has four additional channels that can be configured
793           to activate when various flight conditions are
794           satisfied. You can select as many conditions as necessary;
795           all of them must be met in order to activate the
796           channel. The conditions available are:
797         </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
798               Acceleration away from the ground. Select a value, and
799               then choose whether acceleration should be above or
800               below that value. Acceleration is positive upwards, so
801               accelerating towards the ground would produce negative
802               numbers. Acceleration during descent is noisy and
803               inaccurate, so be careful when using it during these
804               phases of the flight.
805             </p></li><li class="listitem"><p>
806               Vertical speed.  Select a value, and then choose whether
807               vertical speed should be above or below that
808               value. Speed is positive upwards, so moving towards the
809               ground would produce negative numbers. Speed during
810               descent is a bit noisy and so be careful when using it
811               during these phases of the flight.
812             </p></li><li class="listitem"><p>
813               Height. Select a value, and then choose whether the
814               height above the launch pad should be above or below
815               that value.
816             </p></li><li class="listitem"><p>
817               Orientation. TeleMega contains a 3-axis gyroscope and
818               accelerometer which is used to measure the current
819               angle. Note that this angle is not the change in angle
820               from the launch pad, but rather absolute relative to
821               gravity; the 3-axis accelerometer is used to compute the
822               angle of the rocket on the launch pad and initialize the
823               system. Because this value is computed by integrating
824               rate gyros, it gets progressively less accurate as the
825               flight goes on. It should have an accumulated error of
826               less than 0.2°/second (after 10 seconds of flight, the
827               error should be less than 2°).
828             </p><p>
829               The usual use of the orientation configuration is to
830               ensure that the rocket is traveling mostly upwards when
831               deciding whether to ignite air starts or additional
832               stages. For that, choose a reasonable maximum angle
833               (like 20°) and set the motor igniter to require an angle
834               of less than that value.
835             </p></li><li class="listitem"><p>
836               Flight Time. Time since boost was detected. Select a
837               value and choose whether to activate the pyro channel
838               before or after that amount of time.
839             </p></li><li class="listitem"><p>
840               Ascending. A simple test saying whether the rocket is
841               going up or not. This is exactly equivalent to testing
842               whether the speed is &gt; 0.
843             </p></li><li class="listitem"><p>
844               Descending. A simple test saying whether the rocket is
845               going down or not. This is exactly equivalent to testing
846               whether the speed is &lt; 0.
847             </p></li><li class="listitem"><p>
848               After Motor. The flight software counts each time the
849               rocket starts accelerating (presumably due to a motor or
850               motors igniting). Use this value to count ignitions for
851               multi-staged or multi-airstart launches.
852             </p></li><li class="listitem"><p>
853               Delay. This value doesn't perform any checks, instead it
854               inserts a delay between the time when the other
855               parameters become true and when the pyro channel is
856               activated.
857             </p></li><li class="listitem"><p>
858               Flight State. The flight software tracks the flight
859               through a sequence of states:
860               </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
861                     Boost. The motor has lit and the rocket is
862                     accelerating upwards.
863                   </p></li><li class="listitem"><p>
864                     Fast. The motor has burned out and the rocket is
865                     descellerating, but it is going faster than 200m/s.
866                   </p></li><li class="listitem"><p>
867                     Coast. The rocket is still moving upwards and
868                     decelerating, but the speed is less than 200m/s.
869                   </p></li><li class="listitem"><p>
870                     Drogue. The rocket has reached apogee and is heading
871                     back down, but is above the configured Main
872                     altitude.
873                   </p></li><li class="listitem"><p>
874                     Main. The rocket is still descending, and is below
875                     the Main altitude
876                   </p></li><li class="listitem"><p>
877                     Landed. The rocket is no longer moving.
878                   </p></li></ol></div><p>
879             </p><p>
880               You can select a state to limit when the pyro channel
881               may activate; note that the check is based on when the
882               rocket transitions <span class="emphasis"><em>into</em></span> the state, and so checking for
883               &#8220;greater than Boost&#8221; means that the rocket is currently
884               in boost or some later state.
885             </p><p>
886               When a motor burns out, the rocket enters either Fast or
887               Coast state (depending on how fast it is moving). If the
888               computer detects upwards acceleration again, it will
889               move back to Boost state.
890             </p></li></ul></div></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp54104384"></a>Chapter 6. AltosUI</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54108000">1. Monitor Flight</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54120720">1.1. Launch Pad</a></span></dt><dt><span class="section"><a href="#idp54136352">1.2. Ascent</a></span></dt><dt><span class="section"><a href="#idp54141808">1.3. Descent</a></span></dt><dt><span class="section"><a href="#idp54148672">1.4. Landed</a></span></dt><dt><span class="section"><a href="#idp54155520">1.5. Table</a></span></dt><dt><span class="section"><a href="#idp54159104">1.6. Site Map</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54164768">2. Save Flight Data</a></span></dt><dt><span class="section"><a href="#idp54168720">3. Replay Flight</a></span></dt><dt><span class="section"><a href="#idp54170752">4. Graph Data</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54173136">4.1. Flight Graph</a></span></dt><dt><span class="section"><a href="#idp54177584">4.2. Configure Graph</a></span></dt><dt><span class="section"><a href="#idp54181248">4.3. Flight Statistics</a></span></dt><dt><span class="section"><a href="#idp54184768">4.4. Map</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54188624">5. Export Data</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54190192">5.1. Comma Separated Value Format</a></span></dt><dt><span class="section"><a href="#idp54192544">5.2. Keyhole Markup Language (for Google Earth)</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54194032">6. Configure Altimeter</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54206336">6.1. Main Deploy Altitude</a></span></dt><dt><span class="section"><a href="#idp54208304">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp54209920">6.3. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp54211424">6.4. RF Calibration</a></span></dt><dt><span class="section"><a href="#idp54213072">6.5. Telemetry/RDF/APRS Enable</a></span></dt><dt><span class="section"><a href="#idp54214368">6.6. APRS Interval</a></span></dt><dt><span class="section"><a href="#idp54215872">6.7. Callsign</a></span></dt><dt><span class="section"><a href="#idp54217184">6.8. Maximum Flight Log Size</a></span></dt><dt><span class="section"><a href="#idp54218624">6.9. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp54225616">6.10. Pad Orientation</a></span></dt><dt><span class="section"><a href="#idp54230832">6.11. Configure Pyro Channels</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54236640">7. Configure AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54240144">7.1. Voice Settings</a></span></dt><dt><span class="section"><a href="#idp54245168">7.2. Log Directory</a></span></dt><dt><span class="section"><a href="#idp54247168">7.3. Callsign</a></span></dt><dt><span class="section"><a href="#idp54249408">7.4. Imperial Units</a></span></dt><dt><span class="section"><a href="#idp54250912">7.5. Font Size</a></span></dt><dt><span class="section"><a href="#idp54252192">7.6. Serial Debug</a></span></dt><dt><span class="section"><a href="#idp54253696">7.7. Manage Frequencies</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54255328">8. Configure Groundstation</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54266448">8.1. Frequency</a></span></dt><dt><span class="section"><a href="#idp54268016">8.2. Radio Calibration</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54269648">9. Flash Image</a></span></dt><dt><span class="section"><a href="#idp54271280">10. Fire Igniter</a></span></dt><dt><span class="section"><a href="#idp54276912">11. Scan Channels</a></span></dt><dt><span class="section"><a href="#idp54280768">12. Load Maps</a></span></dt><dt><span class="section"><a href="#idp54286464">13. Monitor Idle</a></span></dt></dl></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="414"><tr><td><img src="altosui.png" width="414"></td></tr></table></div></div><p>
891       The AltosUI program provides a graphical user interface for
892       interacting with the Altus Metrum product family. AltosUI can
893       monitor telemetry data, configure devices and many other
894       tasks. The primary interface window provides a selection of
895       buttons, one for each major activity in the system.  This chapter
896       is split into sections, each of which documents one of the tasks
897       provided from the top-level toolbar.
898     </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54108000"></a>1. Monitor Flight</h2></div><div><h3 class="subtitle">Receive, Record and Display Telemetry Data</h3></div></div></div><p>
899         Selecting this item brings up a dialog box listing all of the
900         connected TeleDongle devices. When you choose one of these,
901         AltosUI will create a window to display telemetry data as
902         received by the selected TeleDongle device.
903       </p><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="279"><tr><td><img src="device-selection.png" width="279"></td></tr></table></div></div><p>
904         All telemetry data received are automatically recorded in
905         suitable log files. The name of the files includes the current
906         date and rocket serial and flight numbers.
907       </p><p>
908         The radio frequency being monitored by the TeleDongle device is
909         displayed at the top of the window. You can configure the
910         frequency by clicking on the frequency box and selecting the desired
911         frequency. AltosUI remembers the last frequency selected for each
912         TeleDongle and selects that automatically the next time you use
913         that device.
914       </p><p>
915         Below the TeleDongle frequency selector, the window contains a few
916         significant pieces of information about the altimeter providing
917         the telemetry data stream:
918       </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>The configured call-sign</p></li><li class="listitem"><p>The device serial number</p></li><li class="listitem"><p>The flight number. Each altimeter remembers how many
919             times it has flown.
920           </p></li><li class="listitem"><p>
921             The rocket flight state. Each flight passes through several
922             states including Pad, Boost, Fast, Coast, Drogue, Main and
923             Landed.
924           </p></li><li class="listitem"><p>
925             The Received Signal Strength Indicator value. This lets
926             you know how strong a signal TeleDongle is receiving. The
927             radio inside TeleDongle operates down to about -99dBm;
928             weaker signals may not be receivable. The packet link uses
929             error detection and correction techniques which prevent
930             incorrect data from being reported.
931           </p></li><li class="listitem"><p>
932             The age of the displayed data, in seconds since the last 
933             successfully received telemetry packet.  In normal operation
934             this will stay in the low single digits.  If the number starts
935             counting up, then you are no longer receiving data over the radio
936             link from the flight computer.
937           </p></li></ul></div><p>
938         Finally, the largest portion of the window contains a set of
939         tabs, each of which contain some information about the rocket.
940         They're arranged in 'flight order' so that as the flight
941         progresses, the selected tab automatically switches to display
942         data relevant to the current state of the flight. You can select
943         other tabs at any time. The final 'table' tab displays all of
944         the raw telemetry values in one place in a spreadsheet-like format.
945       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54120720"></a>1.1. Launch Pad</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="launch-pad.png" width="495"></td></tr></table></div></div><p>
946           The 'Launch Pad' tab shows information used to decide when the
947           rocket is ready for flight. The first elements include red/green
948           indicators, if any of these is red, you'll want to evaluate
949           whether the rocket is ready to launch:
950           </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Battery Voltage</span></dt><dd><p>
951                   This indicates whether the Li-Po battery powering the 
952                   flight computer has sufficient charge to last for
953                   the duration of the flight. A value of more than
954                   3.8V is required for a 'GO' status.
955                 </p></dd><dt><span class="term">Apogee Igniter Voltage</span></dt><dd><p>
956                   This indicates whether the apogee
957                   igniter has continuity. If the igniter has a low
958                   resistance, then the voltage measured here will be close
959                   to the Li-Po battery voltage. A value greater than 3.2V is
960                   required for a 'GO' status.
961                 </p></dd><dt><span class="term">Main Igniter Voltage</span></dt><dd><p>
962                   This indicates whether the main
963                   igniter has continuity. If the igniter has a low
964                   resistance, then the voltage measured here will be close
965                   to the Li-Po battery voltage. A value greater than 3.2V is
966                   required for a 'GO' status.
967                 </p></dd><dt><span class="term">On-board Data Logging</span></dt><dd><p>
968                   This indicates whether there is
969                   space remaining on-board to store flight data for the
970                   upcoming flight. If you've downloaded data, but failed
971                   to erase flights, there may not be any space
972                   left. Most of our flight computers can store multiple 
973                   flights, depending on the configured maximum flight log 
974                   size. TeleMini v1.0 stores only a single flight, so it 
975                   will need to be
976                   downloaded and erased after each flight to capture
977                   data. This only affects on-board flight logging; the
978                   altimeter will still transmit telemetry and fire
979                   ejection charges at the proper times even if the flight
980                   data storage is full.
981                 </p></dd><dt><span class="term">GPS Locked</span></dt><dd><p>
982                   For a TeleMetrum or TeleMega device, this indicates whether the GPS receiver is
983                   currently able to compute position information. GPS requires
984                   at least 4 satellites to compute an accurate position.
985                 </p></dd><dt><span class="term">GPS Ready</span></dt><dd><p>
986                   For a TeleMetrum or TeleMega device, this indicates whether GPS has reported at least
987                   10 consecutive positions without losing lock. This ensures
988                   that the GPS receiver has reliable reception from the
989                   satellites.
990                 </p></dd></dl></div><p>
991         </p><p>
992           The Launchpad tab also shows the computed launch pad position
993           and altitude, averaging many reported positions to improve the
994           accuracy of the fix.
995         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54136352"></a>1.2. Ascent</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="ascent.png" width="495"></td></tr></table></div></div><p>
996           This tab is shown during Boost, Fast and Coast
997           phases. The information displayed here helps monitor the
998           rocket as it heads towards apogee.
999         </p><p>
1000           The height, speed, acceleration and tilt are shown along
1001           with the maximum values for each of them. This allows you to
1002           quickly answer the most commonly asked questions you'll hear
1003           during flight.
1004         </p><p>
1005           The current latitude and longitude reported by the GPS are
1006           also shown. Note that under high acceleration, these values
1007           may not get updated as the GPS receiver loses position
1008           fix. Once the rocket starts coasting, the receiver should
1009           start reporting position again.
1010         </p><p>
1011           Finally, the current igniter voltages are reported as in the
1012           Launch Pad tab. This can help diagnose deployment failures
1013           caused by wiring which comes loose under high acceleration.
1014         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54141808"></a>1.3. Descent</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="descent.png" width="495"></td></tr></table></div></div><p>
1015           Once the rocket has reached apogee and (we hope) activated the
1016           apogee charge, attention switches to tracking the rocket on
1017           the way back to the ground, and for dual-deploy flights,
1018           waiting for the main charge to fire.
1019         </p><p>
1020           To monitor whether the apogee charge operated correctly, the
1021           current descent rate is reported along with the current
1022           height. Good descent rates vary based on the choice of recovery
1023           components, but generally range from 15-30m/s on drogue and should
1024           be below 10m/s when under the main parachute in a dual-deploy flight.
1025         </p><p>
1026           With GPS-equipped flight computers, you can locate the rocket in the
1027           sky using the elevation and bearing information to figure
1028           out where to look. Elevation is in degrees above the
1029           horizon. Bearing is reported in degrees relative to true
1030           north. Range can help figure out how big the rocket will
1031           appear. Ground Distance shows how far it is to a point
1032           directly under the rocket and can help figure out where the
1033           rocket is likely to land. Note that all of these values are
1034           relative to the pad location. If the elevation is near 90°,
1035           the rocket is over the pad, not over you.
1036         </p><p>
1037           Finally, the igniter voltages are reported in this tab as
1038           well, both to monitor the main charge as well as to see what
1039           the status of the apogee charge is.  Note that some commercial
1040           e-matches are designed to retain continuity even after being
1041           fired, and will continue to show as green or return from red to
1042           green after firing.
1043         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54148672"></a>1.4. Landed</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="landed.png" width="495"></td></tr></table></div></div><p>
1044           Once the rocket is on the ground, attention switches to
1045           recovery. While the radio signal is often lost once the
1046           rocket is on the ground, the last reported GPS position is
1047           generally within a short distance of the actual landing location.
1048         </p><p>
1049           The last reported GPS position is reported both by
1050           latitude and longitude as well as a bearing and distance from
1051           the launch pad. The distance should give you a good idea of
1052           whether to walk or hitch a ride.  Take the reported
1053           latitude and longitude and enter them into your hand-held GPS
1054           unit and have that compute a track to the landing location.
1055         </p><p>
1056           Our flight computers will continue to transmit RDF
1057           tones after landing, allowing you to locate the rocket by
1058           following the radio signal if necessary. You may need to get 
1059           away from the clutter of the flight line, or even get up on 
1060           a hill (or your neighbor's RV roof) to receive the RDF signal.
1061         </p><p>
1062           The maximum height, speed and acceleration reported
1063           during the flight are displayed for your admiring observers.
1064           The accuracy of these immediate values depends on the quality
1065           of your radio link and how many packets were received.  
1066           Recovering the on-board data after flight may yield
1067           more precise results.
1068         </p><p>
1069           To get more detailed information about the flight, you can
1070           click on the 'Graph Flight' button which will bring up a
1071           graph window for the current flight.
1072         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54155520"></a>1.5. Table</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="table.png" width="495"></td></tr></table></div></div><p>
1073           The table view shows all of the data available from the
1074           flight computer. Probably the most useful data on
1075           this tab is the detailed GPS information, which includes
1076           horizontal dilution of precision information, and
1077           information about the signal being received from the satellites.
1078         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54159104"></a>1.6. Site Map</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="495"><tr><td><img src="site-map.png" width="495"></td></tr></table></div></div><p>
1079           When the TeleMetrum has a GPS fix, the Site Map tab will map
1080           the rocket's position to make it easier for you to locate the
1081           rocket, both while it is in the air, and when it has landed. The
1082           rocket's state is indicated by color: white for pad, red for
1083           boost, pink for fast, yellow for coast, light blue for drogue,
1084           dark blue for main, and black for landed.
1085         </p><p>
1086           The map's scale is approximately 3m (10ft) per pixel. The map
1087           can be dragged using the left mouse button. The map will attempt
1088           to keep the rocket roughly centered while data is being received.
1089         </p><p>
1090           Images are fetched automatically via the Google Maps Static API,
1091           and cached on disk for reuse. If map images cannot be downloaded,
1092           the rocket's path will be traced on a dark gray background
1093           instead.
1094         </p><p>
1095           You can pre-load images for your favorite launch sites
1096           before you leave home; check out the 'Preload Maps' section below.
1097         </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54164768"></a>2. Save Flight Data</h2></div></div></div><p>
1098         The altimeter records flight data to its internal flash memory.
1099         TeleMetrum data is recorded at a much higher rate than the telemetry
1100         system can handle, and is not subject to radio drop-outs. As
1101         such, it provides a more complete and precise record of the
1102         flight. The 'Save Flight Data' button allows you to read the
1103         flash memory and write it to disk. 
1104       </p><p>
1105         Clicking on the 'Save Flight Data' button brings up a list of
1106         connected flight computers and TeleDongle devices. If you select a
1107         flight computer, the flight data will be downloaded from that
1108         device directly. If you select a TeleDongle device, flight data
1109         will be downloaded from a flight computer over radio link via the 
1110         specified TeleDongle. See the chapter on Controlling An Altimeter 
1111         Over The Radio Link for more information.
1112       </p><p>
1113         After the device has been selected, a dialog showing the
1114         flight data saved in the device will be shown allowing you to
1115         select which flights to download and which to delete. With
1116         version 0.9 or newer firmware, you must erase flights in order
1117         for the space they consume to be reused by another
1118         flight. This prevents accidentally losing flight data
1119         if you neglect to download data before flying again. Note that
1120         if there is no more space available in the device, then no
1121         data will be recorded during the next flight.
1122       </p><p>
1123         The file name for each flight log is computed automatically
1124         from the recorded flight date, altimeter serial number and
1125         flight number information.
1126       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54168720"></a>3. Replay Flight</h2></div></div></div><p>
1127         Select this button and you are prompted to select a flight
1128         record file, either a .telem file recording telemetry data or a
1129         .eeprom file containing flight data saved from the altimeter
1130         flash memory.
1131       </p><p>
1132         Once a flight record is selected, the flight monitor interface
1133         is displayed and the flight is re-enacted in real time. Check
1134         the Monitor Flight chapter above to learn how this window operates.
1135       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54170752"></a>4. Graph Data</h2></div></div></div><p>
1136         Select this button and you are prompted to select a flight
1137         record file, either a .telem file recording telemetry data or a
1138         .eeprom file containing flight data saved from
1139         flash memory.
1140       </p><p>
1141         Note that telemetry files will generally produce poor graphs
1142         due to the lower sampling rate and missed telemetry packets.
1143         Use saved flight data in .eeprom files for graphing where possible.
1144       </p><p>
1145         Once a flight record is selected, a window with multiple tabs is
1146         opened.
1147       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54173136"></a>4.1. Flight Graph</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="540"><tr><td><img src="graph.png" width="540"></td></tr></table></div></div><p>
1148           By default, the graph contains acceleration (blue),
1149           velocity (green) and altitude (red).
1150         </p><p>
1151         The graph can be zoomed into a particular area by clicking and
1152         dragging down and to the right. Once zoomed, the graph can be
1153         reset by clicking and dragging up and to the left. Holding down
1154         control and clicking and dragging allows the graph to be panned.
1155         The right mouse button causes a pop-up menu to be displayed, giving
1156         you the option save or print the plot.
1157       </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54177584"></a>4.2. Configure Graph</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="540"><tr><td><img src="graph-configure.png" width="540"></td></tr></table></div></div><p>
1158           This selects which graph elements to show, and, at the
1159           very bottom, lets you switch between metric and
1160           imperial units
1161         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54181248"></a>4.3. Flight Statistics</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="540"><tr><td><img src="graph-stats.png" width="540"></td></tr></table></div></div><p>
1162           Shows overall data computed from the flight.
1163         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54184768"></a>4.4. Map</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="540"><tr><td><img src="graph-map.png" width="540"></td></tr></table></div></div><p>
1164           Shows a satellite image of the flight area overlaid
1165           with the path of the flight. The red concentric
1166           circles mark the launch pad, the black concentric
1167           circles mark the landing location.
1168         </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54188624"></a>5. Export Data</h2></div></div></div><p>
1169         This tool takes the raw data files and makes them available for
1170         external analysis. When you select this button, you are prompted to 
1171         select a flight data file, which can be either a .eeprom or .telem.
1172         The .eeprom files contain higher resolution and more continuous data, 
1173         while .telem files contain receiver signal strength information.  
1174         Next, a second dialog appears which is used to select
1175         where to write the resulting file. It has a selector to choose
1176         between CSV and KML file formats.
1177       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54190192"></a>5.1. Comma Separated Value Format</h3></div></div></div><p>
1178           This is a text file containing the data in a form suitable for
1179           import into a spreadsheet or other external data analysis
1180           tool. The first few lines of the file contain the version and
1181           configuration information from the altimeter, then
1182           there is a single header line which labels all of the
1183           fields. All of these lines start with a '#' character which
1184           many tools can be configured to skip over.
1185         </p><p>
1186           The remaining lines of the file contain the data, with each
1187           field separated by a comma and at least one space. All of
1188           the sensor values are converted to standard units, with the
1189           barometric data reported in both pressure, altitude and
1190           height above pad units.
1191         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54192544"></a>5.2. Keyhole Markup Language (for Google Earth)</h3></div></div></div><p>
1192           This is the format used by Google Earth to provide an overlay 
1193           within that application. With this, you can use Google Earth to 
1194           see the whole flight path in 3D.
1195         </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54194032"></a>6. Configure Altimeter</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="324"><tr><td><img src="configure-altimeter.png" width="324"></td></tr></table></div></div><p>
1196         Select this button and then select either an altimeter or
1197         TeleDongle Device from the list provided. Selecting a TeleDongle
1198         device will use the radio link to configure a remote altimeter. 
1199       </p><p>
1200         The first few lines of the dialog provide information about the
1201         connected device, including the product name,
1202         software version and hardware serial number. Below that are the
1203         individual configuration entries.
1204       </p><p>
1205         At the bottom of the dialog, there are four buttons:
1206       </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Save</span></dt><dd><p>
1207               This writes any changes to the
1208               configuration parameter block in flash memory. If you don't
1209               press this button, any changes you make will be lost.
1210             </p></dd><dt><span class="term">Reset</span></dt><dd><p>
1211               This resets the dialog to the most recently saved values,
1212               erasing any changes you have made.
1213             </p></dd><dt><span class="term">Reboot</span></dt><dd><p>
1214               This reboots the device. Use this to
1215               switch from idle to pad mode by rebooting once the rocket is
1216               oriented for flight, or to confirm changes you think you saved 
1217               are really saved.
1218             </p></dd><dt><span class="term">Close</span></dt><dd><p>
1219               This closes the dialog. Any unsaved changes will be
1220               lost.
1221             </p></dd></dl></div><p>
1222         The rest of the dialog contains the parameters to be configured.
1223       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54206336"></a>6.1. Main Deploy Altitude</h3></div></div></div><p>
1224           This sets the altitude (above the recorded pad altitude) at
1225           which the 'main' igniter will fire. The drop-down menu shows
1226           some common values, but you can edit the text directly and
1227           choose whatever you like. If the apogee charge fires below
1228           this altitude, then the main charge will fire two seconds
1229           after the apogee charge fires.
1230         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54208304"></a>6.2. Apogee Delay</h3></div></div></div><p>
1231           When flying redundant electronics, it's often important to
1232           ensure that multiple apogee charges don't fire at precisely
1233           the same time, as that can over pressurize the apogee deployment
1234           bay and cause a structural failure of the air-frame. The Apogee
1235           Delay parameter tells the flight computer to fire the apogee
1236           charge a certain number of seconds after apogee has been
1237           detected.
1238         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54209920"></a>6.3. Radio Frequency</h3></div></div></div><p>
1239           This configures which of the frequencies to use for both
1240           telemetry and packet command mode. Note that if you set this
1241           value via packet command mode, the TeleDongle frequency will
1242           also be automatically reconfigured to match so that
1243           communication will continue afterwards.
1244         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54211424"></a>6.4. RF Calibration</h3></div></div></div><p>
1245           The radios in every Altus Metrum device are calibrated at the
1246           factory to ensure that they transmit and receive on the
1247           specified frequency.  If you need to you can adjust the calibration 
1248           by changing this value.  Do not do this without understanding what
1249           the value means, read the appendix on calibration and/or the source
1250           code for more information.  To change a TeleDongle's calibration, 
1251           you must reprogram the unit completely.
1252         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54213072"></a>6.5. Telemetry/RDF/APRS Enable</h3></div></div></div><p>
1253           Enables the radio for transmission during flight. When
1254           disabled, the radio will not transmit anything during flight
1255           at all.
1256         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54214368"></a>6.6. APRS Interval</h3></div></div></div><p>
1257           How often to transmit GPS information via APRS. This option
1258           is available on TeleMetrum v2 and TeleMega
1259           boards. TeleMetrum v1 boards cannot transmit APRS
1260           packets. Note that a single APRS packet takes nearly a full
1261           second to transmit, so enabling this option will prevent
1262           sending any other telemetry during that time.
1263         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54215872"></a>6.7. Callsign</h3></div></div></div><p>
1264           This sets the call sign included in each telemetry packet. Set this
1265           as needed to conform to your local radio regulations.
1266         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54217184"></a>6.8. Maximum Flight Log Size</h3></div></div></div><p>
1267           This sets the space (in kilobytes) allocated for each flight
1268           log. The available space will be divided into chunks of this
1269           size. A smaller value will allow more flights to be stored,
1270           a larger value will record data from longer flights.
1271         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54218624"></a>6.9. Ignite Mode</h3></div></div></div><p>
1272           TeleMetrum and TeleMini provide two igniter channels as they
1273           were originally designed as dual-deploy flight
1274           computers. This configuration parameter allows the two
1275           channels to be used in different configurations.
1276         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Dual Deploy</span></dt><dd><p>
1277                   This is the usual mode of operation; the
1278                   'apogee' channel is fired at apogee and the 'main'
1279                   channel at the height above ground specified by the
1280                   'Main Deploy Altitude' during descent.
1281                 </p></dd><dt><span class="term">Redundant Apogee</span></dt><dd><p>
1282                   This fires both channels at
1283                   apogee, the 'apogee' channel first followed after a two second
1284                   delay by the 'main' channel.
1285                 </p></dd><dt><span class="term">Redundant Main</span></dt><dd><p>
1286                   This fires both channels at the
1287                   height above ground specified by the Main Deploy
1288                   Altitude setting during descent. The 'apogee'
1289                   channel is fired first, followed after a two second
1290                   delay by the 'main' channel.
1291                 </p></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54225616"></a>6.10. Pad Orientation</h3></div></div></div><p>
1292           Because they include accelerometers, TeleMetrum and
1293           TeleMega are sensitive to the orientation of the board. By
1294           default, they expect the antenna end to point forward. This
1295           parameter allows that default to be changed, permitting the
1296           board to be mounted with the antenna pointing aft instead.
1297         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Antenna Up</span></dt><dd><p>
1298                 In this mode, the antenna end of the
1299                 flight computer must point forward, in line with the
1300                 expected flight path.
1301               </p></dd><dt><span class="term">Antenna Down</span></dt><dd><p>
1302                 In this mode, the antenna end of the
1303                 flight computer must point aft, in line with the
1304                 expected flight path.
1305               </p></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54230832"></a>6.11. Configure Pyro Channels</h3></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="540"><tr><td><img src="configure-pyro.png" width="540"></td></tr></table></div></div><p>
1306           This opens a separate window to configure the additional
1307           pyro channels available on TeleMega.  One column is
1308           presented for each channel. Each row represents a single
1309           parameter, if enabled the parameter must meet the specified
1310           test for the pyro channel to be fired. See the Pyro Channels
1311           section in the System Operation chapter above for a
1312           description of these parameters.
1313         </p><p>
1314           Select conditions and set the related value; the pyro
1315           channel will be activated when <span class="emphasis"><em>all</em></span> of the
1316           conditions are met. Each pyro channel has a separate set of
1317           configuration values, so you can use different values for
1318           the same condition with different channels.
1319         </p><p>
1320           Once you have selected the appropriate configuration for all
1321           of the necessary pyro channels, you can save the pyro
1322           configuration along with the rest of the flight computer
1323           configuration by pressing the 'Save' button in the main
1324           Configure Flight Computer window.
1325         </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54236640"></a>7. Configure AltosUI</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="216"><tr><td><img src="configure-altosui.png" width="216"></td></tr></table></div></div><p>
1326         This button presents a dialog so that you can configure the AltosUI global settings.
1327       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54240144"></a>7.1. Voice Settings</h3></div></div></div><p>
1328           AltosUI provides voice announcements during flight so that you
1329           can keep your eyes on the sky and still get information about
1330           the current flight status. However, sometimes you don't want
1331           to hear them.
1332         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Enable</span></dt><dd><p>Turns all voice announcements on and off</p></dd><dt><span class="term">Test Voice</span></dt><dd><p>
1333                 Plays a short message allowing you to verify
1334                 that the audio system is working and the volume settings
1335                 are reasonable
1336               </p></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54245168"></a>7.2. Log Directory</h3></div></div></div><p>
1337           AltosUI logs all telemetry data and saves all TeleMetrum flash
1338           data to this directory. This directory is also used as the
1339           staring point when selecting data files for display or export.
1340         </p><p>
1341           Click on the directory name to bring up a directory choosing
1342           dialog, select a new directory and click 'Select Directory' to
1343           change where AltosUI reads and writes data files.
1344         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54247168"></a>7.3. Callsign</h3></div></div></div><p>
1345           This value is transmitted in each command packet sent from 
1346           TeleDongle and received from an altimeter.  It is not used in 
1347           telemetry mode, as the callsign configured in the altimeter board
1348           is included in all telemetry packets.  Configure this
1349           with the AltosUI operators call sign as needed to comply with
1350           your local radio regulations.
1351         </p><p>
1352           Note that to successfully command a flight computer over the radio
1353           (to configure the altimeter, monitor idle, or fire pyro charges), 
1354           the callsign configured here must exactly match the callsign
1355           configured in the flight computer.  This matching is case 
1356           sensitive.
1357         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54249408"></a>7.4. Imperial Units</h3></div></div></div><p>
1358           This switches between metric units (meters) and imperial
1359           units (feet and miles). This affects the display of values
1360           use during flight monitoring, configuration, data graphing
1361           and all of the voice announcements. It does not change the
1362           units used when exporting to CSV files, those are always
1363           produced in metric units.
1364         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54250912"></a>7.5. Font Size</h3></div></div></div><p>
1365           Selects the set of fonts used in the flight monitor
1366           window. Choose between the small, medium and large sets.
1367         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54252192"></a>7.6. Serial Debug</h3></div></div></div><p>
1368           This causes all communication with a connected device to be
1369           dumped to the console from which AltosUI was started. If
1370           you've started it from an icon or menu entry, the output
1371           will simply be discarded. This mode can be useful to debug
1372           various serial communication issues.
1373         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54253696"></a>7.7. Manage Frequencies</h3></div></div></div><p>
1374           This brings up a dialog where you can configure the set of
1375           frequencies shown in the various frequency menus. You can
1376           add as many as you like, or even reconfigure the default
1377           set. Changing this list does not affect the frequency
1378           settings of any devices, it only changes the set of
1379           frequencies shown in the menus.
1380         </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54255328"></a>8. Configure Groundstation</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="279"><tr><td><img src="configure-groundstation.png" width="279"></td></tr></table></div></div><p>
1381         Select this button and then select a TeleDongle Device from the list provided.
1382       </p><p>
1383         The first few lines of the dialog provide information about the
1384         connected device, including the product name,
1385         software version and hardware serial number. Below that are the
1386         individual configuration entries.
1387       </p><p>
1388         Note that the TeleDongle itself doesn't save any configuration
1389         data, the settings here are recorded on the local machine in
1390         the Java preferences database. Moving the TeleDongle to
1391         another machine, or using a different user account on the same
1392         machine will cause settings made here to have no effect.
1393       </p><p>
1394         At the bottom of the dialog, there are three buttons:
1395       </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Save</span></dt><dd><p>
1396               This writes any changes to the
1397               local Java preferences file. If you don't
1398               press this button, any changes you make will be lost.
1399             </p></dd><dt><span class="term">Reset</span></dt><dd><p>
1400               This resets the dialog to the most recently saved values,
1401               erasing any changes you have made.
1402             </p></dd><dt><span class="term">Close</span></dt><dd><p>
1403               This closes the dialog. Any unsaved changes will be
1404               lost.
1405             </p></dd></dl></div><p>
1406         The rest of the dialog contains the parameters to be configured.
1407       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54266448"></a>8.1. Frequency</h3></div></div></div><p>
1408           This configures the frequency to use for both telemetry and
1409           packet command mode. Set this before starting any operation
1410           involving packet command mode so that it will use the right
1411           frequency. Telemetry monitoring mode also provides a menu to
1412           change the frequency, and that menu also sets the same Java
1413           preference value used here.
1414         </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54268016"></a>8.2. Radio Calibration</h3></div></div></div><p>
1415           The radios in every Altus Metrum device are calibrated at the
1416           factory to ensure that they transmit and receive on the
1417           specified frequency.  To change a TeleDongle's calibration, 
1418           you must reprogram the unit completely, so this entry simply
1419           shows the current value and doesn't allow any changes.
1420         </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54269648"></a>9. Flash Image</h2></div></div></div><p>
1421         This reprograms Altus Metrum devices with new
1422         firmware. TeleMetrum v1.x, TeleDongle, TeleMini and TeleBT are
1423         all reprogrammed by using another similar unit as a
1424         programming dongle (pair programming). TeleMega, TeleMetrum v2
1425         and EasyMini are all programmed directly over their USB ports
1426         (self programming).  Please read the directions for flashing
1427         devices in the Updating Device Firmware chapter below.
1428       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54271280"></a>10. Fire Igniter</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="108"><tr><td><img src="fire-igniter.png" width="108"></td></tr></table></div></div><p>
1429         This activates the igniter circuits in the flight computer to help 
1430         test recovery systems deployment. Because this command can operate
1431         over the Packet Command Link, you can prepare the rocket as
1432         for flight and then test the recovery system without needing
1433         to snake wires inside the air-frame.
1434       </p><p>
1435         Selecting the 'Fire Igniter' button brings up the usual device
1436         selection dialog. Pick the desired device. This brings up another 
1437         window which shows the current continuity test status for all
1438         of the pyro channels.
1439       </p><p>
1440         Next, select the desired igniter to fire. This will enable the
1441         'Arm' button.
1442       </p><p>
1443         Select the 'Arm' button. This enables the 'Fire' button. The
1444         word 'Arm' is replaced by a countdown timer indicating that
1445         you have 10 seconds to press the 'Fire' button or the system
1446         will deactivate, at which point you start over again at
1447         selecting the desired igniter.
1448       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54276912"></a>11. Scan Channels</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="288"><tr><td><img src="scan-channels.png" width="288"></td></tr></table></div></div><p>
1449         This listens for telemetry packets on all of the configured
1450         frequencies, displaying information about each device it
1451         receives a packet from. You can select which of the three
1452         telemetry formats should be tried; by default, it only listens
1453         for the standard telemetry packets used in v1.0 and later
1454         firmware.
1455       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54280768"></a>12. Load Maps</h2></div></div></div><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="468"><tr><td><img src="load-maps.png" width="468"></td></tr></table></div></div><p>
1456         Before heading out to a new launch site, you can use this to
1457         load satellite images in case you don't have internet
1458         connectivity at the site. This loads a fairly large area
1459         around the launch site, which should cover any flight you're likely to make.
1460       </p><p>
1461         There's a drop-down menu of launch sites we know about; if
1462         your favorites aren't there, please let us know the lat/lon
1463         and name of the site. The contents of this list are actually
1464         downloaded from our server at run-time, so as new sites are sent 
1465         in, they'll get automatically added to this list.
1466       </p><p>
1467         If the launch site isn't in the list, you can manually enter the lat/lon values
1468       </p><p>
1469         Clicking the 'Load Map' button will fetch images from Google
1470         Maps; note that Google limits how many images you can fetch at
1471         once, so if you load more than one launch site, you may get
1472         some gray areas in the map which indicate that Google is tired
1473         of sending data to you. Try again later.
1474       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54286464"></a>13. Monitor Idle</h2></div></div></div><p>
1475         This brings up a dialog similar to the Monitor Flight UI,
1476         except it works with the altimeter in &#8220;idle&#8221; mode by sending
1477         query commands to discover the current state rather than
1478         listening for telemetry packets. Because this uses command
1479         mode, it needs to have the TeleDongle and flight computer
1480         callsigns match exactly. If you can receive telemetry, but
1481         cannot manage to run Monitor Idle, then it's very likely that
1482         your callsigns are different in some way.
1483       </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp54288560"></a>Chapter 7. AltosDroid</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54290944">1. Installing AltosDroid</a></span></dt><dt><span class="section"><a href="#idp54292880">2. Connecting to TeleBT</a></span></dt><dt><span class="section"><a href="#idp54294880">3. Configuring AltosDroid</a></span></dt><dt><span class="section"><a href="#idp54296336">4. AltosDroid Flight Monitoring</a></span></dt><dd><dl><dt><span class="section"><a href="#idp54297648">4.1. Pad</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54311200">5. Downloading Flight Logs</a></span></dt></dl></div><p>
1484       AltosDroid provides the same flight monitoring capabilities as
1485       AltosUI, but runs on Android devices and is designed to connect
1486       to a TeleBT receiver over Bluetooth&#8482;. AltosDroid monitors
1487       telemetry data, logging it to internal storage in the Android
1488       device, and presents that data in a UI the same way the 'Monitor
1489       Flight' window does in AltosUI.
1490     </p><p>
1491       This manual will explain how to configure AltosDroid, connect
1492       to TeleBT, operate the flight monitoring interface and describe
1493       what the displayed data means.
1494     </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54290944"></a>1. Installing AltosDroid</h2></div></div></div><p>
1495         AltosDroid is available from the Google Play store. To install
1496         it on your Android device, open the Google Play Store
1497         application and search for &#8220;altosdroid&#8221;. Make sure you don't
1498         have a space between &#8220;altos&#8221; and &#8220;droid&#8221; or you probably won't
1499         find what you want. That should bring you to the right page
1500         from which you can download and install the application.
1501       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54292880"></a>2. Connecting to TeleBT</h2></div></div></div><p>
1502         Press the Android 'Menu' button or soft-key to see the
1503         configuration options available. Select the 'Connect a device'
1504         option and then the 'Scan for devices' entry at the bottom to
1505         look for your TeleBT device. Select your device, and when it
1506         asks for the code, enter '1234'.
1507       </p><p>
1508         Subsequent connections will not require you to enter that
1509         code, and your 'paired' device will appear in the list without
1510         scanning.
1511       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54294880"></a>3. Configuring AltosDroid</h2></div></div></div><p>
1512         The only configuration option available for AltosDroid is
1513         which frequency to listen on. Press the Android 'Menu' button
1514         or soft-key and pick the 'Select radio frequency' entry. That
1515         brings up a menu of pre-set radio frequencies; pick the one
1516         which matches your altimeter.
1517       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54296336"></a>4. AltosDroid Flight Monitoring</h2></div></div></div><p>
1518         AltosDroid is designed to mimic the AltosUI flight monitoring
1519         display, providing separate tabs for each stage of your rocket
1520         flight along with a tab containing a map of the local area
1521         with icons marking the current location of the altimeter and
1522         the Android device.
1523       </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54297648"></a>4.1. Pad</h3></div></div></div><p>
1524           The 'Launch Pad' tab shows information used to decide when the
1525           rocket is ready for flight. The first elements include red/green
1526           indicators, if any of these is red, you'll want to evaluate
1527           whether the rocket is ready to launch:
1528           </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Battery Voltage</span></dt><dd><p>
1529                   This indicates whether the Li-Po battery
1530                   powering the TeleMetrum has sufficient charge to last for
1531                   the duration of the flight. A value of more than
1532                   3.8V is required for a 'GO' status.
1533                 </p></dd><dt><span class="term">Apogee Igniter Voltage</span></dt><dd><p>
1534                   This indicates whether the apogee
1535                   igniter has continuity. If the igniter has a low
1536                   resistance, then the voltage measured here will be close
1537                   to the Li-Po battery voltage. A value greater than 3.2V is
1538                   required for a 'GO' status.
1539                 </p></dd><dt><span class="term">Main Igniter Voltage</span></dt><dd><p>
1540                   This indicates whether the main
1541                   igniter has continuity. If the igniter has a low
1542                   resistance, then the voltage measured here will be close
1543                   to the Li-Po battery voltage. A value greater than 3.2V is
1544                   required for a 'GO' status.
1545                 </p></dd><dt><span class="term">On-board Data Logging</span></dt><dd><p>
1546                   This indicates whether there is
1547                   space remaining on-board to store flight data for the
1548                   upcoming flight. If you've downloaded data, but failed
1549                   to erase flights, there may not be any space
1550                   left. TeleMetrum can store multiple flights, depending
1551                   on the configured maximum flight log size. TeleMini
1552                   stores only a single flight, so it will need to be
1553                   downloaded and erased after each flight to capture
1554                   data. This only affects on-board flight logging; the
1555                   altimeter will still transmit telemetry and fire
1556                   ejection charges at the proper times.
1557                 </p></dd><dt><span class="term">GPS Locked</span></dt><dd><p>
1558                   For a TeleMetrum or TeleMega device, this indicates whether the GPS receiver is
1559                   currently able to compute position information. GPS requires
1560                   at least 4 satellites to compute an accurate position.
1561                 </p></dd><dt><span class="term">GPS Ready</span></dt><dd><p>
1562                   For a TeleMetrum or TeleMega device, this indicates whether GPS has reported at least
1563                   10 consecutive positions without losing lock. This ensures
1564                   that the GPS receiver has reliable reception from the
1565                   satellites.
1566                 </p></dd></dl></div><p>
1567         </p><p>
1568           The Launchpad tab also shows the computed launch pad position
1569           and altitude, averaging many reported positions to improve the
1570           accuracy of the fix.
1571         </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54311200"></a>5. Downloading Flight Logs</h2></div></div></div><p>
1572         AltosDroid always saves every bit of telemetry data it
1573         receives. To download that to a computer for use with AltosUI,
1574         simply remove the SD card from your Android device, or connect
1575         your device to your computer's USB port and browse the files
1576         on that device. You will find '.telem' files in the TeleMetrum
1577         directory that will work with AltosUI directly.
1578       </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp54312864"></a>Chapter 8. Using Altus Metrum Products</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54313504">1. Being Legal</a></span></dt><dt><span class="section"><a href="#idp54315408">2. In the Rocket</a></span></dt><dt><span class="section"><a href="#idp54317872">3. On the Ground</a></span></dt><dt><span class="section"><a href="#idp54331184">4. Data Analysis</a></span></dt><dt><span class="section"><a href="#idp54333728">5. Future Plans</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54313504"></a>1. Being Legal</h2></div></div></div><p>
1579         First off, in the US, you need an <a class="ulink" href="http://www.altusmetrum.org/Radio/" target="_top">amateur radio license</a> or
1580         other authorization to legally operate the radio transmitters that are part
1581         of our products.
1582       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54315408"></a>2. In the Rocket</h2></div></div></div><p>
1583           In the rocket itself, you just need a flight computer and
1584           a single-cell, 3.7 volt nominal Li-Po rechargeable battery.  An 
1585           850mAh battery weighs less than a 9V alkaline battery, and will 
1586           run a TeleMetrum or TeleMega for hours.
1587           A 110mAh battery weighs less than a triple A battery and is a good
1588           choice for use with TeleMini.
1589         </p><p>
1590           By default, we ship flight computers with a simple wire antenna.  
1591           If your electronics bay or the air-frame it resides within is made 
1592           of carbon fiber, which is opaque to RF signals, you may prefer to 
1593           install an SMA connector so that you can run a coaxial cable to an 
1594           antenna mounted elsewhere in the rocket.  However, note that the 
1595           GPS antenna is fixed on all current products, so you really want
1596           to install the flight computer in a bay made of RF-transparent
1597           materials if at all possible.
1598         </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54317872"></a>3. On the Ground</h2></div></div></div><p>
1599           To receive the data stream from the rocket, you need an antenna and short
1600           feed-line connected to one of our <a class="ulink" href="http://www.altusmetrum.org/TeleDongle/" target="_top">TeleDongle</a> units.  If possible, use an SMA to BNC 
1601         adapter instead of feedline between the antenna feedpoint and 
1602         TeleDongle, as this will give you the best performance.  The
1603           TeleDongle in turn plugs directly into the USB port on a notebook
1604           computer.  Because TeleDongle looks like a simple serial port, your computer
1605           does not require special device drivers... just plug it in.
1606         </p><p>
1607           The GUI tool, AltosUI, is written in Java and runs across
1608           Linux, Mac OS and Windows. There's also a suite of C tools
1609           for Linux which can perform most of the same tasks.
1610         </p><p>
1611           Alternatively, a TeleBT attached with an SMA to BNC adapter at the
1612           feed point of a hand-held yagi used in conjunction with an Android
1613           device running AltosDroid makes an outstanding ground station.
1614         </p><p>
1615           After the flight, you can use the radio link to extract the more detailed data
1616           logged in either TeleMetrum or TeleMini devices, or you can use a mini USB cable to plug into the
1617           TeleMetrum board directly.  Pulling out the data without having to open up
1618           the rocket is pretty cool!  A USB cable is also how you charge the Li-Po
1619           battery, so you'll want one of those anyway... the same cable used by lots
1620           of digital cameras and other modern electronic stuff will work fine.
1621         </p><p>
1622           If your rocket lands out of sight, you may enjoy having a hand-held 
1623           GPS receiver, so that you can put in a way-point for the last 
1624           reported rocket position before touch-down.  This makes looking for 
1625           your rocket a lot like Geo-Caching... just go to the way-point and 
1626           look around starting from there.  AltosDroid on an Android device
1627           with GPS receiver works great for this, too!
1628         </p><p>
1629           You may also enjoy having a ham radio &#8220;HT&#8221; that covers the 70cm band... you
1630           can use that with your antenna to direction-find the rocket on the ground
1631           the same way you can use a Walston or Beeline tracker.  This can be handy
1632           if the rocket is hiding in sage brush or a tree, or if the last GPS position
1633           doesn't get you close enough because the rocket dropped into a canyon, or
1634           the wind is blowing it across a dry lake bed, or something like that...  Keith
1635           currently uses a Yaesu VX-7R, Bdale has a Baofung UV-5R
1636           which isn't as nice, but was a whole lot cheaper.
1637         </p><p>
1638           So, to recap, on the ground the hardware you'll need includes:
1639           </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
1640               an antenna and feed-line or adapter
1641               </p></li><li class="listitem"><p>
1642               a TeleDongle
1643               </p></li><li class="listitem"><p>
1644               a notebook computer
1645               </p></li><li class="listitem"><p>
1646               optionally, a hand-held GPS receiver
1647               </p></li><li class="listitem"><p>
1648               optionally, an HT or receiver covering 435 MHz
1649               </p></li></ol></div><p>
1650         </p><p>
1651           The best hand-held commercial directional antennas we've found for radio
1652           direction finding rockets are from
1653           <a class="ulink" href="http://www.arrowantennas.com/" target="_top">
1654             Arrow Antennas.
1655           </a>
1656           The 440-3 and 440-5 are both good choices for finding a
1657           TeleMetrum- or TeleMini- equipped rocket when used with a suitable 
1658           70cm HT.  TeleDongle and an SMA to BNC adapter fit perfectly
1659           between the driven element and reflector of Arrow antennas.
1660         </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54331184"></a>4. Data Analysis</h2></div></div></div><p>
1661           Our software makes it easy to log the data from each flight, both the
1662           telemetry received during the flight itself, and the more
1663           complete data log recorded in the flash memory on the altimeter
1664           board.  Once this data is on your computer, our post-flight tools make it
1665           easy to quickly get to the numbers everyone wants, like apogee altitude,
1666           max acceleration, and max velocity.  You can also generate and view a
1667           standard set of plots showing the altitude, acceleration, and
1668           velocity of the rocket during flight.  And you can even export a TeleMetrum data file
1669           usable with Google Maps and Google Earth for visualizing the flight path
1670           in two or three dimensions!
1671         </p><p>
1672           Our ultimate goal is to emit a set of files for each flight that can be
1673           published as a web page per flight, or just viewed on your local disk with
1674           a web browser.
1675         </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54333728"></a>5. Future Plans</h2></div></div></div><p>
1676           We've designed a simple GPS based radio tracker called TeleGPS.  
1677           If all goes well, we hope to introduce this in the first
1678           half of 2014.
1679         </p><p>
1680           We have designed and prototyped several &#8220;companion boards&#8221; that 
1681           can attach to the companion connector on TeleMetrum and TeleMega
1682           flight computers to collect more data, provide more pyro channels, 
1683           and so forth.  We do not yet know if or when any of these boards
1684           will be produced in enough quantity to sell.  If you have specific
1685           interests for data collection or control of events in your rockets
1686           beyond the capabilities of our existing productions, please let 
1687           us know!
1688         </p><p>
1689           Because all of our work is open, both the hardware designs and the 
1690           software, if you have some great idea for an addition to the current 
1691           Altus Metrum family, feel free to dive in and help!  Or let us know 
1692           what you'd like to see that we aren't already working on, and maybe 
1693           we'll get excited about it too...
1694         </p><p>
1695           Watch our 
1696           <a class="ulink" href="http://altusmetrum.org/" target="_top">web site</a> for more news 
1697           and information as our family of products evolves!
1698         </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp54338112"></a>Chapter 9. Altimeter Installation Recommendations</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54339568">1. Mounting the Altimeter</a></span></dt><dt><span class="section"><a href="#idp54344400">2. Dealing with the Antenna</a></span></dt><dt><span class="section"><a href="#idp54349968">3. Preserving GPS Reception</a></span></dt><dt><span class="section"><a href="#idp54354752">4. Radio Frequency Interference</a></span></dt><dt><span class="section"><a href="#idp54362320">5. The Barometric Sensor</a></span></dt><dt><span class="section"><a href="#idp54365120">6. Ground Testing</a></span></dt></dl></div><p>
1699       Building high-power rockets that fly safely is hard enough. Mix
1700       in some sophisticated electronics and a bunch of radio energy
1701       and some creativity and/or compromise may be required. This chapter
1702       contains some suggestions about how to install Altus Metrum
1703       products into a rocket air-frame, including how to safely and
1704       reliably mix a variety of electronics into the same air-frame.
1705     </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54339568"></a>1. Mounting the Altimeter</h2></div></div></div><p>
1706         The first consideration is to ensure that the altimeter is
1707         securely fastened to the air-frame. For most of our products, we 
1708         prefer nylon standoffs and nylon screws; they're good to at least 50G
1709         and cannot cause any electrical issues on the board.  Metal screws
1710         and standoffs are fine, too, just be careful to avoid electrical
1711         shorts!  For TeleMini v1.0, we usually cut small pieces of 1/16 inch 
1712         balsa to fit
1713         under the screw holes, and then take 2x56 nylon screws and
1714         screw them through the TeleMini mounting holes, through the
1715         balsa and into the underlying material.
1716       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
1717             Make sure accelerometer-equipped products like TeleMetrum and
1718             TeleMega are aligned precisely along the axis of
1719             acceleration so that the accelerometer can accurately
1720             capture data during the flight.
1721           </p></li><li class="listitem"><p>
1722             Watch for any metal touching components on the
1723             board. Shorting out connections on the bottom of the board
1724             can cause the altimeter to fail during flight.
1725           </p></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54344400"></a>2. Dealing with the Antenna</h2></div></div></div><p>
1726         The antenna supplied is just a piece of solid, insulated,
1727         wire. If it gets damaged or broken, it can be easily
1728         replaced. It should be kept straight and not cut; bending or
1729         cutting it will change the resonant frequency and/or
1730         impedance, making it a less efficient radiator and thus
1731         reducing the range of the telemetry signal.
1732       </p><p>
1733         Keeping metal away from the antenna will provide better range
1734         and a more even radiation pattern. In most rockets, it's not
1735         entirely possible to isolate the antenna from metal
1736         components; there are often bolts, all-thread and wires from other
1737         electronics to contend with. Just be aware that the more stuff
1738         like this around the antenna, the lower the range.
1739       </p><p>
1740         Make sure the antenna is not inside a tube made or covered
1741         with conducting material. Carbon fiber is the most common
1742         culprit here -- CF is a good conductor and will effectively
1743         shield the antenna, dramatically reducing signal strength and
1744         range. Metallic flake paint is another effective shielding
1745         material which should be avoided around any antennas.
1746       </p><p>
1747         If the ebay is large enough, it can be convenient to simply
1748         mount the altimeter at one end and stretch the antenna out
1749         inside. Taping the antenna to the sled can keep it straight
1750         under acceleration. If there are metal rods, keep the
1751         antenna as far away as possible.
1752       </p><p>
1753         For a shorter ebay, it's quite practical to have the antenna
1754         run through a bulkhead and into an adjacent bay. Drill a small
1755         hole in the bulkhead, pass the antenna wire through it and
1756         then seal it up with glue or clay. We've also used acrylic
1757         tubing to create a cavity for the antenna wire. This works a
1758         bit better in that the antenna is known to stay straight and
1759         not get folded by recovery components in the bay. Angle the
1760         tubing towards the side wall of the rocket and it ends up
1761         consuming very little space.
1762       </p><p>
1763         If you need to place the UHF antenna at a distance from the
1764         altimeter, you can replace the antenna with an edge-mounted
1765         SMA connector, and then run 50&#937; coax from the board to the
1766         antenna. Building a remote antenna is beyond the scope of this
1767         manual.
1768       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54349968"></a>3. Preserving GPS Reception</h2></div></div></div><p>
1769         The GPS antenna and receiver used in TeleMetrum and TeleMega is 
1770         highly sensitive and normally have no trouble tracking enough
1771         satellites to provide accurate position information for
1772         recovering the rocket. However, there are many ways the GPS signal
1773         can end up attenuated, negatively affecting GPS performance. 
1774       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
1775             Conductive tubing or coatings. Carbon fiber and metal
1776             tubing, or metallic paint will all dramatically attenuate the
1777             GPS signal. We've never heard of anyone successfully
1778             receiving GPS from inside these materials.
1779           </p></li><li class="listitem"><p>
1780             Metal components near the GPS patch antenna. These will
1781             de-tune the patch antenna, changing the resonant frequency
1782             away from the L1 carrier and reduce the effectiveness of the
1783             antenna. You can place as much stuff as you like beneath the
1784             antenna as that's covered with a ground plane. But, keep
1785             wires and metal out from above the patch antenna.
1786           </p></li></ol></div><p>
1787       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54354752"></a>4. Radio Frequency Interference</h2></div></div></div><p>
1788         Any altimeter will generate RFI; the digital circuits use
1789         high-frequency clocks that spray radio interference across a
1790         wide band. Altus Metrum altimeters generate intentional radio
1791         signals as well, increasing the amount of RF energy around the board.
1792       </p><p>
1793         Rocketry altimeters also use precise sensors measuring air
1794         pressure and acceleration. Tiny changes in voltage can cause
1795         these sensor readings to vary by a huge amount. When the
1796         sensors start mis-reporting data, the altimeter can either
1797         fire the igniters at the wrong time, or not fire them at all.
1798       </p><p>
1799         Voltages are induced when radio frequency energy is
1800         transmitted from one circuit to another. Here are things that
1801         influence the induced voltage and current:
1802       </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
1803             Keep wires from different circuits apart. Moving circuits
1804             further apart will reduce RFI.
1805           </p></li><li class="listitem"><p>
1806           Avoid parallel wires from different circuits. The longer two
1807           wires run parallel to one another, the larger the amount of
1808           transferred energy. Cross wires at right angles to reduce
1809           RFI.
1810           </p></li><li class="listitem"><p>
1811           Twist wires from the same circuits. Two wires the same
1812           distance from the transmitter will get the same amount of
1813           induced energy which will then cancel out. Any time you have
1814           a wire pair running together, twist the pair together to
1815           even out distances and reduce RFI. For altimeters, this
1816           includes battery leads, switch hookups and igniter
1817           circuits.
1818           </p></li><li class="listitem"><p>
1819           Avoid resonant lengths. Know what frequencies are present
1820           in the environment and avoid having wire lengths near a
1821           natural resonant length. Altus Metrum products transmit on the
1822           70cm amateur band, so you should avoid lengths that are a
1823           simple ratio of that length; essentially any multiple of ¼
1824           of the wavelength (17.5cm).
1825           </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54362320"></a>5. The Barometric Sensor</h2></div></div></div><p>
1826         Altusmetrum altimeters measure altitude with a barometric
1827         sensor, essentially measuring the amount of air above the
1828         rocket to figure out how high it is. A large number of
1829         measurements are taken as the altimeter initializes itself to
1830         figure out the pad altitude. Subsequent measurements are then
1831         used to compute the height above the pad.
1832       </p><p>
1833         To accurately measure atmospheric pressure, the ebay
1834         containing the altimeter must be vented outside the
1835         air-frame. The vent must be placed in a region of linear
1836         airflow, have smooth edges, and away from areas of increasing or 
1837         decreasing pressure.
1838       </p><p>
1839         All barometric sensors are quite sensitive to chemical damage from 
1840         the products of APCP or BP combustion, so make sure the ebay is 
1841         carefully sealed from any compartment which contains ejection 
1842         charges or motors.
1843       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54365120"></a>6. Ground Testing</h2></div></div></div><p>
1844         The most important aspect of any installation is careful
1845         ground testing. Bringing an air-frame up to the LCO table which
1846         hasn't been ground tested can lead to delays or ejection
1847         charges firing on the pad, or, even worse, a recovery system
1848         failure.
1849       </p><p>
1850         Do a 'full systems' test that includes wiring up all igniters
1851         without any BP and turning on all of the electronics in flight
1852         mode. This will catch any mistakes in wiring and any residual
1853         RFI issues that might accidentally fire igniters at the wrong
1854         time. Let the air-frame sit for several minutes, checking for
1855         adequate telemetry signal strength and GPS lock.  If any igniters
1856         fire unexpectedly, find and resolve the issue before loading any
1857         BP charges!
1858       </p><p>
1859         Ground test the ejection charges. Prepare the rocket for
1860         flight, loading ejection charges and igniters. Completely
1861         assemble the air-frame and then use the 'Fire Igniters'
1862         interface through a TeleDongle to command each charge to
1863         fire. Make sure the charge is sufficient to robustly separate
1864         the air-frame and deploy the recovery system.
1865       </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp54368288"></a>Chapter 10. Updating Device Firmware</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54372304">1. 
1866         Updating TeleMega, TeleMetrum v2 or EasyMini Firmware
1867       </a></span></dt><dd><dl><dt><span class="section"><a href="#idp54381120">1.1. Recovering From Self-Flashing Failure</a></span></dt></dl></dd><dt><span class="section"><a href="#idp54390096">2. Pair Programming</a></span></dt><dt><span class="section"><a href="#idp54391536">3. Updating TeleMetrum v1.x Firmware</a></span></dt><dt><span class="section"><a href="#idp54404576">4. Updating TeleMini Firmware</a></span></dt><dt><span class="section"><a href="#idp54417968">5. Updating TeleDongle Firmware</a></span></dt></dl></div><p>
1868       TeleMega, TeleMetrum v2 and EasyMini are all programmed directly
1869       over their USB connectors (self programming). TeleMetrum v1, TeleMini and
1870       TeleDongle are all programmed by using another device as a
1871       programmer (pair programming). It's important to recognize which
1872       kind of devices you have before trying to reprogram them.
1873     </p><p>
1874       You may wish to begin by ensuring you have current firmware images.
1875       These are distributed as part of the AltOS software bundle that
1876       also includes the AltosUI ground station program.  Newer ground
1877       station versions typically work fine with older firmware versions,
1878       so you don't need to update your devices just to try out new
1879       software features.  You can always download the most recent
1880       version from <a class="ulink" href="http://www.altusmetrum.org/AltOS/" target="_top">http://www.altusmetrum.org/AltOS/</a>.
1881     </p><p>
1882       If you need to update the firmware on a TeleDongle, we recommend 
1883       updating the altimeter first, before updating TeleDongle.  However,
1884       note that TeleDongle rarely need to be updated.  Any firmware version
1885       1.0.1 or later will work, version 1.2.1 may have improved receiver
1886       performance slightly.
1887     </p><p>
1888       Self-programmable devices (TeleMega, TeleMetrum v2 and EasyMini)
1889       are reprogrammed by connecting them to your computer over USB
1890     </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54372304"></a>1. 
1891         Updating TeleMega, TeleMetrum v2 or EasyMini Firmware
1892       </h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
1893             Attach a battery and power switch to the target
1894             device. Power up the device.
1895           </p></li><li class="listitem"><p>
1896             Using a Micro USB cable, connect the target device to your
1897             computer's USB socket.
1898           </p></li><li class="listitem"><p>
1899             Run AltosUI, and select 'Flash Image' from the File menu.
1900           </p></li><li class="listitem"><p>
1901             Select the target device in the Device Selection dialog.
1902           </p></li><li class="listitem"><p>
1903             Select the image you want to flash to the device, which
1904             should have a name in the form
1905             &lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx, such
1906             as TeleMega-v1.0-1.3.0.ihx.
1907           </p></li><li class="listitem"><p>
1908             Make sure the configuration parameters are reasonable
1909             looking. If the serial number and/or RF configuration
1910             values aren't right, you'll need to change them.
1911           </p></li><li class="listitem"><p>
1912             Hit the 'OK' button and the software should proceed to flash
1913             the device with new firmware, showing a progress bar.
1914           </p></li><li class="listitem"><p>
1915             Verify that the device is working by using the 'Configure
1916             Altimeter' item to check over the configuration.
1917           </p></li></ol></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp54381120"></a>1.1. Recovering From Self-Flashing Failure</h3></div></div></div><p>
1918           If the firmware loading fails, it can leave the device
1919           unable to boot. Not to worry, you can force the device to
1920           start the boot loader instead, which will let you try to
1921           flash the device again.
1922         </p><p>
1923           On each device, connecting two pins from one of the exposed
1924           connectors will force the boot loader to start, even if the
1925           regular operating system has been corrupted in some way.
1926         </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">TeleMega</span></dt><dd><p>
1927                 Connect pin 6 and pin 1 of the companion connector. Pin 1
1928                 can be identified by the square pad around it, and then
1929                 the pins could sequentially across the board. Be very
1930                 careful to <span class="emphasis"><em>not</em></span> short pin 8 to
1931                 anything as that is connected directly to the battery. Pin
1932                 7 carries 3.3V and the board will crash if that is
1933                 connected to pin 1, but shouldn't damage the board.
1934               </p></dd><dt><span class="term">TeleMetrum v2</span></dt><dd><p>
1935                 Connect pin 6 and pin 1 of the companion connector. Pin 1
1936                 can be identified by the square pad around it, and then
1937                 the pins could sequentially across the board. Be very
1938                 careful to <span class="emphasis"><em>not</em></span> short pin 8 to
1939                 anything as that is connected directly to the battery. Pin
1940                 7 carries 3.3V and the board will crash if that is
1941                 connected to pin 1, but shouldn't damage the board.
1942               </p></dd><dt><span class="term">EasyMini</span></dt><dd><p>
1943                 Connect pin 6 and pin 1 of the debug connector, which is
1944                 the six holes next to the beeper. Pin 1 can be identified
1945                 by the square pad around it, and then the pins could
1946                 sequentially across the board, making Pin 6 the one on the
1947                 other end of the row.
1948               </p></dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54390096"></a>2. Pair Programming</h2></div></div></div><p>
1949         The big concept to understand is that you have to use a
1950         TeleMega, TeleMetrum or TeleDongle as a programmer to update a
1951         pair programmed device. Due to limited memory resources in the
1952         cc1111, we don't support programming directly over USB for these
1953         devices.
1954       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54391536"></a>3. Updating TeleMetrum v1.x Firmware</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
1955           Find the 'programming cable' that you got as part of the starter
1956           kit, that has a red 8-pin MicroMaTch connector on one end and a
1957           red 4-pin MicroMaTch connector on the other end.
1958           </p></li><li class="listitem"><p>
1959           Take the 2 screws out of the TeleDongle case to get access
1960           to the circuit board.
1961           </p></li><li class="listitem"><p>
1962           Plug the 8-pin end of the programming cable to the
1963           matching connector on the TeleDongle, and the 4-pin end to the
1964           matching connector on the TeleMetrum.
1965           Note that each MicroMaTch connector has an alignment pin that
1966           goes through a hole in the PC board when you have the cable
1967           oriented correctly.
1968           </p></li><li class="listitem"><p>
1969           Attach a battery to the TeleMetrum board.
1970           </p></li><li class="listitem"><p>
1971           Plug the TeleDongle into your computer's USB port, and power
1972           up the TeleMetrum.
1973           </p></li><li class="listitem"><p>
1974           Run AltosUI, and select 'Flash Image' from the File menu.
1975           </p></li><li class="listitem"><p>
1976           Pick the TeleDongle device from the list, identifying it as the
1977           programming device.
1978           </p></li><li class="listitem"><p>
1979           Select the image you want put on the TeleMetrum, which should have a
1980           name in the form telemetrum-v1.2-1.0.0.ihx.  It should be visible
1981         in the default directory, if not you may have to poke around
1982         your system to find it.
1983           </p></li><li class="listitem"><p>
1984           Make sure the configuration parameters are reasonable
1985           looking. If the serial number and/or RF configuration
1986           values aren't right, you'll need to change them.
1987           </p></li><li class="listitem"><p>
1988           Hit the 'OK' button and the software should proceed to flash
1989           the TeleMetrum with new firmware, showing a progress bar.
1990           </p></li><li class="listitem"><p>
1991           Confirm that the TeleMetrum board seems to have updated OK, which you
1992           can do by plugging in to it over USB and using a terminal program
1993           to connect to the board and issue the 'v' command to check
1994           the version, etc.
1995           </p></li><li class="listitem"><p>
1996           If something goes wrong, give it another try.
1997           </p></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54404576"></a>4. Updating TeleMini Firmware</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
1998           You'll need a special 'programming cable' to reprogram the
1999           TeleMini.  You can make your own using an 8-pin MicroMaTch 
2000           connector on one end and a set of four pins on the other.
2001         </p></li><li class="listitem"><p>
2002           Take the 2 screws out of the TeleDongle case to get access
2003           to the circuit board.
2004         </p></li><li class="listitem"><p>
2005           Plug the 8-pin end of the programming cable to the matching
2006           connector on the TeleDongle, and the 4-pins into the holes
2007           in the TeleMini circuit board.  Note that the MicroMaTch
2008           connector has an alignment pin that goes through a hole in
2009           the PC board when you have the cable oriented correctly, and
2010           that pin 1 on the TeleMini board is marked with a square pad
2011           while the other pins have round pads.
2012         </p></li><li class="listitem"><p>
2013           Attach a battery to the TeleMini board.
2014         </p></li><li class="listitem"><p>
2015           Plug the TeleDongle into your computer's USB port, and power
2016           up the TeleMini
2017         </p></li><li class="listitem"><p>
2018           Run AltosUI, and select 'Flash Image' from the File menu.
2019         </p></li><li class="listitem"><p>
2020           Pick the TeleDongle device from the list, identifying it as the
2021           programming device.
2022         </p></li><li class="listitem"><p>
2023           Select the image you want put on the TeleMini, which should have a
2024           name in the form telemini-v1.0-1.0.0.ihx.  It should be visible
2025         in the default directory, if not you may have to poke around
2026         your system to find it.
2027         </p></li><li class="listitem"><p>
2028           Make sure the configuration parameters are reasonable
2029           looking. If the serial number and/or RF configuration
2030           values aren't right, you'll need to change them.
2031         </p></li><li class="listitem"><p>
2032           Hit the 'OK' button and the software should proceed to flash
2033           the TeleMini with new firmware, showing a progress bar.
2034         </p></li><li class="listitem"><p>
2035           Confirm that the TeleMini board seems to have updated OK, which you
2036           can do by configuring it over the radio link through the TeleDongle, or
2037           letting it come up in &#8220;flight&#8221; mode and listening for telemetry.
2038         </p></li><li class="listitem"><p>
2039           If something goes wrong, give it another try.
2040         </p></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54417968"></a>5. Updating TeleDongle Firmware</h2></div></div></div><p>
2041         Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
2042         firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
2043         </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
2044           Find the 'programming cable' that you got as part of the starter
2045           kit, that has a red 8-pin MicroMaTch connector on one end and a
2046           red 4-pin MicroMaTch connector on the other end.
2047         </p></li><li class="listitem"><p>
2048           Find the USB cable that you got as part of the starter kit, and
2049           plug the &#8220;mini&#8221; end in to the mating connector on TeleMetrum or TeleDongle.
2050         </p></li><li class="listitem"><p>
2051           Take the 2 screws out of the TeleDongle case to get access
2052           to the circuit board.
2053         </p></li><li class="listitem"><p>
2054           Plug the 8-pin end of the programming cable to the
2055           matching connector on the programmer, and the 4-pin end to the
2056           matching connector on the TeleDongle.
2057           Note that each MicroMaTch connector has an alignment pin that
2058           goes through a hole in the PC board when you have the cable
2059           oriented correctly.
2060         </p></li><li class="listitem"><p>
2061           Attach a battery to the TeleMetrum board if you're using one.
2062         </p></li><li class="listitem"><p>
2063           Plug both the programmer and the TeleDongle into your computer's USB
2064           ports, and power up the programmer.
2065         </p></li><li class="listitem"><p>
2066           Run AltosUI, and select 'Flash Image' from the File menu.
2067         </p></li><li class="listitem"><p>
2068           Pick the programmer device from the list, identifying it as the
2069           programming device.
2070         </p></li><li class="listitem"><p>
2071           Select the image you want put on the TeleDongle, which should have a
2072           name in the form teledongle-v0.2-1.0.0.ihx.  It should be visible
2073         in the default directory, if not you may have to poke around
2074         your system to find it.
2075         </p></li><li class="listitem"><p>
2076           Make sure the configuration parameters are reasonable
2077           looking. If the serial number and/or RF configuration
2078           values aren't right, you'll need to change them.  The TeleDongle
2079           serial number is on the &#8220;bottom&#8221; of the circuit board, and can
2080           usually be read through the translucent blue plastic case without
2081           needing to remove the board from the case.
2082         </p></li><li class="listitem"><p>
2083           Hit the 'OK' button and the software should proceed to flash
2084           the TeleDongle with new firmware, showing a progress bar.
2085         </p></li><li class="listitem"><p>
2086           Confirm that the TeleDongle board seems to have updated OK, which you
2087           can do by plugging in to it over USB and using a terminal program
2088           to connect to the board and issue the 'v' command to check
2089           the version, etc.  Once you're happy, remove the programming cable
2090           and put the cover back on the TeleDongle.
2091         </p></li><li class="listitem"><p>
2092           If something goes wrong, give it another try.
2093         </p></li></ol></div><p>
2094         Be careful removing the programming cable from the locking 8-pin
2095         connector on TeleMetrum.  You'll need a fingernail or perhaps a thin
2096         screwdriver or knife blade to gently pry the locking ears out
2097         slightly to extract the connector.  We used a locking connector on
2098         TeleMetrum to help ensure that the cabling to companion boards
2099         used in a rocket don't ever come loose accidentally in flight.
2100       </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp54434512"></a>Chapter 11. Hardware Specifications</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54435152">1. 
2101         TeleMega Specifications
2102       </a></span></dt><dt><span class="section"><a href="#idp54446496">2. 
2103         TeleMetrum v2 Specifications
2104       </a></span></dt><dt><span class="section"><a href="#idp54457056">3. TeleMetrum v1 Specifications</a></span></dt><dt><span class="section"><a href="#idp54467616">4. 
2105         TeleMini v2.0 Specifications
2106       </a></span></dt><dt><span class="section"><a href="#idp54476448">5. 
2107         TeleMini v1.0 Specifications
2108       </a></span></dt><dt><span class="section"><a href="#idp54485248">6. 
2109         EasyMini Specifications
2110       </a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54435152"></a>1. 
2111         TeleMega Specifications
2112       </h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2113             Recording altimeter for model rocketry.
2114           </p></li><li class="listitem"><p>
2115             Supports dual deployment and four auxiliary pyro channels
2116             (a total of 6 events).
2117           </p></li><li class="listitem"><p>
2118             70cm 40mW ham-band transceiver for telemetry down-link.
2119           </p></li><li class="listitem"><p>
2120             Barometric pressure sensor good to 100k feet MSL.
2121           </p></li><li class="listitem"><p>
2122             1-axis high-g accelerometer for motor characterization, capable of
2123             +/- 102g.
2124           </p></li><li class="listitem"><p>
2125             9-axis IMU including integrated 3-axis accelerometer,
2126             3-axis gyroscope and 3-axis magnetometer.
2127           </p></li><li class="listitem"><p>
2128             On-board, integrated uBlox Max 7 GPS receiver with 5Hz update rate capability.
2129           </p></li><li class="listitem"><p>
2130             On-board 8 Megabyte non-volatile memory for flight data storage.
2131           </p></li><li class="listitem"><p>
2132             USB interface for battery charging, configuration, and data recovery.
2133           </p></li><li class="listitem"><p>
2134             Fully integrated support for Li-Po rechargeable batteries.
2135           </p></li><li class="listitem"><p>
2136             Can use either main system Li-Po or optional separate pyro battery
2137             to fire e-matches.
2138           </p></li><li class="listitem"><p>
2139             3.25 x 1.25 inch board designed to fit inside 38mm air-frame coupler tube.
2140           </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54446496"></a>2. 
2141         TeleMetrum v2 Specifications
2142       </h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2143             Recording altimeter for model rocketry.
2144           </p></li><li class="listitem"><p>
2145             Supports dual deployment (can fire 2 ejection charges).
2146           </p></li><li class="listitem"><p>
2147             70cm, 40mW ham-band transceiver for telemetry down-link.
2148           </p></li><li class="listitem"><p>
2149             Barometric pressure sensor good to 100k feet MSL.
2150           </p></li><li class="listitem"><p>
2151             1-axis high-g accelerometer for motor characterization, capable of
2152             +/- 102g.
2153           </p></li><li class="listitem"><p>
2154             On-board, integrated uBlox Max 7 GPS receiver with 5Hz update rate capability.
2155           </p></li><li class="listitem"><p>
2156             On-board 8 Megabyte non-volatile memory for flight data storage.
2157           </p></li><li class="listitem"><p>
2158             USB interface for battery charging, configuration, and data recovery.
2159           </p></li><li class="listitem"><p>
2160             Fully integrated support for Li-Po rechargeable batteries.
2161           </p></li><li class="listitem"><p>
2162             Uses Li-Po to fire e-matches, can be modified to support 
2163             optional separate pyro battery if needed.
2164           </p></li><li class="listitem"><p>
2165             2.75 x 1 inch board designed to fit inside 29mm air-frame coupler tube.
2166           </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54457056"></a>3. TeleMetrum v1 Specifications</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2167             Recording altimeter for model rocketry.
2168           </p></li><li class="listitem"><p>
2169             Supports dual deployment (can fire 2 ejection charges).
2170           </p></li><li class="listitem"><p>
2171             70cm, 10mW ham-band transceiver for telemetry down-link.
2172           </p></li><li class="listitem"><p>
2173             Barometric pressure sensor good to 45k feet MSL.
2174           </p></li><li class="listitem"><p>
2175             1-axis high-g accelerometer for motor characterization, capable of
2176             +/- 50g using default part.
2177           </p></li><li class="listitem"><p>
2178             On-board, integrated GPS receiver with 5Hz update rate capability.
2179           </p></li><li class="listitem"><p>
2180             On-board 1 megabyte non-volatile memory for flight data storage.
2181           </p></li><li class="listitem"><p>
2182             USB interface for battery charging, configuration, and data recovery.
2183           </p></li><li class="listitem"><p>
2184             Fully integrated support for Li-Po rechargeable batteries.
2185           </p></li><li class="listitem"><p>
2186             Uses Li-Po to fire e-matches, can be modified to support 
2187             optional separate pyro battery if needed.
2188           </p></li><li class="listitem"><p>
2189             2.75 x 1 inch board designed to fit inside 29mm air-frame coupler tube.
2190           </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54467616"></a>4. 
2191         TeleMini v2.0 Specifications
2192       </h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2193             Recording altimeter for model rocketry.
2194           </p></li><li class="listitem"><p>
2195             Supports dual deployment (can fire 2 ejection charges).
2196           </p></li><li class="listitem"><p>
2197             70cm, 10mW ham-band transceiver for telemetry down-link.
2198           </p></li><li class="listitem"><p>
2199             Barometric pressure sensor good to 100k feet MSL.
2200           </p></li><li class="listitem"><p>
2201             On-board 1 megabyte non-volatile memory for flight data storage.
2202           </p></li><li class="listitem"><p>
2203             USB interface for configuration, and data recovery.
2204           </p></li><li class="listitem"><p>
2205             Support for Li-Po rechargeable batteries (using an
2206             external charger), or any 3.7-15V external battery.
2207           </p></li><li class="listitem"><p>
2208             Uses Li-Po to fire e-matches, can be modified to support 
2209             optional separate pyro battery if needed.
2210           </p></li><li class="listitem"><p>
2211             1.5 x .8 inch board designed to fit inside 24mm air-frame coupler tube.
2212           </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54476448"></a>5. 
2213         TeleMini v1.0 Specifications
2214       </h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2215             Recording altimeter for model rocketry.
2216           </p></li><li class="listitem"><p>
2217             Supports dual deployment (can fire 2 ejection charges).
2218           </p></li><li class="listitem"><p>
2219             70cm, 10mW ham-band transceiver for telemetry down-link.
2220           </p></li><li class="listitem"><p>
2221             Barometric pressure sensor good to 45k feet MSL.
2222           </p></li><li class="listitem"><p>
2223             On-board 5 kilobyte non-volatile memory for flight data storage.
2224           </p></li><li class="listitem"><p>
2225             RF interface for configuration, and data recovery.
2226           </p></li><li class="listitem"><p>
2227             Support for Li-Po rechargeable batteries, using an external charger.
2228           </p></li><li class="listitem"><p>
2229             Uses Li-Po to fire e-matches, can be modified to support 
2230             optional separate pyro battery if needed.
2231           </p></li><li class="listitem"><p>
2232             1.5 x .5 inch board designed to fit inside 18mm air-frame coupler tube.
2233           </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54485248"></a>6. 
2234         EasyMini Specifications
2235       </h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2236             Recording altimeter for model rocketry.
2237           </p></li><li class="listitem"><p>
2238             Supports dual deployment (can fire 2 ejection charges).
2239           </p></li><li class="listitem"><p>
2240             Barometric pressure sensor good to 100k feet MSL.
2241           </p></li><li class="listitem"><p>
2242             On-board 1 megabyte non-volatile memory for flight data storage.
2243           </p></li><li class="listitem"><p>
2244             USB interface for configuration, and data recovery.
2245           </p></li><li class="listitem"><p>
2246             Support for Li-Po rechargeable batteries (using an
2247             external charger), or any 3.7-15V external battery.
2248           </p></li><li class="listitem"><p>
2249             Uses Li-Po to fire e-matches, can be modified to support 
2250             optional separate pyro battery if needed.
2251           </p></li><li class="listitem"><p>
2252             1.5 x .8 inch board designed to fit inside 24mm air-frame coupler tube.
2253           </p></li></ul></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp54493360"></a>Chapter 12. FAQ</h1></div></div></div><p>
2254         <span class="emphasis"><em>TeleMetrum seems to shut off when disconnected from the
2255         computer.</em></span>  
2256         Make sure the battery is adequately charged.  Remember the
2257         unit will pull more power than the USB port can deliver before the
2258         GPS enters &#8220;locked&#8221; mode.  The battery charges best when TeleMetrum
2259         is turned off.
2260       </p><p>
2261         <span class="emphasis"><em>It's impossible to stop the TeleDongle when it's in &#8220;p&#8221; mode, I have
2262         to unplug the USB cable? </em></span>
2263         Make sure you have tried to &#8220;escape out&#8221; of
2264         this mode.  If this doesn't work the reboot procedure for the
2265         TeleDongle *is* to simply unplug it. 'cu' however will retain it's
2266         outgoing buffer IF your &#8220;escape out&#8221; ('~~') does not work.
2267         At this point using either 'ao-view' (or possibly
2268         'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
2269         communication.
2270       </p><p>
2271         <span class="emphasis"><em>The amber LED (on the TeleMetrum) lights up when both
2272         battery and USB are connected. Does this mean it's charging? 
2273         </em></span>
2274         Yes, the yellow LED indicates the charging at the 'regular' rate.
2275         If the led is out but the unit is still plugged into a USB port,
2276         then the battery is being charged at a 'trickle' rate.
2277       </p><p>
2278         <span class="emphasis"><em>There are no &#8220;dit-dah-dah-dit&#8221; sound or lights like the manual 
2279         mentions?</em></span>
2280         That's the &#8220;pad&#8221; mode.  Weak batteries might be the problem.
2281         It is also possible that the flight computer is horizontal and the 
2282         output
2283         is instead a &#8220;dit-dit&#8221; meaning 'idle'. For TeleMini, it's possible that
2284         it received a command packet which would have left it in &#8220;pad&#8221; mode.
2285       </p><p>
2286         <span class="emphasis"><em>How do I save flight data?</em></span>
2287         Live telemetry is written to file(s) whenever AltosUI is connected
2288         to the TeleDongle.  The file area defaults to ~/TeleMetrum
2289         but is easily changed using the menus in AltosUI. The files that
2290         are written end in '.telem'. The after-flight
2291         data-dumped files will end in .eeprom and represent continuous data
2292         unlike the .telem files that are subject to losses
2293         along the RF data path.
2294         See the above instructions on what and how to save the eeprom stored
2295         data after physically retrieving your altimeter.  Make sure to save
2296         the on-board data after each flight; while the TeleMetrum can store
2297         multiple flights, you never know when you'll lose the altimeter...
2298       </p></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp54502208"></a>Appendix A. Notes for Older Software</h1></div></div></div><p>
2299       <span class="emphasis"><em>
2300       Before AltosUI was written, using Altus Metrum devices required
2301       some finesse with the Linux command line. There was a limited
2302       GUI tool, ao-view, which provided functionality similar to the
2303       Monitor Flight window in AltosUI, but everything else was a
2304       fairly 80's experience. This appendix includes documentation for
2305       using that software.
2306       </em></span>
2307     </p><p>
2308       Both TeleMetrum and TeleDongle can be directly communicated
2309       with using USB ports. The first thing you should try after getting
2310       both units plugged into to your computer's USB port(s) is to run
2311       'ao-list' from a terminal-window to see what port-device-name each
2312       device has been assigned by the operating system.
2313       You will need this information to access the devices via their
2314       respective on-board firmware and data using other command line
2315       programs in the AltOS software suite.
2316     </p><p>
2317       TeleMini can be communicated with through a TeleDongle device
2318       over the radio link. When first booted, TeleMini listens for a
2319       TeleDongle device and if it receives a packet, it goes into
2320       'idle' mode. Otherwise, it goes into 'pad' mode and waits to be
2321       launched. The easiest way to get it talking is to start the
2322       communication link on the TeleDongle and the power up the
2323       TeleMini board.
2324     </p><p>
2325       To access the device's firmware for configuration you need a terminal
2326       program such as you would use to talk to a modem.  The software
2327       authors prefer using the program 'cu' which comes from the UUCP package
2328       on most Unix-like systems such as Linux.  An example command line for
2329       cu might be 'cu -l /dev/ttyACM0', substituting the correct number
2330       indicated from running the
2331       ao-list program.  Another reasonable terminal program for Linux is
2332       'cutecom'.  The default 'escape'
2333       character used by CU (i.e. the character you use to
2334       issue commands to cu itself instead of sending the command as input
2335       to the connected device) is a '~'. You will need this for use in
2336       only two different ways during normal operations. First is to exit
2337       the program by sending a '~.' which is called a 'escape-disconnect'
2338       and allows you to close-out from 'cu'. The
2339       second use will be outlined later.
2340     </p><p>
2341       All of the Altus Metrum devices share the concept of a two level
2342       command set in their firmware.
2343       The first layer has several single letter commands. Once
2344       you are using 'cu' (or 'cutecom') sending (typing) a '?'
2345       returns a full list of these
2346       commands. The second level are configuration sub-commands accessed
2347       using the 'c' command, for
2348       instance typing 'c?' will give you this second level of commands
2349       (all of which require the
2350       letter 'c' to access).  Please note that most configuration options
2351       are stored only in Flash memory; TeleDongle doesn't provide any storage
2352       for these options and so they'll all be lost when you unplug it.
2353     </p><p>
2354       Try setting these configuration ('c' or second level menu) values.  A good
2355       place to start is by setting your call sign.  By default, the boards
2356       use 'N0CALL' which is cute, but not exactly legal!
2357       Spend a few minutes getting comfortable with the units, their
2358       firmware, and 'cu' (or possibly 'cutecom').
2359       For instance, try to send
2360       (type) a 'c r 2' and verify the channel change by sending a 'c s'.
2361       Verify you can connect and disconnect from the units while in your
2362       terminal program by sending the escape-disconnect mentioned above.
2363     </p><p>
2364           To set the radio frequency, use the 'c R' command to specify the
2365           radio transceiver configuration parameter. This parameter is computed
2366           using the desired frequency, 'F', the radio calibration parameter, 'C' (showed by the 'c s' command) and
2367           the standard calibration reference frequency, 'S', (normally 434.550MHz):
2368           </p><pre class="programlisting">
2369             R = F / S * C
2370           </pre><p>
2371           Round the result to the nearest integer value.
2372           As with all 'c' sub-commands, follow this with a 'c w' to write the
2373           change to the parameter block in the on-board flash on
2374           your altimeter board if you want the change to stay in place across reboots.
2375         </p><p>
2376           To set the apogee delay, use the 'c d' command.
2377           As with all 'c' sub-commands, follow this with a 'c w' to write the
2378           change to the parameter block in the on-board DataFlash chip.
2379         </p><p>
2380           To set the main deployment altitude, use the 'c m' command.
2381           As with all 'c' sub-commands, follow this with a 'c w' to write the
2382           change to the parameter block in the on-board DataFlash chip.
2383         </p><p>
2384           To calibrate the radio frequency, connect the UHF antenna port to a
2385           frequency counter, set the board to 434.550MHz, and use the 'C'
2386           command to generate a CW carrier.  Wait for the transmitter temperature
2387           to stabilize and the frequency to settle down.
2388           Then, divide 434.550 MHz by the
2389           measured frequency and multiply by the current radio cal value show
2390           in the 'c s' command.  For an unprogrammed board, the default value
2391           is 1186611 for cc1111 based products and 7119667 for cc1120
2392           based products.  Take the resulting integer and program it using the 'c f'
2393           command.  Testing with the 'C' command again should show a carrier
2394           within a few tens of Hertz of the intended frequency.
2395           As with all 'c' sub-commands, follow this with a 'c w' to write the
2396           change to the configuration memory.
2397         </p><p>
2398       Note that the 'reboot' command, which is very useful on the altimeters,
2399       will likely just cause problems with the dongle.  The *correct* way
2400       to reset the dongle is just to unplug and re-plug it.
2401     </p><p>
2402       A fun thing to do at the launch site and something you can do while
2403       learning how to use these units is to play with the radio link access
2404       between an altimeter and the TeleDongle.  Be aware that you *must* create
2405       some physical separation between the devices, otherwise the link will
2406       not function due to signal overload in the receivers in each device.
2407     </p><p>
2408       Now might be a good time to take a break and read the rest of this
2409       manual, particularly about the two &#8220;modes&#8221; that the altimeters
2410       can be placed in. TeleMetrum uses the position of the device when booting
2411       up will determine whether the unit is in &#8220;pad&#8221; or &#8220;idle&#8221; mode. TeleMini
2412       enters &#8220;idle&#8221; mode when it receives a command packet within the first 5 seconds
2413       of being powered up, otherwise it enters &#8220;pad&#8221; mode.
2414     </p><p>
2415       You can access an altimeter in idle mode from the TeleDongle's USB
2416       connection using the radio link
2417       by issuing a 'p' command to the TeleDongle. Practice connecting and
2418       disconnecting ('~~' while using 'cu') from the altimeter.  If
2419       you cannot escape out of the &#8220;p&#8221; command, (by using a '~~' when in
2420       CU) then it is likely that your kernel has issues.  Try a newer version.
2421     </p><p>
2422       Using this radio link allows you to configure the altimeter, test
2423       fire e-matches and igniters from the flight line, check pyro-match
2424       continuity and so forth. You can leave the unit turned on while it
2425       is in 'idle mode' and then place the
2426       rocket vertically on the launch pad, walk away and then issue a
2427       reboot command.  The altimeter will reboot and start sending data
2428       having changed to the &#8220;pad&#8221; mode. If the TeleDongle is not receiving
2429       this data, you can disconnect 'cu' from the TeleDongle using the
2430       procedures mentioned above and THEN connect to the TeleDongle from
2431       inside 'ao-view'. If this doesn't work, disconnect from the
2432       TeleDongle, unplug it, and try again after plugging it back in.
2433     </p><p>
2434       In order to reduce the chance of accidental firing of pyrotechnic
2435       charges, the command to fire a charge is intentionally somewhat
2436       difficult to type, and the built-in help is slightly cryptic to
2437       prevent accidental echoing of characters from the help text back at
2438       the board from firing a charge.  The command to fire the apogee
2439       drogue charge is 'i DoIt drogue' and the command to fire the main
2440       charge is 'i DoIt main'.
2441     </p><p>
2442       On TeleMetrum, the GPS will eventually find enough satellites, lock in on them,
2443       and 'ao-view' will both auditorily announce and visually indicate
2444       that GPS is ready.
2445       Now you can launch knowing that you have a good data path and
2446       good satellite lock for flight data and recovery.  Remember
2447       you MUST tell ao-view to connect to the TeleDongle explicitly in
2448       order for ao-view to be able to receive data.
2449     </p><p>
2450       The altimeters provide RDF (radio direction finding) tones on
2451       the pad, during descent and after landing. These can be used to
2452       locate the rocket using a directional antenna; the signal
2453       strength providing an indication of the direction from receiver to rocket.
2454     </p><p>
2455       TeleMetrum also provides GPS tracking data, which can further simplify
2456       locating the rocket once it has landed. (The last good GPS data
2457       received before touch-down will be on the data screen of 'ao-view'.)
2458     </p><p>
2459       Once you have recovered the rocket you can download the eeprom
2460       contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
2461       either a USB cable or over the radio link using TeleDongle.
2462       And by following the man page for 'ao-postflight' you can create
2463       various data output reports, graphs, and even KML data to see the
2464       flight trajectory in Google-earth. (Moving the viewing angle making
2465       sure to connect the yellow lines while in Google-earth is the proper
2466       technique.)
2467     </p><p>
2468       As for ao-view.... some things are in the menu but don't do anything
2469       very useful.  The developers have stopped working on ao-view to focus
2470       on a new, cross-platform ground station program.  So ao-view may or
2471       may not be updated in the future.  Mostly you just use
2472       the Log and Device menus.  It has a wonderful display of the incoming
2473       flight data and I am sure you will enjoy what it has to say to you
2474       once you enable the voice output!
2475     </p></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp54526032"></a>Appendix B. Drill Templates</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54527200">1. TeleMega template</a></span></dt><dt><span class="section"><a href="#idp54543168">2. TeleMetrum template</a></span></dt><dt><span class="section"><a href="#idp54546832">3. TeleMini v2/EasyMini template</a></span></dt><dt><span class="section"><a href="#idp54550512">4. TeleMini v1 template</a></span></dt></dl></div><p>
2476       These images, when printed, provide precise templates for the
2477       mounting holes in Altus Metrum flight computers
2478     </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54527200"></a>1. TeleMega template</h2></div></div></div><p>
2479         TeleMega has overall dimensions of 1.250 x 3.250 inches, and
2480         the mounting holes are sized for use with 4-40 or M3 screws.
2481       </p><div class="informalfigure"><div class="mediaobject"><a name="TeleMegaTemplate"></a><object type="image/svg+xml" data="telemega-outline.svg"></object></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54543168"></a>2. TeleMetrum template</h2></div></div></div><p>
2482         TeleMetrum has overall dimensions of 1.000 x 2.750 inches, and the
2483         mounting holes are sized for use with 4-40 or M3 screws.
2484       </p><div class="informalfigure"><div class="mediaobject"><a name="TeleMetrumTemplate"></a><object type="image/svg+xml" data="telemetrum.svg"></object></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54546832"></a>3. TeleMini v2/EasyMini template</h2></div></div></div><p>
2485         TeleMini v2 and EasyMini have overall dimensions of 0.800 x 1.500 inches, and the
2486         mounting holes are sized for use with 4-40 or M3 screws.
2487       </p><div class="informalfigure"><div class="mediaobject"><a name="MiniTemplate"></a><object type="image/svg+xml" data="easymini-outline.svg"></object></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54550512"></a>4. TeleMini v1 template</h2></div></div></div><p>
2488         TeleMini has overall dimensions of 0.500 x 1.500 inches, and the
2489         mounting holes are sized for use with 2-56 or M2 screws.
2490       </p><div class="informalfigure"><div class="mediaobject"><a name="TeleMiniTemplate"></a><object type="image/svg+xml" data="telemini.svg"></object></div></div></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp54554304"></a>Appendix C. Calibration</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#idp54555856">1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp54561136">2. TeleMetrum and TeleMega Accelerometers</a></span></dt></dl></div><p>
2491         There are only two calibrations required for TeleMetrum and
2492         TeleMega, and only one for TeleDongle, TeleMini and EasyMini.
2493         All boards are shipped from the factory pre-calibrated, but
2494         the procedures are documented here in case they are ever
2495         needed.  Re-calibration is not supported by AltosUI, you must
2496         connect to the board with a serial terminal program and
2497         interact directly with the on-board command interpreter to
2498         effect calibration.
2499       </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54555856"></a>1. Radio Frequency</h2></div></div></div><p>
2500           The radio frequency is synthesized from a clock based on the
2501           crystal on the board.  The actual frequency of this oscillator 
2502           must be measured to generate a calibration constant.  While our 
2503           GFSK modulation
2504           bandwidth is wide enough to allow boards to communicate even when
2505           their oscillators are not on exactly the same frequency, performance
2506           is best when they are closely matched.
2507           Radio frequency calibration requires a calibrated frequency counter.
2508           Fortunately, once set, the variation in frequency due to aging and
2509           temperature changes is small enough that re-calibration by customers
2510           should generally not be required.
2511         </p><p>
2512           To calibrate the radio frequency, connect the UHF antenna
2513           port to a frequency counter, set the board to 434.550MHz,
2514           and use the 'C' command in the on-board command interpreter
2515           to generate a CW carrier.  For USB-enabled boards, this is
2516           best done over USB.  For TeleMini v1, note that the only way
2517           to escape the 'C' command is via power cycle since the board
2518           will no longer be listening for commands once it starts
2519           generating a CW carrier.
2520         </p><p>
2521           Wait for the transmitter temperature to stabilize and the frequency 
2522           to settle down.  Then, divide 434.550 MHz by the
2523           measured frequency and multiply by the current radio cal value show
2524           in the 'c s' command.  For an unprogrammed board, the default value
2525           is 1186611.  Take the resulting integer and program it using the 'c f'
2526           command.  Testing with the 'C' command again should show a carrier
2527           within a few tens of Hertz of the intended frequency.
2528           As with all 'c' sub-commands, follow this with a 'c w' to write the
2529           change to the parameter block in the on-board storage chip.
2530         </p><p>
2531           Note that any time you re-do the radio frequency calibration, the
2532           radio frequency is reset to the default 434.550 Mhz.  If you want
2533           to use another frequency, you will have to set that again after
2534           calibration is completed.
2535         </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54561136"></a>2. TeleMetrum and TeleMega Accelerometers</h2></div></div></div><p>
2536           While barometric sensors are factory-calibrated,
2537           accelerometers are not, and so each must be calibrated once
2538           installed in a flight computer.  Explicitly calibrating the
2539           accelerometers also allows us to load any compatible device.
2540           We perform a two-point calibration using gravity.
2541         </p><p>
2542           To calibrate the acceleration sensor, use the 'c a 0' command.  You
2543           will be prompted to orient the board vertically with the UHF antenna
2544           up and press a key, then to orient the board vertically with the
2545           UHF antenna down and press a key.  Note that the accuracy of this
2546           calibration depends primarily on how perfectly vertical and still
2547           the board is held during the cal process.  As with all 'c' 
2548           sub-commands, follow this with a 'c w' to write the
2549           change to the parameter block in the on-board DataFlash chip.
2550         </p><p>
2551           The +1g and -1g calibration points are included in each telemetry
2552           frame and are part of the header stored in onboard flash to be
2553           downloaded after flight.  We always store and return raw ADC 
2554           samples for each sensor... so nothing is permanently &#8220;lost&#8221; or 
2555           &#8220;damaged&#8221; if the calibration is poor.
2556         </p><p>
2557          In the unlikely event an accel cal goes badly, it is possible
2558          that TeleMetrum or TeleMega may always come up in 'pad mode'
2559          and as such not be listening to either the USB or radio link.
2560          If that happens, there is a special hook in the firmware to
2561          force the board back in to 'idle mode' so you can re-do the
2562          cal.  To use this hook, you just need to ground the SPI clock
2563          pin at power-on.  This pin is available as pin 2 on the 8-pin
2564          companion connector, and pin 1 is ground.  So either
2565          carefully install a fine-gauge wire jumper between the two
2566          pins closest to the index hole end of the 8-pin connector, or
2567          plug in the programming cable to the 8-pin connector and use
2568          a small screwdriver or similar to short the two pins closest
2569          to the index post on the 4-pin end of the programming cable,
2570          and power up the board.  It should come up in 'idle mode'
2571          (two beeps), allowing a re-cal.
2572         </p></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp54567264"></a>Appendix D. Release Notes</h1></div></div></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54567904"></a>Version 1.3.1</h2></div></div></div><p>
2573     Version 1.3.1 is a minor release. It improves support for TeleMega,
2574     TeleMetrum v2.0, TeleMini v2.0 and EasyMini.
2575   </p><p>
2576     AltOS Firmware Changes
2577     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2578           Improve sensor boot code. If sensors fail to self-test, the
2579           device will still boot up and check for pad/idle modes. If
2580           in idle mode, the device will warn the user with a distinct
2581           beep, if in Pad mode, the unit will operate as best it
2582           can. Also, the Z-axis accelerometer now uses the factory
2583           calibration values instead of re-calibrating on the pad each
2584           time. This avoids accidental boost detect when moving the
2585           device around while in Pad mode.
2586         </p></li><li class="listitem"><p>
2587           Fix antenna-down mode accelerometer configuration. Antenna
2588           down mode wasn't working because the accelerometer
2589           calibration values were getting re-computed incorrectly in
2590           inverted mode.
2591         </p></li><li class="listitem"><p>
2592           Improved APRS mode. Now uses compressed position format for
2593           smaller data size, improved precision and to include
2594           altitude data as well as latitude and longitude. Also added
2595           battery and pyro voltage reports in the APRS comment field
2596           so you can confirm that the unit is ready for launch.
2597         </p></li></ul></div><p>
2598   </p><p>
2599     AltosUI changes
2600     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2601           Display additional TeleMega sensor values in real
2602           units. Make all of these values available for
2603           plotting. Display TeleMega orientation value in the Ascent
2604           and Table tabs.
2605         </p></li><li class="listitem"><p>
2606           Support additional TeleMega pyro channels in the Fire
2607           Igniter dialog. This lets you do remote testing of all of
2608           the channels, rather than just Apogee and Main.
2609         </p></li><li class="listitem"><p>
2610           Limit data rate when downloading satellite images from
2611           Google to make sure we stay within their limits so that all
2612           of the map tiles download successfully.
2613         </p></li></ul></div><p>
2614   </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54569504"></a>Version 1.3</h2></div></div></div><p>
2615     Version 1.3 is a major release. It adds support for TeleMega,
2616     TeleMetrum v2.0, TeleMini v2.0 and EasyMini.
2617   </p><p>
2618     AltOS Firmware Changes
2619     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2620           Add STM32L processor support. This includes enhancements to
2621           the scheduler to support products with many threads.
2622         </p></li><li class="listitem"><p>
2623           Add NXP LPC11U14 processor support.
2624         </p></li><li class="listitem"><p>
2625           Support additional pyro channels. These are configurable
2626           through the UI to handle air starts, staging, additional
2627           recovery events and external devices such as cameras.
2628         </p></li><li class="listitem"><p>
2629           Add 3-axis gyro support for orientation tracking. This
2630           integrates the gyros to compute the angle from vertical during
2631           flight, allowing the additional pyro events to be controlled
2632           by this value.
2633         </p></li><li class="listitem"><p>
2634           Many more device drivers, including u-Blox Max 7Q GPS,
2635           Freescale MMA6555 digital single-axis accelerometer,
2636           Invensense MPU6000 3-axis accelerometer + 3 axis gyro,
2637           Honeywell HMC5883 3-axis magnetic sensor and the TI CC1120 and
2638           CC115L digital FM transceivers
2639         </p></li></ul></div><p>
2640   </p><p>
2641     AltosUI changes
2642     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2643           Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini telemetry and log formats.
2644         </p></li><li class="listitem"><p>
2645           Use preferred units for main deployment height configuration,
2646           instead of always doing configuration in meters.
2647         </p></li></ul></div><p>
2648   </p><p>
2649     MicroPeak UI changes
2650     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2651           Add 'Download' button to menu bar.
2652         </p></li><li class="listitem"><p>
2653           Save the last log directory and offer that as the default for new downloads
2654         </p></li></ul></div><p>
2655   </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54571104"></a>Version 1.2.1</h2></div></div></div><p>
2656     Version 1.2.1 is a minor release. It adds support for TeleBT and
2657     the AltosDroid application, provides several new features in
2658     AltosUI and fixes some bugs in the AltOS firmware.
2659   </p><p>
2660     AltOS Firmware Changes
2661     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2662         Add support for TeleBT
2663       </p></li><li class="listitem"><p>
2664         In TeleMini recovery mode (when booted with the outer two
2665         debug pins connected together), the radio parameters are also
2666         set back to defaults (434.550MHz, N0CALL, factory radio cal).
2667       </p></li><li class="listitem"><p>
2668         Add support for reflashing the SkyTraq GPS chips. This
2669         requires special host-side code which currently only exists
2670         for Linux.
2671       </p></li><li class="listitem"><p>
2672         Correct Kalman filter model error covariance matrix. The
2673         values used previously assumed continuous measurements instead
2674         of discrete measurements.
2675       </p></li><li class="listitem"><p>
2676         Fix some bugs in the USB driver for TeleMetrum and TeleDongle
2677         that affected Windows users.
2678       </p></li><li class="listitem"><p>
2679         Adjusted the automatic gain control parameters that affect
2680         receive performance for TeleDongle. Field tests indicate that this
2681         may improve receive performance somewhat.
2682       </p></li></ul></div><p>
2683   </p><p>
2684     AltosUI Changes
2685     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2686         Handle missing GPS lock in 'Descent' tab. Previously, if the
2687         GPS position of the pad was unknown, an exception would be
2688         raised, breaking the Descent tab contents.
2689       </p></li><li class="listitem"><p>
2690         Improve the graph, adding tool-tips to show values near the
2691         cursor and making the displayed set of values configurable,
2692         adding all of the flight data as options while leaving the
2693         default settings alone so that the graph starts by showing
2694         height, speed and acceleration.
2695       </p></li><li class="listitem"><p>
2696         Make the initial position of the AltosUI top level window
2697         configurable. Along with this change, the other windows will
2698         pop up at 'sensible' places now, instead of on top of one
2699         another.
2700       </p></li><li class="listitem"><p>
2701         Add callsign to Monitor idle window and connecting
2702         dialogs. This makes it clear which callsign is being used so
2703         that the operator will be aware that it must match the flight
2704         computer value or no communication will work.
2705       </p></li><li class="listitem"><p>
2706         When downloading flight data, display the block number so that
2707         the user has some sense of progress. Unfortunately, we don't
2708         know how many blocks will need to be downloaded, but at least
2709         it isn't just sitting there doing nothing for a long time.
2710       </p></li><li class="listitem"><p>
2711         Add GPS data and a map to the graph window. This lets you see
2712         a complete summary of the flight without needing to 'replay'
2713         the whole thing.
2714       </p></li></ul></div><p>
2715   </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54572608"></a>Version 1.2</h2></div></div></div><p>
2716     Version 1.2 is a major release. It adds support for MicroPeak and
2717     the MicroPeak USB adapter.
2718   </p><p>
2719     AltOS Firmware Changes
2720     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2721         Add MicroPeak support. This includes support for the ATtiny85
2722         processor and adaptations to the core code to allow for
2723         devices too small to run the multi-tasking scheduler.
2724       </p></li></ul></div><p>
2725   </p><p>
2726     MicroPeak UI changes
2727     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2728         Added this new application
2729       </p></li></ul></div><p>
2730   </p><p>
2731     Distribution Changes
2732     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2733         Distribute Mac OS X packages in disk image ('.dmg') format to
2734         greatly simplify installation.
2735       </p></li><li class="listitem"><p>
2736         Provide version numbers for the shared Java libraries to
2737         ensure that upgrades work properly, and to allow for multiple
2738         Altus Metrum software packages to be installed in the same
2739         directory at the same time.
2740       </p></li></ul></div><p>
2741   </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54574112"></a>Version 1.1.1</h2></div></div></div><p>
2742     Version 1.1.1 is a bug-fix release. It fixes a couple of bugs in
2743     AltosUI and one firmware bug that affects TeleMetrum version 1.0
2744     boards. Thanks to Bob Brown for help diagnosing the Google Earth
2745     file export issue, and for suggesting the addition of the Ground
2746     Distance value in the Descent tab.
2747   </p><p>
2748     AltOS Firmware Changes
2749     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2750         TeleMetrum v1.0 boards use the AT45DB081D flash memory part to
2751         store flight data, which is different from later TeleMetrum
2752         boards. The AltOS v1.1 driver for this chip couldn't erase
2753         memory, leaving it impossible to delete flight data or update
2754         configuration values. This bug doesn't affect newer TeleMetrum
2755         boards, and it doesn't affect the safety of rockets flying
2756         version 1.1 firmware.
2757       </p></li></ul></div><p>
2758   </p><p>
2759     AltosUI Changes
2760     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2761         Creating a Google Earth file (KML) from on-board flight data
2762         (EEPROM) would generate an empty file. The code responsible
2763         for reading the EEPROM file wasn't ever setting the GPS valid
2764         bits, and so the KML export code thought there was no GPS data
2765         in the file.
2766       </p></li><li class="listitem"><p>
2767         The &#8220;Landed&#8221; tab was displaying all values in metric units,
2768         even when AltosUI was configured to display imperial
2769         units. Somehow I just missed this tab when doing the units stuff.
2770       </p></li><li class="listitem"><p>
2771         The &#8220;Descent&#8221; tab displays the range to the rocket, which is a
2772         combination of the over-the-ground distance to the rockets
2773         current latitude/longitude and the height of the rocket. As
2774         such, it's useful for knowing how far away the rocket is, but
2775         difficult to use when estimating where the rocket might
2776         eventually land. A new &#8220;Ground Distance&#8221; field has been added
2777         which displays the distance to a spot right underneath the
2778         rocket.
2779       </p></li><li class="listitem"><p>
2780         Sensor data wasn't being displayed for TeleMini flight
2781         computers in Monitor Idle mode, including things like battery
2782         voltage. The code that picked which kinds of data to fetch
2783         from the flight computer was missing a check for TeleMini when
2784         deciding whether to fetch the analog sensor data.
2785       </p></li></ul></div><p>
2786   </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54575616"></a>Version 1.1</h2></div></div></div><p>
2787     Version 1.1 is a minor release. It provides a few new features in AltosUI
2788     and the AltOS firmware and fixes bugs.
2789   </p><p>
2790     AltOS Firmware Changes
2791     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2792         Add apogee-lockout value. Overrides the apogee detection logic to
2793         prevent incorrect apogee charge firing.
2794       </p></li><li class="listitem"><p>
2795         Fix a bug where the data reported in telemetry packets was
2796         from 320ms ago.
2797       </p></li><li class="listitem"><p>
2798         Force the radio frequency to 434.550MHz when the debug clock
2799         pin is connected to ground at boot time. This provides a way
2800         to talk to a TeleMini which is configured to some unknown frequency.
2801       </p></li><li class="listitem"><p>
2802         Provide RSSI values for Monitor Idle mode. This makes it easy to check radio
2803         range without needing to go to flight mode.
2804       </p></li><li class="listitem"><p>
2805         Fix a bug which caused the old received telemetry packets to
2806         be retransmitted over the USB link when the radio was turned
2807         off and back on.
2808       </p></li></ul></div><p>
2809   </p><p>
2810     AltosUI Changes
2811     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2812         Fix a bug that caused GPS ready to happen too quickly. The
2813         software was using every telemetry packet to signal new GPS
2814         data, which caused GPS ready to be signalled after 10 packets
2815         instead of 10 GPS updates.
2816       </p></li><li class="listitem"><p>
2817         Fix Google Earth data export to work with recent versions. The
2818         google earth file loading code got a lot pickier, requiring
2819         some minor white space changes in the export code.
2820       </p></li><li class="listitem"><p>
2821         Make the look-n-feel configurable, providing a choice from
2822         the available options.
2823       </p></li><li class="listitem"><p>
2824         Add an 'Age' element to mark how long since a telemetry packet
2825         has been received. Useful to quickly gauge whether
2826         communications with the rocket are still active.
2827       </p></li><li class="listitem"><p>
2828         Add 'Configure Ground Station' dialog to set the radio
2829         frequency used by a particular TeleDongle without having to go
2830         through the flight monitor UI.
2831       </p></li><li class="listitem"><p>
2832         Add configuration for the new apogee-lockout value. A menu provides a list of
2833         reasonable values, or the value can be set by hand.
2834       </p></li><li class="listitem"><p>
2835         Changed how flight data are downloaded. Now there's an initial
2836         dialog asking which flights to download, and after that
2837         finishes, a second dialog comes up asking which flights to delete.
2838       </p></li><li class="listitem"><p>
2839         Re-compute time spent in each state for the flight graph; this
2840         figures out the actual boost and landing times instead of
2841         using the conservative values provide by the flight
2842         electronics. This improves the accuracy of the boost
2843         acceleration and main descent rate computations.
2844       </p></li><li class="listitem"><p>
2845         Make AltosUI run on Mac OS Lion. The default Java heap space
2846         was dramatically reduced for this release causing much of the
2847         UI to fail randomly. This most often affected the satellite
2848         mapping download and displays.
2849       </p></li><li class="listitem"><p>
2850         Change how data are displayed in the 'table' tab of the flight
2851         monitoring window. This eliminates entries duplicated from the
2852         header and adds both current altitude and pad altitude, which
2853         are useful in 'Monitor Idle' mode.
2854       </p></li><li class="listitem"><p>
2855         Add Imperial units mode to present data in feet instead of
2856         meters.
2857       </p></li></ul></div><p>
2858   </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54577120"></a>Version 1.0.1</h2></div></div></div><p>
2859     Version 1.0.1 is a major release, adding support for the TeleMini
2860     device and lots of new AltosUI features
2861   </p><p>
2862     AltOS Firmware Changes
2863     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2864         Add TeleMini v1.0 support. Firmware images for TeleMini are
2865         included in AltOS releases.
2866       </p></li><li class="listitem"><p>
2867         Change telemetry to be encoded in multiple 32-byte packets. This
2868         enables support for TeleMini and other devices without requiring
2869         further updates to the TeleDongle firmware.
2870       </p></li><li class="listitem"><p>
2871         Support operation of TeleMetrum with the antenna pointing
2872         aft. Previous firmware versions required the antenna to be
2873         pointing upwards, now there is a configuration option allowing
2874         the antenna to point aft, to aid installation in some airframes.
2875       </p></li><li class="listitem"><p>
2876         Ability to disable telemetry. For airframes where an antenna
2877         just isn't possible, or where radio transmissions might cause
2878         trouble with other electronics, there's a configuration option
2879         to disable all telemetry. Note that the board will still
2880         enable the radio link in idle mode.
2881       </p></li><li class="listitem"><p>
2882         Arbitrary frequency selection. The radios in Altus Metrum
2883         devices can be programmed to a wide range of frequencies, so
2884         instead of limiting devices to 10 pre-selected 'channels', the
2885         new firmware allows the user to choose any frequency in the
2886         70cm band. Note that the RF matching circuit on the boards is
2887         tuned for around 435MHz, so frequencies far from that may
2888         reduce the available range.
2889       </p></li><li class="listitem"><p>
2890         Kalman-filter based flight-tracking. The model based sensor
2891         fusion approach of a Kalman filter means that AltOS now
2892         computes apogee much more accurately than before, generally
2893         within a fraction of a second. In addition, this approach
2894         allows the baro-only TeleMini device to correctly identify
2895         Mach transitions, avoiding the error-prone selection of a Mach
2896         delay.
2897       </p></li></ul></div><p>
2898   </p><p>
2899     AltosUI Changes
2900     </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2901         Wait for altimeter when using packet mode. Instead of quicly
2902         timing out when trying to initialize a packet mode
2903         configuration connection, AltosUI now waits indefinitely for
2904         the remote device to appear, providing a cancel button should
2905         the user get bored. This is necessary as the TeleMini can only
2906         be placed in "Idle" mode if AltosUI is polling it.
2907       </p></li><li class="listitem"><p>
2908         Add main/apogee voltage graphs to the data plot. This provides
2909         a visual indication if the igniters fail before being fired.
2910       </p></li><li class="listitem"><p>
2911         Scan for altimeter devices by watching the defined telemetry
2912         frequencies. This avoids the problem of remembering what
2913         frequency a device was configured to use, which is especially
2914         important with TeleMini which does not include a USB connection.
2915       </p></li><li class="listitem"><p>
2916         Monitor altimeter state in "Idle" mode. This provides much of
2917         the information presented in the "Pad" dialog from the Monitor
2918         Flight command, monitoring the igniters, battery and GPS
2919         status withing requiring the flight computer to be armed and
2920         ready for flight.
2921       </p></li><li class="listitem"><p>
2922         Pre-load map images from home. For those launch sites which
2923         don't provide free Wi-Fi, this allows you to download the
2924         necessary satellite images given the location of the launch
2925         site. A list of known launch sites is maintained at
2926         altusmetrum.org which AltosUI downloads to populate a menu; if
2927         you've got a launch site not on that list, please send the
2928         name of it, latitude and longitude along with a link to the
2929         web site of the controlling club to the altusmetrum mailing list.
2930       </p></li><li class="listitem"><p>
2931         Flight statistics are now displayed in the Graph data
2932         window. These include max height/speed/accel, average descent
2933         rates and a few other bits of information. The Graph Data
2934         window can now be reached from the 'Landed' tab in the Monitor
2935         Flight window so you can immediately see the results of a
2936         flight.
2937       </p></li></ul></div><p>
2938   </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54578624"></a>Version 0.9.2</h2></div></div></div><p>
2939     Version 0.9.2 is an AltosUI bug-fix release, with no firmware changes.
2940   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2941       Fix plotting problems due to missing file in the Mac OS install image.
2942 </p></li><li class="listitem"><p>
2943       Always read whole eeprom blocks, mark empty records invalid, display parsing errors to user.
2944 </p></li><li class="listitem"><p>
2945       Add software version to Configure AltosUI dialog
2946 </p></li></ul></div></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54580128"></a>Version 0.9</h2></div></div></div><p>
2947     Version 0.9 adds a few new firmware features and accompanying
2948     AltosUI changes, along with new hardware support.
2949   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2950       Support for TeleMetrum v1.1 hardware. Sources for the flash
2951       memory part used in v1.0 dried up, so v1.1 uses a different part
2952       which required a new driver and support for explicit flight log
2953       erasing.
2954 </p></li><li class="listitem"><p>
2955       Multiple flight log support. This stores more than one flight
2956       log in the on-board flash memory. It also requires the user to
2957       explicitly erase flights so that you won't lose flight logs just
2958       because you fly the same board twice in one day.
2959 </p></li><li class="listitem"><p>
2960       Telemetry support for devices with serial number &gt;=
2961       256. Previous versions used a telemetry packet format that
2962       provided only 8 bits for the device serial number. This change
2963       requires that both ends of the telemetry link be running the 0.9
2964       firmware or they will not communicate.
2965 </p></li></ul></div></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54581632"></a>Version 0.8</h2></div></div></div><p>
2966     Version 0.8 offers a major upgrade in the AltosUI
2967     interface. Significant new features include:
2968   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
2969       Post-flight graphing tool. This lets you explore the behaviour
2970       of your rocket after flight with a scroll-able and zoom-able
2971       chart showing the altitude, speed and acceleration of the
2972       airframe along with events recorded by the flight computer. You
2973       can export graphs to PNG files, or print them directly.
2974     </p></li><li class="listitem"><p>
2975       Real-time moving map which overlays the in-progress flight on
2976       satellite imagery fetched from Google Maps. This lets you see in
2977       pictures where your rocket has landed, allowing you to plan
2978       recovery activities more accurately.
2979     </p></li><li class="listitem"><p>
2980       Wireless recovery system testing. Prep your rocket for flight
2981       and test fire the deployment charges to make sure things work as
2982       expected. All without threading wires through holes in your
2983       airframe.
2984     </p></li><li class="listitem"><p>
2985       Optimized flight status displays. Each flight state now has it's
2986       own custom 'tab' in the flight monitoring window so you can
2987       focus on the most important details. Pre-flight, the system
2988       shows a set of red/green status indicators for battery voltage,
2989       apogee/main igniter continutity and GPS reception. Wait until
2990       they're all green and your rocket is ready for flight. There are
2991       also tabs for ascent, descent and landing along with the
2992       original tabular view of the data.
2993     </p></li><li class="listitem"><p>
2994       Monitor multiple flights simultaneously. If you have more than
2995       one TeleDongle, you can monitor a flight with each one on the
2996       same computer.
2997     </p></li><li class="listitem"><p>
2998       Automatic flight monitoring at startup. Plug TeleDongle into the
2999       machine before starting AltosUI and it will automatically
3000       connect to it and prepare to monitor a flight.
3001     </p></li><li class="listitem"><p>
3002       Exports Google Earth flight tracks. Using the Keyhole Markup
3003       Language (.kml) file format, this provides a 3D view of your
3004       rocket flight through the Google Earth program.
3005     </p></li></ul></div></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp54583136"></a>Version 0.7.1</h2></div></div></div><p>
3006 Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can:
3007   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
3008       Receive and log telemetry from a connected TeleDongle
3009       device. All data received is saved to log files named with the
3010       current date and the connected rocket serial and flight
3011       numbers. There is no mode in which telemetry data will not be
3012       saved.
3013     </p></li><li class="listitem"><p>
3014       Download logged data from TeleMetrum devices, either through a
3015       direct USB connection or over the air through a TeleDongle
3016       device.
3017     </p></li><li class="listitem"><p>
3018       Configure a TeleMetrum device, setting the radio channel,
3019       callsign, apogee delay and main deploy height. This can be done
3020       through either a USB connection or over a radio link via a
3021       TeleDongle device.
3022     </p></li><li class="listitem"><p>
3023       Replay a flight in real-time. This takes a saved telemetry log
3024       or eeprom download and replays it through the user interface so
3025       you can relive your favorite rocket flights.
3026     </p></li><li class="listitem"><p>
3027       Reprogram Altus Metrum devices. Using an Altus Metrum device
3028       connected via USB, another Altus Metrum device can be
3029       reprogrammed using the supplied programming cable between the
3030       two devices.
3031     </p></li><li class="listitem"><p>
3032       Export Flight data to a comma-separated-values file. This takes
3033       either telemetry or on-board flight data and generates data
3034       suitable for use in external applications. All data is exported
3035       using standard units so that no device-specific knowledge is
3036       needed to handle the data.
3037     </p></li><li class="listitem"><p>
3038       Speak to you during the flight. Instead of spending the flight
3039       hunched over your laptop looking at the screen, enjoy the view
3040       while the computer tells you what&#8217;s going on up there. During
3041       ascent, you hear the current flight state and altitude
3042       information. During descent, you get azimuth, elevation and
3043       range information to try and help you find your rocket in the
3044       air. Once on the ground, the direction and distance are
3045       reported.
3046     </p></li></ul></div></div></div></div></body></html>