update docs
[web/altusmetrum] / AltOS / doc / altusmetrum.html
index 657633cf4059389bad851278eaa9aebbdad211f4..7b5d6676b38a19c98e1714bf6f3637041801d75b 100644 (file)
-<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="idm15749952"></a>The Altus Metrum System</h1></div><div><h2 class="subtitle">An Owner's Manual for TeleMetrum, TeleMini, TeleDongle and TeleBT Devices</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 © 2013 Bdale Garbee and Keith Packard</p></div><div><div class="legalnotice"><a name="idp111792"></a><p>
-        This document is released under the terms of the
-        <a class="ulink" href="http://creativecommons.org/licenses/by-sa/3.0/" target="_top">
-          Creative Commons ShareAlike 3.0
-        </a>
-        license.
-      </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.2.1</td><td align="left">21 May 2013</td></tr><tr><td align="left" colspan="2">
-         Updated for software version 1.2. Version 1.2 adds support
-         for TeleBT and AltosDroid. It also adds a few minor features
-         and fixes bugs in AltosUI and the AltOS firmware.
-       </td></tr><tr><td align="left">Revision 1.2</td><td align="left">18 April 2013</td></tr><tr><td align="left" colspan="2">
-         Updated for software version 1.2. Version 1.2 adds support
-         for MicroPeak and the MicroPeak USB interface.
-       </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">
-         Updated for software version 1.1.1 Version 1.1.1 fixes a few
-         bugs found in version 1.1.
-       </td></tr><tr><td align="left">Revision 1.1</td><td align="left">13 September 2012</td></tr><tr><td align="left" colspan="2">
-         Updated for software version 1.1. Version 1.1 has new
-         features but is otherwise compatible with version 1.0.
-       </td></tr><tr><td align="left">Revision 1.0</td><td align="left">24 August 2011</td></tr><tr><td align="left" colspan="2">
-         Updated for software version 1.0.  Note that 1.0 represents a
-         telemetry format change, meaning both ends of a link 
-         (TeleMetrum/TeleMini and TeleDongle) must be updated or 
-          communications will fail.
-       </td></tr><tr><td align="left">Revision 0.9</td><td align="left">18 January 2011</td></tr><tr><td align="left" colspan="2">
-         Updated for software version 0.9.  Note that 0.9 represents a
-         telemetry format change, meaning both ends of a link (TeleMetrum and
-         TeleDongle) must be updated or communications will fail.
-       </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="acknowledgements"><div class="titlepage"><div><div><h1 class="title"><a name="idp84128"></a>Acknowledgements</h1></div></div></div>
-    <p>
-      Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing "The
-      Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
-      Kit" which formed the basis of the original Getting Started chapter 
-      in this manual.  Bob was one of our first customers for a production
-      TeleMetrum, and his continued enthusiasm and contributions
-      are immensely gratifying and highly appreciated!
-    </p>
-    <p>
-      And thanks to Anthony (AJ) Towns for major contributions including
-      the AltosUI graphing and site map code and associated documentation. 
-      Free software means that our customers and friends can become our
-      collaborators, and we certainly appreciate this level of
-      contribution!
-    </p>
-    <p>
-      Have fun using these products, and we hope to meet all of you
-      out on the rocket flight line somewhere.
-      </p><div class="literallayout"><p><br>
-Bdale Garbee, KB0G<br>
-NAR #87103, TRA #12201<br>
-<br>
-Keith Packard, KD7SQG<br>
-NAR #88757, TRA #12200<br>
-      </p></div><p>
-    </p>
-  </div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="#idp45792">1. Introduction and Overview</a></span></dt><dt><span class="chapter"><a href="#idp49504">2. Getting Started</a></span></dt><dt><span class="chapter"><a href="#idp2493720">3. Handling Precautions</a></span></dt><dt><span class="chapter"><a href="#idp2765656">4. Hardware Overview</a></span></dt><dt><span class="chapter"><a href="#idp2919872">5. System Operation</a></span></dt><dd><dl><dt><span class="section"><a href="#idp2375600">1. Firmware Modes </a></span></dt><dt><span class="section"><a href="#idp2284648">2. GPS </a></span></dt><dt><span class="section"><a href="#idp753536">3. Controlling An Altimeter Over The Radio Link</a></span></dt><dt><span class="section"><a href="#idp760992">4. Ground Testing </a></span></dt><dt><span class="section"><a href="#idp762792">5. Radio Link </a></span></dt><dt><span class="section"><a href="#idp55640">6. Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#idp56488">6.1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp57656">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp59488">6.3. Main Deployment Altitude</a></span></dt><dt><span class="section"><a href="#idp61128">6.4. Maximum Flight Log</a></span></dt><dt><span class="section"><a href="#idp64904">6.5. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp66248">6.6. Pad Orientation</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#idp67528">6. AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#idp68608">1. Monitor Flight</a></span></dt><dd><dl><dt><span class="section"><a href="#idp75208">1.1. Launch Pad</a></span></dt><dt><span class="section"><a href="#idp3850840">1.2. Ascent</a></span></dt><dt><span class="section"><a href="#idp3852992">1.3. Descent</a></span></dt><dt><span class="section"><a href="#idp3856520">1.4. Landed</a></span></dt><dt><span class="section"><a href="#idp3859448">1.5. Site Map</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3861728">2. Save Flight Data</a></span></dt><dt><span class="section"><a href="#idp3864648">3. Replay Flight</a></span></dt><dt><span class="section"><a href="#idp3865896">4. Graph Data</a></span></dt><dt><span class="section"><a href="#idp3869184">5. Export Data</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3870192">5.1. Comma Separated Value Format</a></span></dt><dt><span class="section"><a href="#idp3871768">5.2. Keyhole Markup Language (for Google Earth)</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3872600">6. Configure Altimeter</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3876776">6.1. Main Deploy Altitude</a></span></dt><dt><span class="section"><a href="#idp3877760">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp3878800">6.3. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp3879712">6.4. Radio Calibration</a></span></dt><dt><span class="section"><a href="#idp3880776">6.5. Callsign</a></span></dt><dt><span class="section"><a href="#idp3881512">6.6. Maximum Flight Log Size</a></span></dt><dt><span class="section"><a href="#idp3882376">6.7. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp3885216">6.8. Pad Orientation</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3887440">7. Configure AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3888064">7.1. Voice Settings</a></span></dt><dt><span class="section"><a href="#idp3890336">7.2. Log Directory</a></span></dt><dt><span class="section"><a href="#idp3891560">7.3. Callsign</a></span></dt><dt><span class="section"><a href="#idp3892528">7.4. Imperial Units</a></span></dt><dt><span class="section"><a href="#idp3893432">7.5. Font Size</a></span></dt><dt><span class="section"><a href="#idp3894136">7.6. Serial Debug</a></span></dt><dt><span class="section"><a href="#idp3895048">7.7. Manage Frequencies</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3896032">8. Configure Groundstation</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3899952">8.1. Frequency</a></span></dt><dt><span class="section"><a href="#idp3900936">8.2. Radio Calibration</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3901928">9. Flash Image</a></span></dt><dt><span class="section"><a href="#idp3905000">10. Fire Igniter</a></span></dt><dt><span class="section"><a href="#idp3907104">11. Scan Channels</a></span></dt><dt><span class="section"><a href="#idp3908008">12. Load Maps</a></span></dt><dt><span class="section"><a href="#idp3910136">13. Monitor Idle</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp3911008">7. AltosDroid</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3912688">1. Installing AltosDroid</a></span></dt><dt><span class="section"><a href="#idp3913648">2. Connecting to TeleBT</a></span></dt><dt><span class="section"><a href="#idp3914864">3. Configuring AltosDroid</a></span></dt><dt><span class="section"><a href="#idp3915736">4. Altos Droid Flight Monitoring</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3916536">4.1. Pad</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3922504">5. Downloading Flight Logs</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp3923520">8. Using Altus Metrum Products</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3923840">1. Being Legal</a></span></dt><dt><span class="section"><a href="#idp3924800">2. In the Rocket</a></span></dt><dt><span class="section"><a href="#idp3926904">3. On the Ground</a></span></dt><dt><span class="section"><a href="#idp3934536">4. Data Analysis</a></span></dt><dt><span class="section"><a href="#idp3936288">5. Future Plans</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp3939448">9. Altimeter Installation Recommendations</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3940432">1. Mounting the Altimeter</a></span></dt><dt><span class="section"><a href="#idp3942768">2. Dealing with the Antenna</a></span></dt><dt><span class="section"><a href="#idp3946752">3. Preserving GPS Reception</a></span></dt><dt><span class="section"><a href="#idp3949136">4. Radio Frequency Interference</a></span></dt><dt><span class="section"><a href="#idp3953208">5. The Barometric Sensor</a></span></dt><dt><span class="section"><a href="#idp3955048">6. Ground Testing</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp3957184">10. Updating Device Firmware</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3959184">1. Updating TeleMetrum Firmware</a></span></dt><dt><span class="section"><a href="#idp3964528">2. Updating TeleMini Firmware</a></span></dt><dt><span class="section"><a href="#idp3969944">3. Updating TeleDongle Firmware</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp3977040">11. Hardware Specifications</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3977360">1. TeleMetrum Specifications</a></span></dt><dt><span class="section"><a href="#idp3983088">2. TeleMini Specifications</a></span></dt></dl></dd><dt><span class="chapter"><a href="#idp3987896">12. FAQ</a></span></dt><dt><span class="appendix"><a href="#idp3991640">A. Notes for Older Software</a></span></dt><dt><span class="appendix"><a href="#idp4008072">B. Drill Templates</a></span></dt><dd><dl><dt><span class="section"><a href="#idp4008720">1. TeleMetrum template</a></span></dt><dt><span class="section"><a href="#idp4016464">2. TeleMini template</a></span></dt></dl></dd><dt><span class="appendix"><a href="#idp4018112">C. Calibration</a></span></dt><dd><dl><dt><span class="section"><a href="#idp4019088">1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp4022408">2. TeleMetrum Accelerometer</a></span></dt></dl></dd><dt><span class="appendix"><a href="#idp4027304">D. Release Notes</a></span></dt></dl></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp45792"></a>Chapter 1. Introduction and Overview</h1></div></div></div><p>
-      Welcome to the Altus Metrum community!  Our circuits and software reflect
-      our passion for both hobby rocketry and Free Software.  We hope their
-      capabilities and performance will delight you in every way, but by
-      releasing all of our hardware and software designs under open licenses,
-      we also hope to empower you to take as active a role in our collective
-      future as you wish!
-    </p><p>
-      The first device created for our community was TeleMetrum, a dual
-      deploy altimeter with fully integrated GPS and radio telemetry
-      as standard features, and a "companion interface" that will
-      support optional capabilities in the future.
-    </p><p>
-      Our second device was TeleMini, a dual deploy altimeter with
-      radio telemetry and radio direction finding. This device is only
-      13mm by 38mm (½ inch by 1½ inches) and can fit easily in an 18mm 
-      air-frame.
-    </p><p>
-      TeleDongle was our first ground station, providing a USB to RF
-      interfaces for communicating with the altimeters. Combined with
-      your choice of antenna and notebook computer, TeleDongle and our
-      associated user interface software form a complete ground
-      station capable of logging and displaying in-flight telemetry,
-      aiding rocket recovery, then processing and archiving flight
-      data for analysis and review.
-    </p><p>
-      For a slightly more portable ground station experience that also
-      provides direct rocket recovery support, TeleBT offers flight
-      monitoring and data logging using a Bluetooth connection between
-      the receiver and an Android device that has the Altos Droid
-      application installed from the Google Play store.
-    </p><p>
-      More products will be added to the Altus Metrum family over time, and
-      we currently envision that this will be a single, comprehensive manual
-      for the entire product family.
-    </p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp49504"></a>Chapter 2. Getting Started</h1></div></div></div><p>
-      The first thing to do after you check the inventory of parts in your
-      "starter kit" is to charge the battery.
-    </p><p>
-      The TeleMetrum battery can be charged by plugging it into the
-      corresponding socket of the TeleMetrum and then using the USB A to
-      mini B
-      cable to plug the TeleMetrum into your computer's USB socket. The
-      TeleMetrum circuitry will charge the battery whenever it is plugged
-      in, because the TeleMetrum's on-off switch does NOT control the
-      charging circuitry.
-    </p><p>
-      When the GPS chip is initially searching for
-      satellites, TeleMetrum will consume more current than it can pull
-      from the USB port, so the battery must be attached in order to get
-      satellite lock.  Once GPS is locked, the current consumption goes back
-      down enough to enable charging while
-      running. So it's a good idea to fully charge the battery as your
-      first item of business so there is no issue getting and maintaining
-      satellite lock.  The yellow charge indicator led will go out when the
-      battery is nearly full and the charger goes to trickle charge. It
-      can take several hours to fully recharge a deeply discharged battery.
-    </p><p>
-      The TeleMini battery can be charged by disconnecting it from the
-      TeleMini board and plugging it into a standalone battery charger 
-      such as the LipoCharger product included in TeleMini Starter Kits, 
-      and connecting that via a USB cable to a laptop or other USB
-      power source.  
-    </p><p>
-      The other active device in the starter kit is the TeleDongle USB to
-      RF interface.  If you plug it in to your Mac or Linux computer it should
-      "just work", showing up as a serial port device.  Windows systems need
-      driver information that is part of the AltOS download to know that the
-      existing USB modem driver will work.  We therefore recommend installing
-      our software before plugging in TeleDongle if you are using a Windows
-      computer.  If you are using Linux and are having problems, try moving 
-      to a fresher kernel (2.6.33 or newer), as the USB serial driver had 
-      ugly bugs in some earlier versions.
-    </p><p>
-      Next you should obtain and install the AltOS software.  These include
-      the AltosUI ground station program, current firmware images for
-      TeleMetrum, TeleMini and TeleDongle, and a number of standalone 
-      utilities that are rarely needed.  Pre-built binary packages are 
-      available for Linux, Microsoft Windows, and recent MacOSX versions.  
-      Full source code and build instructions are also available.
-      The latest version may always be downloaded from
-      <a class="ulink" href="http://altusmetrum.org/AltOS" target="_top">http://altusmetrum.org/AltOS</a>.
-    </p><p>
-      If you're using a TeleBT instead of the TeleDongle, you'll want
-      to go install the Altos Droid application from the Google Play
-      store. You don't need a data plan to use Altos Droid, but
-      without network access, the Map view will be less useful as it
-      won't contain any map data. You can also use TeleBT connected
-      over USB with your laptop computer; it acts exactly like a
-      TeleDongle. Anywhere this manual talks about TeleDongle, you can
-      also read that as 'and TeleBT when connected via USB'.
-    </p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp2493720"></a>Chapter 3. Handling Precautions</h1></div></div></div><p>
-      All Altus Metrum products are sophisticated electronic devices.  
-      When handled gently and properly installed in an air-frame, they
-      will deliver impressive results.  However, as with all electronic 
-      devices, there are some precautions you must take.
-    </p><p>
-      The Lithium Polymer rechargeable batteries have an
-      extraordinary power density.  This is great because we can fly with
-      much less battery mass than if we used alkaline batteries or previous
-      generation rechargeable batteries... but if they are punctured
-      or their leads are allowed to short, they can and will release their
-      energy very rapidly!
-      Thus we recommend that you take some care when handling our batteries
-      and consider giving them some extra protection in your air-frame.  We
-      often wrap them in suitable scraps of closed-cell packing foam before
-      strapping them down, for example.
-    </p><p>
-      The barometric sensors used on both TeleMetrum and TeleMini are 
-      sensitive to sunlight.  In normal TeleMetrum mounting situations, it 
-      and all of the other surface mount components
-      are "down" towards whatever the underlying mounting surface is, so
-      this is not normally a problem.  Please consider this, though, when
-      designing an installation, for example, in an air-frame with a
-      see-through plastic payload bay.  It is particularly important to
-      consider this with TeleMini, both because the baro sensor is on the
-      "top" of the board, and because many model rockets with payload bays
-      use clear plastic for the payload bay!  Replacing these with an opaque
-      cardboard tube, painting them, or wrapping them with a layer of masking
-      tape are all reasonable approaches to keep the sensor out of direct
-      sunlight.
-    </p><p>
-      The barometric sensor sampling port must be able to "breathe",
-      both by not being covered by foam or tape or other materials that might
-      directly block the hole on the top of the sensor, and also by having a
-      suitable static vent to outside air.
-    </p><p>
-      As with all other rocketry electronics, Altus Metrum altimeters must 
-      be protected from exposure to corrosive motor exhaust and ejection 
-      charge gasses.
-    </p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp2765656"></a>Chapter 4. Hardware Overview</h1></div></div></div><p>
-      TeleMetrum is a 1 inch by 2.75 inch circuit board.  It was designed to
-      fit inside coupler for 29mm air-frame tubing, but using it in a tube that
-      small in diameter may require some creativity in mounting and wiring
-      to succeed!  The presence of an accelerometer means TeleMetrum should
-      be aligned along the flight axis of the airframe, and by default the 1/4
-      wave UHF wire antenna should be on the nose-cone end of the board.  The
-      antenna wire is about 7 inches long, and wiring for a power switch and
-      the e-matches for apogee and main ejection charges depart from the
-      fin can end of the board, meaning an ideal "simple" avionics
-      bay for TeleMetrum should have at least 10 inches of interior length.
-    </p><p>
-      TeleMini is a 0.5 inch by 1.5 inch circuit board.   It was designed to
-      fit inside an 18mm air-frame tube, but using it in a tube that
-      small in diameter may require some creativity in mounting and wiring
-      to succeed!  Since there is no accelerometer, TeleMini can be mounted
-      in any convenient orientation.  The default 1/4
-      wave UHF wire antenna attached to the center of one end of
-      the board is about 7 inches long, and wiring for a power switch and
-      the e-matches for apogee and main ejection charges depart from the
-      other end of the board, meaning an ideal "simple" avionics
-      bay for TeleMini should have at least 9 inches of interior length.
-    </p><p>
-      A typical TeleMetrum or TeleMini installation involves attaching 
-      only a suitable Lithium Polymer battery, a single pole switch for 
-      power on/off, and two pairs of wires connecting e-matches for the 
-      apogee and main ejection charges.  All Altus Metrum products are 
-      designed for use with single-cell batteries with 3.7 volts nominal.
-    </p><p>
-      The battery connectors are a standard 2-pin JST connector and
-      match batteries sold by Spark Fun. These batteries are
-      single-cell Lithium Polymer batteries that nominally provide 3.7
-      volts.  Other vendors sell similar batteries for RC aircraft
-      using mating connectors, however the polarity for those is
-      generally reversed from the batteries used by Altus Metrum
-      products. In particular, the Tenergy batteries supplied for use
-      in Featherweight flight computers are not compatible with Altus
-      Metrum flight computers or battery chargers. <span class="emphasis"><em>Check
-      polarity and voltage before connecting any battery not purchased
-      from Altus Metrum or Spark Fun.</em></span>
-    </p><p>
-      By default, we use the unregulated output of the Li-Po battery directly
-      to fire ejection charges.  This works marvelously with standard
-      low-current e-matches like the J-Tek from MJG Technologies, and with
-      Quest Q2G2 igniters.  However, if you want or need to use a separate 
-      pyro battery, check out the "External Pyro Battery" section in this 
-      manual for instructions on how to wire that up. The altimeters are 
-      designed to work with an external pyro battery of no more than 15 volts.
-    </p><p>
-      Ejection charges are wired directly to the screw terminal block
-      at the aft end of the altimeter.  You'll need a very small straight 
-      blade screwdriver for these screws, such as you might find in a 
-      jeweler's screwdriver set.
-    </p><p>
-      TeleMetrum also uses the screw terminal block for the power
-      switch leads. On TeleMini, the power switch leads are soldered
-      directly to the board and can be connected directly to a switch.
-    </p><p>
-      For most air-frames, the integrated antennas are more than
-      adequate.   However, if you are installing in a carbon-fiber or
-      metal electronics bay which is opaque to RF signals, you may need to
-      use off-board external antennas instead.  In this case, you can
-      order an altimeter with an SMA connector for the UHF antenna
-      connection, and, on TeleMetrum, you can unplug the integrated GPS
-      antenna and select an appropriate off-board GPS antenna with
-      cable terminating in a U.FL connector.
-    </p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp2919872"></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="#idp2375600">1. Firmware Modes </a></span></dt><dt><span class="section"><a href="#idp2284648">2. GPS </a></span></dt><dt><span class="section"><a href="#idp753536">3. Controlling An Altimeter Over The Radio Link</a></span></dt><dt><span class="section"><a href="#idp760992">4. Ground Testing </a></span></dt><dt><span class="section"><a href="#idp762792">5. Radio Link </a></span></dt><dt><span class="section"><a href="#idp55640">6. Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#idp56488">6.1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp57656">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp59488">6.3. Main Deployment Altitude</a></span></dt><dt><span class="section"><a href="#idp61128">6.4. Maximum Flight Log</a></span></dt><dt><span class="section"><a href="#idp64904">6.5. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp66248">6.6. Pad Orientation</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp2375600"></a>1. Firmware Modes </h2></div></div></div><p>
-        The AltOS firmware build for the altimeters has two
-        fundamental modes, "idle" and "flight".  Which of these modes
-        the firmware operates in is determined at start up time. For
-        TeleMetrum, the mode is controlled by the orientation of the
-        rocket (well, actually the board, of course...) at the time
-        power is switched on.  If the rocket is "nose up", then
-        TeleMetrum assumes it's on a rail or rod being prepared for
-        launch, so the firmware chooses flight mode.  However, if the
-        rocket is more or less horizontal, the firmware instead enters
-        idle mode.  Since TeleMini doesn't have an accelerometer we can
-        use to determine orientation, "idle" mode is selected when the
-        board receives a command packet within the first five seconds
-        of operation; if no packet is received, the board enters
-        "flight" mode.
-      </p><p>
-        At power on, you will hear three beeps or see three flashes
-        ("S" in Morse code for start up) and then a pause while
-        the altimeter completes initialization and self test, and decides 
-       which mode to enter next.
-      </p><p>
-        In flight or "pad" mode, the altimeter engages the flight
-        state machine, goes into transmit-only mode to
-        send telemetry, and waits for launch to be detected.
-        Flight mode is indicated by an "di-dah-dah-dit" ("P" for pad)
-        on the beeper or lights, followed by beeps or flashes
-        indicating the state of the pyrotechnic igniter continuity.
-        One beep/flash indicates apogee continuity, two beeps/flashes
-        indicate main continuity, three beeps/flashes indicate both
-        apogee and main continuity, and one longer "brap" sound or
-        rapidly alternating lights indicates no continuity.  For a
-        dual deploy flight, make sure you're getting three beeps or
-        flashes before launching!  For apogee-only or motor eject
-        flights, do what makes sense.
-      </p><p>
-        If idle mode is entered, you will hear an audible "di-dit" or
-        see two short flashes ("I" for idle), and the flight state
-        machine is disengaged, thus no ejection charges will fire.
-        The altimeters also listen for the radio link when in idle
-        mode for requests sent via TeleDongle.  Commands can be issued
-        to a TeleMetrum in idle mode over either USB or the radio link
-        equivalently. TeleMini only has the radio link.  Idle mode is
-        useful for configuring the altimeter, for extracting data from
-        the on-board storage chip after flight, and for ground testing
-        pyro charges.
-      </p><p>
-        One "neat trick" of particular value when TeleMetrum is used with 
-        very large air-frames, is that you can power the board up while the 
-        rocket is horizontal, such that it comes up in idle mode.  Then you can
-        raise the air-frame to launch position, and issue a 'reset' command 
-       via TeleDongle over the radio link to cause the altimeter to reboot and 
-        come up in flight mode.  This is much safer than standing on the top 
-        step of a rickety step-ladder or hanging off the side of a launch 
-        tower with a screw-driver trying to turn on your avionics before 
-        installing igniters!
-      </p><p>
-       TeleMini is configured via the radio link. Of course, that
-       means you need to know the TeleMini radio configuration values
-       or you won't be able to communicate with it. For situations
-       when you don't have the radio configuration values, TeleMini
-       offers an 'emergency recovery' mode. In this mode, TeleMini is
-       configured as follows:
-       </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-           Sets the radio frequency to 434.550MHz
-         </li><li class="listitem">
-           Sets the radio calibration back to the factory value.
-         </li><li class="listitem">
-           Sets the callsign to N0CALL
-         </li><li class="listitem">
-           Does not go to 'pad' mode after five seconds.
-         </li></ul></div><p>
-      </p><p>
-       To get into 'emergency recovery' mode, first find the row of
-       four small holes opposite the switch wiring. Using a short
-       piece of small gauge wire, connect the outer two holes
-       together, then power TeleMini up. Once the red LED is lit,
-       disconnect the wire and the board should signal that it's in
-       'idle' mode after the initial five second startup period.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp2284648"></a>2. GPS </h2></div></div></div><p>
-        TeleMetrum includes a complete GPS receiver.  A complete explanation 
-        of how GPS works is beyond the scope of this manual, but the bottom 
-        line is that the TeleMetrum GPS receiver needs to lock onto at least 
-        four satellites to obtain a solid 3 dimensional position fix and know
-        what time it is.
-      </p><p>
-        TeleMetrum provides backup power to the GPS chip any time a 
-        battery is connected.  This allows the receiver to "warm start" on
-        the launch rail much faster than if every power-on were a GPS 
-       "cold start".  In typical operations, powering up TeleMetrum
-        on the flight line in idle mode while performing final air-frame
-        preparation will be sufficient to allow the GPS receiver to cold
-        start and acquire lock.  Then the board can be powered down during
-        RSO review and installation on a launch rod or rail.  When the board
-        is turned back on, the GPS system should lock very quickly, typically
-        long before igniter installation and return to the flight line are
-        complete.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp753536"></a>3. Controlling An Altimeter Over The Radio Link</h2></div></div></div><p>
-        One of the unique features of the Altus Metrum system is the
-        ability to create a two way command link between TeleDongle
-        and an altimeter using the digital radio transceivers
-        built into each device. This allows you to interact with the
-        altimeter from afar, as if it were directly connected to the
-        computer.
-      </p><p>
-        Any operation which can be performed with TeleMetrum can
-        either be done with TeleMetrum directly connected to the
-        computer via the USB cable, or through the radio
-        link. TeleMini doesn't provide a USB connector and so it is
-        always communicated with over radio.  Select the appropriate 
-        TeleDongle device when the list of devices is presented and 
-        AltosUI will interact with an altimeter over the radio link.
-      </p><p>
-       One oddity in the current interface is how AltosUI selects the
-       frequency for radio communications. Instead of providing
-       an interface to specifically configure the frequency, it uses
-       whatever frequency was most recently selected for the target
-       TeleDongle device in Monitor Flight mode. If you haven't ever
-       used that mode with the TeleDongle in question, select the
-       Monitor Flight button from the top level UI, and pick the
-       appropriate TeleDongle device.  Once the flight monitoring
-       window is open, select the desired frequency and then close it
-       down again. All radio communications will now use that frequency.
-      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-            Save Flight Data&#8212;Recover flight data from the rocket without
-            opening it up.
-          </p></li><li class="listitem"><p>
-            Configure altimeter apogee delays or main deploy heights
-            to respond to changing launch conditions. You can also
-            'reboot' the altimeter. Use this to remotely enable the
-            flight computer by turning TeleMetrum on in "idle" mode,
-            then once the air-frame is oriented for launch, you can
-            reboot the altimeter and have it restart in pad mode
-            without having to climb the scary ladder.
-          </p></li><li class="listitem"><p>
-            Fire Igniters&#8212;Test your deployment charges without snaking
-            wires out through holes in the air-frame. Simply assembly the
-            rocket as if for flight with the apogee and main charges
-            loaded, then remotely command the altimeter to fire the
-            igniters.
-          </p></li></ul></div><p>
-        Operation over the radio link for configuring an altimeter, ground
-        testing igniters, and so forth uses the same RF frequencies as flight
-        telemetry.  To configure the desired TeleDongle frequency, select
-        the monitor flight tab, then use the frequency selector and 
-        close the window before performing other desired radio operations.
-      </p><p>
-        TeleMetrum only enables radio commanding in 'idle' mode, so
-        make sure you have TeleMetrum lying horizontally when you turn
-        it on. Otherwise, TeleMetrum will start in 'pad' mode ready for
-        flight, and will not be listening for command packets from TeleDongle.
-      </p><p>
-       TeleMini listens for a command packet for five seconds after
-       first being turned on, if it doesn't hear anything, it enters
-       'pad' mode, ready for flight and will no longer listen for
-       command packets. The easiest way to connect to TeleMini is to
-       initiate the command and select the TeleDongle device. At this
-       point, the TeleDongle will be attempting to communicate with
-       the TeleMini. Now turn TeleMini on, and it should immediately
-       start communicating with the TeleDongle and the desired
-       operation can be performed.
-      </p><p>
-        You can monitor the operation of the radio link by watching the 
-        lights on the devices. The red LED will flash each time a packet
-        is transmitted, while the green LED will light up on TeleDongle when 
-        it is waiting to receive a packet from the altimeter.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp760992"></a>4. Ground Testing </h2></div></div></div><p>
-        An important aspect of preparing a rocket using electronic deployment
-        for flight is ground testing the recovery system.  Thanks
-        to the bi-directional radio link central to the Altus Metrum system,
-        this can be accomplished in a TeleMetrum or TeleMini equipped rocket 
-        with less work than you may be accustomed to with other systems.  It 
-        can even be fun!
-      </p><p>
-        Just prep the rocket for flight, then power up the altimeter
-        in "idle" mode (placing air-frame horizontal for TeleMetrum or
-        selected the Configure Altimeter tab for TeleMini).  This will cause 
-        the firmware to go into "idle" mode, in which the normal flight
-        state machine is disabled and charges will not fire without
-        manual command.  You can now command the altimeter to fire the apogee
-        or main charges from a safe distance using your computer and 
-        TeleDongle and the Fire Igniter tab to complete ejection testing.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp762792"></a>5. Radio Link </h2></div></div></div><p>
-        The chip our boards are based on incorporates an RF transceiver, but
-        it's not a full duplex system... each end can only be transmitting or
-        receiving at any given moment.  So we had to decide how to manage the
-        link.
-      </p><p>
-        By design, the altimeter firmware listens for the radio link when
-        it's in "idle mode", which
-        allows us to use the radio link to configure the rocket, do things like
-        ejection tests, and extract data after a flight without having to
-        crack open the air-frame.  However, when the board is in "flight
-        mode", the altimeter only
-        transmits and doesn't listen at all.  That's because we want to put
-        ultimate priority on event detection and getting telemetry out of
-        the rocket through
-        the radio in case the rocket crashes and we aren't able to extract
-        data later...
-      </p><p>
-        We don't use a 'normal packet radio' mode like APRS because they're 
-        just too inefficient.  The GFSK modulation we use is FSK with the
-        base-band pulses passed through a
-        Gaussian filter before they go into the modulator to limit the
-        transmitted bandwidth.  When combined with the hardware forward error
-        correction support in the cc1111 chip, this allows us to have a very
-        robust 38.4 kilobit data link with only 10 milliwatts of transmit 
-        power, a whip antenna in the rocket, and a hand-held Yagi on the 
-        ground.  We've had flights to above 21k feet AGL with great reception, 
-        and calculations suggest we should be good to well over 40k feet AGL 
-        with a 5-element yagi on the ground.  We hope to fly boards to higher 
-        altitudes over time, and would of course appreciate customer feedback 
-        on performance in higher altitude flights!
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp55640"></a>6. Configurable Parameters</h2></div></div></div><p>
-        Configuring an Altus Metrum altimeter for flight is very
-        simple.  Even on our baro-only TeleMini board, the use of a Kalman 
-        filter means there is no need to set a "mach delay".  The few 
-        configurable parameters can all be set using AltosUI over USB or
-        or radio link via TeleDongle.
-      </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp56488"></a>6.1. Radio Frequency</h3></div></div></div><p>
-         Altus Metrum boards support radio frequencies in the 70cm
-         band. By default, the configuration interface provides a
-         list of 10 "standard" frequencies in 100kHz channels starting at
-         434.550MHz.  However, the firmware supports use of
-         any 50kHz multiple within the 70cm band. At any given
-         launch, we highly recommend coordinating when and by whom each
-         frequency will be used to avoid interference.  And of course, both
-         altimeter and TeleDongle must be configured to the same
-         frequency to successfully communicate with each other.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp57656"></a>6.2. Apogee Delay</h3></div></div></div><p>
-          Apogee delay is the number of seconds after the altimeter detects flight
-          apogee that the drogue charge should be fired.  In most cases, this
-          should be left at the default of 0.  However, if you are flying
-          redundant electronics such as for an L3 certification, you may wish
-          to set one of your altimeters to a positive delay so that both
-          primary and backup pyrotechnic charges do not fire simultaneously.
-        </p><p>
-          The Altus Metrum apogee detection algorithm fires exactly at
-          apogee.  If you are also flying an altimeter like the
-          PerfectFlite MAWD, which only supports selecting 0 or 1
-          seconds of apogee delay, you may wish to set the MAWD to 0
-          seconds delay and set the TeleMetrum to fire your backup 2
-          or 3 seconds later to avoid any chance of both charges
-          firing simultaneously.  We've flown several air-frames this
-          way quite happily, including Keith's successful L3 cert.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp59488"></a>6.3. Main Deployment Altitude</h3></div></div></div><p>
-          By default, the altimeter will fire the main deployment charge at an
-          elevation of 250 meters (about 820 feet) above ground.  We think this
-          is a good elevation for most air-frames, but feel free to change this
-          to suit.  In particular, if you are flying two altimeters, you may
-          wish to set the
-          deployment elevation for the backup altimeter to be something lower
-          than the primary so that both pyrotechnic charges don't fire
-          simultaneously.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp61128"></a>6.4. Maximum Flight Log</h3></div></div></div><p>
-         TeleMetrum version 1.1 and 1.2 have 2MB of on-board flash storage,
-         enough to hold over 40 minutes of data at full data rate
-         (100 samples/second). TeleMetrum 1.0 has 1MB of on-board
-         storage. As data are stored at a reduced rate during descent
-         (10 samples/second), there's plenty of space to store many
-         flights worth of data.
-       </p><p>
-         The on-board flash is partitioned into separate flight logs,
-         each of a fixed maximum size. Increase the maximum size of
-         each log and you reduce the number of flights that can be
-         stored. Decrease the size and TeleMetrum can store more
-         flights.
-       </p><p>
-         All of the configuration data is also stored in the flash
-         memory, which consumes 64kB on TeleMetrum v1.1/v1.2 and 256B on
-         TeleMetrum v1.0. This configuration space is not available
-         for storing flight log data.
-       </p><p>
-         To compute the amount of space needed for a single flight,
-         you can multiply the expected ascent time (in seconds) by
-         800, multiply the expected descent time (in seconds) by 80
-         and add the two together. That will slightly under-estimate
-         the storage (in bytes) needed for the flight. For instance,
-         a flight spending 20 seconds in ascent and 150 seconds in
-         descent will take about (20 * 800) + (150 * 80) = 28000
-         bytes of storage. You could store dozens of these flights in
-         the on-board flash.
-       </p><p>
-         The default size, 192kB, allows for 10 flights of storage on
-         TeleMetrum v1.1/v1.2 and 5 flights on TeleMetrum v1.0. This
-         ensures that you won't need to erase the memory before
-         flying each time while still allowing more than sufficient
-         storage for each flight.
-       </p><p>
-         As TeleMini does not contain an accelerometer, it stores
-         data at 10 samples per second during ascent and one sample
-         per second during descent. Each sample is a two byte reading
-         from the barometer. These are stored in 5kB of
-         on-chip flash memory which can hold 256 seconds at the
-         ascent rate or 2560 seconds at the descent rate. Because of
-         the limited storage, TeleMini cannot hold data for more than
-         one flight, and so must be erased after each flight or it
-         will not capture data for subsequent flights.
-       </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp64904"></a>6.5. Ignite Mode</h3></div></div></div><p>
-         Instead of firing one charge at apogee and another charge at
-         a fixed height above the ground, you can configure the
-         altimeter to fire both at apogee or both during
-         descent. This was added to support an airframe that has two
-         TeleMetrum computers, one in the fin can and one in the
-         nose.
-       </p><p>
-         Providing the ability to use both igniters for apogee or
-         main allows some level of redundancy without needing two
-         flight computers.  In Redundant Apogee or Redundant Main
-         mode, the two charges will be fired two seconds apart.
-       </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp66248"></a>6.6. Pad Orientation</h3></div></div></div><p>
-         TeleMetrum measures acceleration along the axis of the
-         board. Which way the board is oriented affects the sign of
-         the acceleration value. Instead of trying to guess which way
-         the board is mounted in the air frame, TeleMetrum must be
-         explicitly configured for either Antenna Up or Antenna
-         Down. The default, Antenna Up, expects the end of the
-         TeleMetrum board connected to the 70cm antenna to be nearest
-         the nose of the rocket, with the end containing the screw
-         terminals nearest the tail.
-       </p></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp67528"></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="#idp68608">1. Monitor Flight</a></span></dt><dd><dl><dt><span class="section"><a href="#idp75208">1.1. Launch Pad</a></span></dt><dt><span class="section"><a href="#idp3850840">1.2. Ascent</a></span></dt><dt><span class="section"><a href="#idp3852992">1.3. Descent</a></span></dt><dt><span class="section"><a href="#idp3856520">1.4. Landed</a></span></dt><dt><span class="section"><a href="#idp3859448">1.5. Site Map</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3861728">2. Save Flight Data</a></span></dt><dt><span class="section"><a href="#idp3864648">3. Replay Flight</a></span></dt><dt><span class="section"><a href="#idp3865896">4. Graph Data</a></span></dt><dt><span class="section"><a href="#idp3869184">5. Export Data</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3870192">5.1. Comma Separated Value Format</a></span></dt><dt><span class="section"><a href="#idp3871768">5.2. Keyhole Markup Language (for Google Earth)</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3872600">6. Configure Altimeter</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3876776">6.1. Main Deploy Altitude</a></span></dt><dt><span class="section"><a href="#idp3877760">6.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#idp3878800">6.3. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp3879712">6.4. Radio Calibration</a></span></dt><dt><span class="section"><a href="#idp3880776">6.5. Callsign</a></span></dt><dt><span class="section"><a href="#idp3881512">6.6. Maximum Flight Log Size</a></span></dt><dt><span class="section"><a href="#idp3882376">6.7. Ignite Mode</a></span></dt><dt><span class="section"><a href="#idp3885216">6.8. Pad Orientation</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3887440">7. Configure AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3888064">7.1. Voice Settings</a></span></dt><dt><span class="section"><a href="#idp3890336">7.2. Log Directory</a></span></dt><dt><span class="section"><a href="#idp3891560">7.3. Callsign</a></span></dt><dt><span class="section"><a href="#idp3892528">7.4. Imperial Units</a></span></dt><dt><span class="section"><a href="#idp3893432">7.5. Font Size</a></span></dt><dt><span class="section"><a href="#idp3894136">7.6. Serial Debug</a></span></dt><dt><span class="section"><a href="#idp3895048">7.7. Manage Frequencies</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3896032">8. Configure Groundstation</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3899952">8.1. Frequency</a></span></dt><dt><span class="section"><a href="#idp3900936">8.2. Radio Calibration</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3901928">9. Flash Image</a></span></dt><dt><span class="section"><a href="#idp3905000">10. Fire Igniter</a></span></dt><dt><span class="section"><a href="#idp3907104">11. Scan Channels</a></span></dt><dt><span class="section"><a href="#idp3908008">12. Load Maps</a></span></dt><dt><span class="section"><a href="#idp3910136">13. Monitor Idle</a></span></dt></dl></div><p>
-      The AltosUI program provides a graphical user interface for
-      interacting with the Altus Metrum product family, including
-      TeleMetrum, TeleMini and TeleDongle. AltosUI can monitor telemetry data,
-      configure TeleMetrum, TeleMini and TeleDongle devices and many other
-      tasks. The primary interface window provides a selection of
-      buttons, one for each major activity in the system.  This manual
-      is split into chapters, each of which documents one of the tasks
-      provided from the top-level toolbar.
-    </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp68608"></a>1. Monitor Flight</h2></div><div><h3 class="subtitle">Receive, Record and Display Telemetry Data</h3></div></div></div><p>
-        Selecting this item brings up a dialog box listing all of the
-        connected TeleDongle devices. When you choose one of these,
-        AltosUI will create a window to display telemetry data as
-        received by the selected TeleDongle device.
-      </p><p>
-        All telemetry data received are automatically recorded in
-        suitable log files. The name of the files includes the current
-        date and rocket serial and flight numbers.
-      </p><p>
-        The radio frequency being monitored by the TeleDongle device is
-        displayed at the top of the window. You can configure the
-        frequency by clicking on the frequency box and selecting the desired
-        frequency. AltosUI remembers the last frequency selected for each
-        TeleDongle and selects that automatically the next time you use
-        that device.
-      </p><p>
-        Below the TeleDongle frequency selector, the window contains a few
-        significant pieces of information about the altimeter providing
-        the telemetry data stream:
-      </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
-            times it has flown.
-          </p></li><li class="listitem"><p>
-            The rocket flight state. Each flight passes through several
-            states including Pad, Boost, Fast, Coast, Drogue, Main and
-            Landed.
-          </p></li><li class="listitem"><p>
-            The Received Signal Strength Indicator value. This lets
-            you know how strong a signal TeleDongle is receiving. The
-            radio inside TeleDongle operates down to about -99dBm;
-            weaker signals may not be receivable. The packet link uses
-            error detection and correction techniques which prevent
-            incorrect data from being reported.
-          </p></li><li class="listitem"><p>
-            The age of the displayed data, in seconds since the last 
-           successfully received telemetry packet.  In normal operation
-           this will stay in the low single digits.  If the number starts
-           counting up, then you are no longer receiving data over the radio
-           link from the flight computer.
-          </p></li></ul></div><p>
-        Finally, the largest portion of the window contains a set of
-        tabs, each of which contain some information about the rocket.
-        They're arranged in 'flight order' so that as the flight
-        progresses, the selected tab automatically switches to display
-        data relevant to the current state of the flight. You can select
-        other tabs at any time. The final 'table' tab displays all of
-        the raw telemetry values in one place in a spreadsheet-like format.
-      </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp75208"></a>1.1. Launch Pad</h3></div></div></div><p>
-          The 'Launch Pad' tab shows information used to decide when the
-          rocket is ready for flight. The first elements include red/green
-          indicators, if any of these is red, you'll want to evaluate
-          whether the rocket is ready to launch:
-          </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-                Battery Voltage. This indicates whether the Li-Po battery
-                powering the TeleMetrum has sufficient charge to last for
-                the duration of the flight. A value of more than
-                3.7V is required for a 'GO' status.
-              </p></li><li class="listitem"><p>
-                Apogee Igniter Voltage. This indicates whether the apogee
-                igniter has continuity. If the igniter has a low
-                resistance, then the voltage measured here will be close
-                to the Li-Po battery voltage. A value greater than 3.2V is
-                required for a 'GO' status.
-              </p></li><li class="listitem"><p>
-                Main Igniter Voltage. This indicates whether the main
-                igniter has continuity. If the igniter has a low
-                resistance, then the voltage measured here will be close
-                to the Li-Po battery voltage. A value greater than 3.2V is
-                required for a 'GO' status.
-              </p></li><li class="listitem"><p>
-               On-board Data Logging. This indicates whether there is
-               space remaining on-board to store flight data for the
-               upcoming flight. If you've downloaded data, but failed
-               to erase flights, there may not be any space
-               left. TeleMetrum can store multiple flights, depending
-               on the configured maximum flight log size. TeleMini
-               stores only a single flight, so it will need to be
-               downloaded and erased after each flight to capture
-               data. This only affects on-board flight logging; the
-               altimeter will still transmit telemetry and fire
-               ejection charges at the proper times.
-             </p></li><li class="listitem"><p>
-                GPS Locked. For a TeleMetrum device, this indicates whether the GPS receiver is
-                currently able to compute position information. GPS requires
-                at least 4 satellites to compute an accurate position.
-              </p></li><li class="listitem"><p>
-                GPS Ready. For a TeleMetrum device, this indicates whether GPS has reported at least
-                10 consecutive positions without losing lock. This ensures
-                that the GPS receiver has reliable reception from the
-                satellites.
-              </p></li></ul></div><p>
-          </p><p>
-            The Launchpad tab also shows the computed launch pad position
-            and altitude, averaging many reported positions to improve the
-            accuracy of the fix.
-          </p><p>
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3850840"></a>1.2. Ascent</h3></div></div></div><p>
-          This tab is shown during Boost, Fast and Coast
-          phases. The information displayed here helps monitor the
-          rocket as it heads towards apogee.
-        </p><p>
-          The height, speed and acceleration are shown along with the
-          maximum values for each of them. This allows you to quickly
-          answer the most commonly asked questions you'll hear during
-          flight.
-        </p><p>
-          The current latitude and longitude reported by the TeleMetrum GPS are
-          also shown. Note that under high acceleration, these values
-          may not get updated as the GPS receiver loses position
-          fix. Once the rocket starts coasting, the receiver should
-          start reporting position again.
-        </p><p>
-          Finally, the current igniter voltages are reported as in the
-          Launch Pad tab. This can help diagnose deployment failures
-          caused by wiring which comes loose under high acceleration.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3852992"></a>1.3. Descent</h3></div></div></div><p>
-          Once the rocket has reached apogee and (we hope) activated the
-          apogee charge, attention switches to tracking the rocket on
-          the way back to the ground, and for dual-deploy flights,
-          waiting for the main charge to fire.
-        </p><p>
-          To monitor whether the apogee charge operated correctly, the
-          current descent rate is reported along with the current
-          height. Good descent rates vary based on the choice of recovery
-         components, but generally range from 15-30m/s on drogue and should
-         be below 10m/s when under the main parachute in a dual-deploy flight.
-        </p><p>
-          For TeleMetrum altimeters, you can locate the rocket in the
-          sky using the elevation and bearing information to figure
-          out where to look. Elevation is in degrees above the
-          horizon. Bearing is reported in degrees relative to true
-          north. Range can help figure out how big the rocket will
-          appear. Ground Distance shows how far it is to a point
-          directly under the rocket and can help figure out where the
-          rocket is likely to land. Note that all of these values are
-          relative to the pad location. If the elevation is near 90°,
-          the rocket is over the pad, not over you.
-        </p><p>
-          Finally, the igniter voltages are reported in this tab as
-          well, both to monitor the main charge as well as to see what
-          the status of the apogee charge is.  Note that some commercial
-         e-matches are designed to retain continuity even after being
-         fired, and will continue to show as green or return from red to
-         green after firing.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3856520"></a>1.4. Landed</h3></div></div></div><p>
-          Once the rocket is on the ground, attention switches to
-          recovery. While the radio signal is often lost once the
-          rocket is on the ground, the last reported GPS position is
-          generally within a short distance of the actual landing location.
-        </p><p>
-          The last reported GPS position is reported both by
-          latitude and longitude as well as a bearing and distance from
-          the launch pad. The distance should give you a good idea of
-          whether to walk or hitch a ride.  Take the reported
-          latitude and longitude and enter them into your hand-held GPS
-          unit and have that compute a track to the landing location.
-        </p><p>
-         Both TeleMini and TeleMetrum will continue to transmit RDF
-         tones after landing, allowing you to locate the rocket by
-         following the radio signal if necessary. You may need to get 
-         away from the clutter of the flight line, or even get up on 
-         a hill (or your neighbor's RV roof) to receive the RDF signal.
-       </p><p>
-          The maximum height, speed and acceleration reported
-          during the flight are displayed for your admiring observers.
-         The accuracy of these immediate values depends on the quality
-         of your radio link and how many packets were received.  
-         Recovering the on-board data after flight will likely yield
-         more precise results.
-        </p><p>
-         To get more detailed information about the flight, you can
-         click on the 'Graph Flight' button which will bring up a
-         graph window for the current flight.
-       </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3859448"></a>1.5. Site Map</h3></div></div></div><p>
-          When the TeleMetrum has a GPS fix, the Site Map tab will map
-          the rocket's position to make it easier for you to locate the
-          rocket, both while it is in the air, and when it has landed. The
-          rocket's state is indicated by color: white for pad, red for
-          boost, pink for fast, yellow for coast, light blue for drogue,
-          dark blue for main, and black for landed.
-        </p><p>
-          The map's scale is approximately 3m (10ft) per pixel. The map
-          can be dragged using the left mouse button. The map will attempt
-          to keep the rocket roughly centered while data is being received.
-        </p><p>
-          Images are fetched automatically via the Google Maps Static API,
-          and cached on disk for reuse. If map images cannot be downloaded,
-          the rocket's path will be traced on a dark gray background
-          instead.
-        </p><p>
-         You can pre-load images for your favorite launch sites
-         before you leave home; check out the 'Preload Maps' section below.
-       </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3861728"></a>2. Save Flight Data</h2></div></div></div><p>
-        The altimeter records flight data to its internal flash memory.
-        TeleMetrum data is recorded at a much higher rate than the telemetry
-        system can handle, and is not subject to radio drop-outs. As
-        such, it provides a more complete and precise record of the
-        flight. The 'Save Flight Data' button allows you to read the
-        flash memory and write it to disk. As TeleMini has only a barometer, it
-       records data at the same rate as the telemetry signal, but there will be
-       no data lost due to telemetry drop-outs.
-      </p><p>
-        Clicking on the 'Save Flight Data' button brings up a list of
-        connected TeleMetrum and TeleDongle devices. If you select a
-        TeleMetrum device, the flight data will be downloaded from that
-        device directly. If you select a TeleDongle device, flight data
-        will be downloaded from an altimeter over radio link via the 
-       specified TeleDongle. See the chapter on Controlling An Altimeter 
-       Over The Radio Link for more information.
-      </p><p>
-       After the device has been selected, a dialog showing the
-       flight data saved in the device will be shown allowing you to
-       select which flights to download and which to delete. With
-       version 0.9 or newer firmware, you must erase flights in order
-       for the space they consume to be reused by another
-       flight. This prevents accidentally losing flight data
-       if you neglect to download data before flying again. Note that
-       if there is no more space available in the device, then no
-       data will be recorded during the next flight.
-      </p><p>
-        The file name for each flight log is computed automatically
-        from the recorded flight date, altimeter serial number and
-        flight number information.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3864648"></a>3. Replay Flight</h2></div></div></div><p>
-        Select this button and you are prompted to select a flight
-        record file, either a .telem file recording telemetry data or a
-        .eeprom file containing flight data saved from the altimeter
-        flash memory.
-      </p><p>
-        Once a flight record is selected, the flight monitor interface
-        is displayed and the flight is re-enacted in real time. Check
-        the Monitor Flight chapter above to learn how this window operates.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3865896"></a>4. Graph Data</h2></div></div></div><p>
-        Select this button and you are prompted to select a flight
-        record file, either a .telem file recording telemetry data or a
-        .eeprom file containing flight data saved from
-        flash memory.
-      </p><p>
-        Once a flight record is selected, a window with four tabs is
-        opened. The first tab contains a graph with acceleration
-        (blue), velocity (green) and altitude (red) of the flight,
-        measured in metric units. The apogee(yellow) and main(magenta)
-        igniter voltages are also displayed; high voltages indicate
-        continuity, low voltages indicate open circuits. The second
-        tab lets you configure which data to show in the graph.  The
-        third contains some basic flight statistics while the fourth
-        has a map with the ground track of the flight displayed.
-      </p><p>
-        The graph can be zoomed into a particular area by clicking and
-        dragging down and to the right. Once zoomed, the graph can be
-        reset by clicking and dragging up and to the left. Holding down
-        control and clicking and dragging allows the graph to be panned.
-        The right mouse button causes a pop-up menu to be displayed, giving
-        you the option save or print the plot.
-      </p><p>
-        Note that telemetry files will generally produce poor graphs
-        due to the lower sampling rate and missed telemetry packets.
-        Use saved flight data in .eeprom files for graphing where possible.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3869184"></a>5. Export Data</h2></div></div></div><p>
-        This tool takes the raw data files and makes them available for
-        external analysis. When you select this button, you are prompted to 
-       select a flight
-        data file (either .eeprom or .telem will do, remember that
-        .eeprom files contain higher resolution and more continuous
-        data). Next, a second dialog appears which is used to select
-        where to write the resulting file. It has a selector to choose
-        between CSV and KML file formats.
-      </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3870192"></a>5.1. Comma Separated Value Format</h3></div></div></div><p>
-          This is a text file containing the data in a form suitable for
-          import into a spreadsheet or other external data analysis
-          tool. The first few lines of the file contain the version and
-          configuration information from the altimeter, then
-          there is a single header line which labels all of the
-          fields. All of these lines start with a '#' character which
-          many tools can be configured to skip over.
-        </p><p>
-          The remaining lines of the file contain the data, with each
-          field separated by a comma and at least one space. All of
-          the sensor values are converted to standard units, with the
-          barometric data reported in both pressure, altitude and
-          height above pad units.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3871768"></a>5.2. Keyhole Markup Language (for Google Earth)</h3></div></div></div><p>
-          This is the format used by Google Earth to provide an overlay 
-         within that application. With this, you can use Google Earth to 
-         see the whole flight path in 3D.
-        </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3872600"></a>6. Configure Altimeter</h2></div></div></div><p>
-        Select this button and then select either a TeleMetrum or
-        TeleDongle Device from the list provided. Selecting a TeleDongle
-        device will use the radio link to configure a remote altimeter. 
-      </p><p>
-        The first few lines of the dialog provide information about the
-        connected device, including the product name,
-        software version and hardware serial number. Below that are the
-        individual configuration entries.
-      </p><p>
-        At the bottom of the dialog, there are four buttons:
-      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-            Save. This writes any changes to the
-            configuration parameter block in flash memory. If you don't
-            press this button, any changes you make will be lost.
-          </p></li><li class="listitem"><p>
-            Reset. This resets the dialog to the most recently saved values,
-            erasing any changes you have made.
-          </p></li><li class="listitem"><p>
-            Reboot. This reboots the device. Use this to
-            switch from idle to pad mode by rebooting once the rocket is
-            oriented for flight, or to confirm changes you think you saved 
-           are really saved.
-          </p></li><li class="listitem"><p>
-            Close. This closes the dialog. Any unsaved changes will be
-            lost.
-          </p></li></ul></div><p>
-        The rest of the dialog contains the parameters to be configured.
-      </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3876776"></a>6.1. Main Deploy Altitude</h3></div></div></div><p>
-          This sets the altitude (above the recorded pad altitude) at
-          which the 'main' igniter will fire. The drop-down menu shows
-          some common values, but you can edit the text directly and
-          choose whatever you like. If the apogee charge fires below
-          this altitude, then the main charge will fire two seconds
-          after the apogee charge fires.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3877760"></a>6.2. Apogee Delay</h3></div></div></div><p>
-          When flying redundant electronics, it's often important to
-          ensure that multiple apogee charges don't fire at precisely
-          the same time, as that can over pressurize the apogee deployment
-          bay and cause a structural failure of the air-frame. The Apogee
-          Delay parameter tells the flight computer to fire the apogee
-          charge a certain number of seconds after apogee has been
-          detected.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3878800"></a>6.3. Radio Frequency</h3></div></div></div><p>
-          This configures which of the configured frequencies to use for both
-          telemetry and packet command mode. Note that if you set this
-          value via packet command mode, you will have to reconfigure
-          the TeleDongle frequency before you will be able to use packet
-          command mode again.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3879712"></a>6.4. Radio Calibration</h3></div></div></div><p>
-          The radios in every Altus Metrum device are calibrated at the
-          factory to ensure that they transmit and receive on the
-          specified frequency.  If you need to you can adjust the calibration 
-         by changing this value.  Do not do this without understanding what
-         the value means, read the appendix on calibration and/or the source
-         code for more information.  To change a TeleDongle's calibration, 
-         you must reprogram the unit completely.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3880776"></a>6.5. Callsign</h3></div></div></div><p>
-          This sets the call sign included in each telemetry packet. Set this
-          as needed to conform to your local radio regulations.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3881512"></a>6.6. Maximum Flight Log Size</h3></div></div></div><p>
-          This sets the space (in kilobytes) allocated for each flight
-          log. The available space will be divided into chunks of this
-          size. A smaller value will allow more flights to be stored,
-          a larger value will record data from longer flights.
-       </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3882376"></a>6.7. Ignite Mode</h3></div></div></div><p>
-         TeleMetrum and TeleMini provide two igniter channels as they
-         were originally designed as dual-deploy flight
-         computers. This configuration parameter allows the two
-         channels to be used in different configurations.
-       </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-             Dual Deploy. This is the usual mode of operation; the
-             'apogee' channel is fired at apogee and the 'main'
-             channel at the height above ground specified by the
-             'Main Deploy Altitude' during descent.
-           </p></li><li class="listitem"><p>
-             Redundant Apogee. This fires both channels at
-             apogee, the 'apogee' channel first followed after a two second
-             delay by the 'main' channel.
-           </p></li><li class="listitem"><p>
-             Redundant Main. This fires both channels at the
-             height above ground specified by the Main Deploy
-             Altitude setting during descent. The 'apogee'
-             channel is fired first, followed after a two second
-             delay by the 'main' channel.
-           </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3885216"></a>6.8. Pad Orientation</h3></div></div></div><p>
-         Because it includes an accelerometer, TeleMetrum is
-         sensitive to the orientation of the board. By default, it
-         expects the antenna end to point forward. This parameter
-         allows that default to be changed, permitting the board to
-         be mounted with the antenna pointing aft instead.
-       </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-             Antenna Up. In this mode, the antenna end of the
-             TeleMetrum board must point forward, in line with the
-             expected flight path.
-           </p></li><li class="listitem"><p>
-             Antenna Down. In this mode, the antenna end of the
-             TeleMetrum board must point aft, in line with the
-             expected flight path.
-           </p></li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3887440"></a>7. Configure AltosUI</h2></div></div></div><p>
-        This button presents a dialog so that you can configure the AltosUI global settings.
-      </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3888064"></a>7.1. Voice Settings</h3></div></div></div><p>
-          AltosUI provides voice announcements during flight so that you
-          can keep your eyes on the sky and still get information about
-          the current flight status. However, sometimes you don't want
-          to hear them.
-        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Enable&#8212;turns all voice announcements on and off</p></li><li class="listitem"><p>
-              Test Voice&#8212;Plays a short message allowing you to verify
-              that the audio system is working and the volume settings
-              are reasonable
-            </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3890336"></a>7.2. Log Directory</h3></div></div></div><p>
-          AltosUI logs all telemetry data and saves all TeleMetrum flash
-          data to this directory. This directory is also used as the
-          staring point when selecting data files for display or export.
-        </p><p>
-          Click on the directory name to bring up a directory choosing
-          dialog, select a new directory and click 'Select Directory' to
-          change where AltosUI reads and writes data files.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3891560"></a>7.3. Callsign</h3></div></div></div><p>
-          This value is transmitted in each command packet sent from 
-         TeleDongle and received from an altimeter.  It is not used in 
-         telemetry mode, as the callsign configured in the altimeter board
-         is included in all telemetry packets.  Configure this
-          with the AltosUI operators call sign as needed to comply with
-          your local radio regulations.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3892528"></a>7.4. Imperial Units</h3></div></div></div><p>
-         This switches between metric units (meters) and imperial
-         units (feet and miles). This affects the display of values
-         use during flight monitoring, data graphing and all of the
-         voice announcements. It does not change the units used when
-         exporting to CSV files, those are always produced in metric units.
-       </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3893432"></a>7.5. Font Size</h3></div></div></div><p>
-         Selects the set of fonts used in the flight monitor
-         window. Choose between the small, medium and large sets.
-       </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3894136"></a>7.6. Serial Debug</h3></div></div></div><p>
-          This causes all communication with a connected device to be
-          dumped to the console from which AltosUI was started. If
-          you've started it from an icon or menu entry, the output
-          will simply be discarded. This mode can be useful to debug
-          various serial communication issues.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3895048"></a>7.7. Manage Frequencies</h3></div></div></div><p>
-         This brings up a dialog where you can configure the set of
-         frequencies shown in the various frequency menus. You can
-         add as many as you like, or even reconfigure the default
-         set. Changing this list does not affect the frequency
-         settings of any devices, it only changes the set of
-         frequencies shown in the menus.
-       </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3896032"></a>8. Configure Groundstation</h2></div></div></div><p>
-        Select this button and then select a TeleDongle Device from the list provided.
-      </p><p>
-        The first few lines of the dialog provide information about the
-        connected device, including the product name,
-        software version and hardware serial number. Below that are the
-        individual configuration entries.
-      </p><p>
-       Note that the TeleDongle itself doesn't save any configuration
-       data, the settings here are recorded on the local machine in
-       the Java preferences database. Moving the TeleDongle to
-       another machine, or using a different user account on the same
-       machine will cause settings made here to have no effect.
-      </p><p>
-        At the bottom of the dialog, there are three buttons:
-      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-            Save. This writes any changes to the
-            local Java preferences file. If you don't
-            press this button, any changes you make will be lost.
-          </p></li><li class="listitem"><p>
-            Reset. This resets the dialog to the most recently saved values,
-            erasing any changes you have made.
-          </p></li><li class="listitem"><p>
-            Close. This closes the dialog. Any unsaved changes will be
-            lost.
-          </p></li></ul></div><p>
-        The rest of the dialog contains the parameters to be configured.
-      </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3899952"></a>8.1. Frequency</h3></div></div></div><p>
-          This configures the frequency to use for both telemetry and
-          packet command mode. Set this before starting any operation
-          involving packet command mode so that it will use the right
-          frequency. Telemetry monitoring mode also provides a menu to
-          change the frequency, and that menu also sets the same Java
-          preference value used here.
-        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3900936"></a>8.2. Radio Calibration</h3></div></div></div><p>
-          The radios in every Altus Metrum device are calibrated at the
-          factory to ensure that they transmit and receive on the
-          specified frequency.  To change a TeleDongle's calibration, 
-         you must reprogram the unit completely, so this entry simply
-         shows the current value and doesn't allow any changes.
-        </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3901928"></a>9. Flash Image</h2></div></div></div><p>
-        This reprograms any Altus Metrum device by using a TeleMetrum
-        or TeleDongle as a programming dongle. Please read the
-        directions for flashing devices in the Updating Device
-        Firmware chapter below.
-      </p><p>
-        Once you have the programmer and target devices connected,
-        push the 'Flash Image' button. That will present a dialog box
-        listing all of the connected devices. Carefully select the
-        programmer device, not the device to be programmed.
-      </p><p>
-        Next, select the image to flash to the device. These are named
-        with the product name and firmware version. The file selector
-        will start in the directory containing the firmware included
-        with the AltosUI package. Navigate to the directory containing
-        the desired firmware if it isn't there.
-      </p><p>
-        Next, a small dialog containing the device serial number and
-        RF calibration values should appear. If these values are
-        incorrect (possibly due to a corrupted image in the device),
-        enter the correct values here.
-      </p><p>
-        Finally, a dialog containing a progress bar will follow the
-        programming process.
-      </p><p>
-        When programming is complete, the target device will
-        reboot. Note that if the target device is connected via USB, you
-        will have to unplug it and then plug it back in for the USB
-        connection to reset so that you can communicate with the device
-        again.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3905000"></a>10. Fire Igniter</h2></div></div></div><p>
-       This activates the igniter circuits in TeleMetrum to help test
-       recovery systems deployment. Because this command can operate
-       over the Packet Command Link, you can prepare the rocket as
-       for flight and then test the recovery system without needing
-       to snake wires inside the air-frame.
-      </p><p>
-       Selecting the 'Fire Igniter' button brings up the usual device
-       selection dialog. Pick the desired TeleDongle or TeleMetrum
-       device. This brings up another window which shows the current
-       continuity test status for both apogee and main charges.
-      </p><p>
-       Next, select the desired igniter to fire. This will enable the
-       'Arm' button.
-      </p><p>
-       Select the 'Arm' button. This enables the 'Fire' button. The
-       word 'Arm' is replaced by a countdown timer indicating that
-       you have 10 seconds to press the 'Fire' button or the system
-       will deactivate, at which point you start over again at
-       selecting the desired igniter.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3907104"></a>11. Scan Channels</h2></div></div></div><p>
-       This listens for telemetry packets on all of the configured
-       frequencies, displaying information about each device it
-       receives a packet from. You can select which of the three
-       telemetry formats should be tried; by default, it only listens
-       for the standard telemetry packets used in v1.0 and later
-       firmware.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3908008"></a>12. Load Maps</h2></div></div></div><p>
-       Before heading out to a new launch site, you can use this to
-       load satellite images in case you don't have internet
-       connectivity at the site. This loads a fairly large area
-       around the launch site, which should cover any flight you're likely to make.
-      </p><p>
-       There's a drop-down menu of launch sites we know about; if
-       your favorites aren't there, please let us know the lat/lon
-       and name of the site. The contents of this list are actually
-       downloaded at run-time, so as new sites are sent in, they'll
-       get automatically added to this list.
-      </p><p>
-       If the launch site isn't in the list, you can manually enter the lat/lon values
-      </p><p>
-       Clicking the 'Load Map' button will fetch images from Google
-       Maps; note that Google limits how many images you can fetch at
-       once, so if you load more than one launch site, you may get
-       some gray areas in the map which indicate that Google is tired
-       of sending data to you. Try again later.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3910136"></a>13. Monitor Idle</h2></div></div></div><p>
-       This brings up a dialog similar to the Monitor Flight UI,
-       except it works with the altimeter in "idle" mode by sending
-       query commands to discover the current state rather than
-       listening for telemetry packets.
-      </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp3911008"></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="#idp3912688">1. Installing AltosDroid</a></span></dt><dt><span class="section"><a href="#idp3913648">2. Connecting to TeleBT</a></span></dt><dt><span class="section"><a href="#idp3914864">3. Configuring AltosDroid</a></span></dt><dt><span class="section"><a href="#idp3915736">4. Altos Droid Flight Monitoring</a></span></dt><dd><dl><dt><span class="section"><a href="#idp3916536">4.1. Pad</a></span></dt></dl></dd><dt><span class="section"><a href="#idp3922504">5. Downloading Flight Logs</a></span></dt></dl></div><p>
-      AltosDroid provides the same flight monitoring capabilities as
-      AltosUI, but runs on Android devices and is designed to connect
-      to a TeleBT receiver over Bluetooth&#8482;. Altos Droid monitors
-      telemetry data, logging it to internal storage in the Android
-      device, and presents that data in a UI the same way the 'Monitor
-      Flight' window does in AltosUI.
-    </p><p>
-      This manual will explain how to configure AltosDroid, connect
-      to TeleBT, operate the flight monitoring interface and describe
-      what the displayed data means.
-    </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3912688"></a>1. Installing AltosDroid</h2></div></div></div><p>
-       AltosDroid is included in the Google Play store. To install
-       it on your Android device, open open the Google Play Store
-       application and search for "altosdroid". Make sure you don't
-       have a space between "altos" and "droid" or you probably won't
-       find what you want. That should bring you to the right page
-       from which you can download and install the application.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3913648"></a>2. Connecting to TeleBT</h2></div></div></div><p>
-       Press the Android 'Menu' button or soft-key to see the
-       configuration options available. Select the 'Connect a device'
-       option and then the 'Scan for devices' entry at the bottom to
-       look for your TeleBT device. Select your device, and when it
-       asks for the code, enter '1234'.
-      </p><p>
-       Subsequent connections will not require you to enter that
-       code, and your 'paired' device will appear in the list without
-       scanning.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3914864"></a>3. Configuring AltosDroid</h2></div></div></div><p>
-       The only configuration option available for AltosDroid is
-       which frequency to listen on. Press the Android 'Menu' button
-       or soft-key and pick the 'Select radio frequency' entry. That
-       brings up a menu of pre-set radio frequencies; pick the one
-       which matches your altimeter.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3915736"></a>4. Altos Droid Flight Monitoring</h2></div></div></div><p>
-       Altos Droid is designed to mimic the AltosUI flight monitoring
-       display, providing separate tabs for each stage of your rocket
-       flight along with a tab containing a map of the local area
-       with icons marking the current location of the altimeter and
-       the Android device.
-      </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="idp3916536"></a>4.1. Pad</h3></div></div></div><p>
-          The 'Launch Pad' tab shows information used to decide when the
-          rocket is ready for flight. The first elements include red/green
-          indicators, if any of these is red, you'll want to evaluate
-          whether the rocket is ready to launch:
-          </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-                Battery Voltage. This indicates whether the Li-Po battery
-                powering the TeleMetrum has sufficient charge to last for
-                the duration of the flight. A value of more than
-                3.7V is required for a 'GO' status.
-              </p></li><li class="listitem"><p>
-                Apogee Igniter Voltage. This indicates whether the apogee
-                igniter has continuity. If the igniter has a low
-                resistance, then the voltage measured here will be close
-                to the Li-Po battery voltage. A value greater than 3.2V is
-                required for a 'GO' status.
-              </p></li><li class="listitem"><p>
-                Main Igniter Voltage. This indicates whether the main
-                igniter has continuity. If the igniter has a low
-                resistance, then the voltage measured here will be close
-                to the Li-Po battery voltage. A value greater than 3.2V is
-                required for a 'GO' status.
-              </p></li><li class="listitem"><p>
-               On-board Data Logging. This indicates whether there is
-               space remaining on-board to store flight data for the
-               upcoming flight. If you've downloaded data, but failed
-               to erase flights, there may not be any space
-               left. TeleMetrum can store multiple flights, depending
-               on the configured maximum flight log size. TeleMini
-               stores only a single flight, so it will need to be
-               downloaded and erased after each flight to capture
-               data. This only affects on-board flight logging; the
-               altimeter will still transmit telemetry and fire
-               ejection charges at the proper times.
-             </p></li><li class="listitem"><p>
-                GPS Locked. For a TeleMetrum device, this indicates whether the GPS receiver is
-                currently able to compute position information. GPS requires
-                at least 4 satellites to compute an accurate position.
-              </p></li><li class="listitem"><p>
-                GPS Ready. For a TeleMetrum device, this indicates whether GPS has reported at least
-                10 consecutive positions without losing lock. This ensures
-                that the GPS receiver has reliable reception from the
-                satellites.
-              </p></li></ul></div><p>
-          </p><p>
-            The Launchpad tab also shows the computed launch pad position
-            and altitude, averaging many reported positions to improve the
-            accuracy of the fix.
-          </p><p>
-        </p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3922504"></a>5. Downloading Flight Logs</h2></div></div></div><p>
-       Altos Droid always saves every bit of telemetry data it
-       receives. To download that to a computer for use with AltosUI,
-       simply remove the SD card from your Android device, or connect
-       your device to your computer's USB port and browse the files
-       on that device. You will find '.telem' files in the TeleMetrum
-       directory that will work with AltosUI directly.
-      </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp3923520"></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="#idp3923840">1. Being Legal</a></span></dt><dt><span class="section"><a href="#idp3924800">2. In the Rocket</a></span></dt><dt><span class="section"><a href="#idp3926904">3. On the Ground</a></span></dt><dt><span class="section"><a href="#idp3934536">4. Data Analysis</a></span></dt><dt><span class="section"><a href="#idp3936288">5. Future Plans</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3923840"></a>1. Being Legal</h2></div></div></div><p>
-        First off, in the US, you need an <a class="ulink" href="http://www.altusmetrum.org/Radio/" target="_top">amateur radio license</a> or
-        other authorization to legally operate the radio transmitters that are part
-        of our products.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3924800"></a>2. In the Rocket</h2></div></div></div><p>
-          In the rocket itself, you just need a <a class="ulink" href="http://www.altusmetrum.org/TeleMetrum/" target="_top">TeleMetrum</a> or
-         <a class="ulink" href="http://www.altusmetrum.org/TeleMini/" target="_top">TeleMini</a> board and
-          a single-cell, 3.7 volt nominal Li-Po rechargeable battery.  An 
-         850mAh battery weighs less than a 9V alkaline battery, and will 
-         run a TeleMetrum for hours.
-         A 110mAh battery weighs less than a triple A battery and will run a TeleMetrum for
-         a few hours, or a TeleMini for much (much) longer.
-        </p><p>
-          By default, we ship the altimeters with a simple wire antenna.  If your
-          electronics bay or the air-frame it resides within is made of carbon fiber,
-          which is opaque to RF signals, you may choose to have an SMA connector
-          installed so that you can run a coaxial cable to an antenna mounted
-          elsewhere in the rocket.
-        </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3926904"></a>3. On the Ground</h2></div></div></div><p>
-          To receive the data stream from the rocket, you need an antenna and short
-          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 
-       adapter instead of feedline between the antenna feedpoint and 
-       TeleDongle, as this will give you the best performance.  The
-          TeleDongle in turn plugs directly into the USB port on a notebook
-          computer.  Because TeleDongle looks like a simple serial port, your computer
-          does not require special device drivers... just plug it in.
-        </p><p>
-         The GUI tool, AltosUI, is written in Java and runs across
-         Linux, Mac OS and Windows. There's also a suite of C tools
-         for Linux which can perform most of the same tasks.
-        </p><p>
-          After the flight, you can use the radio link to extract the more detailed data
-          logged in either TeleMetrum or TeleMini devices, or you can use a mini USB cable to plug into the
-          TeleMetrum board directly.  Pulling out the data without having to open up
-          the rocket is pretty cool!  A USB cable is also how you charge the Li-Po
-          battery, so you'll want one of those anyway... the same cable used by lots
-          of digital cameras and other modern electronic stuff will work fine.
-        </p><p>
-          If your TeleMetrum-equipped rocket lands out of sight, you may enjoy having a hand-held GPS
-          receiver, so that you can put in a way-point for the last reported rocket
-          position before touch-down.  This makes looking for your rocket a lot like
-          Geo-Caching... just go to the way-point and look around starting from there.
-        </p><p>
-          You may also enjoy having a ham radio "HT" that covers the 70cm band... you
-          can use that with your antenna to direction-find the rocket on the ground
-          the same way you can use a Walston or Beeline tracker.  This can be handy
-          if the rocket is hiding in sage brush or a tree, or if the last GPS position
-          doesn't get you close enough because the rocket dropped into a canyon, or
-          the wind is blowing it across a dry lake bed, or something like that...  Keith
-          and Bdale both currently own and use the Yaesu VX-7R at launches.
-        </p><p>
-          So, to recap, on the ground the hardware you'll need includes:
-          </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-              an antenna and feed-line or adapter
-            </li><li class="listitem">
-              a TeleDongle
-            </li><li class="listitem">
-              a notebook computer
-            </li><li class="listitem">
-              optionally, a hand-held GPS receiver
-            </li><li class="listitem">
-              optionally, an HT or receiver covering 435 MHz
-            </li></ol></div><p>
-        </p><p>
-          The best hand-held commercial directional antennas we've found for radio
-          direction finding rockets are from
-          <a class="ulink" href="http://www.arrowantennas.com/" target="_top">
-            Arrow Antennas.
-          </a>
-          The 440-3 and 440-5 are both good choices for finding a
-          TeleMetrum- or TeleMini- equipped rocket when used with a suitable 
-         70cm HT.  TeleDongle and an SMA to BNC adapter fit perfectly
-         between the driven element and reflector of Arrow antennas.
-        </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3934536"></a>4. Data Analysis</h2></div></div></div><p>
-          Our software makes it easy to log the data from each flight, both the
-          telemetry received during the flight itself, and the more
-          complete data log recorded in the flash memory on the altimeter
-          board.  Once this data is on your computer, our post-flight tools make it
-          easy to quickly get to the numbers everyone wants, like apogee altitude,
-          max acceleration, and max velocity.  You can also generate and view a
-          standard set of plots showing the altitude, acceleration, and
-          velocity of the rocket during flight.  And you can even export a TeleMetrum data file
-          usable with Google Maps and Google Earth for visualizing the flight path
-          in two or three dimensions!
-        </p><p>
-          Our ultimate goal is to emit a set of files for each flight that can be
-          published as a web page per flight, or just viewed on your local disk with
-          a web browser.
-        </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3936288"></a>5. Future Plans</h2></div></div></div><p>
-          In the future, we intend to offer "companion boards" for the rocket 
-         that will plug in to TeleMetrum to collect additional data, provide 
-         more pyro channels, and so forth.  
-        </p><p>
-         Also under design is a new flight computer with more sensors, more
-         pyro channels, and a more powerful radio system designed for use
-         in multi-stage, complex, and extreme altitude projects.
-        </p><p>
-          We are also working on alternatives to TeleDongle.  One is a
-         a stand-alone, hand-held ground terminal that will allow monitoring 
-         the rocket's status, collecting data during flight, and logging data 
-         after flight without the need for a notebook computer on the
-          flight line.  Particularly since it is so difficult to read most 
-         notebook screens in direct sunlight, we think this will be a great 
-         thing to have.  We are also working on a TeleDongle variant with
-         Bluetooth that will work with Android phones and tablets.
-        </p><p>
-          Because all of our work is open, both the hardware designs and the 
-         software, if you have some great idea for an addition to the current 
-         Altus Metrum family, feel free to dive in and help!  Or let us know 
-         what you'd like to see that we aren't already working on, and maybe 
-         we'll get excited about it too...
-        </p><p>
-         Watch our 
-         <a class="ulink" href="http://altusmetrum.org/" target="_top">web site</a> for more news 
-         and information as our family of products evolves!
-        </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp3939448"></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="#idp3940432">1. Mounting the Altimeter</a></span></dt><dt><span class="section"><a href="#idp3942768">2. Dealing with the Antenna</a></span></dt><dt><span class="section"><a href="#idp3946752">3. Preserving GPS Reception</a></span></dt><dt><span class="section"><a href="#idp3949136">4. Radio Frequency Interference</a></span></dt><dt><span class="section"><a href="#idp3953208">5. The Barometric Sensor</a></span></dt><dt><span class="section"><a href="#idp3955048">6. Ground Testing</a></span></dt></dl></div><p>
-      Building high-power rockets that fly safely is hard enough. Mix
-      in some sophisticated electronics and a bunch of radio energy
-      and oftentimes you find few perfect solutions. This chapter
-      contains some suggestions about how to install Altus Metrum
-      products into the rocket air-frame, including how to safely and
-      reliably mix a variety of electronics into the same air-frame.
-    </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3940432"></a>1. Mounting the Altimeter</h2></div></div></div><p>
-       The first consideration is to ensure that the altimeter is
-       securely fastened to the air-frame. For TeleMetrum, we use
-       nylon standoffs and nylon screws; they're good to at least 50G
-       and cannot cause any electrical issues on the board. For
-       TeleMini, we usually cut small pieces of 1/16" balsa to fit
-       under the screw holes, and then take 2x56 nylon screws and
-       screw them through the TeleMini mounting holes, through the
-       balsa and into the underlying material.
-      </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-         Make sure TeleMetrum is aligned precisely along the axis of
-         acceleration so that the accelerometer can accurately
-         capture data during the flight.
-       </li><li class="listitem">
-         Watch for any metal touching components on the
-         board. Shorting out connections on the bottom of the board
-         can cause the altimeter to fail during flight.
-       </li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3942768"></a>2. Dealing with the Antenna</h2></div></div></div><p>
-       The antenna supplied is just a piece of solid, insulated,
-       wire. If it gets damaged or broken, it can be easily
-       replaced. It should be kept straight and not cut; bending or
-       cutting it will change the resonant frequency and/or
-       impedance, making it a less efficient radiator and thus
-       reducing the range of the telemetry signal.
-      </p><p>
-       Keeping metal away from the antenna will provide better range
-       and a more even radiation pattern. In most rockets, it's not
-       entirely possible to isolate the antenna from metal
-       components; there are often bolts, all-thread and wires from other
-       electronics to contend with. Just be aware that the more stuff
-       like this around the antenna, the lower the range.
-      </p><p>
-       Make sure the antenna is not inside a tube made or covered
-       with conducting material. Carbon fiber is the most common
-       culprit here -- CF is a good conductor and will effectively
-       shield the antenna, dramatically reducing signal strength and
-       range. Metallic flake paint is another effective shielding
-       material which is to be avoided around any antennas.
-      </p><p>
-       If the ebay is large enough, it can be convenient to simply
-       mount the altimeter at one end and stretch the antenna out
-       inside. Taping the antenna to the sled can keep it straight
-       under acceleration. If there are metal rods, keep the
-       antenna as far away as possible.
-      </p><p>
-       For a shorter ebay, it's quite practical to have the antenna
-       run through a bulkhead and into an adjacent bay. Drill a small
-       hole in the bulkhead, pass the antenna wire through it and
-       then seal it up with glue or clay. We've also used acrylic
-       tubing to create a cavity for the antenna wire. This works a
-       bit better in that the antenna is known to stay straight and
-       not get folded by recovery components in the bay. Angle the
-       tubing towards the side wall of the rocket and it ends up
-       consuming very little space.
-      </p><p>
-       If you need to place the antenna at a distance from the
-       altimeter, you can replace the antenna with an edge-mounted
-       SMA connector, and then run 50&#937; coax from the board to the
-       antenna. Building a remote antenna is beyond the scope of this
-       manual.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3946752"></a>3. Preserving GPS Reception</h2></div></div></div><p>
-       The GPS antenna and receiver in TeleMetrum are highly
-       sensitive and normally have no trouble tracking enough
-       satellites to provide accurate position information for
-       recovering the rocket. However, there are many ways to
-       attenuate the GPS signal.
-      </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-         Conductive tubing or coatings. Carbon fiber and metal
-         tubing, or metallic paint will all dramatically attenuate the
-         GPS signal. We've never heard of anyone successfully
-         receiving GPS from inside these materials.
-       </li><li class="listitem">
-         Metal components near the GPS patch antenna. These will
-         de-tune the patch antenna, changing the resonant frequency
-         away from the L1 carrier and reduce the effectiveness of the
-         antenna. You can place as much stuff as you like beneath the
-         antenna as that's covered with a ground plane. But, keep
-         wires and metal out from above the patch antenna.
-       </li></ol></div><p>
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3949136"></a>4. Radio Frequency Interference</h2></div></div></div><p>
-       Any altimeter will generate RFI; the digital circuits use
-       high-frequency clocks that spray radio interference across a
-       wide band. Altus Metrum altimeters generate intentional radio
-       signals as well, increasing the amount of RF energy around the board.
-      </p><p>
-       Rocketry altimeters also use precise sensors measuring air
-       pressure and acceleration. Tiny changes in voltage can cause
-       these sensor readings to vary by a huge amount. When the
-       sensors start mis-reporting data, the altimeter can either
-       fire the igniters at the wrong time, or not fire them at all.
-      </p><p>
-       Voltages are induced when radio frequency energy is
-       transmitted from one circuit to another. Here are things that
-       influence the induced voltage and current:
-      </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-         Keep wires from different circuits apart. Moving circuits
-         further apart will reduce RFI.
-       </li><li class="listitem">
-         Avoid parallel wires from different circuits. The longer two
-         wires run parallel to one another, the larger the amount of
-         transferred energy. Cross wires at right angles to reduce
-         RFI.
-       </li><li class="listitem">
-         Twist wires from the same circuits. Two wires the same
-         distance from the transmitter will get the same amount of
-         induced energy which will then cancel out. Any time you have
-         a wire pair running together, twist the pair together to
-         even out distances and reduce RFI. For altimeters, this
-         includes battery leads, switch hookups and igniter
-         circuits.
-       </li><li class="listitem">
-         Avoid resonant lengths. Know what frequencies are present
-         in the environment and avoid having wire lengths near a
-         natural resonant length. Altusmetrum products transmit on the
-         70cm amateur band, so you should avoid lengths that are a
-         simple ratio of that length; essentially any multiple of 1/4
-         of the wavelength (17.5cm).
-       </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3953208"></a>5. The Barometric Sensor</h2></div></div></div><p>
-       Altusmetrum altimeters measure altitude with a barometric
-       sensor, essentially measuring the amount of air above the
-       rocket to figure out how high it is. A large number of
-       measurements are taken as the altimeter initializes itself to
-       figure out the pad altitude. Subsequent measurements are then
-       used to compute the height above the pad.
-      </p><p>
-       To accurately measure atmospheric pressure, the ebay
-       containing the altimeter must be vented outside the
-       air-frame. The vent must be placed in a region of linear
-       airflow, have smooth edges, and away from areas of increasing or 
-       decreasing pressure.
-      </p><p>
-       The barometric sensor in the altimeter is quite sensitive to
-       chemical damage from the products of APCP or BP combustion, so
-       make sure the ebay is carefully sealed from any compartment
-       which contains ejection charges or motors.
-      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3955048"></a>6. Ground Testing</h2></div></div></div><p>
-       The most important aspect of any installation is careful
-       ground testing. Bringing an air-frame up to the LCO table which
-       hasn't been ground tested can lead to delays or ejection
-       charges firing on the pad, or, even worse, a recovery system
-       failure.
-      </p><p>
-       Do a 'full systems' test that includes wiring up all igniters
-       without any BP and turning on all of the electronics in flight
-       mode. This will catch any mistakes in wiring and any residual
-       RFI issues that might accidentally fire igniters at the wrong
-       time. Let the air-frame sit for several minutes, checking for
-       adequate telemetry signal strength and GPS lock.  If any igniters
-       fire unexpectedly, find and resolve the issue before loading any
-       BP charges!
-      </p><p>
-       Ground test the ejection charges. Prepare the rocket for
-       flight, loading ejection charges and igniters. Completely
-       assemble the air-frame and then use the 'Fire Igniters'
-       interface through a TeleDongle to command each charge to
-       fire. Make sure the charge is sufficient to robustly separate
-       the air-frame and deploy the recovery system.
-      </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp3957184"></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="#idp3959184">1. Updating TeleMetrum Firmware</a></span></dt><dt><span class="section"><a href="#idp3964528">2. Updating TeleMini Firmware</a></span></dt><dt><span class="section"><a href="#idp3969944">3. Updating TeleDongle Firmware</a></span></dt></dl></div><p>
-      The big concept to understand is that you have to use a
-      TeleDongle as a programmer to update a TeleMetrum or TeleMini,
-      and a TeleMetrum or other TeleDongle to program the TeleDongle
-      Due to limited memory resources in the cc1111, we don't support
-      programming directly over USB. 
-    </p><p>
-      You may wish to begin by ensuring you have current firmware images.
-      These are distributed as part of the AltOS software bundle that
-      also includes the AltosUI ground station program.  Newer ground
-      station versions typically work fine with older firmware versions,
-      so you don't need to update your devices just to try out new
-      software features.  You can always download the most recent
-      version from <a class="ulink" href="http://www.altusmetrum.org/AltOS/" target="_top">http://www.altusmetrum.org/AltOS/</a>.
-    </p><p>
-      We recommend updating the altimeter first, before updating TeleDongle.
-    </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3959184"></a>1. Updating TeleMetrum Firmware</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-          Find the 'programming cable' that you got as part of the starter
-          kit, that has a red 8-pin MicroMaTch connector on one end and a
-          red 4-pin MicroMaTch connector on the other end.
-        </li><li class="listitem">
-          Take the 2 screws out of the TeleDongle case to get access
-          to the circuit board.
-        </li><li class="listitem">
-          Plug the 8-pin end of the programming cable to the
-          matching connector on the TeleDongle, and the 4-pin end to the
-          matching connector on the TeleMetrum.
-         Note that each MicroMaTch connector has an alignment pin that
-         goes through a hole in the PC board when you have the cable
-         oriented correctly.
-        </li><li class="listitem">
-          Attach a battery to the TeleMetrum board.
-        </li><li class="listitem">
-          Plug the TeleDongle into your computer's USB port, and power
-          up the TeleMetrum.
-        </li><li class="listitem">
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </li><li class="listitem">
-          Pick the TeleDongle device from the list, identifying it as the
-          programming device.
-        </li><li class="listitem">
-          Select the image you want put on the TeleMetrum, which should have a
-          name in the form telemetrum-v1.2-1.0.0.ihx.  It should be visible
-       in the default directory, if not you may have to poke around
-       your system to find it.
-        </li><li class="listitem">
-          Make sure the configuration parameters are reasonable
-          looking. If the serial number and/or RF configuration
-          values aren't right, you'll need to change them.
-        </li><li class="listitem">
-          Hit the 'OK' button and the software should proceed to flash
-          the TeleMetrum with new firmware, showing a progress bar.
-        </li><li class="listitem">
-          Confirm that the TeleMetrum board seems to have updated OK, which you
-          can do by plugging in to it over USB and using a terminal program
-          to connect to the board and issue the 'v' command to check
-          the version, etc.
-        </li><li class="listitem">
-          If something goes wrong, give it another try.
-        </li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3964528"></a>2. Updating TeleMini Firmware</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-         You'll need a special 'programming cable' to reprogram the
-         TeleMini. It's available on the Altus Metrum web store, or
-         you can make your own using an 8-pin MicroMaTch connector on
-         one end and a set of four pins on the other.
-        </li><li class="listitem">
-          Take the 2 screws out of the TeleDongle case to get access
-          to the circuit board.
-        </li><li class="listitem">
-          Plug the 8-pin end of the programming cable to the matching
-          connector on the TeleDongle, and the 4-pins into the holes
-          in the TeleMini circuit board.  Note that the MicroMaTch
-          connector has an alignment pin that goes through a hole in
-          the PC board when you have the cable oriented correctly, and
-          that pin 1 on the TeleMini board is marked with a square pad
-          while the other pins have round pads.
-        </li><li class="listitem">
-          Attach a battery to the TeleMini board.
-        </li><li class="listitem">
-          Plug the TeleDongle into your computer's USB port, and power
-          up the TeleMini
-        </li><li class="listitem">
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </li><li class="listitem">
-          Pick the TeleDongle device from the list, identifying it as the
-          programming device.
-        </li><li class="listitem">
-          Select the image you want put on the TeleMini, which should have a
-          name in the form telemini-v1.0-1.0.0.ihx.  It should be visible
-       in the default directory, if not you may have to poke around
-       your system to find it.
-        </li><li class="listitem">
-          Make sure the configuration parameters are reasonable
-          looking. If the serial number and/or RF configuration
-          values aren't right, you'll need to change them.
-        </li><li class="listitem">
-          Hit the 'OK' button and the software should proceed to flash
-          the TeleMini with new firmware, showing a progress bar.
-        </li><li class="listitem">
-          Confirm that the TeleMini board seems to have updated OK, which you
-          can do by configuring it over the radio link through the TeleDongle, or
-         letting it come up in "flight" mode and listening for telemetry.
-        </li><li class="listitem">
-          If something goes wrong, give it another try.
-        </li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3969944"></a>3. Updating TeleDongle Firmware</h2></div></div></div><p>
-        Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
-       firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
-       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-          Find the 'programming cable' that you got as part of the starter
-          kit, that has a red 8-pin MicroMaTch connector on one end and a
-          red 4-pin MicroMaTch connector on the other end.
-        </li><li class="listitem">
-         Find the USB cable that you got as part of the starter kit, and
-         plug the "mini" end in to the mating connector on TeleMetrum or TeleDongle.
-        </li><li class="listitem">
-          Take the 2 screws out of the TeleDongle case to get access
-          to the circuit board.
-        </li><li class="listitem">
-          Plug the 8-pin end of the programming cable to the
-          matching connector on the programmer, and the 4-pin end to the
-          matching connector on the TeleDongle.
-         Note that each MicroMaTch connector has an alignment pin that
-         goes through a hole in the PC board when you have the cable
-         oriented correctly.
-        </li><li class="listitem">
-          Attach a battery to the TeleMetrum board if you're using one.
-        </li><li class="listitem">
-          Plug both the programmer and the TeleDongle into your computer's USB
-         ports, and power up the programmer.
-        </li><li class="listitem">
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </li><li class="listitem">
-          Pick the programmer device from the list, identifying it as the
-          programming device.
-        </li><li class="listitem">
-          Select the image you want put on the TeleDongle, which should have a
-          name in the form teledongle-v0.2-1.0.0.ihx.  It should be visible
-       in the default directory, if not you may have to poke around
-       your system to find it.
-        </li><li class="listitem">
-          Make sure the configuration parameters are reasonable
-          looking. If the serial number and/or RF configuration
-          values aren't right, you'll need to change them.  The TeleDongle
-         serial number is on the "bottom" of the circuit board, and can
-         usually be read through the translucent blue plastic case without
-         needing to remove the board from the case.
-        </li><li class="listitem">
-          Hit the 'OK' button and the software should proceed to flash
-          the TeleDongle with new firmware, showing a progress bar.
-        </li><li class="listitem">
-          Confirm that the TeleDongle board seems to have updated OK, which you
-          can do by plugging in to it over USB and using a terminal program
-          to connect to the board and issue the 'v' command to check
-          the version, etc.  Once you're happy, remove the programming cable
-         and put the cover back on the TeleDongle.
-        </li><li class="listitem">
-          If something goes wrong, give it another try.
-        </li></ol></div><p>
-        Be careful removing the programming cable from the locking 8-pin
-        connector on TeleMetrum.  You'll need a fingernail or perhaps a thin
-        screwdriver or knife blade to gently pry the locking ears out
-        slightly to extract the connector.  We used a locking connector on
-        TeleMetrum to help ensure that the cabling to companion boards
-        used in a rocket don't ever come loose accidentally in flight.
-      </p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp3977040"></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="#idp3977360">1. TeleMetrum Specifications</a></span></dt><dt><span class="section"><a href="#idp3983088">2. TeleMini Specifications</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3977360"></a>1. TeleMetrum Specifications</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-           Recording altimeter for model rocketry.
-         </p></li><li class="listitem"><p>
-           Supports dual deployment (can fire 2 ejection charges).
-         </p></li><li class="listitem"><p>
-           70cm ham-band transceiver for telemetry down-link.
-         </p></li><li class="listitem"><p>
-           Barometric pressure sensor good to 45k feet MSL.
-         </p></li><li class="listitem"><p>
-           1-axis high-g accelerometer for motor characterization, capable of
-           +/- 50g using default part.
-         </p></li><li class="listitem"><p>
-           On-board, integrated GPS receiver with 5Hz update rate capability.
-         </p></li><li class="listitem"><p>
-           On-board 1 megabyte non-volatile memory for flight data storage.
-         </p></li><li class="listitem"><p>
-           USB interface for battery charging, configuration, and data recovery.
-         </p></li><li class="listitem"><p>
-           Fully integrated support for Li-Po rechargeable batteries.
-         </p></li><li class="listitem"><p>
-           Uses Li-Po to fire e-matches, can be modified to support 
-           optional separate pyro battery if needed.
-         </p></li><li class="listitem"><p>
-           2.75 x 1 inch board designed to fit inside 29mm air-frame coupler tube.
-         </p></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp3983088"></a>2. TeleMini Specifications</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
-           Recording altimeter for model rocketry.
-         </p></li><li class="listitem"><p>
-           Supports dual deployment (can fire 2 ejection charges).
-         </p></li><li class="listitem"><p>
-           70cm ham-band transceiver for telemetry down-link.
-         </p></li><li class="listitem"><p>
-           Barometric pressure sensor good to 45k feet MSL.
-         </p></li><li class="listitem"><p>
-           On-board 5 kilobyte non-volatile memory for flight data storage.
-         </p></li><li class="listitem"><p>
-           RF interface for configuration, and data recovery.
-         </p></li><li class="listitem"><p>
-           Support for Li-Po rechargeable batteries, using an external charger.
-         </p></li><li class="listitem"><p>
-           Uses Li-Po to fire e-matches, can be modified to support 
-           optional separate pyro battery if needed.
-         </p></li><li class="listitem"><p>
-           1.5 x .5 inch board designed to fit inside 18mm air-frame coupler tube.
-         </p></li></ul></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp3987896"></a>Chapter 12. FAQ</h1></div></div></div><p>
-        TeleMetrum seems to shut off when disconnected from the
-        computer.  Make sure the battery is adequately charged.  Remember the
-        unit will pull more power than the USB port can deliver before the
-        GPS enters "locked" mode.  The battery charges best when TeleMetrum
-        is turned off.
-      </p><p>
-        It's impossible to stop the TeleDongle when it's in "p" mode, I have
-        to unplug the USB cable?  Make sure you have tried to "escape out" of
-        this mode.  If this doesn't work the reboot procedure for the
-        TeleDongle *is* to simply unplug it. 'cu' however will retain it's
-        outgoing buffer IF your "escape out" ('~~') does not work.
-        At this point using either 'ao-view' (or possibly
-        'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
-        communication.
-      </p><p>
-        The amber LED (on the TeleMetrum) lights up when both
-        battery and USB are connected. Does this mean it's charging?
-        Yes, the yellow LED indicates the charging at the 'regular' rate.
-        If the led is out but the unit is still plugged into a USB port,
-        then the battery is being charged at a 'trickle' rate.
-      </p><p>
-        There are no "dit-dah-dah-dit" sound or lights like the manual mentions?
-        That's the "pad" mode.  Weak batteries might be the problem.
-        It is also possible that the TeleMetrum is horizontal and the output
-        is instead a "dit-dit" meaning 'idle'. For TeleMini, it's possible that
-       it received a command packet which would have left it in "pad" mode.
-      </p><p>
-        How do I save flight data?
-        Live telemetry is written to file(s) whenever AltosUI is connected
-        to the TeleDongle.  The file area defaults to ~/TeleMetrum
-        but is easily changed using the menus in AltosUI. The files that
-        are written end in '.telem'. The after-flight
-        data-dumped files will end in .eeprom and represent continuous data
-        unlike the .telem files that are subject to losses
-        along the RF data path.
-        See the above instructions on what and how to save the eeprom stored
-        data after physically retrieving your altimeter.  Make sure to save
-        the on-board data after each flight; while the TeleMetrum can store
-       multiple flights, you never know when you'll lose the altimeter...
-      </p></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp3991640"></a>Appendix A. Notes for Older Software</h1></div></div></div><p>
-      <span class="emphasis"><em>
-      Before AltosUI was written, using Altus Metrum devices required
-      some finesse with the Linux command line. There was a limited
-      GUI tool, ao-view, which provided functionality similar to the
-      Monitor Flight window in AltosUI, but everything else was a
-      fairly 80's experience. This appendix includes documentation for
-      using that software.
-      </em></span>
-    </p><p>
-      Both TeleMetrum and TeleDongle can be directly communicated
-      with using USB ports. The first thing you should try after getting
-      both units plugged into to your computer's USB port(s) is to run
-      'ao-list' from a terminal-window to see what port-device-name each
-      device has been assigned by the operating system.
-      You will need this information to access the devices via their
-      respective on-board firmware and data using other command line
-      programs in the AltOS software suite.
-    </p><p>
-      TeleMini can be communicated with through a TeleDongle device
-      over the radio link. When first booted, TeleMini listens for a
-      TeleDongle device and if it receives a packet, it goes into
-      'idle' mode. Otherwise, it goes into 'pad' mode and waits to be
-      launched. The easiest way to get it talking is to start the
-      communication link on the TeleDongle and the power up the
-      TeleMini board.
-    </p><p>
-      To access the device's firmware for configuration you need a terminal
-      program such as you would use to talk to a modem.  The software
-      authors prefer using the program 'cu' which comes from the UUCP package
-      on most Unix-like systems such as Linux.  An example command line for
-      cu might be 'cu -l /dev/ttyACM0', substituting the correct number
-      indicated from running the
-      ao-list program.  Another reasonable terminal program for Linux is
-      'cutecom'.  The default 'escape'
-      character used by CU (i.e. the character you use to
-      issue commands to cu itself instead of sending the command as input
-      to the connected device) is a '~'. You will need this for use in
-      only two different ways during normal operations. First is to exit
-      the program by sending a '~.' which is called a 'escape-disconnect'
-      and allows you to close-out from 'cu'. The
-      second use will be outlined later.
-    </p><p>
-      All of the Altus Metrum devices share the concept of a two level
-      command set in their firmware.
-      The first layer has several single letter commands. Once
-      you are using 'cu' (or 'cutecom') sending (typing) a '?'
-      returns a full list of these
-      commands. The second level are configuration sub-commands accessed
-      using the 'c' command, for
-      instance typing 'c?' will give you this second level of commands
-      (all of which require the
-      letter 'c' to access).  Please note that most configuration options
-      are stored only in Flash memory; TeleDongle doesn't provide any storage
-      for these options and so they'll all be lost when you unplug it.
-    </p><p>
-      Try setting these configuration ('c' or second level menu) values.  A good
-      place to start is by setting your call sign.  By default, the boards
-      use 'N0CALL' which is cute, but not exactly legal!
-      Spend a few minutes getting comfortable with the units, their
-      firmware, and 'cu' (or possibly 'cutecom').
-      For instance, try to send
-      (type) a 'c r 2' and verify the channel change by sending a 'c s'.
-      Verify you can connect and disconnect from the units while in your
-      terminal program by sending the escape-disconnect mentioned above.
-    </p><p>
-          To set the radio frequency, use the 'c R' command to specify the
-         radio transceiver configuration parameter. This parameter is computed
-         using the desired frequency, 'F', the radio calibration parameter, 'C' (showed by the 'c s' command) and
-         the standard calibration reference frequency, 'S', (normally 434.550MHz):
-         </p><pre class="programlisting">
-           R = F / S * C
-         </pre><p>
-         Round the result to the nearest integer value.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the
-          change to the parameter block in the on-board flash on
-          your altimeter board if you want the change to stay in place across reboots.
-        </p><p>
-          To set the apogee delay, use the 'c d' command.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the
-          change to the parameter block in the on-board DataFlash chip.
-        </p><p>
-          To set the main deployment altitude, use the 'c m' command.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the
-          change to the parameter block in the on-board DataFlash chip.
-        </p><p>
-          To calibrate the radio frequency, connect the UHF antenna port to a
-          frequency counter, set the board to 434.550MHz, and use the 'C'
-          command to generate a CW carrier.  Wait for the transmitter temperature
-          to stabilize and the frequency to settle down.
-          Then, divide 434.550 MHz by the
-          measured frequency and multiply by the current radio cal value show
-          in the 'c s' command.  For an unprogrammed board, the default value
-          is 1186611.  Take the resulting integer and program it using the 'c f'
-          command.  Testing with the 'C' command again should show a carrier
-          within a few tens of Hertz of the intended frequency.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the
-          change to the parameter block in the on-board DataFlash chip.
-        </p><p>
-      Note that the 'reboot' command, which is very useful on the altimeters,
-      will likely just cause problems with the dongle.  The *correct* way
-      to reset the dongle is just to unplug and re-plug it.
-    </p><p>
-      A fun thing to do at the launch site and something you can do while
-      learning how to use these units is to play with the radio link access
-      between an altimeter and the TeleDongle.  Be aware that you *must* create
-      some physical separation between the devices, otherwise the link will
-      not function due to signal overload in the receivers in each device.
-    </p><p>
-      Now might be a good time to take a break and read the rest of this
-      manual, particularly about the two "modes" that the altimeters
-      can be placed in. TeleMetrum uses the position of the device when booting
-      up will determine whether the unit is in "pad" or "idle" mode. TeleMini
-      enters "idle" mode when it receives a command packet within the first 5 seconds
-      of being powered up, otherwise it enters "pad" mode.
-    </p><p>
-      You can access an altimeter in idle mode from the TeleDongle's USB
-      connection using the radio link
-      by issuing a 'p' command to the TeleDongle. Practice connecting and
-      disconnecting ('~~' while using 'cu') from the altimeter.  If
-      you cannot escape out of the "p" command, (by using a '~~' when in
-      CU) then it is likely that your kernel has issues.  Try a newer version.
-    </p><p>
-      Using this radio link allows you to configure the altimeter, test
-      fire e-matches and igniters from the flight line, check pyro-match
-      continuity and so forth. You can leave the unit turned on while it
-      is in 'idle mode' and then place the
-      rocket vertically on the launch pad, walk away and then issue a
-      reboot command.  The altimeter will reboot and start sending data
-      having changed to the "pad" mode. If the TeleDongle is not receiving
-      this data, you can disconnect 'cu' from the TeleDongle using the
-      procedures mentioned above and THEN connect to the TeleDongle from
-      inside 'ao-view'. If this doesn't work, disconnect from the
-      TeleDongle, unplug it, and try again after plugging it back in.
-    </p><p>
-      In order to reduce the chance of accidental firing of pyrotechnic
-      charges, the command to fire a charge is intentionally somewhat
-      difficult to type, and the built-in help is slightly cryptic to
-      prevent accidental echoing of characters from the help text back at
-      the board from firing a charge.  The command to fire the apogee
-      drogue charge is 'i DoIt drogue' and the command to fire the main
-      charge is 'i DoIt main'.
-    </p><p>
-      On TeleMetrum, the GPS will eventually find enough satellites, lock in on them,
-      and 'ao-view' will both auditorily announce and visually indicate
-      that GPS is ready.
-      Now you can launch knowing that you have a good data path and
-      good satellite lock for flight data and recovery.  Remember
-      you MUST tell ao-view to connect to the TeleDongle explicitly in
-      order for ao-view to be able to receive data.
-    </p><p>
-      The altimeters provide RDF (radio direction finding) tones on
-      the pad, during descent and after landing. These can be used to
-      locate the rocket using a directional antenna; the signal
-      strength providing an indication of the direction from receiver to rocket.
-    </p><p>
-      TeleMetrum also provides GPS tracking data, which can further simplify
-      locating the rocket once it has landed. (The last good GPS data
-      received before touch-down will be on the data screen of 'ao-view'.)
-    </p><p>
-      Once you have recovered the rocket you can download the eeprom
-      contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
-      either a USB cable or over the radio link using TeleDongle.
-      And by following the man page for 'ao-postflight' you can create
-      various data output reports, graphs, and even KML data to see the
-      flight trajectory in Google-earth. (Moving the viewing angle making
-      sure to connect the yellow lines while in Google-earth is the proper
-      technique.)
-    </p><p>
-      As for ao-view.... some things are in the menu but don't do anything
-      very useful.  The developers have stopped working on ao-view to focus
-      on a new, cross-platform ground station program.  So ao-view may or
-      may not be updated in the future.  Mostly you just use
-      the Log and Device menus.  It has a wonderful display of the incoming
-      flight data and I am sure you will enjoy what it has to say to you
-      once you enable the voice output!
-    </p></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp4008072"></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="#idp4008720">1. TeleMetrum template</a></span></dt><dt><span class="section"><a href="#idp4016464">2. TeleMini template</a></span></dt></dl></div><p>
-      These images, when printed, provide precise templates for the
-      mounting holes in Altus Metrum flight computers
-    </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4008720"></a>1. TeleMetrum template</h2></div></div></div><p>
-       TeleMetrum has overall dimensions of 1.000 x 2.750 inches, and the
-       mounting holes are sized for use with 4-40 or M3 screws.
-      </p><div class="mediaobject"><a name="TeleMetrumTemplate"></a><object type="image/svg+xml" data="telemetrum.svg"></object></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4016464"></a>2. TeleMini template</h2></div></div></div><p>
-       TeleMini has overall dimensions of 0.500 x 1.500 inches, and the
-       mounting holes are sized for use with 2-56 or M2 screws.
-      </p><div class="mediaobject"><a name="TeleMiniTemplate"></a><object type="image/svg+xml" data="telemini.svg"></object></div></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp4018112"></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="#idp4019088">1. Radio Frequency</a></span></dt><dt><span class="section"><a href="#idp4022408">2. TeleMetrum Accelerometer</a></span></dt></dl></div><p>
-        There are only two calibrations required for a TeleMetrum board, and
-        only one for TeleDongle and TeleMini.  All boards are shipped from
-        the factory pre-calibrated, but the procedures are documented here
-       in case they are ever needed.  Re-calibration is not supported by
-       AltosUI, you must connect to the board with a serial terminal program
-       and interact directly with the on-board command interpreter to effect
-       calibration.
-      </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4019088"></a>1. Radio Frequency</h2></div></div></div><p>
-          The radio frequency is synthesized from a clock based on the 48 MHz
-          crystal on the board.  The actual frequency of this oscillator 
-          must be measured to generate a calibration constant.  While our 
-          GFSK modulation
-          bandwidth is wide enough to allow boards to communicate even when
-          their oscillators are not on exactly the same frequency, performance
-          is best when they are closely matched.
-          Radio frequency calibration requires a calibrated frequency counter.
-          Fortunately, once set, the variation in frequency due to aging and
-          temperature changes is small enough that re-calibration by customers
-          should generally not be required.
-        </p><p>
-          To calibrate the radio frequency, connect the UHF antenna port to a
-          frequency counter, set the board to 434.550MHz, and use the 'C'
-          command in the on-board command interpreter to generate a CW 
-          carrier.  For TeleMetrum, this is best done over USB.  For TeleMini,
-         note that the only way to escape the 'C' command is via power cycle
-         since the board will no longer be listening for commands once it
-         starts generating a CW carrier.
-       </p><p>
-         Wait for the transmitter temperature to stabilize and the frequency 
-          to settle down.  Then, divide 434.550 MHz by the
-          measured frequency and multiply by the current radio cal value show
-          in the 'c s' command.  For an unprogrammed board, the default value
-          is 1186611.  Take the resulting integer and program it using the 'c f'
-          command.  Testing with the 'C' command again should show a carrier
-          within a few tens of Hertz of the intended frequency.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the
-          change to the parameter block in the on-board DataFlash chip.
-        </p><p>
-         Note that any time you re-do the radio frequency calibration, the
-         radio frequency is reset to the default 434.550 Mhz.  If you want
-         to use another frequency, you will have to set that again after
-         calibration is completed.
-       </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4022408"></a>2. TeleMetrum Accelerometer</h2></div></div></div><p>
-          The TeleMetrum accelerometer we use has its own 5 volt power 
-         supply and
-          the output must be passed through a resistive voltage divider to match
-          the input of our 3.3 volt ADC.  This means that unlike the barometric
-          sensor, the output of the acceleration sensor is not ratio-metric to
-          the ADC converter, and calibration is required.  Explicitly 
-         calibrating the accelerometers also allows us to load any device
-         from a Freescale family that includes at least +/- 40g, 50g, 100g, 
-         and 200g parts.  Using gravity,
-          a simple 2-point calibration yields acceptable results capturing both
-          the different sensitivities and ranges of the different accelerometer
-          parts and any variation in power supply voltages or resistor values
-          in the divider network.
-        </p><p>
-          To calibrate the acceleration sensor, use the 'c a 0' command.  You
-          will be prompted to orient the board vertically with the UHF antenna
-          up and press a key, then to orient the board vertically with the
-          UHF antenna down and press a key.  Note that the accuracy of this
-         calibration depends primarily on how perfectly vertical and still
-         the board is held during the cal process.  As with all 'c' 
-         sub-commands, follow this with a 'c w' to write the
-          change to the parameter block in the on-board DataFlash chip.
-        </p><p>
-          The +1g and -1g calibration points are included in each telemetry
-          frame and are part of the header stored in onboard flash to be
-         downloaded after flight.  We always store and return raw ADC 
-         samples for each sensor... so nothing is permanently "lost" or 
-         "damaged" if the calibration is poor.
-        </p><p>
-         In the unlikely event an accel cal goes badly, it is possible
-         that TeleMetrum may always come up in 'pad mode' and as such not be
-         listening to either the USB or radio link.  If that happens,
-         there is a special hook in the firmware to force the board back
-         in to 'idle mode' so you can re-do the cal.  To use this hook, you
-         just need to ground the SPI clock pin at power-on.  This pin is
-         available as pin 2 on the 8-pin companion connector, and pin 1 is
-         ground.  So either carefully install a fine-gauge wire jumper
-         between the two pins closest to the index hole end of the 8-pin
-         connector, or plug in the programming cable to the 8-pin connector
-         and use a small screwdriver or similar to short the two pins closest
-         to the index post on the 4-pin end of the programming cable, and
-         power up the board.  It should come up in 'idle mode' (two beeps),
-        allowing a re-cal.
-        </p></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="idp4027304"></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="idp4027664"></a>Version 1.21</h2></div></div></div><p>
-    Version 1.2.1 is a minor release. It adds support for TeleBT and
-    the AltosDroid application, provides several new features in
-    AltosUI and fixes some bugs in the AltOS firmware.
-  </p><p>
-    AltOS Firmware Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Add support for TeleBT
-      </li><li class="listitem">
-       In TeleMini recovery mode (when booted with the outer two
-       debug pins connected together), the radio parameters are also
-       set back to defaults (434.550MHz, N0CALL, factory radio cal).
-      </li><li class="listitem">
-       Add support for reflashing the SkyTraq GPS chips. This
-       requires special host-side code which currently only exists
-       for Linux.
-      </li><li class="listitem">
-       Correct Kalman filter model error covariance matrix. The
-       values used previously assumed continuous measurements instead
-       of discrete measurements.
-      </li><li class="listitem">
-       Fix some bugs in the USB driver for TeleMetrum and TeleDongle
-       that affected Windows users.
-      </li><li class="listitem">
-       Adjusted the automatic gain control parameters that affect
-       receive performance for TeleDongle. Field tests indicate that this
-       may improve receive performance somewhat.
-      </li></ul></div><p>
-  </p><p>
-    AltosUI Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Handle missing GPS lock in 'Descent' tab. Previously, if the
-       GPS position of the pad was unknown, an exception would be
-       raised, breaking the Descent tab contents.
-      </li><li class="listitem">
-       Improve the graph, adding tool-tips to show values near the
-       cursor and making the displayed set of values configurable,
-       adding all of the flight data as options while leaving the
-       default settings alone so that the graph starts by showing
-       height, speed and acceleration.
-      </li><li class="listitem">
-       Make the initial position of the AltosUI top level window
-       configurable. Along with this change, the other windows will
-       pop up at 'sensible' places now, instead of on top of one
-       another.
-      </li><li class="listitem">
-       Add callsign to Monitor idle window and connecting
-       dialogs. This makes it clear which callsign is being used so
-       that the operator will be aware that it must match the flight
-       computer value or no communication will work.
-      </li><li class="listitem">
-       When downloading flight data, display the block number so that
-       the user has some sense of progress. Unfortunately, we don't
-       know how many blocks will need to be downloaded, but at least
-       it isn't just sitting there doing nothing for a long time.
-      </li><li class="listitem">
-       Add GPS data and a map to the graph window. This lets you see
-       a complete summary of the flight without needing to 'replay'
-       the whole thing.
-      </li></ul></div><p>
-  </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4028224"></a>Version 1.2</h2></div></div></div><p>
-    Version 1.2 is a major release. It adds support for MicroPeak and
-    the MicroPeak USB adapter.
-  </p><p>
-    AltOS Firmware Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Add MicroPeak support. This includes support for the ATtiny85
-       processor and adaptations to the core code to allow for
-       devices too small to run the multi-tasking scheduler.
-      </li></ul></div><p>
-  </p><p>
-    MicroPeak UI changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Added this new application
-      </li></ul></div><p>
-  </p><p>
-    Distribution Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Distribute Mac OS X packages in disk image ('.dmg') format to
-       greatly simplify installation.
-      </li><li class="listitem">
-       Provide version numbers for the shared Java libraries to
-       ensure that upgrades work properly, and to allow for multiple
-       Altus Metrum software packages to be installed in the same
-       directory at the same time.
-      </li></ul></div><p>
-  </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4028784"></a>Version 1.1.1</h2></div></div></div><p>
-    Version 1.1.1 is a bug-fix release. It fixes a couple of bugs in
-    AltosUI and one firmware bug that affects TeleMetrum version 1.0
-    boards. Thanks to Bob Brown for help diagnosing the Google Earth
-    file export issue, and for suggesting the addition of the Ground
-    Distance value in the Descent tab.
-  </p><p>
-    AltOS Firmware Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       TeleMetrum v1.0 boards use the AT45DB081D flash memory part to
-       store flight data, which is different from later TeleMetrum
-       boards. The AltOS v1.1 driver for this chip couldn't erase
-       memory, leaving it impossible to delete flight data or update
-       configuration values. This bug doesn't affect newer TeleMetrum
-       boards, and it doesn't affect the safety of rockets flying
-       version 1.1 firmware.
-      </li></ul></div><p>
-  </p><p>
-    AltosUI Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Creating a Google Earth file (KML) from on-board flight data
-       (EEPROM) would generate an empty file. The code responsible
-       for reading the EEPROM file wasn't ever setting the GPS valid
-       bits, and so the KML export code thought there was no GPS data
-       in the file.
-      </li><li class="listitem">
-       The &#8220;Landed&#8221; tab was displaying all values in metric units,
-       even when AltosUI was configured to display imperial
-       units. Somehow I just missed this tab when doing the units stuff.
-      </li><li class="listitem">
-       The &#8220;Descent&#8221; tab displays the range to the rocket, which is a
-       combination of the over-the-ground distance to the rockets
-       current latitude/longitude and the height of the rocket. As
-       such, it's useful for knowing how far away the rocket is, but
-       difficult to use when estimating where the rocket might
-       eventually land. A new &#8220;Ground Distance&#8221; field has been added
-       which displays the distance to a spot right underneath the
-       rocket.
-      </li><li class="listitem">
-       Sensor data wasn't being displayed for TeleMini flight
-       computers in Monitor Idle mode, including things like battery
-       voltage. The code that picked which kinds of data to fetch
-       from the flight computer was missing a check for TeleMini when
-       deciding whether to fetch the analog sensor data.
-      </li></ul></div><p>
-  </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4029344"></a>Version 1.1</h2></div></div></div><p>
-    Version 1.1 is a minor release. It provides a few new features in AltosUI
-    and the AltOS firmware and fixes bugs.
-  </p><p>
-    AltOS Firmware Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Add apogee-lockout value. Overrides the apogee detection logic to
-       prevent incorrect apogee charge firing.
-      </li><li class="listitem">
-       Fix a bug where the data reported in telemetry packets was
-       from 320ms ago.
-      </li><li class="listitem">
-       Force the radio frequency to 434.550MHz when the debug clock
-       pin is connected to ground at boot time. This provides a way
-       to talk to a TeleMini which is configured to some unknown frequency.
-      </li><li class="listitem">
-       Provide RSSI values for Monitor Idle mode. This makes it easy to check radio
-       range without needing to go to flight mode.
-      </li><li class="listitem">
-       Fix a bug which caused the old received telemetry packets to
-       be retransmitted over the USB link when the radio was turned
-       off and back on.
-      </li></ul></div><p>
-  </p><p>
-    AltosUI Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Fix a bug that caused GPS ready to happen too quickly. The
-       software was using every telemetry packet to signal new GPS
-       data, which caused GPS ready to be signalled after 10 packets
-       instead of 10 GPS updates.
-      </li><li class="listitem">
-       Fix Google Earth data export to work with recent versions. The
-       google earth file loading code got a lot pickier, requiring
-       some minor white space changes in the export code.
-      </li><li class="listitem">
-       Make the look-n-feel configurable, providing a choice from
-       the available options.
-      </li><li class="listitem">
-       Add an 'Age' element to mark how long since a telemetry packet
-       has been received. Useful to quickly gauge whether
-       communications with the rocket are still active.
-      </li><li class="listitem">
-       Add 'Configure Ground Station' dialog to set the radio
-       frequency used by a particular TeleDongle without having to go
-       through the flight monitor UI.
-      </li><li class="listitem">
-       Add configuration for the new apogee-lockout value. A menu provides a list of
-       reasonable values, or the value can be set by hand.
-      </li><li class="listitem">
-       Changed how flight data are downloaded. Now there's an initial
-       dialog asking which flights to download, and after that
-       finishes, a second dialog comes up asking which flights to delete.
-      </li><li class="listitem">
-       Re-compute time spent in each state for the flight graph; this
-       figures out the actual boost and landing times instead of
-       using the conservative values provide by the flight
-       electronics. This improves the accuracy of the boost
-       acceleration and main descent rate computations.
-      </li><li class="listitem">
-       Make AltosUI run on Mac OS Lion. The default Java heap space
-       was dramatically reduced for this release causing much of the
-       UI to fail randomly. This most often affected the satellite
-       mapping download and displays.
-      </li><li class="listitem">
-       Change how data are displayed in the 'table' tab of the flight
-       monitoring window. This eliminates entries duplicated from the
-       header and adds both current altitude and pad altitude, which
-       are useful in 'Monitor Idle' mode.
-      </li><li class="listitem">
-       Add Imperial units mode to present data in feet instead of
-       meters.
-      </li></ul></div><p>
-  </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4029904"></a>Version 1.0.1</h2></div></div></div><p>
-    Version 1.0.1 is a major release, adding support for the TeleMini
-    device and lots of new AltosUI features
-  </p><p>
-    AltOS Firmware Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Add TeleMini v1.0 support. Firmware images for TeleMini are
-       included in AltOS releases.
-      </li><li class="listitem">
-       Change telemetry to be encoded in multiple 32-byte packets. This
-       enables support for TeleMini and other devices without requiring
-       further updates to the TeleDongle firmware.
-      </li><li class="listitem">
-       Support operation of TeleMetrum with the antenna pointing
-       aft. Previous firmware versions required the antenna to be
-       pointing upwards, now there is a configuration option allowing
-       the antenna to point aft, to aid installation in some airframes.
-      </li><li class="listitem">
-       Ability to disable telemetry. For airframes where an antenna
-       just isn't possible, or where radio transmissions might cause
-       trouble with other electronics, there's a configuration option
-       to disable all telemetry. Note that the board will still
-       enable the radio link in idle mode.
-      </li><li class="listitem">
-       Arbitrary frequency selection. The radios in Altus Metrum
-       devices can be programmed to a wide range of frequencies, so
-       instead of limiting devices to 10 pre-selected 'channels', the
-       new firmware allows the user to choose any frequency in the
-       70cm band. Note that the RF matching circuit on the boards is
-       tuned for around 435MHz, so frequencies far from that may
-       reduce the available range.
-      </li><li class="listitem">
-       Kalman-filter based flight-tracking. The model based sensor
-       fusion approach of a Kalman filter means that AltOS now
-       computes apogee much more accurately than before, generally
-       within a fraction of a second. In addition, this approach
-       allows the baro-only TeleMini device to correctly identify
-       Mach transitions, avoiding the error-prone selection of a Mach
-       delay.
-      </li></ul></div><p>
-  </p><p>
-    AltosUI Changes
-    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-       Wait for altimeter when using packet mode. Instead of quicly
-       timing out when trying to initialize a packet mode
-       configuration connection, AltosUI now waits indefinitely for
-       the remote device to appear, providing a cancel button should
-       the user get bored. This is necessary as the TeleMini can only
-       be placed in "Idle" mode if AltosUI is polling it.
-      </li><li class="listitem">
-       Add main/apogee voltage graphs to the data plot. This provides
-       a visual indication if the igniters fail before being fired.
-      </li><li class="listitem">
-       Scan for altimeter devices by watching the defined telemetry
-       frequencies. This avoids the problem of remembering what
-       frequency a device was configured to use, which is especially
-       important with TeleMini which does not include a USB connection.
-      </li><li class="listitem">
-       Monitor altimeter state in "Idle" mode. This provides much of
-       the information presented in the "Pad" dialog from the Monitor
-       Flight command, monitoring the igniters, battery and GPS
-       status withing requiring the flight computer to be armed and
-       ready for flight.
-      </li><li class="listitem">
-       Pre-load map images from home. For those launch sites which
-       don't provide free Wi-Fi, this allows you to download the
-       necessary satellite images given the location of the launch
-       site. A list of known launch sites is maintained at
-       altusmetrum.org which AltosUI downloads to populate a menu; if
-       you've got a launch site not on that list, please send the
-       name of it, latitude and longitude along with a link to the
-       web site of the controlling club to the altusmetrum mailing list.
-      </li><li class="listitem">
-       Flight statistics are now displayed in the Graph data
-       window. These include max height/speed/accel, average descent
-       rates and a few other bits of information. The Graph Data
-       window can now be reached from the 'Landed' tab in the Monitor
-       Flight window so you can immediately see the results of a
-       flight.
-      </li></ul></div><p>
-  </p></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4030464"></a>Version 0.9.2</h2></div></div></div><p>
-    Version 0.9.2 is an AltosUI bug-fix release, with no firmware changes.
-  </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-      Fix plotting problems due to missing file in the Mac OS install image.
-    </li><li class="listitem">
-      Always read whole eeprom blocks, mark empty records invalid, display parsing errors to user.
-    </li><li class="listitem">
-      Add software version to Configure AltosUI dialog
-    </li></ul></div></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4031024"></a>Version 0.9</h2></div></div></div><p>
-    Version 0.9 adds a few new firmware features and accompanying
-    AltosUI changes, along with new hardware support.
-  </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-      Support for TeleMetrum v1.1 hardware. Sources for the flash
-      memory part used in v1.0 dried up, so v1.1 uses a different part
-      which required a new driver and support for explicit flight log
-      erasing.
-    </li><li class="listitem">
-      Multiple flight log support. This stores more than one flight
-      log in the on-board flash memory. It also requires the user to
-      explicitly erase flights so that you won't lose flight logs just
-      because you fly the same board twice in one day.
-    </li><li class="listitem">
-      Telemetry support for devices with serial number &gt;=
-      256. Previous versions used a telemetry packet format that
-      provided only 8 bits for the device serial number. This change
-      requires that both ends of the telemetry link be running the 0.9
-      firmware or they will not communicate.
-    </li></ul></div></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4031584"></a>Version 0.8</h2></div></div></div><p>
-    Version 0.8 offers a major upgrade in the AltosUI
-    interface. Significant new features include:
-  </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-      Post-flight graphing tool. This lets you explore the behaviour
-      of your rocket after flight with a scroll-able and zoom-able
-      chart showing the altitude, speed and acceleration of the
-      airframe along with events recorded by the flight computer. You
-      can export graphs to PNG files, or print them directly.
-    </li><li class="listitem">
-      Real-time moving map which overlays the in-progress flight on
-      satellite imagery fetched from Google Maps. This lets you see in
-      pictures where your rocket has landed, allowing you to plan
-      recovery activities more accurately.
-    </li><li class="listitem">
-      Wireless recovery system testing. Prep your rocket for flight
-      and test fire the deployment charges to make sure things work as
-      expected. All without threading wires through holes in your
-      airframe.
-    </li><li class="listitem">
-      Optimized flight status displays. Each flight state now has it's
-      own custom 'tab' in the flight monitoring window so you can
-      focus on the most important details. Pre-flight, the system
-      shows a set of red/green status indicators for battery voltage,
-      apogee/main igniter continutity and GPS reception. Wait until
-      they're all green and your rocket is ready for flight. There are
-      also tabs for ascent, descent and landing along with the
-      original tabular view of the data.
-    </li><li class="listitem">
-      Monitor multiple flights simultaneously. If you have more than
-      one TeleDongle, you can monitor a flight with each one on the
-      same computer.
-    </li><li class="listitem">
-      Automatic flight monitoring at startup. Plug TeleDongle into the
-      machine before starting AltosUI and it will automatically
-      connect to it and prepare to monitor a flight.
-    </li><li class="listitem">
-      Exports Google Earth flight tracks. Using the Keyhole Markup
-      Language (.kml) file format, this provides a 3D view of your
-      rocket flight through the Google Earth program.
-    </li></ul></div></div><div class="simplesect"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp4032144"></a>Version 0.7.1</h2></div></div></div><p>
-Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can:
-  </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-      Receive and log telemetry from a connected TeleDongle
-      device. All data received is saved to log files named with the
-      current date and the connected rocket serial and flight
-      numbers. There is no mode in which telemetry data will not be
-      saved.
-    </li><li class="listitem">
-      Download logged data from TeleMetrum devices, either through a
-      direct USB connection or over the air through a TeleDongle
-      device.
-    </li><li class="listitem">
-      Configure a TeleMetrum device, setting the radio channel,
-      callsign, apogee delay and main deploy height. This can be done
-      through either a USB connection or over a radio link via a
-      TeleDongle device.
-    </li><li class="listitem">
-      Replay a flight in real-time. This takes a saved telemetry log
-      or eeprom download and replays it through the user interface so
-      you can relive your favorite rocket flights.
-    </li><li class="listitem">
-      Reprogram Altus Metrum devices. Using an Altus Metrum device
-      connected via USB, another Altus Metrum device can be
-      reprogrammed using the supplied programming cable between the
-      two devices.
-    </li><li class="listitem">
-      Export Flight data to a comma-separated-values file. This takes
-      either telemetry or on-board flight data and generates data
-      suitable for use in external applications. All data is exported
-      using standard units so that no device-specific knowledge is
-      needed to handle the data.
-    </li><li class="listitem">
-      Speak to you during the flight. Instead of spending the flight
-      hunched over your laptop looking at the screen, enjoy the view
-      while the computer tells you what&#8217;s going on up there. During
-      ascent, you hear the current flight state and altitude
-      information. During descent, you get azimuth, elevation and
-      range information to try and help you find your rocket in the
-      air. Once on the ground, the direction and distance are
-      reported.
-    </li></ul></div></div></div></div></body></html>
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 2.0.16">
+<meta name="author" content="Keith Packard, Bdale Garbee, Bob Finch, Anthony Towns">
+<meta name="copyright" content="Bdale Garbee and Keith Packard 2021">
+<title>The Altus Metrum System: An Owner&#8217;s Manual for Altus Metrum Rocketry Electronics</title>
+<link rel="stylesheet" href="./am.css">
+</head>
+<body class="book">
+<div id="header">
+<h1>The Altus Metrum System: An Owner&#8217;s Manual for Altus Metrum Rocketry Electronics</h1>
+<div class="details">
+<span id="author" class="author">Keith Packard</span><br>
+<span id="email" class="email"><a href="mailto:keithp@keithp.com">keithp@keithp.com</a></span><br>
+<span id="author2" class="author">Bdale Garbee</span><br>
+<span id="email2" class="email"><a href="mailto:bdale@gag.com">bdale@gag.com</a></span><br>
+<span id="author3" class="author">Bob Finch</span><br>
+<span id="author4" class="author">Anthony Towns</span><br>
+<span id="revnumber">version v1.9.8,</span>
+<span id="revdate">20 Sep 2021</span>
+</div>
+<div id="toc" class="toc">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel1">
+<li><a href="#_license">License</a></li>
+<li><a href="#_acknowledgments">Acknowledgments</a></li>
+<li><a href="#_introduction_and_overview">1. Introduction and Overview</a></li>
+<li><a href="#_getting_started">2. Getting Started</a>
+<ul class="sectlevel2">
+<li><a href="#_batteries">2.1. Batteries</a></li>
+<li><a href="#_ground_station_hardware">2.2. Ground Station Hardware</a></li>
+<li><a href="#_linuxmacwindows_ground_station_software">2.3. Linux/Mac/Windows Ground Station Software</a></li>
+<li><a href="#_android_ground_station_software">2.4. Android Ground Station Software</a></li>
+</ul>
+</li>
+<li><a href="#_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</a>
+<ul class="sectlevel2">
+<li><a href="#_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</a></li>
+<li><a href="#_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</a></li>
+<li><a href="#_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</a></li>
+<li><a href="#_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</a></li>
+<li><a href="#_understanding_beeps">3.5. Understanding Beeps</a></li>
+<li><a href="#_turning_on_the_power">3.6. Turning On the Power</a></li>
+<li><a href="#_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</a></li>
+<li><a href="#_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</a></li>
+<li><a href="#_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</a></li>
+<li><a href="#_using_packet_link_mode">3.10. Using Packet Link Mode</a></li>
+</ul>
+</li>
+<li><a href="#_telemetrum">4. TeleMetrum</a>
+<ul class="sectlevel2">
+<li><a href="#_telemetrum_screw_terminals">4.1. TeleMetrum Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_telemetrum">4.2. Using a Separate Pyro Battery with TeleMetrum</a></li>
+<li><a href="#_using_an_active_switch_with_telemetrum">4.3. Using an Active Switch with TeleMetrum</a></li>
+</ul>
+</li>
+<li><a href="#_telemini">5. TeleMini</a>
+<ul class="sectlevel2">
+<li><a href="#_telemini_v3_screw_terminals">5.1. TeleMini v3 Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_telemini_v3">5.2. Using a Separate Pyro Battery with TeleMini v3</a></li>
+<li><a href="#_using_an_active_switch_with_telemini_v3">5.3. Using an Active Switch with TeleMini v3</a></li>
+<li><a href="#_using_packet_link_mode_with_telemini">5.4. Using Packet Link Mode with TeleMini</a></li>
+<li><a href="#_forcing_telemini_radio_parameters_to_known_defaults">5.5. Forcing TeleMini radio parameters to known defaults</a></li>
+<li><a href="#_telemini_v1">5.6. TeleMini v1</a></li>
+</ul>
+</li>
+<li><a href="#_easymini">6. EasyMini</a>
+<ul class="sectlevel2">
+<li><a href="#_easymini_screw_terminals">6.1. EasyMini Screw Terminals</a></li>
+<li><a href="#_connecting_a_battery_to_easymini">6.2. Connecting A Battery To EasyMini</a></li>
+<li><a href="#_charging_lithium_batteries">6.3. Charging Lithium Batteries</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_easymini">6.4. Using a Separate Pyro Battery with EasyMini</a></li>
+<li><a href="#_using_an_active_switch_with_easymini">6.5. Using an Active Switch with EasyMini</a></li>
+</ul>
+</li>
+<li><a href="#_telemega">7. TeleMega</a>
+<ul class="sectlevel2">
+<li><a href="#_telemega_screw_terminals">7.1. TeleMega Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_telemega">7.2. Using a Separate Pyro Battery with TeleMega</a></li>
+<li><a href="#_using_only_one_battery_with_telemega">7.3. Using Only One Battery With TeleMega</a></li>
+<li><a href="#_using_an_active_switch_with_telemega">7.4. Using an Active Switch with TeleMega</a></li>
+</ul>
+</li>
+<li><a href="#_easymega">8. EasyMega</a>
+<ul class="sectlevel2">
+<li><a href="#_easymega_screw_terminals">8.1. EasyMega Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_easymega">8.2. Using a Separate Pyro Battery with EasyMega</a></li>
+<li><a href="#_using_only_one_battery_with_easymega">8.3. Using Only One Battery With EasyMega</a></li>
+<li><a href="#_using_an_active_switch_with_easymega">8.4. Using an Active Switch with EasyMega</a></li>
+</ul>
+</li>
+<li><a href="#_easytimer">9. EasyTimer</a>
+<ul class="sectlevel2">
+<li><a href="#_easytimer_screw_terminals">9.1. EasyTimer Screw Terminals</a></li>
+<li><a href="#_connecting_a_battery_to_easytimer">9.2. Connecting A Battery To EasyTimer</a></li>
+<li><a href="#_charging_lithium_batteries_2">9.3. Charging Lithium Batteries</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_easytimer">9.4. Using a Separate Pyro Battery with EasyTimer</a></li>
+<li><a href="#_using_an_active_switch_with_easytimer">9.5. Using an Active Switch with EasyTimer</a></li>
+</ul>
+</li>
+<li><a href="#_installation">10. Installation</a></li>
+<li><a href="#_using_altus_metrum_products">11. Using Altus Metrum Products</a>
+<ul class="sectlevel2">
+<li><a href="#_being_legal">11.1. Being Legal</a></li>
+<li><a href="#_in_the_rocket">11.2. In the Rocket</a></li>
+<li><a href="#_on_the_ground">11.3. On the Ground</a></li>
+<li><a href="#_data_analysis">11.4. Data Analysis</a></li>
+<li><a href="#_future_plans">11.5. Future Plans</a></li>
+</ul>
+</li>
+<li><a href="#_altosui">12. AltosUI</a>
+<ul class="sectlevel2">
+<li><a href="#_monitor_flight">12.1. Monitor Flight</a></li>
+<li><a href="#_save_flight_data">12.2. Save Flight Data</a></li>
+<li><a href="#_replay_flight">12.3. Replay Flight</a></li>
+<li><a href="#_graph_data">12.4. Graph Data</a></li>
+<li><a href="#_export_data">12.5. Export Data</a></li>
+<li><a href="#_configure_altimeter">12.6. Configure Altimeter</a></li>
+<li><a href="#_configure_altosui">12.7. Configure AltosUI</a></li>
+<li><a href="#_configure_groundstation">12.8. Configure Groundstation</a></li>
+<li><a href="#_flash_image">12.9. Flash Image</a></li>
+<li><a href="#_fire_igniter">12.10. Fire Igniter</a></li>
+<li><a href="#_scan_channels">12.11. Scan Channels</a></li>
+<li><a href="#_load_maps">12.12. Load Maps</a></li>
+<li><a href="#_monitor_idle">12.13. Monitor Idle</a></li>
+</ul>
+</li>
+<li><a href="#_altosdroid">13. AltosDroid</a>
+<ul class="sectlevel2">
+<li><a href="#_installing_altosdroid">13.1. Installing AltosDroid</a></li>
+<li><a href="#_charging_telebt_battery">13.2. Charging TeleBT Battery</a></li>
+<li><a href="#_connecting_to_telebt_over_bluetooth">13.3. Connecting to TeleBT over Bluetooth™</a></li>
+<li><a href="#_connecting_to_teledongle_or_telebt_over_usb">13.4. Connecting to TeleDongle or TeleBT over USB</a></li>
+<li><a href="#_altosdroid_menu">13.5. AltosDroid Menu</a></li>
+<li><a href="#_setup">13.6. Setup</a></li>
+<li><a href="#_idle_mode">13.7. Idle Mode</a></li>
+<li><a href="#_altosdroid_flight_monitoring">13.8. AltosDroid Flight Monitoring</a></li>
+<li><a href="#_pad">13.9. Pad</a></li>
+<li><a href="#_flight">13.10. Flight</a></li>
+<li><a href="#_recover">13.11. Recover</a></li>
+<li><a href="#_map_2">13.12. Map</a></li>
+<li><a href="#_downloading_flight_logs">13.13. Downloading Flight Logs</a></li>
+</ul>
+</li>
+<li><a href="#_system_operation">Appendix A: System Operation</a>
+<ul class="sectlevel2">
+<li><a href="#_firmware_modes">A.1. Firmware Modes</a></li>
+<li><a href="#_gps">A.2. GPS</a></li>
+<li><a href="#_controlling_an_altimeter_over_the_radio_link">A.3. Controlling An Altimeter Over The Radio Link</a></li>
+<li><a href="#_ground_testing">A.4. Ground Testing</a></li>
+<li><a href="#_radio_link">A.5. Radio Link</a></li>
+<li><a href="#_aprs">A.6. APRS</a></li>
+<li><a href="#_configurable_parameters">A.7. Configurable Parameters</a></li>
+</ul>
+</li>
+<li><a href="#_handling_precautions">Appendix B: Handling Precautions</a></li>
+<li><a href="#_updating_device_firmware">Appendix C: Updating Device Firmware</a>
+<ul class="sectlevel2">
+<li><a href="#_updating_telemega_telemetrum_v2_or_newer_telemini_v3_easymega_easymini_teledongle_v3_or_telebt_v3_firmware">C.1. Updating TeleMega, TeleMetrum v2 or newer, TeleMini v3, EasyMega, EasyMini, TeleDongle v3 or TeleBT v3 Firmware</a></li>
+<li><a href="#_pair_programming">C.2. Pair Programming</a></li>
+</ul>
+</li>
+<li><a href="#_flight_data_recording">Appendix D: Flight Data Recording</a></li>
+<li><a href="#_altus_metrum_hardware_specifications">Appendix E: Altus Metrum Hardware Specifications</a></li>
+<li><a href="#_release_notes">Appendix F: Release Notes</a>
+<ul class="sectlevel2">
+<li><a href="#_release_notes_for_version_1_9_8">F.1. Release Notes for Version 1.9.8</a></li>
+<li><a href="#_release_notes_for_version_1_9_7">F.2. Release Notes for Version 1.9.7</a></li>
+<li><a href="#_release_notes_for_version_1_9_6">F.3. Release Notes for Version 1.9.6</a></li>
+<li><a href="#_release_notes_for_version_1_9_5">F.4. Release Notes for Version 1.9.5</a></li>
+<li><a href="#_release_notes_for_version_1_9_4">F.5. Release Notes for Version 1.9.4</a></li>
+<li><a href="#_release_notes_for_version_1_9_3">F.6. Release Notes for Version 1.9.3</a></li>
+<li><a href="#_release_notes_for_version_1_9_2">F.7. Release Notes for Version 1.9.2</a></li>
+<li><a href="#_release_notes_for_version_1_9_1">F.8. Release Notes for Version 1.9.1</a></li>
+<li><a href="#_release_notes_for_version_1_9">F.9. Release Notes for Version 1.9</a></li>
+<li><a href="#_release_notes_for_version_1_8_7">F.10. Release Notes for Version 1.8.7</a></li>
+<li><a href="#_release_notes_for_version_1_8_6">F.11. Release Notes for Version 1.8.6</a></li>
+<li><a href="#_release_notes_for_version_1_8_5">F.12. Release Notes for Version 1.8.5</a></li>
+<li><a href="#_release_notes_for_version_1_8_4">F.13. Release Notes for Version 1.8.4</a></li>
+<li><a href="#_release_notes_for_version_1_8_3">F.14. Release Notes for Version 1.8.3</a></li>
+<li><a href="#_release_notes_for_version_1_8_2">F.15. Release Notes for Version 1.8.2</a></li>
+<li><a href="#_release_notes_for_version_1_8_1">F.16. Release Notes for Version 1.8.1</a></li>
+<li><a href="#_release_notes_for_version_1_8">F.17. Release Notes for Version 1.8</a></li>
+<li><a href="#_release_notes_for_version_1_7">F.18. Release Notes for Version 1.7</a></li>
+<li><a href="#_release_notes_for_version_1_6_8">F.19. Release Notes for Version 1.6.8</a></li>
+<li><a href="#_release_notes_for_version_1_6_5">F.20. Release Notes for Version 1.6.5</a></li>
+<li><a href="#_release_notes_for_version_1_6_4">F.21. Release Notes for Version 1.6.4</a></li>
+<li><a href="#_release_notes_for_version_1_6_3">F.22. Release Notes for Version 1.6.3</a></li>
+<li><a href="#_release_notes_for_version_1_6_2">F.23. Release Notes for Version 1.6.2</a></li>
+<li><a href="#_release_notes_for_version_1_6_1">F.24. Release Notes for Version 1.6.1</a></li>
+<li><a href="#_release_notes_for_version_1_6">F.25. Release Notes for Version 1.6</a></li>
+<li><a href="#_release_notes_for_version_1_5">F.26. Release Notes for Version 1.5</a></li>
+<li><a href="#_release_notes_for_version_1_4_2">F.27. Release Notes for Version 1.4.2</a></li>
+<li><a href="#_release_notes_for_version_1_4_1">F.28. Release Notes for Version 1.4.1</a></li>
+<li><a href="#_release_notes_for_version_1_4">F.29. Release Notes for Version 1.4</a></li>
+<li><a href="#_release_notes_for_version_1_3_2">F.30. Release Notes for Version 1.3.2</a></li>
+<li><a href="#_release_notes_for_version_1_3_1">F.31. Release Notes for Version 1.3.1</a></li>
+<li><a href="#_release_notes_for_version_1_3">F.32. Release Notes for Version 1.3</a></li>
+<li><a href="#_release_notes_for_version_1_2_1">F.33. Release Notes for Version 1.2.1</a></li>
+<li><a href="#_release_notes_for_version_1_2">F.34. Release Notes for Version 1.2</a></li>
+<li><a href="#_release_notes_for_version_1_1">F.35. Release Notes for Version 1.1</a></li>
+<li><a href="#_release_notes_for_version_1_1_2">F.36. Release Notes for Version 1.1</a></li>
+<li><a href="#_release_notes_for_version_1_0_1">F.37. Release Notes for Version 1.0.1</a></li>
+<li><a href="#_release_notes_for_version_0_9_2">F.38. Release Notes for Version 0.9.2</a></li>
+<li><a href="#_release_notes_for_version_0_9">F.39. Release Notes for Version 0.9</a></li>
+<li><a href="#_release_notes_for_version_0_8">F.40. Release Notes for Version 0.8</a></li>
+<li><a href="#_release_notes_for_version_0_7_1">F.41. Release Notes for Version 0.7.1</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div id="logo" class="imageblock">
+<div class="content">
+<a class="image" href="https://altusmetrum.org"><img src="altusmetrum-oneline.svg" alt="Altus Metrum"></a>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_license">License</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Copyright © 2021 Bdale Garbee and Keith Packard</p>
+</div>
+<div class="paragraph">
+<p>This document is released under the terms of the <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons ShareAlike 3.0 License</a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_acknowledgments">Acknowledgments</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The
+Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
+Kit” which formed the basis of the original Getting Started chapter
+in this manual.  Bob was one of our first customers for a production
+TeleMetrum, and his continued enthusiasm and contributions
+are immensely gratifying and highly appreciated!</p>
+</div>
+<div class="paragraph">
+<p>And thanks to Anthony (AJ) Towns for major contributions including
+the AltosUI graphing and site map code and associated documentation.
+Free software means that our customers and friends can become our
+collaborators, and we certainly appreciate this level of
+contribution!</p>
+</div>
+<div class="paragraph">
+<p>Have fun using these products, and we hope to meet all of you
+out on the rocket flight line somewhere.</p>
+</div>
+<div class="verseblock">
+<pre class="content">Bdale Garbee, KB0G
+NAR #87103, TRA #12201</pre>
+</div>
+<div class="verseblock">
+<pre class="content">Keith Packard, KD7SQG
+NAR #88757, TRA #12200</pre>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction_and_overview">1. Introduction and Overview</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Welcome to the Altus Metrum community!  Our circuits and software reflect
+our passion for both hobby rocketry and Free Software.  We hope their
+capabilities and performance will delight you in every way, but by
+releasing all of our hardware and software designs under open licenses,
+we also hope to empower you to take as active a role in our collective
+future as you wish!</p>
+</div>
+<div class="paragraph">
+<p>Our goal is to include in this document all of the information required
+to successfully configure and use Altus Metrum products.  But
+documentation is a lot like software in that it can contain "bugs",
+and can probably always be improved!  If you have questions that
+aren&#8217;t answered in this manual, or just need a little help figuring
+things out, we strongly suggest joining the Altus Metrum user email
+list, which you can do by visiting
+<a href="https://lists.gag.com/mailman/listinfo/altusmetrum" class="bare">https://lists.gag.com/mailman/listinfo/altusmetrum</a>.  There&#8217;s a lot
+of useful information in the mailing list archives!</p>
+</div>
+<div class="paragraph">
+<p>The first device created for our community was TeleMetrum, a dual
+deploy altimeter with fully integrated GPS and radio telemetry
+as standard features, and a “companion interface” that will
+support optional capabilities in the future. The later versions
+of TeleMetrum, v2 and newer, have all of the same features but with
+improved sensors and radio to offer increased performance.</p>
+</div>
+<div class="paragraph">
+<p>Our second device was TeleMini, a dual deploy altimeter with
+radio telemetry and radio direction finding. The first version
+of this device was only 13mm by 38mm (½ inch by 1½ inches) and
+could fit easily in an 18mm air-frame. The latest version, v3.0,
+includes a beeper, higher power radio, extended on-board
+flight logging and an improved barometric sensor.</p>
+</div>
+<div class="paragraph">
+<p>TeleMega is our most sophisticated device, including six pyro
+channels (four of which are fully programmable), integrated GPS,
+integrated gyroscopes for staging/air-start inhibit and high
+performance telemetry.</p>
+</div>
+<div class="paragraph">
+<p>EasyMini is a dual-deploy altimeter with logging and built-in
+USB data download.</p>
+</div>
+<div class="paragraph">
+<p>EasyMega is essentially a TeleMega board with the GPS receiver
+and telemetry transmitter removed. It offers the same 6 pyro
+channels and integrated gyroscopes for staging/air-start inhibit.</p>
+</div>
+<div class="paragraph">
+<p>TeleDongle v0.2 was our first ground station, providing a USB to RF
+interfaces for communicating with the altimeters. Combined with
+your choice of antenna and notebook computer, TeleDongle and our
+associated user interface software form a complete ground
+station capable of logging and displaying in-flight telemetry,
+aiding rocket recovery, then processing and archiving flight
+data for analysis and review. The latest version, TeleDongle
+v3, has all new electronics with a higher performance radio
+for improved range.</p>
+</div>
+<div class="paragraph">
+<p>For a slightly more portable ground station experience that also
+provides direct rocket recovery support, TeleBT offers flight
+monitoring and data logging using a  Bluetooth™ connection between
+the receiver and an Android device that has the AltosDroid
+application installed from the Google Play store.</p>
+</div>
+<div class="paragraph">
+<p>More products will be added to the Altus Metrum family over time, and
+we currently envision that this will be a single, comprehensive manual
+for the entire product family.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_getting_started">2. Getting Started</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The first thing to do after you open the box is to hook up a
+battery and charge it if necessary.</p>
+</div>
+<div class="sect2">
+<h3 id="_batteries">2.1. Batteries</h3>
+<div class="paragraph">
+<p>For TeleMetrum, TeleMega and EasyMega, the battery can be charged by plugging it into the
+corresponding socket of the device and then using the USB
+cable to plug the flight computer into your computer&#8217;s USB socket. The
+on-board circuitry will charge the battery whenever it is plugged
+in, because the on-off switch does NOT control the
+charging circuitry.
+The Lithium Polymer
+EasyTimer,
+TeleMini and
+EasyMini battery can be charged by disconnecting it
+from the board and plugging it into a standalone
+battery charger such as <a href="http://altusmetrum.org/LipoCharger">LipoCharger</a>, and
+connecting that via a USB cable to a laptop or other
+USB power source.</p>
+</div>
+<div class="paragraph">
+<p>You can also choose to use another battery with
+EasyTimer and
+EasyMini, anything supplying between 4 and 12 volts should
+work fine (like a standard 9V battery), but if you are planning
+to fire pyro charges, ground testing is required to verify that
+the battery supplies enough current to fire your chosen e-matches.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/note.svg" alt="Note">
+</td>
+<td class="content">
+<div class="paragraph">
+<p>On TeleMetrum v1 boards, when the GPS chip is initially
+searching for satellites, TeleMetrum will consume more current
+than it pulls from the USB port, so the battery must be
+attached in order to get satellite lock.  Once GPS is locked,
+the current consumption goes back down enough to enable charging
+while running. So it&#8217;s a good idea to fully charge the battery
+as your first item of business so there is no issue getting and
+maintaining satellite lock.  The yellow charge indicator led
+will go out when the battery is nearly full and the charger goes
+to trickle charge. It can take several hours to fully recharge a
+deeply discharged battery.</p>
+</div>
+<div class="paragraph">
+<p>TeleMetrum v2 or newer, TeleMega and EasyMega use a
+higher power battery charger, allowing them to charge
+the battery while running the board at maximum
+power. When the battery is charging, or when the board
+is consuming a lot of power, the red LED will be
+lit. When the battery is fully charged, the green LED
+will be lit. When the battery is damaged or missing,
+both LEDs will be lit, which appears yellow.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_ground_station_hardware">2.2. Ground Station Hardware</h3>
+<div class="paragraph">
+<p>There are two ground stations available, the TeleDongle USB to
+RF interface and the TeleBT Bluetooth/USB to RF interface.  If
+you plug either of these in to your Mac or Linux computer it should
+“just work”, showing up as a serial port device.  Windows systems need
+driver information that is part of the AltOS download to know that the
+existing USB modem driver will work.  We therefore recommend installing
+our software before plugging in TeleDongle if you are using a Windows
+computer.  If you are using an older version of Linux and are having
+problems, try moving to a fresher kernel (2.6.33 or
+newer).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_linuxmacwindows_ground_station_software">2.3. Linux/Mac/Windows Ground Station Software</h3>
+<div class="paragraph">
+<p>Next you should obtain and install the AltOS software.
+The AltOS distribution includes the AltosUI ground
+station program, current firmware images for all of
+the hardware, and a number of standalone utilities
+that are rarely needed.  Pre-built binary packages are
+available for Linux, Microsoft Windows, Mac OSX. Full
+source code and build instructions are also
+available. The latest version may always be downloaded
+from <a href="http://altusmetrum.org/AltOS" class="bare">http://altusmetrum.org/AltOS</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_android_ground_station_software">2.4. Android Ground Station Software</h3>
+<div class="paragraph">
+<p>TeleBT can also connect to an Android device over
+BlueTooth or USB. The
+<a href="https://play.google.com/store/apps/details?id=org.altusmetrum.AltosDroid">AltosDroid
+Android application</a> is available from the
+<a href="https://play.google.com">Google Play system</a>.</p>
+</div>
+<div class="paragraph">
+<p>You don&#8217;t need a data plan to use AltosDroid, but
+without network access, you&#8217;ll want to download
+offline map data before wandering away from the
+network.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Here are general instructions for hooking up an Altus Metrum
+flight computer. Instructions specific to each model will be
+found in the section devoted to that model below.</p>
+</div>
+<div class="sect2">
+<h3 id="_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</h3>
+<div class="paragraph">
+<p>To prevent electrical interference from affecting the
+operation of the flight computer, it&#8217;s important to always
+twist pairs of wires connected to the board. Twist the switch
+leads, the pyro leads and the battery leads. This reduces
+interference through a mechanism called common mode rejection.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</h3>
+<div class="paragraph">
+<p>All Altus Metrum flight computers have a two pin JST PH
+series connector to connect up a single-cell Lithium Polymer
+cell (3.7V nominal). You can purchase matching batteries
+from the Altus Metrum store, or other vendors, or you can
+make your own. Pin 1 of the connector is positive, pin 2 is
+negative. Spark Fun sells a cable with the connector
+attached, which they call a
+<a href="https://www.sparkfun.com/products/9914">JST Jumper 2 Wire Assembly</a></p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Many RC vendors also sell lithium polymer batteries with
+this same connector. All that we have found use the opposite
+polarity, and if you use them that way, you will damage or
+destroy the flight computer.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</h3>
+<div class="paragraph">
+<p>Altus Metrum flight computers always have two screws for
+each pyro charge. This means you shouldn&#8217;t need to put two
+wires into a screw terminal or connect leads from pyro
+charges together externally.</p>
+</div>
+<div class="paragraph">
+<p>On the flight computer, one lead from each charge is hooked
+to the positive battery terminal through the power switch.
+The other lead is connected through the pyro circuit, which
+is connected to the negative battery terminal when the pyro
+circuit is fired.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</h3>
+<div class="paragraph">
+<p>Altus Metrum flight computers need an external power switch
+to turn them on. This disconnects both the computer and the
+pyro charges from the battery, preventing the charges from
+firing when in the Off position. The switch is in-line with
+the positive battery terminal.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_understanding_beeps">3.5. Understanding Beeps</h3>
+<div class="paragraph">
+<p>Altus Metrum flight computers include a beeper to
+provide information about the state of the system.
+TeleMini doesn&#8217;t have room for a beeper, so instead it
+uses an LED, which works the same, except for every
+beep is replaced with the flash of the LED.</p>
+</div>
+<div class="paragraph">
+<p>Here&#8217;s a short summary of all of the modes and the
+beeping
+(or flashing, in the case of TeleMini v1)
+that accompanies each mode. In the description of the
+beeping pattern, “dit” means a short beep while "dah"
+means a long beep (three times as long). “Brap” means
+a long dissonant tone.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. AltOS Modes</caption>
+<colgroup>
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3335%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Mode Name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Abbreviation</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Beeps</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Startup</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">S</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">battery voltage in decivolts</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Calibrating sensors, detecting orientation.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Idle</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">I</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ready to accept commands over USB
+or radio link.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pad</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">P</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dah dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Waiting for launch. Not listening for commands.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Boost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Accelerating upwards.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Fast</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">F</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dah dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, but moving faster than 200m/s.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Coast</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dah dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, moving slower than 200m/s</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Drogue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Descending after apogee. Above main height.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">M</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dah</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Descending. Below main height.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Landed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">L</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stable altitude for at least ten seconds.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sensor error</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">X</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dah</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Error detected during sensor calibration.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Here&#8217;s a summary of all of the Pad and Idle mode
+indications. In Idle mode, you&#8217;ll hear one of these
+just once after the two short dits indicating idle
+mode. In Pad mode, after the dit dah dah dit
+indicating Pad mode, you&#8217;ll hear these once every five
+seconds.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 2. Pad/Idle Indications</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Beeps</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Neither</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">brap</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No continuity detected on either apogee or main igniters.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on apogee igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on main igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Both</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected on both igniters.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Storage Full</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warble</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">On-board data logging storage is full. This will
+not prevent the flight computer from safely
+controlling the flight or transmitting telemetry
+signals, but no record of the flight will be
+stored in on-board flash.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Additional Igniters</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">four very short beeps</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity indication for the additional pyro
+channels on TeleMega, EasyMega and EasyTimer. One high tone for
+no continuity, one low tone for continuity. On TeleMega and EasyMegay, these are
+produced after the continuity indicators for the two
+primary igniter channels.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>For devices with a radio transmitter, in addition to
+the digital and APRS telemetry signals, you can also
+receive audio tones with a standard amateur
+70cm FM receiver. While on the pad, you will hear
+igniter status once every five seconds.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 3. Pad Radio Indications</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Beeps</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Neither</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">½ second tone</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No continuity detected on either apogee or main igniters.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on apogee igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on main igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Both</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected on both igniters.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>During ascent, the tones will be muted to allow the
+telemetry data to consume the full radio bandwidth.</p>
+</div>
+<div class="paragraph">
+<p>During descent and after landing, a ½ second tone will
+be transmitted every five seconds. This can be used to
+find the rocket using RDF techniques when the signal
+is too weak to receive GPS information via telemetry
+or APRS.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_turning_on_the_power">3.6. Turning On the Power</h3>
+<div class="paragraph">
+<p>Connect a battery and power switch and turn the switch
+to "on". The flight computer will signal power on by
+reporting the battery voltage and then perform an internal self
+test and sensor calibration.</p>
+</div>
+<div class="paragraph">
+<p>Once the self test and calibration are complete, there
+are two modes that an Altus Metrum flight computer can
+operate in:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Flight/Pad</dt>
+<dd>
+<p>The flight computer is waiting to detect
+launch and then fly the rocket. In this mode, the USB
+link is
+disabled, and the radio goes into transmit-only mode.
+The only way to get out of this
+mode is to power the flight computer down. See below for how to get the flight
+computer to come up in Flight/Pad mode at power on.</p>
+</dd>
+<dt class="hdlist1">Idle</dt>
+<dd>
+<p>The flight computer is ready to communicate over USB
+and in packet mode over the radio.
+You can configure
+the flight computer, download data or display
+the current state. See below for how to get the flight
+computer to come up in Idle mode at power on.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>For flight computers with accelerometers (TeleMetrum,
+EasyMega, TeleMega and EasyTimer), the mode is selected by the
+orientation of the board during the self test
+interval. If the board is pointing upwards as if ready
+to fly, it will enter Flight/Pad mode. Otherwise, it will
+enter Idle mode.</p>
+</div>
+<div class="paragraph">
+<p>For EasyMini, if the USB cable is connected to a
+computer, it will enter Idle mode. Otherwise, it will
+enter Flight/Pad mode.</p>
+</div>
+<div class="paragraph">
+<p>For TeleMini v1.0, if a packet link is waiting to
+connect when the device is powered on, it will enter
+Idle mode, otherwise it will enter Flight/Pad mode.</p>
+</div>
+<div class="paragraph">
+<p>You can see in <a href="#_understanding_beeps">Understanding Beeps</a>
+how to tell which mode the flight computer is in.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</h3>
+<div class="paragraph">
+<p>You can use an active switch circuit, such as the
+Featherweight Magnetic Switch, with any Altus Metrum
+flight computer. These require three connections, one to
+the battery, one to the positive power input on the flight
+computer and one to ground. Find instructions on how to
+hook these up for each flight computer below. Then follow
+the instructions that come with your active switch to
+connect it up.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</h3>
+<div class="paragraph">
+<p>As mentioned above in <a href="#_hooking_up_pyro_charges">Hooking Up Pyro Charges</a>, one
+lead for each of the pyro charges is connected through
+the power switch directly to the positive battery
+terminal. The other lead is connected to the pyro
+circuit, which connects it to the negative battery
+terminal when the pyro circuit is fired. The pyro
+circuit on all of the flight computers is designed to
+handle up to 16V.</p>
+</div>
+<div class="paragraph">
+<p>To use a separate pyro battery, connect the negative pyro
+battery terminal to the flight computer ground terminal,
+the the switched positive battery terminal to the igniter
+and the other
+igniter lead to the negative pyro terminal on the flight
+computer. When the pyro channel fires, it will complete the
+circuit between the negative pyro terminal and the ground
+terminal, firing the igniter. Specific instructions on how
+to hook this up for each flight computer will be found
+in the section below for that flight computer.</p>
+</div>
+<div class="paragraph">
+<p>Note that you must include a switch in the positive lead of
+the pyro battery for safety, as the on-board power switch
+circuit on our product only controls current flow from the
+the primary or system battery!</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</h3>
+<div class="paragraph">
+<p>EasyMini
+and EasyTimer are
+designed to use either a
+lithium polymer battery or any other battery producing
+between 4 and 12 volts, such as a rectangular 9V
+battery.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+TeleMini,
+TeleMega, EasyMega and TeleMetrum are only designed to
+operate off a single-cell Lithium Polymer battery and
+cannot be used with any other kind. Connecting a
+different kind of battery to any of these will destroy
+the board.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_packet_link_mode">3.10. Using Packet Link Mode</h3>
+<div class="paragraph">
+<p>All AltusMetrum flight computers that have a radio can
+communicate with the ground station software for
+configuration and other operations using the Packet
+Link mode. This uses radio communication instead of a
+USB cable. To set this up, the ground station software
+must be configured to the correct data rate, frequency
+and callsign.</p>
+</div>
+<div class="paragraph">
+<p>You can monitor Packet Link mode from TeleBT or
+TeleDongle by watching the LEDs. Each time the device
+transmits, the red LED will flash. When the link is
+busy, or when the link is not working, the device will
+transmit 10 times per second, so the LED will flash
+rapidly. When the link is working and there is no data
+to send, the link will flash once per second, and the
+LED will flash more slowly.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_telemetrum">4. TeleMetrum</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="telemetrum-v2.0-th.jpg" alt="telemetrum v2.0 th" width="400">
+</div>
+<div class="title">Figure 1. TeleMetrum v2 Board</div>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="telemetrum-v1.1-thside.jpg" alt="telemetrum v1.1 thside" width="400">
+</div>
+<div class="title">Figure 2. TeleMetrum v1 Board</div>
+</div>
+<div class="paragraph">
+<p>TeleMetrum is a 1 inch by 2¾ inch circuit board.  It was designed to
+fit inside coupler for 29mm air-frame tubing, but using it in a tube that
+small in diameter may require some creativity in mounting and wiring
+to succeed!  The presence of an accelerometer means TeleMetrum should
+be aligned along the flight axis of the airframe, and by default the ¼
+wave UHF wire antenna should be on the nose-cone end of the board.  The
+antenna wire is about 7 inches long, and wiring for a power switch and
+the e-matches for apogee and main ejection charges depart from the
+fin can end of the board, meaning an ideal “simple” avionics
+bay for TeleMetrum should have at least 10 inches of interior length.</p>
+</div>
+<div class="paragraph">
+<p>There are two generations of the TeleMetrum design. The
+major changes after v1 generation are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>uBlox GPS chip certified for altitude records</p>
+</li>
+<li>
+<p>Higher power radio (40mW vs 10mW)</p>
+</li>
+<li>
+<p>APRS support</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Otherwise, they&#8217;re the same size, with mounting holes and
+screw terminals in the same position.</p>
+</div>
+<div class="sect2">
+<h3 id="_telemetrum_screw_terminals">4.1. TeleMetrum Screw Terminals</h3>
+<div class="paragraph">
+<p>TeleMetrum has six screw terminals on the end of the board
+opposite the telemetry antenna. Two are for the power
+switch, and two each for the apogee and main igniter
+circuits. Using the picture above and starting from the top,
+the terminals are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 4. TeleMetrum Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_telemetrum">4.2. Using a Separate Pyro Battery with TeleMetrum</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the positive battery terminal to
+one of the igniter leads and connecting the other igniter
+lead to the per-channel pyro circuit connection.</p>
+</div>
+<div class="paragraph">
+<p>To connect the negative battery terminal to the TeleMetrum
+ground, insert a small piece of wire, 24 to 28 gauge
+stranded, into the GND hole just above the screw terminal
+strip and solder it in place.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the switched positive battery terminal to the pyro
+charges must be done separate from TeleMetrum, by soldering
+them together or using some other connector. Note that you
+must include a switch in the positive lead from the pyro
+battery for safety!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (terminal 4
+for the Main charge, terminal 6 for the Apogee charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_telemetrum">4.3. Using an Active Switch with TeleMetrum</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on screw terminal
+2, the positive flight computer input is on terminal 1. To
+hook a lead to ground, solder a piece of wire, 24 to 28
+gauge stranded, to the GND hole just above terminal 1.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_telemini">5. TeleMini</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="telemini-v3.0-top.jpg" alt="telemini v3.0 top" width="400">
+</div>
+<div class="title">Figure 3. TeleMini v3 Board</div>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="telemini-v3.0-bottom.jpg" alt="telemini v3.0 bottom" width="400">
+</div>
+</div>
+<div class="paragraph">
+<p>TeleMini v3 is 0.5 inches by 1.67 inches.  It was
+designed to fit inside an 18mm air-frame tube, but using it in
+a tube that small in diameter may require some creativity in
+mounting and wiring to succeed!  Since there is no
+accelerometer, TeleMini can be mounted in any convenient
+orientation.  The default ¼ wave UHF wire antenna attached to
+the center of one end of the board is about 7 inches long. Screw
+terminals for the power switch are located in the
+middle of the board. Screw terminals for the e-matches for
+apogee and main ejection charges depart from the other end of
+the board, meaning an ideal “simple” avionics bay for TeleMini
+should have at least 9 inches of interior length.</p>
+</div>
+<div class="sect2">
+<h3 id="_telemini_v3_screw_terminals">5.1. TeleMini v3 Screw Terminals</h3>
+<div class="paragraph">
+<p>TeleMini v3 has four screw terminals on the end of the
+board opposite the telemetry antenna. Two are for the apogee
+and two are for main igniter circuits. Another two
+screw terminals are located in the middle of the board
+for the power switch.  Using the
+picture above and starting from the top for the pyro terminals
+and from the left for the power switch terminals, the
+connections are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 5. TeleMini v3 Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Left</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Right</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_telemini_v3">5.2. Using a Separate Pyro Battery with TeleMini v3</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the switched positive battery
+terminal to one of the igniter leads and connecting the other
+igniter lead to the per-channel pyro circuit connection.
+Because there is no solid ground connection to use on
+TeleMini, this is not recommended.</p>
+</div>
+<div class="paragraph">
+<p>The only available ground connection on TeleMini v3 are
+the two mounting holes next to the telemetry
+antenna. Somehow connect a small piece of wire to one of
+those holes and hook it to the negative pyro battery terminal.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the positive battery terminal to the pyro
+charges must be done separate from TeleMini v3, by soldering
+them together or using some other connector.  Note that you
+must include a switch in the pyro battery positive lead for
+safety!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (terminal 3 for the
+Main charge, terminal 1 for the Apogee charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_telemini_v3">5.3. Using an Active Switch with TeleMini v3</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground. Again,
+because TeleMini doesn&#8217;t have any good ground connection,
+this is not recommended.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on the Right
+power switch wire, the positive flight computer input is on
+the left power switch wire. Hook a lead to either of the
+mounting holes for a ground connection.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_packet_link_mode_with_telemini">5.4. Using Packet Link Mode with TeleMini</h3>
+<div class="paragraph">
+<p>After TeleMini powers up, it will check to see if some
+device is attempting to communicate with it using
+Packet Link Mode. If so, it will switch to idle mode
+and start communicating. To switch to flight mode,
+reboot the device either over the radio link or by
+powering it off and back on.</p>
+</div>
+<div class="paragraph">
+<p>If no ground station is attempting to communicate
+using Packet Link Mode, TeleMini will enter pad mode
+and prepare for flight.</p>
+</div>
+<div class="paragraph">
+<p>The sequence of operations to use Packet Link Mode
+with TeleMini is:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Configure the ground station data rate, frequency
+and callsign to match the TeleMini settings.</p>
+</li>
+<li>
+<p>Start Packet Link Mode in the ground station by
+selecting the desired operation (Safe Flight Data,
+Configure Altimeter, Fire Igniter or Monitor
+Idle). Select the TeleBT or TeleDongle device. The
+red LED should begin flashing rapidly.</p>
+</li>
+<li>
+<p>Turn on TeleMini. You should see the red LED flash
+very rapidly during the initial communication burst,
+but it should then slow down when the link is idle.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Once TeleMini is in Idle mode, it will stay in that
+mode until rebooted. That means you can stop one
+Packet Link operation, wait a while and start another
+Packet Link operation.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_forcing_telemini_radio_parameters_to_known_defaults">5.5. Forcing TeleMini radio parameters to known defaults</h3>
+<div class="paragraph">
+<p>If you don&#8217;t know what the TeleMini frequency and
+callsign settings are, you can temporarily force it
+back to the original default values (frequency
+434.550MHz, callsign N0CALL) by connecting a wire
+between hole 3 and hole 6 on the debug connector. Hole
+3 has the square pad around it, hole 6 is the one
+nearest the MS5607 baro sensor, which is a rectangular
+component with a metal cap that has two holes in it.</p>
+</div>
+<div class="paragraph">
+<p>Once TeleMini has been powered up with this wire
+connected, the wire may be removed. The radio
+parameters will stay set to these default values until
+changed by the user or when the device is rebooted.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_telemini_v1">5.6. TeleMini v1</h3>
+<div class="paragraph">
+<p>TeleMini v1 is the earlier version of this product. It
+has a lower-power radio, less storage, no beeper and
+soldered-in wires instead of screw terminals for the
+power switch.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="telemini-v1-top.jpg" alt="telemini v1 top" width="400">
+</div>
+<div class="title">Figure 4. TeleMini v1 Board</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_easymini">6. EasyMini</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="easymini-top.jpg" alt="easymini top" width="400">
+</div>
+<div class="title">Figure 5. EasyMini Board</div>
+</div>
+<div class="paragraph">
+<p>EasyMini is built on a 0.8 inch by 1½ inch circuit board. It&#8217;s
+designed to fit in a 24mm coupler tube.</p>
+</div>
+<div class="paragraph">
+<p>You usually don&#8217;t need to configure EasyMini at all; it&#8217;s set
+up to do dual-deployment with an event at apogee to separate
+the airframe and deploy a drogue and another event at 250m
+(820ft) to deploy the main. Install EasyMini in your airframe,
+hook up a battery, igniters and a power switch and you&#8217;re
+ready to fly.</p>
+</div>
+<div class="sect2">
+<h3 id="_easymini_screw_terminals">6.1. EasyMini Screw Terminals</h3>
+<div class="paragraph">
+<p>EasyMini has two sets of four screw terminals near one end of the
+board. Using the picture
+above, the top four have connections for the main pyro
+circuit and an external battery and the bottom four have
+connections for the apogee pyro circuit and the power
+switch. Counting from the left, the connections are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 6. EasyMini Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Negative external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_connecting_a_battery_to_easymini">6.2. Connecting A Battery To EasyMini</h3>
+<div class="paragraph">
+<p>There are two possible battery connections on
+EasyMini. You can use either method; both feed
+through the power switch terminals.</p>
+</div>
+<div class="paragraph">
+<p>One battery connection is the standard Altus Metrum
+white JST plug. This mates with single-cell Lithium
+Polymer batteries sold by Altus Metrum.</p>
+</div>
+<div class="paragraph">
+<p>The other is a pair of screw terminals marked 'Battery
++' and 'Battery -'. Connect a battery from 4 to 12
+volts to these terminals, being careful to match polarity.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_charging_lithium_batteries">6.3. Charging Lithium Batteries</h3>
+<div class="paragraph">
+<p>Because EasyMini allows for batteries other than the
+standard Altus Metrum Lithium Polymer cells, it cannot
+incorporate a battery charger circuit. Therefore, when
+using a Litium Polymer cell, you&#8217;ll need an external
+charger. These are available from Altus Metrum, or
+from Spark Fun.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_easymini">6.4. Using a Separate Pyro Battery with EasyMini</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the positive battery terminal to
+one of the igniter leads and connecting the other igniter
+lead to the per-channel pyro circuit connection.</p>
+</div>
+<div class="paragraph">
+<p>To connect the negative pyro battery terminal to EasyMini
+ground, connect it to the negative external battery
+connection, top terminal 4.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the switched positive battery terminal to the pyro
+charges must be done separate from EasyMini, by soldering
+them together or using some other connector.  Note that for
+safety, you must put a switch between the pyro battery and
+the rest of the circuit!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (top
+terminal 1 for the Main charge, bottom terminal 1 for the
+Apogee charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_easymini">6.5. Using an Active Switch with EasyMini</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground. Use
+the negative external battery connection, top terminal 4 for
+ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on bottom
+terminal 4, the positive flight computer input is on the
+bottom terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_telemega">7. TeleMega</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="telemega-v1.0-top.jpg" alt="telemega v1.0 top" width="400">
+</div>
+<div class="title">Figure 6. TeleMega Board</div>
+</div>
+<div class="paragraph">
+<p>TeleMega is a 1¼ inch by 3¼ inch circuit board. It was
+designed to easily fit in a 38mm coupler. Like TeleMetrum,
+TeleMega has an accelerometer and so it must be mounted so that
+the board is aligned with the flight axis. It can be mounted
+either antenna up or down.</p>
+</div>
+<div class="paragraph">
+<p>TeleMega v2.0 has a few minor changes from v1.0:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Companion connector matches EasyMega functions</p>
+</li>
+<li>
+<p>Serial port connector replaced with servo connector with
+support for up to 4 PWM channels.</p>
+</li>
+<li>
+<p>Radio switched from cc1120 to cc1200.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>None of these affect operation using the stock firmware, but
+they do mean that the device needs different firmware to
+operate correctly, so make sure you load the right firmware
+when reflashing the device.</p>
+</div>
+<div class="sect2">
+<h3 id="_telemega_screw_terminals">7.1. TeleMega Screw Terminals</h3>
+<div class="paragraph">
+<p>TeleMega has two sets of nine screw terminals on the end of
+the board opposite the telemetry antenna. They are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 7. TeleMega Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for use with external active switch</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for negative pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lipo</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Power switch output. Use to connect main battery to pyro battery input</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel common connection to battery +</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_telemega">7.2. Using a Separate Pyro Battery with TeleMega</h3>
+<div class="paragraph">
+<p>TeleMega provides explicit support for an external pyro
+battery. All that is required is to remove the jumper
+between the lipo terminal (Bottom 3) and the pyro terminal
+(Bottom 2). Then hook the negative pyro battery terminal to
+ground (Bottom 1) and the switched positive pyro battery to
+the pyro battery input (Bottom 2). Note that you must include
+a switch between the pyro battery and the board for safety,
+as the on-board power switch circuit only supports the primary
+battery!  You can then use the existing pyro screw
+terminals to hook up all of the pyro charges.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_only_one_battery_with_telemega">7.3. Using Only One Battery With TeleMega</h3>
+<div class="paragraph">
+<p>Because TeleMega has built-in support for a separate pyro
+battery, if you want to fly with just one battery running
+both the computer and firing the charges, you need to
+connect the flight computer battery to the pyro
+circuit. TeleMega has two screw terminals for this—hook a
+wire from the Lipo terminal (Bottom 3) to the Pyro terminal
+(Bottom 2).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_telemega">7.4. Using an Active Switch with TeleMega</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on Top terminal
+1, the positive flight computer input is on Top terminal
+2. Ground is on Top terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_easymega">8. EasyMega</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="easymega-v1.0-top.jpg" alt="easymega v1.0 top" width="400">
+</div>
+<div class="title">Figure 7. EasyMega Board</div>
+</div>
+<div class="paragraph">
+<p>EasyMega is a 1¼ inch by 2¼ inch circuit board. It was
+designed to easily fit in a 38mm coupler. Like TeleMetrum,
+EasyMega has an accelerometer and so it must be mounted so that
+the board is aligned with the flight axis. It can be mounted
+either antenna up or down.</p>
+</div>
+<div class="sect2">
+<h3 id="_easymega_screw_terminals">8.1. EasyMega Screw Terminals</h3>
+<div class="paragraph">
+<p>EasyMega has two sets of nine screw terminals on the end of
+the board opposite the telemetry antenna. They are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 8. EasyMega Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for use with external active switch</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for negative pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lipo</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Power switch output. Use to connect main battery to pyro battery input</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel common connection to battery +</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_easymega">8.2. Using a Separate Pyro Battery with EasyMega</h3>
+<div class="paragraph">
+<p>EasyMega provides explicit support for an external pyro
+battery. All that is required is to remove the jumper
+between the lipo terminal (Bottom 3) and the pyro terminal
+(Bottom 2). Then hook the negative pyro battery terminal to
+ground (Bottom 1) and the switched positive pyro battery to
+the pyro battery input (Bottom 2). Note that you must include
+a switch between the pyro battery and the board for safety,
+as the on-board power switch circuit only supports the primary
+battery!  You can then use the existing pyro screw
+terminals to hook up all of the pyro charges.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_only_one_battery_with_easymega">8.3. Using Only One Battery With EasyMega</h3>
+<div class="paragraph">
+<p>Because EasyMega has built-in support for a separate pyro
+battery, if you want to fly with just one battery running
+both the computer and firing the charges, you need to
+connect the flight computer battery to the pyro
+circuit. EasyMega has two screw terminals for this—hook a
+wire from the Lipo terminal (Bottom 3) to the Pyro terminal
+(Bottom 2).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_easymega">8.4. Using an Active Switch with EasyMega</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on Top terminal
+1, the positive flight computer input is on Top terminal
+2. Ground is on Top terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_easytimer">9. EasyTimer</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="easytimer.jpg" alt="easytimer" width="400">
+</div>
+<div class="title">Figure 8. EasyTimer Board</div>
+</div>
+<div class="paragraph">
+<p>EasyTimer is built on a 0.8 inch by 1½ inch circuit board. It&#8217;s
+designed to fit in a 24mm coupler tube.</p>
+</div>
+<div class="paragraph">
+<p>EasyTimer is designed to control events during ascent. It has
+an accelerometer and gyroscope that can measure acceleration
+and rotation and compute speed and tilt angle. EasyTimer has
+two pyro channels which can be configured to fire at various
+points during flight. Because EasyTimer has no barometric
+sensor, it cannot be used to fire recovery charges at apogee
+or during descent. EasyTimer is configured using the AltosUI
+application which is available for Linux, Mac OS X and Windows.</p>
+</div>
+<div class="sect2">
+<h3 id="_easytimer_screw_terminals">9.1. EasyTimer Screw Terminals</h3>
+<div class="paragraph">
+<p>EasyTimer has two sets of four screw terminals near
+one end of the board. Using the picture above, the top
+four have connections for pyro channel B and an
+external battery and the bottom four have connections
+for pyro circuit A and the power switch. Counting from
+the left, the connections are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 9. EasyTimer Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel B connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel B common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Negative external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel A connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel A common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_connecting_a_battery_to_easytimer">9.2. Connecting A Battery To EasyTimer</h3>
+<div class="paragraph">
+<p>There are two possible battery connections on
+EasyTimer. You can use either method; both feed
+through the power switch terminals.</p>
+</div>
+<div class="paragraph">
+<p>One battery connection is the standard Altus Metrum
+white JST plug. This mates with single-cell Lithium
+Polymer batteries sold by Altus Metrum.</p>
+</div>
+<div class="paragraph">
+<p>The other is a pair of screw terminals marked 'Battery
++' and 'Battery -'. Connect a battery from 4 to 12
+volts to these terminals, being careful to match polarity.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_charging_lithium_batteries_2">9.3. Charging Lithium Batteries</h3>
+<div class="paragraph">
+<p>Because EasyTimer allows for batteries other than the
+standard Altus Metrum Lithium Polymer cells, it cannot
+incorporate a battery charger circuit. Therefore, when
+using a Litium Polymer cell, you&#8217;ll need an external
+charger. These are available from Altus Metrum, or
+from Spark Fun.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_easytimer">9.4. Using a Separate Pyro Battery with EasyTimer</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the positive battery terminal to
+one of the igniter leads and connecting the other igniter
+lead to the per-channel pyro circuit connection.</p>
+</div>
+<div class="paragraph">
+<p>To connect the negative pyro battery terminal to EasyTimer
+ground, connect it to the negative external battery
+connection, top terminal 4.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the switched positive battery terminal to the pyro
+charges must be done separate from EasyTimer, by soldering
+them together or using some other connector.  Note that for
+safety, you must put a switch between the pyro battery and
+the rest of the circuit!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (top
+terminal 1 for pyro channel A charge, bottom terminal 1 for
+pyro channel B charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_easytimer">9.5. Using an Active Switch with EasyTimer</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground. Use
+the negative external battery connection, top terminal 4 for
+ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on bottom
+terminal 4, the positive flight computer input is on the
+bottom terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installation">10. Installation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A typical installation involves attaching
+only a suitable battery, a single pole switch for
+power on/off, and two pairs of wires connecting e-matches for the
+apogee and main ejection charges.  All Altus Metrum products are
+designed for use with single-cell batteries with 3.7 volts
+nominal.
+EasyMini may also be used with other
+batteries as long as they supply between 4 and 12 volts.</p>
+</div>
+<div class="paragraph">
+<p>The battery connectors are a standard 2-pin JST connector; you
+can purchase suitable batteries from the any vendor selling
+Altus Metrum products. These batteries are
+single-cell Lithium Polymer batteries that nominally provide 3.7
+volts.  Other vendors sell similar batteries for RC aircraft
+using mating connectors, however the polarity for those is
+generally reversed from the batteries used by Altus Metrum
+products. In particular, the Tenergy batteries supplied for use
+in Featherweight flight computers are not compatible with Altus
+Metrum flight computers or battery chargers.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Check polarity and voltage before connecting any battery not
+purchased from Altus Metrum.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Spark Fun sells batteries that have a matching connector with
+the correct polarity. However, these batteries include an
+integrated current limiting circuit. That circuit will cause
+the battery to shut down when firing the igniter circuit. Do
+not use these batteries unless you remove the current limiting
+circuit.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>By default, we use the unregulated output of the battery
+directly to fire ejection charges.  This works marvelously
+with standard low-current e-matches like the J-Tek from MJG
+Technologies, and with Quest Q2G2 igniters.  However, if you
+want or need to use a separate pyro battery, check out
+<a href="#_using_a_separate_pyro_battery">Using a Separate Pyro Battery</a> for instructions on how to wire
+that up. The altimeters are designed to work with an external
+pyro battery of no more than 15 volts.</p>
+</div>
+<div class="paragraph">
+<p>Ejection charges are wired directly to the screw terminal block
+at the aft end of the altimeter.  You&#8217;ll need a very small straight
+blade screwdriver for these screws, such as you might find in a
+jeweler&#8217;s screwdriver set.</p>
+</div>
+<div class="paragraph">
+<p>Except for TeleMini v1.0, the flight computers also use the
+screw terminal block for the power switch leads. On TeleMini v1.0,
+the power switch leads are soldered directly to the board and
+can be connected directly to a switch.</p>
+</div>
+<div class="paragraph">
+<p>For most air-frames, the integrated antennas are more than
+adequate.   However, if you are installing in a carbon-fiber or
+metal electronics bay which is opaque to RF signals, you may need to
+use off-board external antennas instead.  In this case, you can
+replace the stock UHF antenna wire with an edge-launched SMA connector,
+and, on TeleMetrum v1, you can unplug the integrated GPS
+antenna and select an appropriate off-board GPS antenna with
+cable terminating in a U.FL connector.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_altus_metrum_products">11. Using Altus Metrum Products</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_being_legal">11.1. Being Legal</h3>
+<div class="paragraph">
+<p>In the US, you need an
+<a href="http://www.altusmetrum.org/Radio/">amateur radio license</a>
+or other authorization to legally operate the radio
+transmitters that are part of our products.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_in_the_rocket">11.2. In the Rocket</h3>
+<div class="paragraph">
+<p>In the rocket itself, you just need a flight computer
+and a single-cell, 3.7 volt nominal Li-Po rechargeable
+battery.
+An 850mAh battery weighs less than a 9V
+alkaline battery, and will run a TeleMetrum, TeleMega,
+EasyMega or EasyTimer for hours.
+A 110mAh battery weighs less
+than a triple A battery and is a good choice for use
+with
+TeleMini or
+EasyMini.</p>
+</div>
+<div class="paragraph">
+<p>By default, we ship TeleMini, TeleMetrum and TeleMega
+flight computers with a simple wire antenna.  If your
+electronics bay or the air-frame it resides within is
+made of carbon fiber, which is opaque to RF signals,
+you may prefer to install an SMA connector so that you
+can run a coaxial cable to an antenna mounted
+elsewhere in the rocket.  However, note that the GPS
+antenna is fixed on all current products, so you
+really want to install the flight computer in a bay
+made of RF-transparent materials if at all possible.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_on_the_ground">11.3. On the Ground</h3>
+<div class="paragraph">
+<p>To receive the data stream from the rocket, you need
+an antenna and short feed-line connected to one of our
+<a href="http://www.altusmetrum.org/TeleDongle/">TeleDongle</a>
+units.  If possible, use an SMA to BNC adapter instead
+of feedline between the antenna feedpoint and
+TeleDongle, as this will give you the best
+performance.  The TeleDongle in turn plugs directly
+into the USB port on a notebook computer.  Because
+TeleDongle looks like a simple serial port, your
+computer does not require special device
+drivers&#8230;&#8203; just plug it in.</p>
+</div>
+<div class="paragraph">
+<p>The GUI tool, AltosUI, is written in Java and runs
+across Linux, Mac OS and Windows. There&#8217;s also a suite
+of C tools for Linux which can perform most of the
+same tasks.</p>
+</div>
+<div class="paragraph">
+<p>Alternatively, a TeleBT attached with an SMA to BNC
+adapter at the feed point of a hand-held yagi used in
+conjunction with an Android device running AltosDroid
+makes an outstanding ground station.</p>
+</div>
+<div class="paragraph">
+<p>After the flight,
+you can use the radio link to
+extract the more detailed data logged in either
+TeleMetrum or TeleMini devices, or
+you can use a
+USB cable to plug into the flight computer board directly.
+A USB cable is also how you
+charge the Li-Po battery, so you&#8217;ll want one of those
+anyway. The same cable used by lots of digital
+cameras and other modern electronic stuff will work
+fine.</p>
+</div>
+<div class="paragraph">
+<p>If your rocket lands out of sight, you may enjoy
+having a hand-held GPS receiver, so that you can put
+in a way-point for the last reported rocket position
+before touch-down.  This makes looking for your rocket
+a lot like Geo-Caching&#8230;&#8203; just go to the way-point and
+look around starting from there.  AltosDroid on an
+Android device with GPS receiver works great for this,
+too!</p>
+</div>
+<div class="paragraph">
+<p>You may also enjoy having a ham radio “HT” that covers
+the 70cm band&#8230;&#8203; you can use that with your antenna to
+direction-find the rocket on the ground the same way
+you can use a Walston or Beeline tracker.  This can be
+handy if the rocket is hiding in sage brush or a tree,
+or if the last GPS position doesn&#8217;t get you close
+enough because the rocket dropped into a canyon, or
+the wind is blowing it across a dry lake bed, or
+something like that&#8230;&#8203;  Keith currently uses a Yaesu
+FT1D, Bdale has a Yaesu VX-7R, which is a nicer radio
+in most ways but doesn&#8217;t support APRS.</p>
+</div>
+<div class="paragraph">
+<p>So, to recap, on the ground the hardware you&#8217;ll need includes:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>an antenna and feed-line or adapter</p>
+</li>
+<li>
+<p>a TeleDongle</p>
+</li>
+<li>
+<p>a notebook computer</p>
+</li>
+<li>
+<p>optionally, a hand-held GPS receiver</p>
+</li>
+<li>
+<p>optionally, an HT or receiver covering 435 MHz</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The best hand-held commercial directional antennas we&#8217;ve found for radio
+direction finding rockets are from
+<a href="http://www.arrowantennas.com/">Arrow Antennas</a>.</p>
+</div>
+<div class="paragraph">
+<p>The 440-3 and 440-5 are both good choices for finding
+a TeleMetrum- or TeleMini- equipped rocket when used
+with a suitable 70cm HT.  TeleDongle and an SMA to BNC
+adapter fit perfectly between the driven element and
+reflector of Arrow antennas.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_data_analysis">11.4. Data Analysis</h3>
+<div class="paragraph">
+<p>Our software makes it easy to log the data from each
+flight, both the telemetry received during the flight
+itself, and the more complete data log recorded in the
+flash memory on the altimeter board.  Once this data
+is on your computer, our post-flight tools make it
+easy to quickly get to the numbers everyone wants,
+like apogee altitude, max acceleration, and max
+velocity.  You can also generate and view a standard
+set of plots showing the altitude, acceleration, and
+velocity of the rocket during flight.  And you can
+even export a flight log in a format usable with Google
+Maps and Google Earth for visualizing the flight path
+in two or three dimensions!</p>
+</div>
+<div class="paragraph">
+<p>Our ultimate goal is to emit a set of files for each
+flight that can be published as a web page per flight,
+or just viewed on your local disk with a web browser.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_future_plans">11.5. Future Plans</h3>
+<div class="paragraph">
+<p>We have designed and prototyped several “companion
+boards” that can attach to the companion connector on
+TeleMetrum, TeleMega and EasyMega flight computers to
+collect more data, provide more pyro channels, and so
+forth.  We do not yet know if or when any of these
+boards will be produced in enough quantity to sell.
+If you have specific interests for data collection or
+control of events in your rockets beyond the
+capabilities of our existing productions, please let
+us know!</p>
+</div>
+<div class="paragraph">
+<p>Because all of our work is open, both the hardware
+designs and the software, if you have some great idea
+for an addition to the current Altus Metrum family,
+feel free to dive in and help!  Or let us know what
+you&#8217;d like to see that we aren&#8217;t already working on,
+and maybe we&#8217;ll get excited about it too&#8230;&#8203;</p>
+</div>
+<div class="paragraph">
+<p>Watch our <a href="http://altusmetrum.org/">web site</a> for
+more news and information as our family of products
+evolves!</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_altosui">12. AltosUI</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="altosui.png" alt="altosui" width="450">
+</div>
+<div class="title">Figure 9. AltosUI Main Window</div>
+</div>
+<div class="paragraph">
+<p>The AltosUI program provides a graphical user interface for
+interacting with the Altus Metrum product family. AltosUI can
+monitor telemetry data, configure devices and many other
+tasks. The primary interface window provides a selection of
+buttons, one for each major activity in the system.  This
+chapter is split into sections, each of which documents one of
+the tasks provided from the top-level toolbar.</p>
+</div>
+<div class="sect2">
+<h3 id="_monitor_flight">12.1. Monitor Flight</h3>
+<div class="paragraph">
+<p>Selecting this item brings up a dialog box listing all
+of the connected TeleDongle devices. When you choose
+one of these, AltosUI will create a window to display
+telemetry data as received by the selected TeleDongle
+device.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="device-selection.png" alt="device selection" width="300">
+</div>
+<div class="title">Figure 10. Device Selection Dialog</div>
+</div>
+<div class="paragraph">
+<p>All telemetry data received are automatically recorded
+in suitable log files. The name of the files includes
+the current date and rocket serial and flight numbers.</p>
+</div>
+<div class="paragraph">
+<p>The radio frequency being monitored by the TeleDongle
+device is displayed at the top of the window. You can
+configure the frequency by clicking on the frequency
+box and selecting the desired frequency. AltosUI
+remembers the last frequency selected for each
+TeleDongle and selects that automatically the next
+time you use that device.</p>
+</div>
+<div class="paragraph">
+<p>Below the TeleDongle frequency selector, the window
+contains a few significant pieces of information about
+the altimeter providing the telemetry data stream:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The configured call-sign</p>
+</li>
+<li>
+<p>The device serial number</p>
+</li>
+<li>
+<p>The flight number. Each altimeter remembers how
+many times it has flown.</p>
+</li>
+<li>
+<p>The rocket flight state. Each flight passes through
+several states including Pad, Boost, Fast, Coast,
+Drogue, Main and Landed.</p>
+</li>
+<li>
+<p>The Received Signal Strength Indicator value. This
+lets you know how strong a signal TeleDongle is
+receiving. At the default data rate, 38400 bps, in
+bench testing, the radio inside TeleDongle v0.2
+operates down to about -106dBm, while the v3 radio
+works down to about -111dBm.  Weaker signals, or an
+environment with radio noise may cause the data to
+not be received. The packet link uses error
+detection and correction techniques which prevent
+incorrect data from being reported.</p>
+</li>
+<li>
+<p>The age of the displayed data, in seconds since the
+last successfully received telemetry packet.  In
+normal operation this will stay in the low single
+digits.  If the number starts counting up, then you
+are no longer receiving data over the radio link
+from the flight computer.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Finally, the largest portion of the window contains a
+set of tabs, each of which contain some information
+about the rocket.  They&#8217;re arranged in 'flight order'
+so that as the flight progresses, the selected tab
+automatically switches to display data relevant to the
+current state of the flight. You can select other tabs
+at any time. The final 'table' tab displays all of the
+raw telemetry values in one place in a
+spreadsheet-like format.</p>
+</div>
+<div class="sect3">
+<h4 id="_launch_pad">12.1.1. Launch Pad</h4>
+<div class="imageblock">
+<div class="content">
+<img src="launch-pad.png" alt="launch pad" width="400">
+</div>
+<div class="title">Figure 11. Monitor Flight Launch Pad View</div>
+</div>
+<div class="paragraph">
+<p>The 'Launch Pad' tab shows information used to decide when the
+rocket is ready for flight. The first elements include red/green
+indicators, if any of these is red, you&#8217;ll want to evaluate
+whether the rocket is ready to launch:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Battery Voltage</dt>
+<dd>
+<p>This indicates whether the Li-Po battery powering the
+flight computer has sufficient charge to last for
+the duration of the flight. A value of more than
+3.8V is required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Apogee Igniter Voltage</dt>
+<dd>
+<p>This indicates whether the apogee
+igniter has continuity. If the igniter has a low
+resistance, then the voltage measured here will be close
+to the Li-Po battery voltage. A value greater than 3.2V is
+required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Main Igniter Voltage</dt>
+<dd>
+<p>This indicates whether the main
+igniter has continuity. If the igniter has a low
+resistance, then the voltage measured here will be close
+to the Li-Po battery voltage. A value greater than 3.2V is
+required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">On-board Data Logging</dt>
+<dd>
+<p>This indicates whether there is space remaining
+on-board to store flight data for the upcoming
+flight. If you&#8217;ve downloaded data, but failed to erase
+flights, there may not be any space left. Most of our
+flight computers can store multiple flights, depending
+on the configured maximum flight log size. TeleMini
+v1.0 stores only a single flight, so it will need to
+be downloaded and erased after each flight to capture
+data. This only affects on-board flight logging; the
+altimeter will still transmit telemetry and fire
+ejection charges at the proper times even if the
+flight data storage is full.</p>
+</dd>
+<dt class="hdlist1">GPS Locked</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether the GPS receiver is currently able to compute
+position information. GPS requires at least 4
+satellites to compute an accurate position.</p>
+</dd>
+<dt class="hdlist1">GPS Ready</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether GPS has reported at least 10 consecutive
+positions without losing lock. This ensures that the
+GPS receiver has reliable reception from the
+satellites.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The Launchpad tab also shows the computed launch pad
+position and altitude, averaging many reported
+positions to improve the accuracy of the fix.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_ascent">12.1.2. Ascent</h4>
+<div class="imageblock">
+<div class="content">
+<img src="ascent.png" alt="ascent" width="400">
+</div>
+<div class="title">Figure 12. Monitor Flight Ascent View</div>
+</div>
+<div class="paragraph">
+<p>This tab is shown during Boost, Fast and Coast
+phases. The information displayed here helps monitor the
+rocket as it heads towards apogee.</p>
+</div>
+<div class="paragraph">
+<p>The height, speed, acceleration and tilt are shown along
+with the maximum values for each of them. This allows you to
+quickly answer the most commonly asked questions you&#8217;ll hear
+during flight.</p>
+</div>
+<div class="paragraph">
+<p>The current latitude and longitude reported by the GPS are
+also shown. Note that under high acceleration, these values
+may not get updated as the GPS receiver loses position
+fix. Once the rocket starts coasting, the receiver should
+start reporting position again.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the current igniter voltages are reported as in the
+Launch Pad tab. This can help diagnose deployment failures
+caused by wiring which comes loose under high acceleration.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_descent">12.1.3. Descent</h4>
+<div class="imageblock">
+<div class="content">
+<img src="descent.png" alt="descent" width="400">
+</div>
+<div class="title">Figure 13. Monitor Flight Descent View</div>
+</div>
+<div class="paragraph">
+<p>Once the rocket has reached apogee and (we hope)
+activated the apogee charge, attention switches to
+tracking the rocket on the way back to the ground, and
+for dual-deploy flights, waiting for the main charge
+to fire.</p>
+</div>
+<div class="paragraph">
+<p>To monitor whether the apogee charge operated
+correctly, the current descent rate is reported along
+with the current height. Good descent rates vary based
+on the choice of recovery components, but generally
+range from 15-30m/s on drogue and should be below
+10m/s when under the main parachute in a dual-deploy
+flight.</p>
+</div>
+<div class="paragraph">
+<p>With GPS-equipped flight computers, you can locate the
+rocket in the sky using the elevation and bearing
+information to figure out where to look. Elevation is
+in degrees above the horizon. Bearing is reported in
+degrees relative to true north. Range can help figure
+out how big the rocket will appear. Ground Distance
+shows how far it is to a point directly under the
+rocket and can help figure out where the rocket is
+likely to land. Note that all of these values are
+relative to the pad location. If the elevation is near
+90°, the rocket is over the pad, not over you.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the igniter voltages are reported in this tab
+as well, both to monitor the main charge as well as to
+see what the status of the apogee charge is.  Note
+that some commercial e-matches are designed to retain
+continuity even after being fired, and will continue
+to show as green or return from red to green after
+firing.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_landed">12.1.4. Landed</h4>
+<div class="imageblock">
+<div class="content">
+<img src="landed.png" alt="landed" width="400">
+</div>
+<div class="title">Figure 14. Monitor Flight Landed View</div>
+</div>
+<div class="paragraph">
+<p>Once the rocket is on the ground, attention switches
+to recovery. While the radio signal is often lost once
+the rocket is on the ground, the last reported GPS
+position is generally within a short distance of the
+actual landing location.</p>
+</div>
+<div class="paragraph">
+<p>The last reported GPS position is reported both by
+latitude and longitude as well as a bearing and
+distance from the launch pad. The distance should give
+you a good idea of whether to walk or hitch a ride.
+Take the reported latitude and longitude and enter
+them into your hand-held GPS unit and have that
+compute a track to the landing location.</p>
+</div>
+<div class="paragraph">
+<p>Our flight computers will continue to transmit RDF
+tones after landing, allowing you to locate the rocket
+by following the radio signal if necessary. You may
+need to get away from the clutter of the flight line,
+or even get up on a hill (or your neighbor&#8217;s RV roof)
+to receive the RDF signal.</p>
+</div>
+<div class="paragraph">
+<p>The maximum height, speed and acceleration reported
+during the flight are displayed for your admiring
+observers.  The accuracy of these immediate values
+depends on the quality of your radio link and how many
+packets were received.  Recovering the on-board data
+after flight may yield more precise results.</p>
+</div>
+<div class="paragraph">
+<p>To get more detailed information about the flight, you
+can click on the 'Graph Flight' button which will
+bring up a graph window for the current flight.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_table">12.1.5. Table</h4>
+<div class="imageblock">
+<div class="content">
+<img src="table.png" alt="table" width="400">
+</div>
+<div class="title">Figure 15. Monitor Flight Table View</div>
+</div>
+<div class="paragraph">
+<p>The table view shows all of the data available from the
+flight computer. Probably the most useful data on
+this tab is the detailed GPS information, which includes
+horizontal dilution of precision information, and
+information about the signal being received from the satellites.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_site_map">12.1.6. Site Map</h4>
+<div class="imageblock">
+<div class="content">
+<img src="site-map.png" alt="site map" width="400">
+</div>
+<div class="title">Figure 16. Monitor Flight Site Map View</div>
+</div>
+<div class="paragraph">
+<p>When the TeleMetrum has a GPS fix, the Site Map tab
+will map the rocket&#8217;s position to make it easier for
+you to locate the rocket, both while it is in the air,
+and when it has landed. The rocket&#8217;s state is
+indicated by color: white for pad, red for boost, pink
+for fast, yellow for coast, light blue for drogue,
+dark blue for main, and black for landed.</p>
+</div>
+<div class="paragraph">
+<p>The map&#8217;s default scale is approximately 3m (10ft) per
+pixel. The map can be dragged using the left mouse
+button. The map will attempt to keep the rocket
+roughly centered while data is being received.</p>
+</div>
+<div class="paragraph">
+<p>You can adjust the style of map and the zoom level
+with buttons on the right side of the map window. You
+can draw a line on the map by moving the mouse over
+the map with a button other than the left one pressed,
+or by pressing the left button while also holding down
+the shift key. The length of the line in real-world
+units will be shown at the start of the line.</p>
+</div>
+<div class="paragraph">
+<p>Images are fetched automatically via the Google Maps
+Static API, and cached on disk for reuse. If map
+images cannot be downloaded, the rocket&#8217;s path will be
+traced on a dark gray background instead.</p>
+</div>
+<div class="paragraph">
+<p>You can pre-load images for your favorite launch sites
+before you leave home; check out <a href="#_load_maps">Load Maps</a>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_igniter">12.1.7. Igniter</h4>
+<div class="imageblock">
+<div class="content">
+<img src="ignitor.png" alt="ignitor" width="400">
+</div>
+<div class="title">Figure 17. Monitor Flight Additional Igniter View</div>
+</div>
+<div class="paragraph">
+<p>TeleMega includes four additional programmable pyro
+channels. The Ignitor tab shows whether each of them has
+continuity. If an ignitor has a low resistance, then the
+voltage measured here will be close to the pyro battery
+voltage. A value greater than 3.2V is required for a 'GO'
+status.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_save_flight_data">12.2. Save Flight Data</h3>
+<div class="paragraph">
+<p>The altimeter records flight data to its internal
+flash memory.
+Data logged on board is recorded at a much
+higher rate than the telemetry system can handle, and
+is not subject to radio drop-outs. As such, it
+provides a more complete and precise record of the
+flight.
+The 'Save Flight Data' button allows you to
+read the flash memory and write it to disk.</p>
+</div>
+<div class="paragraph">
+<p>Clicking on the 'Save Flight Data' button brings up a
+list of connected flight computers and TeleDongle
+devices. If you select a flight computer, the flight
+data will be downloaded from that device directly.
+If you select a TeleDongle device, flight data will be
+downloaded from a flight computer over radio link via
+the specified TeleDongle. See
+<a href="#_controlling_an_altimeter_over_the_radio_link">Controlling An Altimeter Over The Radio Link</a> for
+more information.</p>
+</div>
+<div class="paragraph">
+<p>After the device has been selected, a dialog showing
+the flight data saved in the device will be shown
+allowing you to select which flights to download and
+which to delete. With version 0.9 or newer firmware,
+you must erase flights in order for the space they
+consume to be reused by another flight. This prevents
+accidentally losing flight data if you neglect to
+download data before flying again. Note that if there
+is no more space available in the device, then no data
+will be recorded during the next flight.</p>
+</div>
+<div class="paragraph">
+<p>The file name for each flight log is computed
+automatically from the recorded flight date, altimeter
+serial number and flight number information.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_replay_flight">12.3. Replay Flight</h3>
+<div class="paragraph">
+<p>Select this button and you are prompted to select a flight
+record file, either a .telem file recording telemetry data or a
+.eeprom file containing flight data saved from the altimeter
+flash memory.</p>
+</div>
+<div class="paragraph">
+<p>Once a flight record is selected, the flight monitor interface
+is displayed and the flight is re-enacted in real
+time.
+Check
+<a href="#_monitor_flight">Monitor Flight</a> to learn how this window operates.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_graph_data">12.4. Graph Data</h3>
+<div class="paragraph">
+<p>Select this button and you are prompted to select a flight
+record file, either a .telem file recording telemetry data or a
+.eeprom file containing flight data saved from
+flash memory.</p>
+</div>
+<div class="paragraph">
+<p>Note that telemetry files will generally produce poor graphs
+due to the lower sampling rate and missed telemetry packets.
+Use saved flight data in .eeprom files for graphing where possible.</p>
+</div>
+<div class="paragraph">
+<p>Once a flight record is selected, a window with multiple tabs is
+opened.</p>
+</div>
+<div class="sect3">
+<h4 id="_flight_graph">12.4.1. Flight Graph</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph.png" alt="graph" width="400">
+</div>
+<div class="title">Figure 18. Flight Data Graph</div>
+</div>
+<div class="paragraph">
+<p>By default, the graph contains acceleration (blue),
+velocity (green) and altitude (red).</p>
+</div>
+<div class="paragraph">
+<p>The graph can be zoomed into a particular area by
+clicking and dragging down and to the right. Once
+zoomed, the graph can be reset by clicking and
+dragging up and to the left. Holding down control and
+clicking and dragging allows the graph to be panned.
+The right mouse button causes a pop-up menu to be
+displayed, giving you the option save or print the
+plot.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configure_graph">12.4.2. Configure Graph</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph-configure.png" alt="graph configure" width="400">
+</div>
+<div class="title">Figure 19. Flight Graph Configuration</div>
+</div>
+<div class="paragraph">
+<p>This selects which graph elements to show, and, at the
+very bottom. It also lets you configure how
+the graph is drawn:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Whether to use metric or imperial units</p>
+</li>
+<li>
+<p>Whether to show a marker at each data
+point. When displaying a small section of
+the graph, these can be useful to know what
+data values were recorded.</p>
+</li>
+<li>
+<p>How wide to draw the lines in the graph</p>
+</li>
+<li>
+<p>How to filter speed and acceleration data
+computed from barometric data. Flight
+computers with accelerometers never display
+computed acceleration data, and only use
+barometric data to compute speed during
+descent. Flight computers without
+accelerometers always compute both speed and
+acceleration from barometric data. A larger
+value smooths the data more.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_flight_statistics">12.4.3. Flight Statistics</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph-stats.png" alt="graph stats" width="400">
+</div>
+<div class="title">Figure 20. Flight Statistics</div>
+</div>
+<div class="paragraph">
+<p>Shows overall data computed from the flight.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_map">12.4.4. Map</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph-map.png" alt="graph map" width="400">
+</div>
+<div class="title">Figure 21. Flight Map</div>
+</div>
+<div class="paragraph">
+<p>Shows a satellite image of the flight area
+overlaid with the path of the flight. The
+flight path will have different colored
+sections for each state of the flight (just
+like the Site Map in Monitor Flight mode):
+white for pad, red for boost, pink for fast,
+yellow for coast, light blue for drogue, dark
+blue for main, and black for landed.</p>
+</div>
+<div class="paragraph">
+<p>The red concentric circles mark the launch
+pad, the black concentric circles mark the
+landing location. Data for the point along the
+along the flight path nearest the cursor will
+be displayed at the bottom of the window. This
+data includes flight time (so you can
+correlate data in the graph window), latitude,
+longitude, height above ground and vertical
+speed. The selected point will be highlighted
+with concentric circles in the same color as
+the flight path at that point.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_export_data">12.5. Export Data</h3>
+<div class="paragraph">
+<p>This tool takes the raw data files and makes them
+available for external analysis. When you select this
+button, you are prompted to select a flight data file,
+which can be either a .eeprom or .telem.  The .eeprom
+files contain higher resolution and more continuous
+data, while .telem files contain receiver signal
+strength information.  Next, a second dialog appears
+which is used to select where to write the resulting
+file.
+It has a selector to choose between CSV and KML
+file formats.</p>
+</div>
+<div class="sect3">
+<h4 id="_comma_separated_value_format">12.5.1. Comma Separated Value Format</h4>
+<div class="paragraph">
+<p>This is a text file containing the data in a form
+suitable for import into a spreadsheet or other
+external data analysis tool. The first few lines of
+the file contain the version and configuration
+information from the altimeter, then there is a single
+header line which labels all of the fields. All of
+these lines start with a '#' character which many
+tools can be configured to skip over.</p>
+</div>
+<div class="paragraph">
+<p>The remaining lines of the file contain the data, with
+each field separated by a comma and at least one
+space. All of the sensor values are converted to
+standard units, with the barometric data reported in
+both pressure, altitude and height above pad units.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_keyhole_markup_language_for_google_earth">12.5.2. Keyhole Markup Language (for Google Earth)</h4>
+<div class="paragraph">
+<p>This is the format used by Google Earth to provide an
+overlay within that application. With this, you can
+use Google Earth to see the whole flight path
+in 3D.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configure_altimeter">12.6. Configure Altimeter</h3>
+<div class="imageblock">
+<div class="content">
+<img src="configure-altimeter.png" alt="configure altimeter" width="350">
+</div>
+<div class="title">Figure 22. Altimeter Configuration</div>
+</div>
+<div class="paragraph">
+<p>Select this button and then select either an altimeter or
+TeleDongle Device from the list provided. Selecting a TeleDongle
+device will use the radio link to configure a remote
+altimeter.</p>
+</div>
+<div class="paragraph">
+<p>The first few lines of the dialog provide information about the
+connected device, including the product name,
+software version and hardware serial number. Below that are the
+individual configuration entries.</p>
+</div>
+<div class="paragraph">
+<p>At the bottom of the dialog, there are four buttons:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Save</dt>
+<dd>
+<p>This writes any changes to the configuration parameter
+block in flash memory. If you don&#8217;t press this button,
+any changes you make will be lost.</p>
+</dd>
+<dt class="hdlist1">Reset</dt>
+<dd>
+<p>This resets the dialog to the most recently saved
+values, erasing any changes you have made.</p>
+</dd>
+<dt class="hdlist1">Reboot</dt>
+<dd>
+<p>This reboots the device. Use this to switch from idle
+to pad mode by rebooting once the rocket is oriented
+for flight, or to confirm changes you think you saved
+are really saved.</p>
+</dd>
+<dt class="hdlist1">Close</dt>
+<dd>
+<p>This closes the dialog. Any unsaved changes will be
+lost.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The rest of the dialog contains the parameters to be configured.</p>
+</div>
+<div class="sect3">
+<h4 id="_main_deploy_altitude">12.6.1. Main Deploy Altitude</h4>
+<div class="paragraph">
+<p>This sets the altitude (above the recorded pad
+altitude) at which the 'main' igniter will fire. The
+drop-down menu shows some common values, but you can
+edit the text directly and choose whatever you
+like. If the apogee charge fires below this altitude,
+then the main charge will fire two seconds after the
+apogee charge fires.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_apogee_delay">12.6.2. Apogee Delay</h4>
+<div class="paragraph">
+<p>When flying redundant electronics, it&#8217;s often
+important to ensure that multiple apogee charges don&#8217;t
+fire at precisely the same time, as that can over
+pressurize the apogee deployment bay and cause a
+structural failure of the air-frame. The Apogee Delay
+parameter tells the flight computer to fire the apogee
+charge a certain number of seconds after apogee has
+been detected.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_apogee_lockout">12.6.3. Apogee Lockout</h4>
+<div class="paragraph">
+<p>Apogee lockout is the number of seconds after launch
+where the flight computer will not fire the apogee
+charge, even if the rocket appears to be at
+apogee. This is often called 'Mach Delay', as it is
+intended to prevent a flight computer from
+unintentionally firing apogee charges due to the
+pressure spike that occurrs across a mach
+transition. Altus Metrum flight computers include a
+Kalman filter which is not fooled by this sharp
+pressure increase, and so this setting should be left
+at the default value of zero to disable it.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.8.6 have a
+bug which resets the time since launch to zero each
+time a motor starts burning. Update firmware to get
+the correct behavior.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_frequency">12.6.4. Frequency</h4>
+<div class="paragraph">
+<p>This configures which of the frequencies to use for
+both telemetry and packet command mode. Note that if
+you set this value via packet command mode, the
+TeleDongle frequency will also be automatically
+reconfigured to match so that communication will
+continue afterwards.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_rf_calibration">12.6.5. RF Calibration</h4>
+<div class="paragraph">
+<p>The radios in every Altus Metrum device are calibrated
+at the factory to ensure that they transmit and
+receive on the specified frequency.  If you need to
+you can adjust the calibration by changing this value.
+Do not do this without understanding what the value
+means, read the appendix on calibration and/or the
+source code for more information.  To change a
+TeleDongle&#8217;s calibration, you must reprogram the unit
+completely.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telemetryrdfaprs_enable">12.6.6. Telemetry/RDF/APRS Enable</h4>
+<div class="paragraph">
+<p>Enables the radio for transmission during
+flight. When disabled, the radio will not
+transmit anything during flight at all.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telemetry_baud_rate">12.6.7. Telemetry baud rate</h4>
+<div class="paragraph">
+<p>This sets the modulation bit rate for data
+transmission for both telemetry and packet
+link mode. Lower bit rates will increase range
+while reducing the amount of data that can be
+sent and increasing battery consumption. All
+telemetry is done using a rate 1/2 constraint
+4 convolution code, so the actual data
+transmission rate is 1/2 of the modulation bit
+rate specified here.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_interval">12.6.8. APRS Interval</h4>
+<div class="paragraph">
+<p>How often to transmit GPS information via APRS
+(in seconds). When set to zero, APRS
+transmission is disabled.
+This option is
+available on TeleMetrum v2 or newer and TeleMega
+boards. TeleMetrum v1 boards cannot transmit
+APRS packets.
+Note that a single APRS packet
+takes nearly a full second to transmit, so
+enabling this option will prevent sending any
+other telemetry during that time.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_ssid">12.6.9. APRS SSID</h4>
+<div class="paragraph">
+<p>Which SSID to report in APRS packets. By
+default, this is set to the last digit of the
+serial number, but can be configured to any
+value from 0 to 9.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_format">12.6.10. APRS Format</h4>
+<div class="paragraph">
+<p>Whether to send APRS data in Compressed or
+Uncompressed format. Compressed format is
+smaller and more precise. Uncompressed
+format is older, but may work better with your
+device. The Kenwood TH-D72 only displays
+altitude information with Uncompressed
+format, while the Yaesu FT1D only displays
+altitude with Compressed format. Test before
+you fly to see which to use.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_offset">12.6.11. APRS Offset</h4>
+<div class="paragraph">
+<p>The delay from the top of the minute before sending
+the first APRS packet of the minute. Coordinating
+values for this parameter between multiple devices can
+allow a single receiver to reliably receive APRS
+packets from multiple devices. Note that this offset only
+takes effect while the GPS signal is locked so that the
+transmitting device knows the current time.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_callsign">12.6.12. Callsign</h4>
+<div class="paragraph">
+<p>This sets the call sign included in each
+telemetry packet. Set this as needed to
+conform to your local radio regulations.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_maximum_flight_log_size">12.6.13. Maximum Flight Log Size</h4>
+<div class="paragraph">
+<p>This sets the space (in kilobytes) allocated
+for each flight log. The available space will
+be divided into chunks of this size. A smaller
+value will allow more flights to be stored, a
+larger value will record data from longer
+flights.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_ignitor_firing_mode">12.6.14. Ignitor Firing Mode</h4>
+<div class="paragraph">
+<p>This configuration parameter allows the two standard ignitor
+channels (Apogee and Main) to be used in different
+configurations.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Dual Deploy</dt>
+<dd>
+<p>This is the usual mode of operation; the
+'apogee' channel is fired at apogee and the
+'main' channel at the height above ground
+specified by the 'Main Deploy Altitude' during
+descent.</p>
+</dd>
+<dt class="hdlist1">Redundant Apogee</dt>
+<dd>
+<p>This fires both channels at apogee, the
+'apogee' channel first followed after a two
+second delay by the 'main' channel.</p>
+</dd>
+<dt class="hdlist1">Redundant Main</dt>
+<dd>
+<p>This fires both channels at the height above
+ground specified by the Main Deploy Altitude
+setting during descent. The 'apogee' channel
+is fired first, followed after a two second
+delay by the 'main' channel.</p>
+</dd>
+<dt class="hdlist1">Separation &amp; Apogee</dt>
+<dd>
+<p>This fires the 'main' channel when the first motor
+burns out and fires the 'apogee' charge at apogee.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_pad_orientation">12.6.15. Pad Orientation</h4>
+<div class="paragraph">
+<p>Because they include accelerometers,
+TeleMetrum, TeleMega and EasyMega are
+sensitive to the orientation of the board. By
+default, they expect the antenna end to point
+forward. This parameter allows that default to
+be changed, permitting the board to be mounted
+with the antenna pointing aft instead.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Antenna Up</dt>
+<dd>
+<p>In this mode, the antenna (or beeper, for devices
+without an antenna) of the flight computer must point
+forward, in line with the expected flight path.</p>
+</dd>
+<dt class="hdlist1">Antenna Down</dt>
+<dd>
+<p>In this mode, the antenna (or beeper, for devices
+without an antenna) end of the flight computer must
+point aft, in line with the expected flight path.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_beeper_frequency">12.6.16. Beeper Frequency</h4>
+<div class="paragraph">
+<p>The beeper on all Altus Metrum flight
+computers works best at 4000Hz, however if you
+have more than one flight computer in a single
+airframe, having all of them sound at the same
+frequency can be confusing. This parameter
+lets you adjust the base beeper frequency
+value.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_logging_trigger_motion">12.6.17. Logging Trigger Motion</h4>
+<div class="paragraph">
+<p>This sets the amount of motion that TeleGPS
+needs to see before logging the new
+position. Motions smaller than this are
+skipped, which saves storage space.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_position_reporting_interval">12.6.18. Position Reporting Interval</h4>
+<div class="paragraph">
+<p>The interval between TeleGPS position reports,
+both over the air and in the log. Increase
+this to reduce the frequency of radio
+transmissions and the length of time available
+in the log.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_calibrate_accelerometer">12.6.19. Calibrate Accelerometer</h4>
+<div class="paragraph">
+<p>This opens a separate window to recalibrate the
+accelerometers. Follow the instructions, orienting the
+flight computer with the antenna end, or end opposite
+the screw terminals, in the case of EasyMega, first up
+and then down.</p>
+</div>
+<div class="paragraph">
+<p>When the calibration is complete, return to the
+Configure Altimeter window and save the new
+calibration values.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configure_pyro_channels">12.6.20. Configure Pyro Channels</h4>
+<div class="imageblock">
+<div class="content">
+<img src="configure-pyro.png" alt="configure pyro" width="400">
+</div>
+<div class="title">Figure 23. Additional Pyro Channel Configuration</div>
+</div>
+<div class="paragraph">
+<p>This opens a separate window to configure the
+additional pyro channels available on TeleMega,
+EasyMega and EasyTimer.  One column is presented for
+each channel. Each row represents a single
+parameter, if enabled the parameter must meet
+the specified test for the pyro channel to be
+fired.</p>
+</div>
+<div class="paragraph">
+<p>Select conditions and set the related value;
+the pyro channel will be activated when <strong>all</strong>
+of the conditions are met. Each pyro channel
+has a separate set of configuration values, so
+you can use different values for the same
+condition with different channels.</p>
+</div>
+<div class="paragraph">
+<p>At the bottom of the window, the 'Pyro Firing
+Time' configuration sets the length of time
+(in seconds) which each of these pyro channels
+will fire for.</p>
+</div>
+<div class="paragraph">
+<p>Once you have selected the appropriate
+configuration for all of the necessary pyro
+channels, you can save the pyro configuration
+along with the rest of the flight computer
+configuration by pressing the 'Save' button in
+the main Configure Flight Computer window.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Vertical Acceleration</dt>
+<dd>
+<p>Select a value, and then choose whether
+acceleration away from the ground should be above or below that
+value. Acceleration is positive upwards, so accelerating towards the
+ground would produce negative numbers. Acceleration during descent is
+noisy and inaccurate, so be careful when using it during these phases
+of the flight.</p>
+</dd>
+<dt class="hdlist1">Ascent rate</dt>
+<dd>
+<p>Select a value, and then choose whether ascent rate
+should be above or below that value. Ascent rate is positive upwards,
+so moving towards the ground would produce negative numbers. Ascent
+rate during descent is a bit noisy and so be careful when using it
+during these phases of the flight.</p>
+</dd>
+<dt class="hdlist1">Height above pad</dt>
+<dd>
+<p>Select a value, and then choose whether the height
+above the launch pad should be above or below that value. Note that
+because EasyTimer has only a low-range accelerometer and no barometer,
+this value will not be very reliable on that device.</p>
+</dd>
+<dt class="hdlist1">Orientation</dt>
+<dd>
+<p>TeleMega, EasyMega and EasyTimer contain a 3-axis
+gyroscope and accelerometer which is used to compute the orientation
+of the rocket. A record of orientations over the last 0.64 seconds is
+kept and the largest value within this period is compared with the
+specified value. Note that the tilt angle is not the change in angle
+from the launch pad, but rather absolute relative to gravity—the
+3-axis accelerometer is used to compute the angle of the rocket on the
+launch pad and initialize the system.</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/note.svg" alt="Note">
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Because this value is computed by integrating
+rate gyros, it gets progressively less
+accurate as the flight goes on. It should have
+an accumulated error of less than 0.2°/second
+(after 10 seconds of flight, the error should
+be less than 2°).</p>
+</div>
+<div class="paragraph">
+<p>The usual use of the orientation configuration
+is to ensure that the rocket is traveling
+mostly upwards when deciding whether to ignite
+air starts or additional stages. For that,
+choose a reasonable maximum angle (like 20°)
+and set the motor igniter to require an angle
+of less than that value.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Flight Time</dt>
+<dd>
+<p>Time since launch. Select a value and choose whether to
+activate the pyro channel before or after that amount of time.</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.8.6 have a bug which resets the time
+since launch to zero each time a motor starts burning. Update firmware
+to get the correct behavior.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.9.8 cannot use times longer
+than 327.67 seconds. Update firmware if you need a longer time.
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Ascending</dt>
+<dd>
+<p>A deprecated configuration value which was the same as
+setting Ascent rate &gt; 0. Existing configurations using this will be
+cleared and must be reconfigured by the user.</p>
+</dd>
+<dt class="hdlist1">Descending</dt>
+<dd>
+<p>A deprecated configuration value which was the same as
+setting Ascent rate &lt; 0. Existing configurations using this will be
+cleared and must be reconfigured by the user.</p>
+</dd>
+<dt class="hdlist1">After Motor</dt>
+<dd>
+<p>The flight software counts each time the rocket starts
+accelerating and then decelerating (presumably due to a motor or
+motors burning). Use this value for multi-staged or multi-airstart
+launches. As of version 1.8.6 firmware, this checks to make sure at
+least this many motors have burned. Before version 1.8.6, this checked
+to make sure that exactly this many motors had burned.</p>
+</dd>
+<dt class="hdlist1">Delay</dt>
+<dd>
+<p>Once the other parameters all become true, a timer is
+started for the specified amount of time. While the timer is running,
+the other parameters are checked repeatedly and if any of them become
+false, then the pyro channel is disabled and will not fire. If the
+timer expires and all of the other parameters have remained true for
+the entire time, then the pyro channel is fired.</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.9.8 cannot use delays longer
+than 327.67 seconds. Update firmware if you need a longer delay.
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Flight State</dt>
+<dd>
+<p>The flight software tracks the flight
+through a sequence of states:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Boost. The motor has lit and the rocket is
+accelerating upwards. Ascent rate will be greater than zero.
+Vertical acceleration will be greater than zero.</p>
+</li>
+<li>
+<p>Fast. The motor has burned out and the
+rocket is decelerating, but it is going
+faster than 200m/s. Ascent rate will be greater than zero. Vertical
+acceleration will be less than zero.</p>
+</li>
+<li>
+<p>Coast. The rocket is still moving upwards
+and decelerating, but the Ascent rate is less
+than 200m/s. Ascent rate will greater than zero. Vertical
+acceleration will be less than zero.</p>
+</li>
+<li>
+<p>Drogue. The rocket has reached apogee and is heading back down, but
+is above the configured Main altitude. Ascent rate will be less
+than zero during this state. Vertical acceleration will be negative
+until the rocket reaches a terminal descent rate, at which point
+Vertical acceleration will be zero. Both Ascent rate and Vertical
+acceleration are very noisy in this state, so be careful when
+trying to use them to control pyro channels. This state selection
+is not available on EasyTimer.</p>
+</li>
+<li>
+<p>Main. The rocket is still descending, and
+is below the Main altitude. Ascent rate will be less than zero
+during this state. Vertical acceleration may be briefly less than
+zero as the rocket slows from drogue descent to main descent, but
+it will settle down to a zero value once the rocket has reached the
+terminal velocity under the main chute. Ascent rate and Vertical
+acceleration should be much less noisy once the main chute has
+deployed. This state selection is not available on EasyTimer.</p>
+</li>
+<li>
+<p>Landed. The rocket is no longer moving.</p>
+</li>
+</ul>
+</div>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>You can select a state to limit when the pyro channel may activate;
+note that the check is based on when the rocket transitions <strong>into</strong> the
+state, and so checking for “greater than Boost” means that the rocket
+is currently in boost or some later state.</p>
+</div>
+<div class="paragraph">
+<p>When a motor burns out, the rocket enters either Fast or Coast state
+(depending on how fast it is moving). If the computer detects upwards
+acceleration again, it will move back to Boost state.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configure_altosui">12.7. Configure AltosUI</h3>
+<div class="imageblock">
+<div class="content">
+<img src="configure-altosui.png" alt="configure altosui" width="230">
+</div>
+<div class="title">Figure 24. Configure AltosUI Dialog</div>
+</div>
+<div class="paragraph">
+<p>This button presents a dialog so that you can
+configure the AltosUI global settings.</p>
+</div>
+<div class="sect3">
+<h4 id="_voice_settings">12.7.1. Voice Settings</h4>
+<div class="paragraph">
+<p>AltosUI provides voice announcements during
+flight so that you can keep your eyes on the
+sky and still get information about the
+current flight status. However, sometimes you
+don&#8217;t want to hear them.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Enable</dt>
+<dd>
+<p>Turns all voice announcements on and off</p>
+</dd>
+<dt class="hdlist1">Test Voice</dt>
+<dd>
+<p>Plays a short message allowing you to verify
+that the audio system is working and the volume settings
+are reasonable</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_log_directory">12.7.2. Log Directory</h4>
+<div class="paragraph">
+<p>AltosUI logs all telemetry data and saves all
+flash data to this directory. This
+directory is also used as the staring point
+when selecting data files for display or
+export.</p>
+</div>
+<div class="paragraph">
+<p>Click on the directory name to bring up a
+directory choosing dialog, select a new
+directory and click 'Select Directory' to
+change where AltosUI reads and writes data
+files.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_callsign_2">12.7.3. Callsign</h4>
+<div class="paragraph">
+<p>This value is transmitted in each command
+packet sent from TeleDongle and received from
+an altimeter.  It is not used in telemetry
+mode, as the callsign configured in the
+altimeter board is included in all telemetry
+packets.  Configure this with the AltosUI
+operators call sign as needed to comply with
+your local radio regulations.</p>
+</div>
+<div class="paragraph">
+<p>Note that to successfully command a flight
+computer over the radio (to configure the
+altimeter, monitor idle, or fire pyro
+charges), the callsign configured here must
+exactly match the callsign configured in the
+flight computer.  This matching is case
+sensitive.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_imperial_units">12.7.4. Imperial Units</h4>
+<div class="paragraph">
+<p>This switches between metric units (meters)
+and imperial units (feet and miles). This
+affects the display of values use during
+flight monitoring, configuration, data
+graphing and all of the voice
+announcements. It does not change the units
+used when exporting to CSV files, those are
+always produced in metric units.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_serial_debug">12.7.5. Serial Debug</h4>
+<div class="paragraph">
+<p>This causes all communication with a connected
+device to be dumped to the console from which
+AltosUI was started. If you&#8217;ve started it from
+an icon or menu entry, the output will simply
+be discarded. This mode can be useful to debug
+various serial communication issues.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_font_size">12.7.6. Font size</h4>
+<div class="paragraph">
+<p>Selects the set of fonts used in the flight
+monitor window. Choose between the small,
+medium and large sets.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_look_feel">12.7.7. Look &amp; feel</h4>
+<div class="paragraph">
+<p>Switches between the available Java user
+interface appearances. The default selection
+is supposed to match the native window system
+appearance for the target platform.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_menu_position">12.7.8. Menu position</h4>
+<div class="paragraph">
+<p>Selects the initial position for the main
+AltosUI window that includes all of the
+command buttons.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_map_cache_size">12.7.9. Map Cache Size</h4>
+<div class="paragraph">
+<p>Sets the number of map 'tiles' kept in memory
+while the application is running. More tiles
+consume more memory, but will make panning
+around the map faster.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_manage_frequencies">12.7.10. Manage Frequencies</h4>
+<div class="paragraph">
+<p>This brings up a dialog where you can
+configure the set of frequencies shown in the
+various frequency menus. You can add as many
+as you like, or even reconfigure the default
+set. Changing this list does not affect the
+frequency settings of any devices, it only
+changes the set of frequencies shown in the
+menus.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configure_groundstation">12.8. Configure Groundstation</h3>
+<div class="imageblock">
+<div class="content">
+<img src="configure-groundstation.png" alt="configure groundstation" width="300">
+</div>
+<div class="title">Figure 25. Configure Groundstation Dialog</div>
+</div>
+<div class="paragraph">
+<p>Select this button and then select a TeleDongle or
+TeleBT Device from the list provided.</p>
+</div>
+<div class="paragraph">
+<p>The first few lines of the dialog provide information
+about the connected device, including the product
+name, software version and hardware serial
+number. Below that are the individual configuration
+entries.</p>
+</div>
+<div class="paragraph">
+<p>Note that TeleDongle and TeleBT don&#8217;t save any
+configuration data, the settings here are recorded on
+the local machine in the Java preferences
+database. Moving the device to another machine, or
+using a different user account on the same machine
+will cause settings made here to have no effect.</p>
+</div>
+<div class="paragraph">
+<p>At the bottom of the dialog, there are three
+buttons:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Save</dt>
+<dd>
+<p>This writes any changes to the local Java
+preferences file. If you don&#8217;t press this
+button, any changes you make will be lost.</p>
+</dd>
+<dt class="hdlist1">Reset</dt>
+<dd>
+<p>This resets the dialog to the most recently
+saved values, erasing any changes you have
+made.</p>
+</dd>
+<dt class="hdlist1">Close</dt>
+<dd>
+<p>This closes the dialog. Any unsaved changes
+will be lost.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The rest of the dialog contains the parameters
+to be configured.</p>
+</div>
+<div class="sect3">
+<h4 id="_frequency_2">12.8.1. Frequency</h4>
+<div class="paragraph">
+<p>This configures the frequency to use for both
+telemetry and packet command mode. Set this
+before starting any operation involving packet
+command mode so that it will use the right
+frequency. Telemetry monitoring mode also
+provides a menu to change the frequency, and
+that menu also sets the same Java preference
+value used here.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_rf_calibration_2">12.8.2. RF Calibration</h4>
+<div class="paragraph">
+<p>The radios in every Altus Metrum device are
+calibrated at the factory to ensure that they
+transmit and receive on the specified
+frequency.  To change a TeleDongle or TeleBT&#8217;s
+calibration, you must reprogram the unit
+completely, so this entry simply shows the
+current value and doesn&#8217;t allow any changes.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telemetry_rate">12.8.3. Telemetry Rate</h4>
+<div class="paragraph">
+<p>This lets you match the telemetry and packet
+link rate from the transmitter. If they don&#8217;t
+match, the device won&#8217;t receive any data.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_flash_image">12.9. Flash Image</h3>
+<div class="paragraph">
+<p>This reprograms Altus Metrum devices with new
+firmware.
+TeleMetrum v1.x, TeleDongle v0.2, TeleMini v1.0
+and TeleBT v1.0 are all reprogrammed by using another
+similar unit as a programming dongle (pair
+programming).
+TeleMega, EasyMega, TeleMetrum v2 or newer,
+EasyMini, EasyTimer, TeleBT v3 or newer and TeleDongle v3
+or newer are all
+programmed directly
+over USB (self programming). Please read
+the directions for flashing devices in
+<a href="#_updating_device_firmware">Updating Device Firmware</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_fire_igniter">12.10. Fire Igniter</h3>
+<div class="imageblock">
+<div class="content">
+<img src="fire-igniter.png" alt="fire igniter" width="120">
+</div>
+<div class="title">Figure 26. Fire Igniter Window</div>
+</div>
+<div class="paragraph">
+<p>This activates the igniter circuits in the flight
+computer to help test recovery systems
+deployment.
+Because this command can operate over the
+Packet Command Link, you can prepare the rocket as for
+flight and then test the recovery system without
+needing to snake wires inside the air-frame.</p>
+</div>
+<div class="paragraph">
+<p>Selecting the 'Fire Igniter' button brings up the
+usual device selection dialog. Pick the desired
+device. This brings up another window which shows the
+current continuity test status for all of the pyro
+channels.</p>
+</div>
+<div class="paragraph">
+<p>Next, select the desired igniter to fire. This will
+enable the 'Arm' button.</p>
+</div>
+<div class="paragraph">
+<p>Select the 'Arm' button. This enables the 'Fire'
+button. The word 'Arm' is replaced by a countdown
+timer indicating that you have 10 seconds to press the
+'Fire' button or the system will deactivate, at which
+point you start over again at selecting the desired
+igniter.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_scan_channels">12.11. Scan Channels</h3>
+<div class="imageblock">
+<div class="content">
+<img src="scan-channels.png" alt="scan channels" width="300">
+</div>
+<div class="title">Figure 27. Scan Channels Window</div>
+</div>
+<div class="paragraph">
+<p>This listens for telemetry packets on all of the
+configured frequencies, displaying information about
+each device it receives a packet from. You can select
+which of the baud rates and telemetry formats should
+be tried; by default, it only listens at 38400 baud
+with the standard telemetry format used in v1.0 and
+later firmware.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_load_maps">12.12. Load Maps</h3>
+<div class="imageblock">
+<div class="content">
+<img src="load-maps.png" alt="load maps" width="500">
+</div>
+<div class="title">Figure 28. Load Maps Window</div>
+</div>
+<div class="paragraph">
+<p>Before heading out to a new launch site, you can use
+this to load satellite images in case you don&#8217;t have
+internet connectivity at the site.  Try not to wait
+until the last minute, though, particularly if you&#8217;re
+heading to a major launch.  If too many people are
+all trying to download map data at once, Google may
+limit access until the next day.</p>
+</div>
+<div class="paragraph">
+<p>There&#8217;s a drop-down menu of launch sites we know
+about; if your favorites aren&#8217;t there, please let us
+know the lat/lon and name of the site. The contents of
+this list are actually downloaded from our server at
+run-time, so as new sites are sent in, they&#8217;ll get
+automatically added to this list.  If the launch site
+isn&#8217;t in the list, you can manually enter the lat/lon
+values</p>
+</div>
+<div class="paragraph">
+<p>There are four different kinds of maps you can view;
+you can select which to download by selecting as many
+as you like from the available types:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Hybrid</dt>
+<dd>
+<p>A combination of satellite imagery and road data. This
+is the default view.</p>
+</dd>
+<dt class="hdlist1">Satellite</dt>
+<dd>
+<p>Just the satellite imagery without any annotation.</p>
+</dd>
+<dt class="hdlist1">Roadmap</dt>
+<dd>
+<p>Roads, political boundaries and a few geographic
+features.</p>
+</dd>
+<dt class="hdlist1">Terrain</dt>
+<dd>
+<p>Contour intervals and shading that show hills and
+valleys.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>You can specify the range of zoom levels to download;
+smaller numbers show more area with less
+resolution. The default level, 0, shows about
+3m/pixel. One zoom level change doubles or halves that
+number. Larger zoom levels show more detail, smaller
+zoom levels less.</p>
+</div>
+<div class="paragraph">
+<p>The Map Radius value sets how large an area around the
+center point to download. Select a value large enough
+to cover any plausible flight from that site. Be aware
+that loading a large area with a high maximum zoom
+level can attempt to download a lot of data. Loading
+hybrid maps with a 10km radius at a minimum zoom of -2
+and a maximum zoom of 2 consumes about 120MB of
+space. Terrain and road maps consume about 1/10 as
+much space as satellite or hybrid maps.</p>
+</div>
+<div class="paragraph">
+<p>Clicking the 'Load Map' button will fetch images from
+Google Maps; note that Google limits how many images
+you can fetch at once, so if you load more than one
+launch site, you may get some gray areas in the map
+which indicate that Google is tired of sending data to
+you. Try again later.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_monitor_idle">12.13. Monitor Idle</h3>
+<div class="imageblock">
+<div class="content">
+<img src="monitor-idle.png" alt="monitor idle" width="500">
+</div>
+<div class="title">Figure 29. Monitor Idle Window</div>
+</div>
+<div class="paragraph">
+<p>This brings up a dialog similar to the Monitor Flight
+UI, except it works with the altimeter in “idle” mode
+by sending query commands to discover the current
+state rather than listening for telemetry
+packets. Because this uses command mode, it needs to
+have the TeleDongle and flight computer callsigns
+match exactly. If you can receive telemetry, but
+cannot manage to run Monitor Idle, then it&#8217;s very
+likely that your callsigns are different in some way.</p>
+</div>
+<div class="paragraph">
+<p>You can change the frequency and callsign used to
+communicate with the flight computer; they must both
+match the configuration in the flight computer
+exactly.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_altosdroid">13. AltosDroid</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>AltosDroid provides the same flight monitoring capabilities as
+AltosUI, but runs on Android devices. AltosDroid is designed
+to connect to a TeleBT receiver over Bluetooth™ and (on
+Android devices supporting USB On-the-go) TeleDongle and
+TeleBT devices over USB. AltosDroid monitors telemetry data,
+logging it to internal storage in the Android device, and
+presents that data in a UI similar to the 'Monitor Flight'
+window in AltosUI.</p>
+</div>
+<div class="paragraph">
+<p>This manual will explain how to configure AltosDroid, connect
+to TeleBT or TeleDongle, operate the flight monitoring
+interface and describe what the displayed data means.</p>
+</div>
+<div class="sect2">
+<h3 id="_installing_altosdroid">13.1. Installing AltosDroid</h3>
+<div class="paragraph">
+<p>AltosDroid is available from the Google Play store. To
+install it on your Android device, open the Google
+Play Store application and search for
+“altosdroid”. Make sure you don&#8217;t have a space between
+“altos” and “droid” or you probably won&#8217;t find what
+you want. That should bring you to the right page from
+which you can download and install the application.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_charging_telebt_battery">13.2. Charging TeleBT Battery</h3>
+<div class="paragraph">
+<p>Before using TeleBT with AltosDroid, make sure the
+internal TeleBT battery is charged.  To do this,
+attach a micro USB cable from a computer or other USB
+power source to TeleBT.  A dual LED on the circuit
+board should illuminate, showing red while the battery
+is charging, green when charging is completed, and
+both red and green on at the same time if there is a
+battery fault.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_connecting_to_telebt_over_bluetooth">13.3. Connecting to TeleBT over Bluetooth™</h3>
+<div class="paragraph">
+<p>Note that when turning TeleBT on, you may see a brief LED
+flash, but there will be no "activity" indicated until you
+pair with the device from AltosDroid.</p>
+</div>
+<div class="paragraph">
+<p>Press the Android 'Menu' button or soft-key to see the
+configuration options available. Select the 'Connect a
+device' option and then the 'Scan for devices' entry
+at the bottom to look for your TeleBT device. Select
+your device, and when it asks for the code, enter
+'1234'.</p>
+</div>
+<div class="paragraph">
+<p>Subsequent connections will not require you to enter
+that code, and your 'paired' device will appear in the
+list without scanning.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_connecting_to_teledongle_or_telebt_over_usb">13.4. Connecting to TeleDongle or TeleBT over USB</h3>
+<div class="paragraph">
+<p>Get a special USB On-the-go adapter cable. These
+cables have a USB micro-B male connector on one end
+and a standard A female connector on the other
+end. Plug in your TeleDongle or TeleBT device to the
+adapter cable and the adapter cable into your phone
+and AltosDroid should automatically start up. If it
+doesn&#8217;t, the most likely reason is that your Android
+device doesn&#8217;t support USB On-the-go.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_altosdroid_menu">13.5. AltosDroid Menu</h3>
+<div class="paragraph">
+<p>The main AltosDroid menu has a selection of operation
+and configuration options.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Connect a device</dt>
+<dd>
+<p>Offers a menu of available TeleBT devices, and an
+option to scan for additional devices.</p>
+</dd>
+<dt class="hdlist1">Disconnect device</dt>
+<dd>
+<p>Disconnects the current TeleBT or TeleDongle
+device. You can reconnect TeleBT over bluetooth by
+using Connect a Device. You can reconnect a USB device
+by unplugging it and then plugging it back in.</p>
+</dd>
+<dt class="hdlist1">Select radio frequency</dt>
+<dd>
+<p>This selects which frequency to listen on by bringing
+up a menu of pre-set radio frequencies. Pick the one
+which matches your altimeter.</p>
+</dd>
+<dt class="hdlist1">Select Tracker</dt>
+<dd>
+<p>Switches the information displays to show data for a
+different transmitting device. The map will always
+show all of the devices in view. Trackers are shown
+and selected by serial number, so make sure you note
+the serial number of devices in each airframe.</p>
+</dd>
+<dt class="hdlist1">Delete Track</dt>
+<dd>
+<p>Deletes all information about a transmitting device.</p>
+</dd>
+<dt class="hdlist1">Setup</dt>
+<dd>
+<p>Offers additional configuration operations. See
+<a href="#_setup">Setup</a>.</p>
+</dd>
+<dt class="hdlist1">Idle Mode</dt>
+<dd>
+<p>Communicate with an altimeter in Idle mode. See <a href="#_idle_mode">Idle Mode</a></p>
+</dd>
+<dt class="hdlist1">Quit</dt>
+<dd>
+<p>Shuts down AltosDroid.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_setup">13.6. Setup</h3>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Telemetry Rate</dt>
+<dd>
+<p>Altus Metrum transmitters can be configured to operate
+at lower data rates to improve transmission range. If
+you have configured your device to do this, this menu
+item allows you to change the receiver to match.</p>
+</dd>
+<dt class="hdlist1">Units</dt>
+<dd>
+<p>Selects which units used to report values.</p>
+</dd>
+<dt class="hdlist1">Map Type</dt>
+<dd>
+<p>Displays a menu of map types and lets you select
+one. Hybrid maps include satellite images with a
+roadmap overlaid. Satellite maps dispense with the
+roadmap overlay. Roadmap shows just the roads. Terrain
+includes roads along with shadows indicating changes
+in elevation, and other geographical features.</p>
+</dd>
+<dt class="hdlist1">Map Source</dt>
+<dd>
+<p>Select between online and offline maps. Online maps
+will show a 'move to current position' icon in the
+upper right corner, while offline maps will have
+copyright information all over the map. Otherwise,
+they&#8217;re pretty similar.</p>
+</dd>
+<dt class="hdlist1">Preload Maps</dt>
+<dd>
+<p>Brings up a dialog allowing you to download offline
+map tiles so that you can have maps available even if
+you have no network connectivity at the launch site.</p>
+</dd>
+<dt class="hdlist1">Manage Frequencies</dt>
+<dd>
+<p>This presents a dialog containing the current list of
+frequencies that will be show in the 'Select radio
+frequency' menu. You can change the label for existing
+frequencies, delete or add new frequencies.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_idle_mode">13.7. Idle Mode</h3>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Callsign</dt>
+<dd>
+<p>Lets you configure the callsign used by AltosDroid to
+communicate with the flight computer. The callsign on
+the two devices must match or the communication will
+fail. This provides a modest amount of protection
+against accidentally controlling another persons
+flight computer.</p>
+</dd>
+<dt class="hdlist1">Monitor</dt>
+<dd>
+<p>This provides similar information to monitoring the
+telemetry stream from a flight computer in flight
+mode. The title of the application will change to
+include (idle) so you can tell this mode is active.</p>
+</dd>
+<dt class="hdlist1">Reboot</dt>
+<dd>
+<p>Remotely reboots the flight computer. This is useful
+when the flight computers turned on while the airframe
+is horizontal and you want to restart the flight
+computers in pad mode after raising the airframe to
+vertical.</p>
+</dd>
+<dt class="hdlist1">Fire Igniters</dt>
+<dd>
+<p>Remotely control igniters for ground testing recovery
+systems.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_altosdroid_flight_monitoring">13.8. AltosDroid Flight Monitoring</h3>
+<div class="paragraph">
+<p>AltosDroid is designed to mimic the AltosUI flight
+monitoring display, providing separate tabs for each
+stage of your rocket flight along with a tab
+containing a map of the local area with icons marking
+the current location of the altimeter and the Android
+device.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_pad">13.9. Pad</h3>
+<div class="paragraph">
+<p>The 'Pad' tab shows information used to decide when
+the rocket is ready for flight. The first elements
+include red/green indicators, if any of these is red,
+you&#8217;ll want to evaluate whether the rocket is ready to
+launch.</p>
+</div>
+<div class="paragraph">
+<p>When the pad tab is selected, the voice responses will
+include status changes to the igniters and GPS
+reception, letting you know if the rocket is still
+ready for launch.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Battery</dt>
+<dd>
+<p>This indicates whether the Li-Po battery powering the
+transmitter has sufficient charge to last for the
+duration of the flight. A value of more than 3.8V is
+required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Receiver Battery</dt>
+<dd>
+<p>This indicates whether the Li-Po battery powering the
+TeleBT has sufficient charge to last for the duration
+of the flight. A value of more than 3.8V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Data Logging</dt>
+<dd>
+<p>This indicates whether there is space remaining
+on-board to store flight data for the upcoming
+flight. If you&#8217;ve downloaded data, but failed to erase
+flights, there may not be any space left. TeleMetrum
+and TeleMega can store multiple flights, depending on
+the configured maximum flight log size. TeleGPS logs
+data continuously. TeleMini v1.0 stores only a single
+flight, so it will need to be downloaded and erased
+after each flight to capture data. This only affects
+on-board flight logging; the altimeter will still
+transmit telemetry and fire ejection charges at the
+proper times.</p>
+</dd>
+<dt class="hdlist1">GPS Locked</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether the GPS receiver is currently able to compute
+position information. GPS requires at least 4
+satellites to compute an accurate position.</p>
+</dd>
+<dt class="hdlist1">GPS Ready</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether GPS has reported at least 10 consecutive
+positions without losing lock. This ensures that the
+GPS receiver has reliable reception from the
+satellites.</p>
+</dd>
+<dt class="hdlist1">Apogee Igniter</dt>
+<dd>
+<p>This indicates whether the apogee igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Main Igniter</dt>
+<dd>
+<p>This indicates whether the main igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Igniter A-D</dt>
+<dd>
+<p>This indicates whether the indicated additional pyro
+channel igniter has continuity. If the igniter has a
+low resistance, then the voltage measured here will be
+close to the Li-Po battery voltage. A value greater
+than 3.2V is required for a 'GO' status.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The Pad tab also shows the location of the Android
+device.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_flight">13.10. Flight</h3>
+<div class="paragraph">
+<p>The 'Flight' tab shows information used to evaluate
+and spot a rocket while in flight. It displays speed
+and height data to monitor the health of the rocket,
+along with elevation, range and bearing to help locate
+the rocket in the sky.</p>
+</div>
+<div class="paragraph">
+<p>While the Flight tab is displayed, the voice
+announcements will include current speed, height,
+elevation and bearing information.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Speed</dt>
+<dd>
+<p>Shows current vertical speed. During descent, the
+speed values are averaged over a fairly long time to
+try and make them steadier.</p>
+</dd>
+<dt class="hdlist1">Height</dt>
+<dd>
+<p>Shows the current height above the launch pad.</p>
+</dd>
+<dt class="hdlist1">Max Speed</dt>
+<dd>
+<p>Shows the maximum vertical speed seen during the
+flight.</p>
+</dd>
+<dt class="hdlist1">Max Height</dt>
+<dd>
+<p>Shows the maximum height above launch pad.</p>
+</dd>
+<dt class="hdlist1">Elevation</dt>
+<dd>
+<p>This is the angle above the horizon from the android
+devices current position.</p>
+</dd>
+<dt class="hdlist1">Range</dt>
+<dd>
+<p>The total distance from the android device to the
+rocket, including both ground distance and difference
+in altitude. Use this to gauge how large the rocket is
+likely to appear in the sky.</p>
+</dd>
+<dt class="hdlist1">Bearing</dt>
+<dd>
+<p>This is the azimuth from true north for the rocket
+from the android device. Use this in combination with
+the Elevation value to help locate the rocket in the
+sky, or at least to help point the antenna in the
+general direction. This is provided in both degrees
+and a compass point (like West South West). You&#8217;ll
+want to know which direction is true north before
+launching your rocket.</p>
+</dd>
+<dt class="hdlist1">Ground Distance</dt>
+<dd>
+<p>This shows the distance across the ground to the
+lat/lon where the rocket is located. Use this to
+estimate what is currently under the rocket.</p>
+</dd>
+<dt class="hdlist1">Latitude/Longitude</dt>
+<dd>
+<p>Displays the last known location of the rocket.</p>
+</dd>
+<dt class="hdlist1">Apogee Igniter</dt>
+<dd>
+<p>This indicates whether the apogee igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Main Igniter</dt>
+<dd>
+<p>This indicates whether the main igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_recover">13.11. Recover</h3>
+<div class="paragraph">
+<p>The 'Recover' tab shows information used while
+recovering the rocket on the ground after flight.</p>
+</div>
+<div class="paragraph">
+<p>While the Recover tab is displayed, the voice
+announcements will include distance along with either
+bearing or direction, depending on whether you are
+moving.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Bearing</dt>
+<dd>
+<p>This is the azimuth from true north for the rocket
+from the android device. Use this in combination with
+the Elevation value to help locate the rocket in the
+sky, or at least to help point the antenna in the
+general direction. This is provided in both degrees
+and a compass point (like West South West). You&#8217;ll
+want to know which direction is true north before
+launching your rocket.</p>
+</dd>
+<dt class="hdlist1">Direction</dt>
+<dd>
+<p>When you are in motion, this provides the angle from
+your current direction of motion towards the rocket.</p>
+</dd>
+<dt class="hdlist1">Distance</dt>
+<dd>
+<p>Distance over the ground to the rocket.</p>
+</dd>
+<dt class="hdlist1">Tar Lat/Tar Lon</dt>
+<dd>
+<p>Displays the last known location of the rocket.</p>
+</dd>
+<dt class="hdlist1">My Lat/My Lon</dt>
+<dd>
+<p>Displays the location of the Android device.</p>
+</dd>
+<dt class="hdlist1">Max Height</dt>
+<dd>
+<p>Shows the maximum height above launch pad seen during
+the flight.</p>
+</dd>
+<dt class="hdlist1">Max Speed</dt>
+<dd>
+<p>Shows the maximum vertical speed seen during the
+flight.</p>
+</dd>
+<dt class="hdlist1">Max Accel</dt>
+<dd>
+<p>Shows the maximum vertical acceleration seen during
+the flight.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_map_2">13.12. Map</h3>
+<div class="paragraph">
+<p>The 'Map' tab shows a map of the area around the
+rocket being tracked along with information needed to
+recover it.</p>
+</div>
+<div class="paragraph">
+<p>On the map itself, icons showing the location of the
+android device along with the last known location of
+each tracker. A blue line is drawn from the android
+device location to the currently selected tracker.</p>
+</div>
+<div class="paragraph">
+<p>Below the map, the distance and either bearing or
+direction along with the lat/lon of the target and the
+android device are shown</p>
+</div>
+<div class="paragraph">
+<p>The Map tab provides the same voice announcements as
+the Recover tab.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_downloading_flight_logs">13.13. Downloading Flight Logs</h3>
+<div class="paragraph">
+<p>AltosDroid always saves every bit of telemetry data it
+receives. To download that to a computer for use with
+AltosUI, remove the SD card from your Android device,
+or connect your device to your computer&#8217;s USB port and
+browse the files on that device. You will find
+'.telem' files in the TeleMetrum directory that will
+work with AltosUI directly.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_system_operation">Appendix A: System Operation</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_firmware_modes">A.1. Firmware Modes</h3>
+<div class="paragraph">
+<p>The AltOS firmware build for the altimeters has two
+fundamental modes, “idle” and “flight”.  Which of these modes
+the firmware operates in is determined at start up
+time.
+For
+TeleMetrum, TeleMega, EasyMega and EasyTimer, which have accelerometers, the mode is
+controlled by the orientation of the
+rocket (well, actually the board, of course&#8230;&#8203;) at the time
+power is switched on.  If the rocket is “nose up”, then
+the flight computer assumes it&#8217;s on a rail or rod being prepared for
+launch, so the firmware chooses flight mode.  However, if the
+rocket is more or less horizontal, the firmware instead enters
+idle mode.
+Since
+EasyMini doesn&#8217;t
+have an
+accelerometer we can use to determine orientation, “idle” mode
+is selected if the board is connected via USB to a computer,
+otherwise the board enters “flight” mode.
+TeleMini
+selects “idle” mode if it receives a command packet
+within the
+first five seconds of operation.</p>
+</div>
+<div class="paragraph">
+<p>At power on, the altimeter will beep out the battery voltage
+to the nearest tenth of a volt.  Each digit is represented by
+a sequence of short “dit” beeps, with a pause between
+digits. A zero digit is represented with one long “dah”
+beep. Then there will be a short pause while the altimeter
+completes initialization and self test, and decides which mode
+to enter next.</p>
+</div>
+<div class="paragraph">
+<p>In flight or “pad” mode, the altimeter engages the flight
+state machine, goes into transmit-only mode to send telemetry,
+and waits for launch to be detected.  Flight mode is indicated
+by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
+followed by beeps or flashes indicating the state of the
+pyrotechnic igniter continuity.  One beep/flash indicates
+apogee continuity, two beeps/flashes indicate main continuity,
+three beeps/flashes indicate both apogee and main continuity,
+and one longer “brap” sound which is made by rapidly
+alternating between two tones indicates no continuity.  For a
+dual deploy flight, make sure you&#8217;re getting three beeps or
+flashes before launching!  For apogee-only or motor eject
+flights, do what makes sense.</p>
+</div>
+<div class="paragraph">
+<p>If idle mode is entered, you will hear an audible “di-dit” or
+see two short flashes (“I” for idle), and the flight state
+machine is disengaged, thus no ejection charges will fire.
+The altimeters also listen for the radio link when in idle
+mode for requests sent via TeleDongle.  Commands can be issued
+in idle mode over either USB or the radio link
+equivalently.
+TeleMini only has the radio link.
+Idle mode is useful for configuring the altimeter, for
+extracting data from the on-board storage chip after
+flight, and for ground testing pyro charges.</p>
+</div>
+<div class="paragraph">
+<p>In “Idle” and “Pad” modes, once the mode indication
+beeps/flashes and continuity indication has been sent, if
+there is no space available to log the flight in on-board
+memory, the flight computer will emit a warbling tone (much
+slower than the “no continuity tone”)</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#_understanding_beeps">Understanding Beeps</a> for a summary of all of
+the audio signals used.</p>
+</div>
+<div class="paragraph">
+<p>Once landed, the flight computer will signal that by emitting
+the “Landed” sound described above, after which it will beep
+out the apogee height (in meters). Each digit is represented
+by a sequence of short “dit” beeps, with a pause between
+digits. A zero digit is represented with one long “dah”
+beep. The flight computer will continue to report landed mode
+and beep out the maximum height until turned off.</p>
+</div>
+<div class="paragraph">
+<p>One “neat trick” of particular value when TeleMetrum, TeleMega
+or EasyMega are used with
+very large air-frames, is that you can power the board up while the
+rocket is horizontal, such that it comes up in idle mode.  Then you can
+raise the air-frame to launch position, and issue a 'reset' command
+via TeleDongle over the radio link to cause the altimeter to reboot and
+come up in flight mode.  This is much safer than standing on the top
+step of a rickety step-ladder or hanging off the side of a launch
+tower with a screw-driver trying to turn on your avionics before
+installing igniters!</p>
+</div>
+<div class="paragraph">
+<p>TeleMini is configured solely via the radio link. Of course, that
+means you need to know the TeleMini radio configuration values
+or you won&#8217;t be able to communicate with it. For situations
+when you don&#8217;t have the radio configuration values,
+TeleMini v1.0
+offers an 'emergency recovery' mode. In this mode,
+TeleMini v1.0 is
+configured as follows:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Sets the radio frequency to 434.550MHz</p>
+</li>
+<li>
+<p>Sets the radio calibration back to the factory value.</p>
+</li>
+<li>
+<p>Sets the callsign to N0CALL</p>
+</li>
+<li>
+<p>Does not go to 'pad' mode after five seconds.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>To get into 'emergency recovery' mode, first find the row of
+four small holes opposite the switch wiring. Using a short
+piece of small gauge wire, connect the outer two holes
+together, then power TeleMini up. Once the red LED is lit,
+disconnect the wire and the board should signal that it&#8217;s in
+'idle' mode after the initial five second startup
+period.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_gps">A.2. GPS</h3>
+<div class="paragraph">
+<p>TeleMetrum and TeleMega include a complete GPS receiver.  A
+complete explanation of how GPS works is beyond the scope of
+this manual, but the bottom line is that the GPS receiver
+needs to lock onto at least four satellites to obtain a solid
+3 dimensional position fix and know what time it is.</p>
+</div>
+<div class="paragraph">
+<p>The flight computers provide backup power to the GPS chip any time a
+battery is connected.  This allows the receiver to “warm start” on
+the launch rail much faster than if every power-on were a GPS
+“cold start”.  In typical operations, powering up
+on the flight line in idle mode while performing final air-frame
+preparation will be sufficient to allow the GPS receiver to cold
+start and acquire lock.  Then the board can be powered down during
+RSO review and installation on a launch rod or rail.  When the board
+is turned back on, the GPS system should lock very quickly, typically
+long before igniter installation and return to the flight line are
+complete.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_controlling_an_altimeter_over_the_radio_link">A.3. Controlling An Altimeter Over The Radio Link</h3>
+<div class="paragraph">
+<p>One of the unique features of the Altus Metrum system is the
+ability to create a two way command link between TeleDongle
+and an altimeter using the digital radio transceivers
+built into each device. This allows you to interact with the
+altimeter from afar, as if it were directly connected to the
+computer.</p>
+</div>
+<div class="paragraph">
+<p>Any operation which can be performed with a flight computer can
+either be done with the device directly connected to the
+computer via the USB cable, or through the radio
+link. TeleMini doesn&#8217;t provide a USB connector and so it is
+always communicated with over radio.  Select the appropriate
+TeleDongle device when the list of devices is presented and
+AltosUI will interact with an altimeter over the radio link.</p>
+</div>
+<div class="paragraph">
+<p>One oddity in the current interface is how AltosUI selects the
+frequency for radio communications. Instead of providing
+an interface to specifically configure the frequency, it uses
+whatever frequency was most recently selected for the target
+TeleDongle device in Monitor Flight mode. If you haven&#8217;t ever
+used that mode with the TeleDongle in question, select the
+Monitor Flight button from the top level UI, and pick the
+appropriate TeleDongle device.  Once the flight monitoring
+window is open, select the desired frequency and then close it
+down again. All radio communications will now use that frequency.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Save Flight Data—Recover flight data from the
+rocket without opening it up.</p>
+</li>
+<li>
+<p>Configure altimeter apogee delays, main deploy
+heights and additional pyro event conditions to
+respond to changing launch conditions. You can also
+'reboot' the altimeter. Use this to remotely enable
+the flight computer by turning TeleMetrum or
+TeleMega on in “idle” mode, then once the air-frame
+is oriented for launch, you can reboot the
+altimeter and have it restart in pad mode without
+having to climb the scary ladder.</p>
+</li>
+<li>
+<p>Fire Igniters—Test your deployment charges without snaking
+wires out through holes in the air-frame. Simply assemble the
+rocket as if for flight with the apogee and main charges
+loaded, then remotely command the altimeter to fire the
+igniters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Operation over the radio link for configuring an
+altimeter, ground testing igniters, and so forth uses
+the same RF frequencies as flight telemetry.  To
+configure the desired TeleDongle frequency, select the
+monitor flight tab, then use the frequency selector
+and close the window before performing other desired
+radio operations.</p>
+</div>
+<div class="paragraph">
+<p>The flight computers only enable radio commanding in
+'idle' mode.  TeleMetrum and TeleMega use the
+accelerometer to detect which orientation they start
+up in, so make sure you have the flight computer lying
+horizontally when you turn it on. Otherwise, it will
+start in 'pad' mode ready for flight, and will not be
+listening for command packets from TeleDongle.</p>
+</div>
+<div class="paragraph">
+<p>TeleMini listens for a command packet for five seconds
+after first being turned on, if it doesn&#8217;t hear
+anything, it enters 'pad' mode, ready for flight and
+will no longer listen for command packets. The easiest
+way to connect to TeleMini is to initiate the command
+and select the TeleDongle device. At this point, the
+TeleDongle will be attempting to communicate with the
+TeleMini. Now turn TeleMini on, and it should
+immediately start communicating with the TeleDongle
+and the desired operation can be performed.</p>
+</div>
+<div class="paragraph">
+<p>You can monitor the operation of the radio link by watching the
+lights on the devices. The red LED will flash each time a packet
+is transmitted, while the green LED will light up on TeleDongle when
+it is waiting to receive a packet from the altimeter.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_ground_testing">A.4. Ground Testing</h3>
+<div class="paragraph">
+<p>An important aspect of preparing a rocket using electronic deployment
+for flight is ground testing the recovery system.
+Thanks
+to the bi-directional radio link central to the Altus Metrum system,
+this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket
+with less work than you may be accustomed to with other systems.  It
+can even be fun!</p>
+</div>
+<div class="paragraph">
+<p>Just prep the rocket for flight, then power up the altimeter
+in “idle”
+mode (placing air-frame horizontal for TeleMetrum or TeleMega, or
+selecting the Configure Altimeter tab for TeleMini).
+This will cause
+the firmware to go into “idle” mode, in which the normal flight
+state machine is disabled and charges will not fire without
+manual command.
+You can now command the altimeter to fire the apogee
+or main charges from a safe distance using your
+computer and the Fire Igniter tab to complete ejection testing.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_radio_link">A.5. Radio Link</h3>
+<div class="paragraph">
+<p>TeleMetrum, TeleMini and TeleMega all incorporate an
+RF transceiver, but it&#8217;s not a full duplex system;
+each end can only be transmitting or receiving at any
+given moment. So we had to decide how to manage the
+link.</p>
+</div>
+<div class="paragraph">
+<p>By design, the altimeter firmware listens for the
+radio link when it&#8217;s in “idle mode”, which allows us
+to use the radio link to configure the rocket, do
+things like ejection tests, and extract data after a
+flight without having to crack open the air-frame.
+However, when the board is in “flight mode”, the
+altimeter only transmits and doesn&#8217;t listen at all.
+That&#8217;s because we want to put ultimate priority on
+event detection and getting telemetry out of the
+rocket through the radio in case the rocket crashes
+and we aren&#8217;t able to extract data later.</p>
+</div>
+<div class="paragraph">
+<p>We don&#8217;t generally use a 'normal packet radio' mode
+like APRS because they&#8217;re just too inefficient.  The
+GFSK modulation we use is FSK with the base-band
+pulses passed through a Gaussian filter before they go
+into the modulator to limit the transmitted bandwidth.
+When combined with forward error correction and
+interleaving, this allows us to have a very robust
+19.2 kilobit data link with only 10-40 milliwatts of
+transmit power, a whip antenna in the rocket, and a
+hand-held Yagi on the ground.  We&#8217;ve had flights to
+above 21k feet AGL with great reception, and
+calculations suggest we should be good to well over
+40k feet AGL with a 5-element yagi on the ground with
+our 10mW units and over 100k feet AGL with the 40mW
+devices.  We hope to fly boards to higher altitudes
+over time, and would of course appreciate customer
+feedback on performance in higher altitude flights!</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_aprs">A.6. APRS</h3>
+<div class="paragraph">
+<p>TeleMetrum v2 and newer and TeleMega can send APRS if desired, and the
+interval between APRS packets can be configured. As
+each APRS packet takes a full second to transmit, we
+recommend an interval of at least 5 seconds to avoid
+consuming too much battery power or radio channel
+bandwidth. You can configure the time within each
+minute that APRS transmits by changing the APRS offset
+value. When the GPS signal is locked and knows the
+current time, the APRS offset selects the time with
+each minute for the first APRS transmission;
+subsequent transmissions occur each APRS interval
+seconds thereafter.  You can configure the APRS
+interval and APRS offset using AltosUI; that
+process is described in <a href="#_configure_altimeter">Configure Altimeter</a>.</p>
+</div>
+<div class="paragraph">
+<p>AltOS supports both compressed and uncompressed APRS
+position report data formats. The compressed format
+provides for higher position precision and shorter
+packets than the uncompressed APRS format. We&#8217;ve found
+some older APRS receivers that do not handle the
+compressed format. The Kenwood TH-72A requires the use
+of uncompressed format to display altitude information
+correctly. The Yaesu FT1D requires the use of
+compressed format to display altitude information.</p>
+</div>
+<div class="paragraph">
+<p>APRS packets include an SSID (Secondary Station Identifier)
+field that allows one operator to have multiple
+transmitters. AltOS allows you to set this to a single digit
+from 0 to 9, allowing you to fly multiple transmitters at the
+same time while keeping the identify of each one separate in
+the receiver. By default, the SSID is set to the last digit of
+the device serial number.</p>
+</div>
+<div class="paragraph">
+<p>The APRS packet format includes a comment field that
+can have arbitrary text in it. AltOS uses this to send
+status information as shown in the following table.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 10. Altus Metrum APRS Comments</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Field</th>
+<th class="tableblock halign-left valign-top">Example</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">L</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GPS Status U for unlocked, L for locked</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of Satellites in View</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B4.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Altimeter Battery Voltage</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A3.7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee Igniter Voltage</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">M3.7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main Igniter Voltage</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1286</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Device Serial Number</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1286</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Device Serial Number</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Here&#8217;s an example of an APRS comment showing GPS lock with 6
+satellites in view, a primary battery at 4.0V, and
+apogee and main igniters both at 3.7V from device 1286.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>L6 B4.0 A3.7 M3.7 1286</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Here&#8217;s an example of an APRS comment showing GPS lock with 6
+satellites in view and a primary battery at 4.0V from device 1876.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>L6 B4.0 1876</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Make sure your primary battery is above 3.8V
+any connected igniters are above 3.5V
+and GPS is locked with at least 5 or 6 satellites in
+view before flying. If GPS is switching between L and
+U regularly, then it doesn&#8217;t have a good lock and you
+should wait until it becomes stable.</p>
+</div>
+<div class="paragraph">
+<p>If the GPS receiver loses lock, the APRS data
+transmitted will contain the last position for which
+GPS lock was available. You can tell that this has
+happened by noticing that the GPS status character
+switches from 'L' to 'U'. Before GPS has locked, APRS
+will transmit zero for latitude, longitude and
+altitude.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configurable_parameters">A.7. Configurable Parameters</h3>
+<div class="paragraph">
+<p>Configuring an Altus Metrum altimeter for flight is
+very simple.  Even on our baro-only TeleMini and
+EasyMini boards, the use of a Kalman filter means
+there is no need to set a “mach delay”.  All of the
+configurable parameters can be set using AltosUI. Read
+<a href="#_configure_altimeter">Configure Altimeter</a> for more information.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_handling_precautions">Appendix B: Handling Precautions</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>All Altus Metrum products are sophisticated electronic devices.
+When handled gently and properly installed in an air-frame, they
+will deliver impressive results.  However, as with all electronic
+devices, there are some precautions you must take.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+The Lithium Polymer rechargeable batteries have an
+extraordinary power density.  This is great because we can fly with
+much less battery mass than if we used alkaline batteries or previous
+generation rechargeable batteries&#8230;&#8203; but if they are punctured
+or their leads are allowed to short, they can and will release their
+energy very rapidly!
+Thus we recommend that you take some care when handling our batteries
+and consider giving them some extra protection in your air-frame.  We
+often wrap them in suitable scraps of closed-cell packing foam before
+strapping them down, for example.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The barometric sensors used on all of our flight computers are
+sensitive to sunlight.  In normal mounting situations, the baro sensor
+and all of the other surface mount components
+are “down” towards whatever the underlying mounting surface is, so
+this is not normally a problem.  Please consider this when designing an
+installation in an air-frame with a see-through plastic payload bay.  It
+is particularly important to
+consider this with TeleMini v1.0, both because the baro sensor is on the
+“top” of the board, and because many model rockets with payload bays
+use clear plastic for the payload bay!  Replacing these with an opaque
+cardboard tube, painting them, or wrapping them with a layer of masking
+tape are all reasonable approaches to keep the sensor out of direct
+sunlight.</p>
+</div>
+<div class="paragraph">
+<p>The barometric sensor sampling port must be able to “breathe”,
+both by not being covered by foam or tape or other materials that might
+directly block the hole on the top of the sensor, and also by having a
+suitable static vent to outside air.</p>
+</div>
+<div class="paragraph">
+<p>As with all other rocketry electronics, Altus Metrum altimeters must
+be protected from exposure to corrosive motor exhaust and ejection
+charge gasses.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_updating_device_firmware">Appendix C: Updating Device Firmware</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TeleMega, TeleMetrum v2 and newer, EasyMega, EasyMini and TeleDongle v3
+are all
+programmed directly over their USB connectors (self
+programming).
+TeleMetrum v1, TeleMini v1.0 and TeleDongle v0.2 are
+all programmed by using another device as a programmer (pair
+programming). It&#8217;s important to recognize which kind of devices
+you have before trying to reprogram them.</p>
+</div>
+<div class="paragraph">
+<p>TeleMini v3 can be updated directly over USB, but has no USB connector
+on the board.  Instead, the USB signals are present on a row of 6
+holes adjacent to the copyright assertion in the silk screen.  Thus,
+updating firmware on TeleMini v3 requires making up a special cable,
+after which you can treat it just like TeleMetrum or TeleMega.  Many
+USB cables seem to follow the color code of red is +5V, black is GND,
+green is USB +, and white is USB -.  On TeleMini v3, pin 3 which has
+a square copper pad is ground, pin 1 is USB -, and pin 2 is USB +.</p>
+</div>
+<div class="paragraph">
+<p>You may wish to begin by ensuring you have current firmware
+images.  These are distributed as part of the AltOS software
+bundle that also includes the AltosUI ground station program.
+Newer ground station versions typically work fine with older
+firmware versions, so you don&#8217;t need to update your devices
+just to try out new software features.  You can always
+download the most recent version from
+<a href="http://www.altusmetrum.org/AltOS/" class="bare">http://www.altusmetrum.org/AltOS/</a></p>
+</div>
+<div class="sect2">
+<h3 id="_updating_telemega_telemetrum_v2_or_newer_telemini_v3_easymega_easymini_teledongle_v3_or_telebt_v3_firmware">C.1. Updating TeleMega, TeleMetrum v2 or newer, TeleMini v3, EasyMega, EasyMini, TeleDongle v3 or TeleBT v3 Firmware</h3>
+<div class="paragraph">
+<p>Self-programmable devices are reprogrammed by
+connecting them to your computer over USB.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Attach a battery if necessary and power switch to
+the target device. Power up the device.</p>
+</li>
+<li>
+<p>Using a Micro USB cable, connect the target device to your
+computer&#8217;s USB socket.  If the target is a TeleMini v3,
+make up and attach a special USB cable.</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from the File menu.</p>
+</li>
+<li>
+<p>Select the target device in the Device Selection dialog.</p>
+</li>
+<li>
+<p>Select the image you want to flash to the device,
+which should have a name in the form
+&lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx,
+such as EasyMini-v1.0-1.6.0.ihx.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number and/or RF
+configuration values aren&#8217;t right, you&#8217;ll need to
+change them.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should proceed
+to flash the device with new firmware, showing a
+progress bar.</p>
+</li>
+<li>
+<p>Verify that the device is working by using the
+'Configure Altimeter' or 'Configure Groundstation'
+item to check over the configuration.</p>
+</li>
+</ol>
+</div>
+<div class="sect3">
+<h4 id="_recovering_from_self_flashing_failure">C.1.1. Recovering From Self-Flashing Failure</h4>
+<div class="paragraph">
+<p>If the firmware loading fails, it can leave the device
+unable to boot. Not to worry, you can force the device to
+start the boot loader instead, which will let you try to
+flash the device again.</p>
+</div>
+<div class="paragraph">
+<p>On each device, connecting two pins from one of the exposed
+connectors will force the boot loader to start, even if the
+regular operating system has been corrupted in some way.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">TeleMega</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the companion
+connector. Pin 1 can be identified by the square pad
+around it, and then the pins count sequentially across
+the board. Be very careful to <strong>not</strong> short pin 8 to
+anything as that is connected directly to the
+battery. Pin 7 carries 3.3V and the board will crash
+if that is connected to pin 1, but shouldn&#8217;t damage
+the board.</p>
+</dd>
+<dt class="hdlist1">EasyMega</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the companion
+connector. Pin 1 can be identified by the square pad
+around it, and then the pins count sequentially across
+the board. Be very careful to <strong>not</strong> short pin 8 to
+anything as that is connected directly to the
+battery. Pin 7 carries 3.3V and the board will crash
+if that is connected to pin 1, but shouldn&#8217;t damage
+the board.</p>
+</dd>
+<dt class="hdlist1">EasyTimer</dt>
+<dd>
+<p>Connect pin 5 and pin 1 of the debug connector, which
+is the six holes next to the beeper. Pin 1 can be
+identified by the square pad around it, and then the
+pins count sequentially across the board, making Pin 5
+the one on the other end of the row.</p>
+</dd>
+<dt class="hdlist1">TeleMetrum v2 and newer</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the companion
+connector. Pin 1 can be identified by the square pad
+around it, and then the pins count sequentially across
+the board. Be very careful to <strong>not</strong> short pin 8 to
+anything as that is connected directly to the
+battery. Pin 7 carries 3.3V and the board will crash
+if that is connected to pin 1, but shouldn&#8217;t damage
+the board.</p>
+</dd>
+<dt class="hdlist1">EasyMini</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the debug connector, which
+is the six holes next to the beeper. Pin 1 can be
+identified by the square pad around it, and then the
+pins count sequentially across the board, making Pin 6
+the one on the other end of the row.</p>
+</dd>
+<dt class="hdlist1">TeleGPS v1</dt>
+<dd>
+<p>Connect pin 32 on the CPU to ground.  Pin 32 is the
+right-most pin on the bottom edge of the CPU when the
+board is oriented with the USB and battery connectors
+to the right.</p>
+</dd>
+<dt class="hdlist1">TeleGPS v2</dt>
+<dd>
+<p>Connect together pins 1 and 5 of the Debug connector.
+Pin 1 is the pin with the square pad around the hole.</p>
+</dd>
+<dt class="hdlist1">TeleDongle v3</dt>
+<dd>
+<p>Connect pin 32 on the CPU to ground. Pin 32 is closest
+to the USB wires on the row of pins towards the center
+of the board. Ground is available on the capacitor
+next to it, on the end towards the USB wires.</p>
+</dd>
+<dt class="hdlist1">TeleBT v3</dt>
+<dd>
+<p>Connect pin 4 on the CPU to 3.3V, which can be done by
+connecting pin 1 to pin 4.  Pin 1 is the left pin on
+the lower edge of the chip when the unit is oriented
+such that the SMA is at the top.</p>
+</dd>
+<dt class="hdlist1">TeleBT v4</dt>
+<dd>
+<p>Connect pin 30 on the CPU to ground. Pin 30 is the 6th
+pin from the right on the top when the unit is oriented
+such that the SMA is at the top.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>Once you&#8217;ve located the right pins:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Turn the altimeter power off.</p>
+</li>
+<li>
+<p>Connect a battery.</p>
+</li>
+<li>
+<p>Connect the indicated terminals together with a
+short piece of wire. Take care not to accidentally
+connect anything else.</p>
+</li>
+<li>
+<p>Connect USB</p>
+</li>
+<li>
+<p>Turn the board power on.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The board should now be visible over USB as
+'AltosFlash' and be ready to receive firmware.  Once
+the board has been powered up, you can remove the
+piece of wire.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_pair_programming">C.2. Pair Programming</h3>
+<div class="paragraph">
+<p>The big concept to understand is that you have to use
+a TeleMetrum v1.0, TeleBT v1.0 or TeleDongle v0.2 as a
+programmer to update a pair programmed device. Due to
+limited memory resources in the cc1111, we don&#8217;t
+support programming directly over USB for these
+devices.</p>
+</div>
+<div class="paragraph">
+<p>If you need to update the firmware on a TeleDongle
+v0.2, we recommend updating the altimeter first,
+before updating TeleDongle.  However, note that
+TeleDongle rarely need to be updated.  Any firmware
+version 1.0.1 or later will work, version 1.2.1 may
+have improved receiver performance slightly.</p>
+</div>
+<div class="sect3">
+<h4 id="_updating_telemetrum_v1_x_firmware">C.2.1. Updating TeleMetrum v1.x Firmware</h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Find the 'programming cable' that you got as
+part of the starter kit, that has a red
+8-pin MicroMaTch connector on one end and a
+red 4-pin MicroMaTch connector on the other
+end.</p>
+</li>
+<li>
+<p>Take the 2 screws out of the TeleDongle v0.2
+or TeleBT v1.0 case to get access to the
+circuit board.</p>
+</li>
+<li>
+<p>Plug the 8-pin end of the programming cable
+to the matching connector on the TeleDongle
+v0.2 or TeleBT v1.0, and the 4-pin end to
+the matching connector on the TeleMetrum.
+Note that each MicroMaTch connector has an
+alignment pin that goes through a hole in
+the PC board when you have the cable
+oriented correctly.</p>
+</li>
+<li>
+<p>Attach a battery to the TeleMetrum board.</p>
+</li>
+<li>
+<p>Plug the TeleDongle v0.2 or TeleBT v1.0 into
+your computer&#8217;s USB port, and power up the
+TeleMetrum.</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from
+the File menu.</p>
+</li>
+<li>
+<p>Pick the TeleDongle v0.2 or TeleBT v1.0
+device from the list, identifying it as the
+programming device.</p>
+</li>
+<li>
+<p>Select the image you want put on the
+TeleMetrum, which should have a name in the
+form telemetrum-v1.2-1.0.0.ihx.  It should
+be visible in the default directory, if not
+you may have to poke around your system to
+find it.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number
+and/or RF configuration values aren&#8217;t right,
+you&#8217;ll need to change them.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should
+proceed to flash the TeleMetrum with new
+firmware, showing a progress bar.</p>
+</li>
+<li>
+<p>Confirm that the TeleMetrum board seems to
+have updated OK, which you can do by
+plugging in to it over USB and using a
+terminal program to connect to the board and
+issue the 'v' command to check the version,
+etc.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>If something goes wrong, give it another try.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_updating_telemini_v1_0_firmware">C.2.2. Updating TeleMini v1.0 Firmware</h4>
+<div class="paragraph">
+<p>You&#8217;ll need a special 'programming cable' to
+reprogram the TeleMini v1.0.  You can make your own
+using an 8-pin MicroMaTch connector on one end
+and a set of four pins on the other.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Take the 2 screws out of the TeleDongle v0.2
+or TeleBT v1.0 case to get access to the
+circuit board.</p>
+</li>
+<li>
+<p>Plug the 8-pin end of the programming cable
+to the matching connector on the TeleDongle
+v0.2 or TeleBT v1.0, and the 4-pins into the
+holes in the TeleMini v1.0 circuit board.  Note
+that the MicroMaTch connector has an
+alignment pin that goes through a hole in
+the PC board when you have the cable
+oriented correctly, and that pin 1 on the
+TeleMini v1.0 board is marked with a square pad
+while the other pins have round pads.</p>
+</li>
+<li>
+<p>Attach a battery to the TeleMini v1.0 board.</p>
+</li>
+<li>
+<p>Plug the TeleDongle v0.2 or TeleBT v1.0 into
+your computer&#8217;s USB port, and power up the
+TeleMini v1.0</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from
+the File menu.</p>
+</li>
+<li>
+<p>Pick the TeleDongle v0.2 or TeleBT v1.0
+device from the list, identifying it as the
+programming device.</p>
+</li>
+<li>
+<p>Select the image you want put on the
+TeleMini v1.0, which should have a name in the
+form telemini-v1.0-1.0.0.ihx.  It should be
+visible in the default directory, if not you
+may have to poke around your system to find
+it.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number
+and/or RF configuration values aren&#8217;t right,
+you&#8217;ll need to change them.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should
+proceed to flash the TeleMini v1.0 with new
+firmware, showing a progress bar.</p>
+</li>
+<li>
+<p>Confirm that the TeleMini v1.0 board seems to
+have updated OK, which you can do by
+configuring it over the radio link through
+the TeleDongle, or letting it come up in
+“flight” mode and listening for telemetry.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>If something goes wrong, give it another try.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_updating_teledongle_v0_2_firmware">C.2.3. Updating TeleDongle v0.2 Firmware</h4>
+<div class="paragraph">
+<p>Updating TeleDongle v0.2 firmware is just like
+updating TeleMetrum v1.x or TeleMini v1.0 firmware, but you
+use either a TeleMetrum v1.x, TeleDongle v0.2 or
+TeleBT v1.0 as the programmer.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Find the 'programming cable' that you got as part of
+the starter kit, that has a red 8-pin MicroMaTch
+connector on one end and a red 4-pin MicroMaTch
+connector on the other end.</p>
+</li>
+<li>
+<p>Find the USB cable that you got as part of the
+starter kit, and plug the “mini” end in to the
+mating connector on TeleMetrum v1.x, TeleDongle v0.2
+or TeleBT v1.0.</p>
+</li>
+<li>
+<p>Take the 2 screws out of the TeleDongle v0.2 or
+TeleBT v1.0 case to get access to the circuit board.</p>
+</li>
+<li>
+<p>Plug the 8-pin end of the programming cable to the
+matching connector on the programmer, and the 4-pin
+end to the matching connector on the TeleDongle
+v0.2.  Note that each MicroMaTch connector has an
+alignment pin that goes through a hole in the PC
+board when you have the cable oriented correctly.</p>
+</li>
+<li>
+<p>Attach a battery to the TeleMetrum v1.x board if
+you&#8217;re using one.</p>
+</li>
+<li>
+<p>Plug both the programmer and the TeleDongle into
+your computer&#8217;s USB ports, and power up the
+programmer.</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from the File
+menu.</p>
+</li>
+<li>
+<p>Pick the programmer device from the list,
+identifying it as the programming device.</p>
+</li>
+<li>
+<p>Select the image you want put on the TeleDongle
+v0.2, which should have a name in the form
+teledongle-v0.2-1.0.0.ihx.  It should be visible in
+the default directory, if not you may have to poke
+around your system to find it.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number and/or RF
+configuration values aren&#8217;t right, you&#8217;ll need to
+change them.  The TeleDongle v0.2 serial number is
+on the “bottom” of the circuit board, and can
+usually be read through the translucent blue plastic
+case without needing to remove the board from the
+case.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should proceed
+to flash the TeleDongle v0.2 with new firmware,
+showing a progress bar.</p>
+</li>
+<li>
+<p>Confirm that the TeleDongle v0.2 board seems to have
+updated OK, which you can do by plugging in to it
+over USB and using a terminal program to connect to
+the board and issue the 'v' command to check the
+version, etc.  Once you&#8217;re happy, remove the
+programming cable and put the cover back on the
+TeleDongle v0.2.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>If something goes wrong, give it another try.</p>
+</div>
+<div class="paragraph">
+<p>Be careful removing the programming cable from the
+locking 8-pin connector on TeleMetrum.  You&#8217;ll need a
+fingernail or perhaps a thin screwdriver or knife
+blade to gently pry the locking ears out slightly to
+extract the connector.  We used a locking connector on
+TeleMetrum to help ensure that the cabling to
+companion boards used in a rocket don&#8217;t ever come
+loose accidentally in flight.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_flight_data_recording">Appendix D: Flight Data Recording</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Each flight computer logs data at 100 samples per second
+during ascent and 10 samples per second during
+descent, except for TeleMini v1.0, which records ascent at 10 samples
+per second and descent at 1 sample per second.
+Data are logged to
+an on-board flash memory part, which can be partitioned into
+several equal-sized blocks, one for each flight.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 11. Data Storage on Altus Metrum altimeters</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Device</th>
+<th class="tableblock halign-left valign-top">Bytes per Sample</th>
+<th class="tableblock halign-left valign-top">Total Storage</th>
+<th class="tableblock halign-left valign-top">Minutes at Full Rate</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">20</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.1 v1.2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">80</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">80</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">512kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The on-board flash is partitioned into separate flight logs,
+each of a fixed maximum size. Increase the maximum size of
+each log and you reduce the number of flights that can be
+stored. Decrease the size and you can store more flights.</p>
+</div>
+<div class="paragraph">
+<p>Configuration data is also stored in the flash memory on
+TeleMetrum v1.x,
+TeleMini v3.0 and
+EasyMini.
+This consumes 64kB
+of flash space.  This configuration space is not available
+for storing flight log data.</p>
+</div>
+<div class="paragraph">
+<p>TeleMetrum v2 or newer, TeleMega and EasyMega
+store configuration data in a bit of eeprom available within
+the processor chip, leaving that space available in flash for
+more flight data.</p>
+</div>
+<div class="paragraph">
+<p>To compute the amount of space needed for a single flight, you
+can multiply the expected ascent time (in seconds) by 100
+times bytes-per-sample, multiply the expected descent time (in
+seconds) by 10 times the bytes per sample and add the two
+together. That will slightly under-estimate the storage (in
+bytes) needed for the flight.
+For instance, a TeleMetrum v2 or newer flight spending
+20 seconds in ascent and 150 seconds in descent will take
+about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You
+could store dozens of these flights in the on-board flash.</p>
+</div>
+<div class="paragraph">
+<p>The default size allows for several flights on each flight
+computer, except for TeleMini v1.0, which
+only holds data for a single flight.
+You can adjust the size.</p>
+</div>
+<div class="paragraph">
+<p>Altus Metrum flight computers will not overwrite existing
+flight data, so be sure to download flight data and erase it
+from the flight computer before it fills up. The flight
+computer will still successfully control the flight even if it
+cannot log data, so the only thing you will lose is the data.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_altus_metrum_hardware_specifications">Appendix E: Altus Metrum Hardware Specifications</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Here&#8217;s the full set of Altus Metrum products, both in
+production and retired.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 12. Altus Metrum Flight Computer Electronics</caption>
+<colgroup>
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Device</th>
+<th class="tableblock halign-left valign-top">Barometer</th>
+<th class="tableblock halign-left valign-top">Z-axis accel</th>
+<th class="tableblock halign-left valign-top">GPS</th>
+<th class="tableblock halign-left valign-top">3D sensors</th>
+<th class="tableblock halign-left valign-top">Storage</th>
+<th class="tableblock halign-left valign-top">RF Output</th>
+<th class="tableblock halign-left valign-top">Battery</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA2202 50g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA2202 50g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL78 70g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">512kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU9250</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v4.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">BMX160</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v5.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 MMC5983</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU9250</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyTimer v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">BMX160</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMotor v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6.5-15V</p></td>
+</tr>
+</tbody>
+</table>
+<div style="page-break-after: always;"></div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 13. Altus Metrum Flight Computer Mechanical Components</caption>
+<colgroup>
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Device</th>
+<th class="tableblock halign-left valign-top">Connectors</th>
+<th class="tableblock halign-left valign-top">Screw Terminals</th>
+<th class="tableblock halign-left valign-top">Width</th>
+<th class="tableblock halign-left valign-top">Length</th>
+<th class="tableblock halign-left valign-top">Tube Size</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Companion USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Switch</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1 inch (2.54cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2 ¾ inch (6.99cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">29mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">½ inch (1.27cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">18mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Battery Switch</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Companion USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Pyro A-D Switch Pyro battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1¼ inch (3.18cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3¼ inch (8.26cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">38mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug Companion USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Pyro A-D Switch Pyro battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1¼ inch (3.18cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2¼ inch (5.62cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">38mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyTimer</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro A Pyro B Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMotor</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">+5V Pres GND Switch Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_release_notes">Appendix F: Release Notes</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_8">F.1. Release Notes for Version 1.9.8</h3>
+<div class="paragraph">
+<p>Version 1.9.8</p>
+</div>
+<div class="sect3">
+<h4 id="_altos">F.1.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMega v5.0</p>
+</li>
+<li>
+<p>Extend extra pyro channel times to support delay &gt; 327 seconds</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_2">F.1.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support ARM devices in Linux binary release</p>
+</li>
+<li>
+<p>Add support for TeleMega v5.0</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_2">F.1.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Show tilt angle in pad and flight tabs</p>
+</li>
+<li>
+<p>Show altitude as well as height (useful for TeleGPS)</p>
+</li>
+<li>
+<p>Support devices without GPS receivers</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_micropeak_gui">F.1.4. MicroPeak GUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Show error dialog if device open fails</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_7">F.2. Release Notes for Version 1.9.7</h3>
+<div class="paragraph">
+<p>Version 1.9.7</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_2">F.2.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix TeleGPS logging so that new data are appended to an existing log correctly</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_3">F.2.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support Mac OS X 11 (Big Sur)</p>
+</li>
+<li>
+<p>Support Monitor Idle on Easy Timer</p>
+</li>
+<li>
+<p>Fix TeleMega v4.0 and TeleMetrum v3.0 configuration in Antenna Down mode</p>
+</li>
+<li>
+<p>Show launch sites in Load Maps view</p>
+</li>
+<li>
+<p>Add IMU header names to CSV files</p>
+</li>
+<li>
+<p>Clean up TeleGPS log corruption due to firmware bugs during firmware update</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_3">F.2.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support older devices back to Android version 5.1</p>
+</li>
+<li>
+<p>Fix a number of issues that could result in app crashes</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_6">F.3. Release Notes for Version 1.9.6</h3>
+<div class="paragraph">
+<p>Version 1.9.6</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_3">F.3.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix EasyTimer bug where it might mis-detect boost (either
+detect it early or not at all) due to small errors in
+accelerometer calibration leading to large accumulated error
+in speed.</p>
+</li>
+<li>
+<p>Adjust self-test of new 9-axis IMU (BMX-160) so that it
+doesn&#8217;t think the part has a failure when tested sitting
+horizontally.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_5">F.4. Release Notes for Version 1.9.5</h3>
+<div class="paragraph">
+<p>Version 1.9.5</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_4">F.4.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add Booster mode for all dual-deploy altimeters. Select
+"Separation &amp; Apogee" mode in AltosUI to fire the 'main'
+channel at first motor burnout and the 'apogee' channel at
+apogee.</p>
+</li>
+<li>
+<p>Improve reliability of stm32l firmware under heavy
+load. This was found using Monitor Idle on TeleMega with all
+flash slots full of data which would occasionally lock up.</p>
+</li>
+<li>
+<p>Fix orientation label in AltosUI for devices with
+radios. This makes the orientation say 'Antenna up' and
+'Antenna Down' for TeleMetrum and TeleMega again.</p>
+</li>
+<li>
+<p>Fix log data for pyro channels which were inhibited (often
+because of a tilt limit). They used to report 'fired' as
+soon as they were inhibited, which was misleading. Now they
+never report as having been fired.</p>
+</li>
+<li>
+<p>Allow Igniter Test to fire each igniter more than once.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_4">F.4.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Improve performance of Monitor Idle mode by sending less data for each
+update.</p>
+</li>
+<li>
+<p>Improve Mac OS X install scripts so that they work on
+Catalina. This involves sending the user to get Java from
+the AdoptOpenJDK project which provides a version that works
+with Java applications.</p>
+</li>
+<li>
+<p>Make larger dialogs scrollable for use on smaller screens.</p>
+</li>
+<li>
+<p>Fix troubles re-flashing EasyMega boards running older
+firmware.</p>
+</li>
+<li>
+<p>Add TeleMetrum v3.0 firmware to the Windows
+AltosUI packages.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_4">F.5. Release Notes for Version 1.9.4</h3>
+<div class="paragraph">
+<p>Version 1.9.4</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_5">F.5.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Fixed firmware for TeleDongle v3.0 and TeleBT v4.0. Version 1.9.3 bricked those
+devices requiring them to be opened up to get them working again.</p>
+</li>
+<li>
+<p>Fixed firmware for EasyMini v1.0. Changes in the storage
+code caused it to use significantly more RAM which made the
+interrupt stack smash into other data structures and cause
+the device to panic at startup time.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_5">F.5.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add TeleMetrum v3.0 firmware to the Linux and Mac OSX
+AltosUI packages.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_3">F.6. Release Notes for Version 1.9.3</h3>
+<div class="paragraph">
+<p>Version 1.9.3</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_6">F.6.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add APRS offset. Allows multiple APRS transmitters to coordinate when
+transmission occurs to allow them to share a frequency.</p>
+</li>
+<li>
+<p>Fix max log size. Flight computer storage is erased in 64kB chunks. Adjust max
+log size to be a multiple of this size.</p>
+</li>
+<li>
+<p>Check flight erasing more carefully. Handle interrupting erasing in the
+middle.</p>
+</li>
+<li>
+<p>Add EasyTimer support.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak">F.6.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add configuration support for APRS offset.</p>
+</li>
+<li>
+<p>Adjust flight log sizes to be a multiple of the flight
+computer erase block size.</p>
+</li>
+<li>
+<p>Report barometric pad altitude in Pad tab for TeleMini.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_2">F.7. Release Notes for Version 1.9.2</h3>
+<div class="paragraph">
+<p>Version 1.9.2</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_7">F.7.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMega v4.0</p>
+</li>
+<li>
+<p>Fix time wrapping issue with TeleLCO and TeleFire</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_2">F.7.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add column in AltosUI for IMU data from TeleMega and EasyMega</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_4">F.7.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Allow sorting of trackers by call, serial, frequency or age</p>
+</li>
+<li>
+<p>Offer selection of font sizes</p>
+</li>
+<li>
+<p>Various bug fixes for older Android versions</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_1">F.8. Release Notes for Version 1.9.1</h3>
+<div class="paragraph">
+<p>Version 1.9.1</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_8">F.8.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMetrum v3.0</p>
+</li>
+<li>
+<p>Fix accel cal value when changing EasyMega v2.0 pad orientation</p>
+</li>
+<li>
+<p>Correct EasyMega v2.0 magnetometer data axes</p>
+</li>
+<li>
+<p>Fix EasyMega v2.0 idle monitor display of IMU data</p>
+</li>
+<li>
+<p>Report all sensor failures at power-up time.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_3">F.8.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Display error message when attempting to graph unknown format file.</p>
+</li>
+<li>
+<p>Make it possible to disable APRS once enabled.</p>
+</li>
+<li>
+<p>Display some data for point near cursor in map tab.</p>
+</li>
+<li>
+<p>Support upgrading devices from pre-1.8 firmware</p>
+</li>
+<li>
+<p>Wait for Windows to prepare new devices during firmware
+upgrade. This should avoid the “COMxx: open failed” message.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9">F.9. Release Notes for Version 1.9</h3>
+<div class="paragraph">
+<p>Version 1.9</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_9">F.9.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for EasyMega v2.0</p>
+</li>
+<li>
+<p>Replace C library for ARM devices</p>
+</li>
+<li>
+<p>Remove support for 8051-based devices and SDCC compiler</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_4">F.9.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Select ROM images based on product name when reflashing</p>
+</li>
+<li>
+<p>Fix TeleGPS v2 battery voltage display</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_7">F.10. Release Notes for Version 1.8.7</h3>
+<div class="paragraph">
+<p>Version 1.8.7</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_10">F.10.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Include TeleMega v3.0 firmware</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_5">F.10.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Poll for new devices while Device dialog is displayed</p>
+</li>
+<li>
+<p>Wait for device to re-appear when flashing new firmware</p>
+</li>
+<li>
+<p>Fetch correct TeleBT v4.0 RF calibration values from web
+site when reflashing.</p>
+</li>
+<li>
+<p>Change gyro headings in .csv files from x/y/z to
+roll/pitch/yaw</p>
+</li>
+<li>
+<p>Add documentation about Packet Link mode</p>
+</li>
+<li>
+<p>Add documentation about forcing TeleMini RF parameters to
+known values.</p>
+</li>
+<li>
+<p>Create a proxy server for Google Maps to re-enable map
+images</p>
+</li>
+<li>
+<p>Fix Java version info in all distributed jar files so that
+applications will run with standard Mac OS X Java.</p>
+</li>
+<li>
+<p>Replace JavaApplicationStub for Mac OS X so that
+applications will run with Oracle Java.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_6">F.11. Release Notes for Version 1.8.6</h3>
+<div class="paragraph">
+<p>Version 1.8.6</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_11">F.11.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Use maximum of 64 previous tilt values in pyro tilt tests</p>
+</li>
+<li>
+<p>Eliminate 100m height requirement for coast detection</p>
+</li>
+<li>
+<p>Change After Motor pyro check to be &gt;= instead of ==</p>
+</li>
+<li>
+<p>Change Time since Boost to be Time since launch.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps">F.11.2. AltosUI, TeleGPS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Clarify pyro test phrasing</p>
+</li>
+<li>
+<p>Remove ascending/descending from pyro config UI</p>
+</li>
+<li>
+<p>Fix accel calibration in Antenna Down mode</p>
+</li>
+<li>
+<p>Add mag sensor reporting for TeleMega v3 idle monitoring.</p>
+</li>
+<li>
+<p>Fix radio parameter saving at 2400 bps telmetry rate.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_micropeak">F.11.3. MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Report altimeter-recorded maximum height value</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_5">F.12. Release Notes for Version 1.8.5</h3>
+<div class="paragraph">
+<p>Version 1.8.5 includes fixes to the ground software support
+for TeleBT v4, along with a few other minor updates.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_12">F.12.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix startup beeps that indicate sensor failures.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_2">F.12.2. AltosUI, TeleGPS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>When updating device firmware, make sure selected firmware
+matches target device.</p>
+</li>
+<li>
+<p>Correct Bluetooth device matching when looking for TeleBT
+devices.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_4">F.13. Release Notes for Version 1.8.4</h3>
+<div class="paragraph">
+<p>Version 1.8.4 includes support for EasyMini version 2.0</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_13">F.13.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for EasyMini version 2.0 hardware.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_3">F.14. Release Notes for Version 1.8.3</h3>
+<div class="paragraph">
+<p>Version 1.8.3 includes support for TeleMega version 3.0 along
+with two important flight computer fixes. This version also
+changes KML export data to make Tripoli Record reporting
+better and some updates to graph presentation and data
+downloading.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_14">F.14.1. AltOS</h4>
+<div class="sect4">
+<h5 id="_altos_new_features">AltOS New Features</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleMega version 3.0 hardware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_altos_bug_fixes">AltOS Bug Fixes</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Ground testing EasyMega and TeleMega additional pyro
+channels could result in a sticky 'fired' status which would
+prevent these channels from firing on future flights.</p>
+</li>
+<li>
+<p>Corrupted flight log records could prevent future flights
+from capturing log data.</p>
+</li>
+<li>
+<p>Fixed saving of pyro configuration that ended with
+'Descending'.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications">F.14.2. AltosUI and TeleGPS Applications</h4>
+<div class="sect4">
+<h5 id="_altosui_new_features">AltosUI New Features</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleMega version 3.0.</p>
+</li>
+<li>
+<p>Graph lines have improved appearance to make them easier to
+distinguish. Markers may be placed at data points to show
+captured recorded data values.</p>
+</li>
+<li>
+<p>Graphing offers the ability to adjust the smoothing of
+computed speed and acceleration data.</p>
+</li>
+<li>
+<p>The download dialog now offers to graph new flights, checks
+for existing files to avoid overwriting data and reports if
+there are checksum errors in the downloaded data.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_altosuitelegps_bug_fixes">AltosUI/TeleGPS Bug Fixes</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Restore TeleGPS tracking behavior.</p>
+</li>
+<li>
+<p>Display flight computer call sign and serial number in
+Monitor Idle mode instead of ground station values.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_altosui_and_telegps_changes">AltosUI and TeleGPS Changes</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>KML export now reports both barometric and GPS altitude data
+to make it more useful for Tripoli record reporting.</p>
+</li>
+<li>
+<p>CSV export now includes TeleMega/EasyMega pyro voltages and
+tilt angle.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_2">F.15. Release Notes for Version 1.8.2</h3>
+<div class="paragraph">
+<p>Version 1.8.2 includes support for TeleGPS version 2.0 along
+with accelerometer recalibration support in AltosUI.</p>
+</div>
+<div class="paragraph">
+<p>1.8.2 also contains a couple of minor fixes for AltosUI when
+analyzing saved data files.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_15">F.15.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleGPS version 2.0 hardware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_2">F.15.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleGPS version 2.0.</p>
+</li>
+<li>
+<p>Accelerometer re-calibration user interface.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Prevent some crashes when reading older saved flight data
+for graphing or KML export.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_1">F.16. Release Notes for Version 1.8.1</h3>
+<div class="paragraph">
+<p>Version 1.8.1 includes an important bug fix for Apogee Lockout
+operation in all flight computers. Anyone using this option
+must update firmware.</p>
+</div>
+<div class="paragraph">
+<p>This release also contains a change in how flight computers
+with accelerometers deal with speeds around and above Mach
+1. In previous versions, the flight computer would completely
+disregard the barometric sensor above 330m/s (around Mach
+1). Now, the data from the barometric sensor is reduced in
+effect without ever going away entirely. This prevents early
+drogue deployment for flights which spend considerable time
+above Mach 1.</p>
+</div>
+<div class="paragraph">
+<p>1.8.1 also contains a couple of minor fixes for AltosUI when
+analyzing saved data files.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_16">F.16.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Handle time value wrapping in Apogee Lockout
+correctly. Without this, apogee lockout would sometimes
+prevent any drogue charge from firing.</p>
+</li>
+<li>
+<p>Change Kalman filter on flight computers with accelerometer
+to continue using the barometric sensor even at high speeds
+to avoid unintentional drogue deployment during
+deceleration.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_3">F.16.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add new 'Huge' font size to make text even bigger on high
+resolution monitors.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Prevent some crashes when reading older saved flight data
+for graphing or KML export.</p>
+</li>
+<li>
+<p>Load frequency preference at startup. The loading code was
+broken, so you&#8217;d see only the default frequencies.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8">F.17. Release Notes for Version 1.8</h3>
+<div class="paragraph">
+<p>Version 1.8 includes support for our new TeleBT v4.0 ground
+station, updates for data analysis in our ground station
+software and bug fixes in in the flight software for all our
+boards and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_17">F.17.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT v4.0 boards.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_4">F.17.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT v4.0 hardware</p>
+</li>
+<li>
+<p>Rewrite graphing and export functions. This code now handles
+each data series separately so that graphs are drawn
+correctly. Smoothing now uses a filter that looks both
+forward and backwards in time to make computed speed and
+acceleration data more accurate.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Correct axis labeling of magnetic sensor in TeleMega and
+EasyMega. The Y and Z axes were flipped.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_7">F.18. Release Notes for Version 1.7</h3>
+<div class="paragraph">
+<p>Version 1.7 includes support for our new TeleMini v3.0
+flight computer and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_18">F.18.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMini v3.0 boards.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix interrupt priorities on STM32L processors. Run timer
+interrupt at lowest priority so that device interrupts get
+serviced first.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_5">F.18.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMini v3.0 hardware</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_8">F.19. Release Notes for Version 1.6.8</h3>
+<div class="paragraph">
+<p>Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where
+the device could stop logging data and transmitting
+telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
+v2.0 users should update their flight firmware.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_19">F.19.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix STM32L DMA driver to work around STM32L SoC DMA priority
+issue t lock-up in the logging or radio code, either of
+which could stop data logging and telemetry.</p>
+</li>
+<li>
+<p>Avoid having TeleBT battery status values smash telemetry
+packet data by holding a lock during both operations.</p>
+</li>
+<li>
+<p>Don&#8217;t start reporting 'flight 0' when the log fills in
+flight.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS changes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Flash LEDS on all products briefly during power up so that
+they can be tested during production.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_and_altosdroid_applications">F.19.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Re-enable go/no-go entries after they&#8217;ve been disabled due
+to lack of data. If telemetry information is delayed when
+the Ui starts up, sometimes important fields would get
+disabled to never re-appear.</p>
+</li>
+<li>
+<p>Deal with ground station failure better during Configure
+Ground Station operation by cleaning up pending operations.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_5">F.20. Release Notes for Version 1.6.5</h3>
+<div class="paragraph">
+<p>Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where
+the device would often stop logging data and transmitting
+telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
+v2.0 users should update their flight firmware.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_20">F.20.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix STM32L SPI driver to prevent lock-up in the logging or
+radio code, either of which could stop data logging and
+telemetry. Found and characterized by Chuck Haskin, who also
+tested the new firmware before release.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_and_altosdroid_applications_2">F.20.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with
+Windows package.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_4">F.21. Release Notes for Version 1.6.4</h3>
+<div class="paragraph">
+<p>Version 1.6.4 fixes a bluetooth communication problem with
+TeleBT v1.0 devices, along with some altosui and altosdroid
+minor nits. It also now ships firmware for some newer devices.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_21">F.21.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS
+doesn&#8217;t seem to work, switch from using the hardware to
+driving these pins with software.</p>
+</li>
+<li>
+<p>Fix ARM USB drivers to deal with OS restarts. Needed to
+reset all USB-related state when the USB bus is reset. These
+fixes affect all STM32L, STM32F0 and LPC11U14 based devices.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_and_altosdroid_applications_3">F.21.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
+<div class="paragraph">
+<p>AltosUI, TeleGPS and AltosDroid New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Automatically switch from meters or feet to kilometers or
+miles for distance units.</p>
+</li>
+<li>
+<p>Add Monitor Idle mode to TeleGPS application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI, TeleGPS and AltosDroid Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Abort map preloading when the preload map dialog is closed.</p>
+</li>
+<li>
+<p>In AltosDroid, Don&#8217;t reconnect to last device if the user
+had disconnected it the last time the application was
+active.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation">F.21.3. Documentation</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Mention TeleMega v2.0 in hardware specs table.</p>
+</li>
+<li>
+<p>Document TeleGPS RF output in telegps manual.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_3">F.22. Release Notes for Version 1.6.3</h3>
+<div class="paragraph">
+<p>Version 1.6.3 adds idle mode to AltosDroid and has bug fixes
+for our host software on desktops, laptops an android devices
+along with BlueTooth support for Windows.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_22">F.22.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix hardware flow control on TeleBT v3.0. RTS/CTS is
+wired backwards on this board, switch from using the
+hardware to driving these pins with software.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_6">F.22.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add BlueTooth support for Windows operating system. This
+supports connections to TeleBT over BlueTooth rather than
+just USB.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Change Java detection and install on Windows. Detection is
+now done by looking for the 'javaw.exe' program, and
+installation by opening a browser on the java.com web site.</p>
+</li>
+<li>
+<p>Delay polling while the Fire Igniters is visible to allow
+for TeleMega to report back complete status over the radio.</p>
+</li>
+<li>
+<p>Disallow changing RF calibration numbers in the
+configuration UI. There&#8217;s no good reason to change this from
+the field, and recovering is really hard if you haven&#8217;t
+written down the right number.</p>
+</li>
+<li>
+<p>Fix USB device discovery on Mac OS X El Capitan. This makes
+the connected Altus Metrum USB devices appear again.</p>
+</li>
+<li>
+<p>Fix acceleration data presented in MonitorIdle mode for
+TeleMetrum v2.0 flight computers.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_5">F.22.3. AltosDroid</h4>
+<div class="paragraph">
+<p>AltosDroid new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Monitor Idle mode. Check state of flight computer while in
+idle mode over the radio link</p>
+</li>
+<li>
+<p>Fire Igniters. Remotely fire ignires for recovery system
+ground tests.</p>
+</li>
+<li>
+<p>Remote reboot. Cause the flight computer to reboot over the
+radio link. This provides a method for switching the flight
+computer from idle to flight mode without needing to reach
+the power switch.</p>
+</li>
+<li>
+<p>Configurable frequency menu. Change the set of available
+frequencies and provide more descriptive names.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosDroid bug fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Don&#8217;t set target location if GPS hasn&#8217;t locked yet.</p>
+</li>
+<li>
+<p>Fix saving target states so they can be reloaded when the
+application restarts. When the application is shut down and
+restarted, all previous target state information will be
+restored (including GPS position if available).</p>
+</li>
+<li>
+<p>Fix crash on some Android devices for offline maps when
+changing the map scale or location.</p>
+</li>
+<li>
+<p>Don&#8217;t require USB OTG support. This kept the latest
+AltosDroid from being offered on devices without USB device
+support, although it can work without that just fine using
+BlueTooth.</p>
+</li>
+<li>
+<p>Don&#8217;t require bluetooth to be enabled. This allows the
+application to operate with USB devices or just show old
+data without turning on the bluetooth radio.</p>
+</li>
+<li>
+<p>Recover old tracker positions when restarting
+application. This finally allows you to safely stop and
+restart the application without losing the last known
+location of any tracker.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation_2">F.22.4. Documentation</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Document TeleMega and EasyMega additional pyro channel
+continuity audio alert pattern.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_2">F.23. Release Notes for Version 1.6.2</h3>
+<div class="paragraph">
+<p>Version 1.6.2 includes support for our updated TeleMega v2.0
+product and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_23">F.23.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMega v2.0 boards.</p>
+</li>
+<li>
+<p>Add PWM servo driver. There&#8217;s no higher level code using
+this yet, but the driver allows testing of the TeleMega v2.0
+servo output connector.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Slow down telemetry packets to allow receiver to keep
+up.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_7">F.23.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix post-flight orientation computation when processing
+TeleMega and EasyMega eeprom data files.</p>
+</li>
+<li>
+<p>Capture complete eeprom data even when there are invalid
+entries in the data. This keeps reading eeprom contents and
+writing the associated .eeprom file when an error is detected.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation_3">F.23.3. Documentation</h4>
+<div class="paragraph">
+<p>We spent a bunch of time trying to improve our documentation</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>HTML versions now have a table of contents on the left side.</p>
+</li>
+<li>
+<p>EasyMini now has its own shorter manual.</p>
+</li>
+<li>
+<p>Provide links between sections in each document.</p>
+</li>
+<li>
+<p>Lots of minor rewriting and restructuring to avoid
+duplication of information</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_1">F.24. Release Notes for Version 1.6.1</h3>
+<div class="paragraph">
+<p>Version 1.6.1 includes support for our updated TeleBT v3.0
+product and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_24">F.24.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT v3.0 boards.</p>
+</li>
+<li>
+<p>Add support for uncompressed APRS data, providing support
+for older APRS receivers. Uncompressed APRS data is less
+precise, takes more bandwidth and doesn&#8217;t have integrated
+altitude data.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make TeleDongle and TeleBT more tolerant of data rate
+variations from transmitting devices.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_8">F.24.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add map to Monitor Idle display. It&#8217;s nice to be able to
+verify that maps are working, instead of needing to use
+Monitor Flight.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix frequency configuration to round values instead of
+truncate them, avoiding a common 1kHz error in the setting.</p>
+</li>
+<li>
+<p>Turn the Windows stub into a more useful program that can
+launch the application with parameters so that file manager
+icons work more reliably.</p>
+</li>
+<li>
+<p>Force KML export to use a C locale so that numbers are
+formatted with '.' instead of ',' for a decimal separator in
+non-US locales.</p>
+</li>
+<li>
+<p>Preload map tiles based on distance rather than number of
+tiles; this means you get the same resolution covering the
+entire area, rather than having high resolution near the
+center and low resolution further away.</p>
+</li>
+<li>
+<p>Allow configuration of frequency and callsign in Monitor
+Idle mode.</p>
+</li>
+<li>
+<p>Fix layout weirdness when resizing windows on
+Windows. Windows shouldn&#8217;t have giant blank spaces around
+the useful content anymore.</p>
+</li>
+<li>
+<p>Fix layout weirdness when resizing windows on
+Windows. Windows shouldn&#8217;t have giant blank spaces around
+the useful content anymore.</p>
+</li>
+<li>
+<p>Use a longer filter for descent speed values. This should
+provide something more useful on the display, although it
+will take longer to respond to changes now.</p>
+</li>
+<li>
+<p>Make Replay Flight run in realtime again. It had been set to
+run at 10x speed by mistake.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_6">F.24.3. AltosDroid</h4>
+<div class="paragraph">
+<p>AltosDroid New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add offline map support using mapping code from AltosUI.</p>
+</li>
+<li>
+<p>Support TeleDongle (and TeleBT via USB) on devices
+supporting USB On-The-Go.</p>
+</li>
+<li>
+<p>Display additional TeleMega pyro channel status in Pad tab.</p>
+</li>
+<li>
+<p>Switch between metric and imperial units.</p>
+</li>
+<li>
+<p>Monitor TeleBT battery voltage.</p>
+</li>
+<li>
+<p>Track multiple devices at the same time, selecting between
+them with a menu or using the map.</p>
+</li>
+<li>
+<p>Add hybrid, satellite and terrain map types.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosDroid Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Use standard Android display conventions so that a menu
+button is available in the application title bar.</p>
+</li>
+<li>
+<p>Adjust layout to work on large and small screens; shrinking
+the go/no-go lights in smaller environments to try and make
+everything visible.</p>
+</li>
+<li>
+<p>Make voice announcements depend on current tab.</p>
+</li>
+<li>
+<p>Compute adjustment to current travel direction while in
+motion towards rocket.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6">F.25. Release Notes for Version 1.6</h3>
+<div class="paragraph">
+<p>Version 1.6 includes support for our updated TeleDongle v3.0
+product and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_25">F.25.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleDongle v3.0 boards.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Don&#8217;t beep out the continuity twice by accident in idle mode.
+If the battery voltage report takes longer than the initialiation
+sequence, the igniter continuity would get reported twice.</p>
+</li>
+<li>
+<p>Record all 32 bits of gyro calibration data in TeleMega and
+EasyMega log files. This fixes computation of the gyro rates
+in AltosUI.</p>
+</li>
+<li>
+<p>Change TeleDongle LED usage. Green LED flashes when valid
+packet is received. Red LED flashes when invalid packet is
+received.</p>
+</li>
+<li>
+<p>Replace LPC11U14 SPI driver with non-interrupt version. The
+interrupt code would occasionally wedge on long transfers
+if interrupts were blocked for too long. This affects all
+released TeleGPS products; if you have a TeleGPS device,
+you&#8217;ll want to reflash the firmware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_9">F.25.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Compute tilt angle from TeleMega and EasyMega log
+files. This duplicates the quaternion-based angle tracking
+code from the flight firmware inside the ground station
+software so that post-flight analysis can include evaluation
+of the tilt angle.</p>
+</li>
+<li>
+<p>Shows the tool button window when starting with a data file
+specified. This means that opening a data file from the file
+manager will now bring up the main window to let you operate
+the whole application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Show the 'Connecting' dialog when using Monitor Idle. Lets
+you cancel the Monitor Idle startup when connecting over the
+radio link.</p>
+</li>
+<li>
+<p>Make 'Monitor Idle' work for TeleGPS devices when connected
+over USB. It&#8217;s nice for testing without needing to broadcast
+over the radio.</p>
+</li>
+<li>
+<p>Use different Windows API to discover USB devices. This
+works better on my Windows 7 box, and will be used if the
+older API fails to provide the necessary information.</p>
+</li>
+<li>
+<p>Look in more places in the registry to try and identify the
+installed Java version on Windows. If you install the
+default 32-bit version of Windows on a 64-bit OS, the Java
+registry information is hiding \SOFTWARE\Wow6432Node for
+some reason.</p>
+</li>
+<li>
+<p>Fix file association on Windows by searching for the
+javaw.exe program instead of assuming it is in
+%SYSTEMROOT%. This makes double-clicking on Altus Metrum
+data files in the file manager work correctly.</p>
+</li>
+<li>
+<p>When replaying a file, put 'done' in the Age field when we
+reach the end of the file, instead of continuing to count forever.</p>
+</li>
+<li>
+<p>In the Scan Channels code, wait for five seconds if we see
+any packet. This is needed because AltOS now sends the
+callsign, serial number and flight number only once every
+five seconds these days.</p>
+</li>
+<li>
+<p>In the Scan Channels code, reset pending flight state
+information each time we change channels. This avoids having
+flight computers appear on multiple frequencies by accident.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_5">F.26. Release Notes for Version 1.5</h3>
+<div class="paragraph">
+<p>Version 1.5 is a major release. It includes support for our new
+EasyMega product, new features and bug fixes in in the flight
+software for all our boards and the AltosUI ground station</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_26">F.26.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for EasyMega boards.</p>
+</li>
+<li>
+<p>Make the APRS SSID be configurable. This lets you track
+different rockets on the same receiver without getting
+things mixed up.</p>
+</li>
+<li>
+<p>Report extra pyro channel continuity state on EasyMega and
+TeleMega via the beeper. This lets you easily verify flight
+readiness on these boards after powering up the electronics
+on the rail.</p>
+</li>
+<li>
+<p>Add lower telemetry data rates (2400 and 9600 bps) to
+increase telemetry radio range. This reduces the amount of
+data received as well as increasing battery consumption in
+the transmitter.</p>
+</li>
+<li>
+<p>Change TeleGPS to have only a single log, and append new
+data to it rather than using seperate per-flight logs. This
+avoids accidentally filling up log storage by turning
+TeleGPS on/off several times.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Increase the maximum range for altitude values from +/-32767m
+to +/-2147483647m, allowing the flight computers to function
+correctly above the 32km level.</p>
+</li>
+<li>
+<p>Continuously test pyro firing conditions during delay stage,
+inhibiting the pyro channel if the test fails. This prevents
+firing pyro charges where the conditions were good before
+the delay, but become bad before the delay expires.</p>
+</li>
+<li>
+<p>Allow negative numbers in pyro configuration values. This
+lets you specify things like descending speed or
+deceleration.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_10">F.26.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support telemetry baud rate selection. Adds menus to
+the flight monitoring and configuration for baud rate
+selection.</p>
+</li>
+<li>
+<p>Support APRS SSID configuration.</p>
+</li>
+<li>
+<p>Integrate with file managers. This provides icons for all of
+our file types and associates our application with the files
+so that using a file manager to open a AltOS data file
+results in launching our application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make the 'Graph' button on the landed tab work again.</p>
+</li>
+<li>
+<p>Make tests for Java on Windows a bit smarter, and also
+provide the user with the option to skip installing Java for
+cases where we just can&#8217;t figure out what version is installed.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_4_2">F.27. Release Notes for Version 1.4.2</h3>
+<div class="paragraph">
+<p>Version 1.4.2 is a minor release. It fixes Java-related install issues on
+Windows</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_11">F.27.1. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>Windows Install Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Checks for Java installation data in more registry locations.</p>
+</li>
+<li>
+<p>Allows user to bypass Java installation in case the
+detection fails.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_4_1">F.28. Release Notes for Version 1.4.1</h3>
+<div class="paragraph">
+<p>Version 1.4.1 is a minor release. It fixes install issues on
+Windows and provides the missing TeleMetrum V2.0 firmware. There
+aren&#8217;t any changes to the firmware or host applications at
+all. All Windows users will want to upgrade to get the signed
+driver, but Mac and Linux users who do not need the TeleMetrum
+V2.0 firmware image will not need to upgrade.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_12">F.28.1. AltosUI and TeleGPS Applications:</h4>
+<div class="paragraph">
+<p>Windows Install Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Provide signed Windows driver files. This should avoid any need to
+disable driver signature checking on Windows 7 or 8.</p>
+</li>
+<li>
+<p>Fix Java version detection and download. Previously, the
+installer would only look for Java 6 or 7 and insist on
+downloading its own Java bits if there was something else
+installed. Furthermore, the 64-bit Java link provided didn&#8217;t
+work for anyone other than Keith, making it impossible to
+install AltOS on any machine with Java SE 8 installed.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Other Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Include 1.4 firmware for TeleMetrum V2.0. None of the
+installers shipped this file. Now it&#8217;s included in the AltOS
+packages for Linux, Mac and Windows.</p>
+</li>
+<li>
+<p>Include Google Application Key for map downloading. The 1.4
+release didn&#8217;t have this key in the released version of the
+software, making map downloading fail for most people.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_4">F.29. Release Notes for Version 1.4</h3>
+<div class="paragraph">
+<p>Version 1.4 is a major release. It includes support for our new
+TeleGPS product, new features and bug fixes in in the flight
+software for all our boards and the AltosUI ground station</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_27">F.29.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleGPS boards.</p>
+</li>
+<li>
+<p>Make the beeper tone configurable, making it
+possible to distinguish between two Altus Metrum
+products in the same ebay.</p>
+</li>
+<li>
+<p>Make the firing time for extra pyro channels
+configurable, allowing longer (or shorter) than the
+default 50ms.  Only relevant for TeleMega at this
+time.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Replace the 'dit dit dit' tones at startup with the
+current battery voltage, measured in tenths of a
+volt. This lets you check the battery voltage
+without needing telemetry, which is especially
+useful on EasyMini.</p>
+</li>
+<li>
+<p>Change state beeping to "Farnsworth spacing", which
+means they&#8217;re quite a bit faster than before, and so
+they take less time to send.</p>
+</li>
+<li>
+<p>Fix bug preventing the selection of the 'Flight
+State After' mode in pyro configuration.</p>
+</li>
+<li>
+<p>Fix bug where erasing flights would reset the flight
+number to 2 on TeleMega and TeleMetrum v2.</p>
+</li>
+<li>
+<p>Fix u-Blox GPS driver to mark course and speed data
+as being present.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application">F.29.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add zooming and new content types (terrain and road
+maps) to map view. Change map storage format from
+PNG to Jpeg, which saves a huge amount of disk
+space. You will need to re-download all of your
+pre-loaded map images.</p>
+</li>
+<li>
+<p>Add a distance measuring device to the maps
+view. Select this by using any button other than the
+left one, or by pressing shift or control on the
+keyboard while using the left button.</p>
+</li>
+<li>
+<p>Add new 'Ignitor' tab to the flight monitor display
+for TeleMega&#8217;s extra ignitors.</p>
+</li>
+<li>
+<p>Add additional ignitor firing marks and voltages to
+the graph so you can see when the ignitors fired,
+along with the ignitor voltages.</p>
+</li>
+<li>
+<p>Add GPS course, ground speed and climb rate as
+optional graph elements.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>When flashing new firmware, re-try opening the
+device as sometimes it takes a while for the
+underlying operating system to recognize that the
+device has rebooted in preparation for the flashing
+operation.</p>
+</li>
+<li>
+<p>Hide Tilt Angle in ascent tab for devices that don&#8217;t
+have a gyro.</p>
+</li>
+<li>
+<p>Increase the width of data lines in the graphs to
+make them easier to read.</p>
+</li>
+<li>
+<p>Filter out speed and acceleration spikes caused by
+ejection charge firing when computing the maximum
+values. This provides a more accurate reading of
+those maximums.</p>
+</li>
+<li>
+<p>Fix EasyMini voltage displays. Early EasyMini
+prototypes used a 3.0V regulator, and AltosUI still
+used that value as the basis of the
+computation. Production EasyMini boards have always
+shipped with a 3.3V regulator. Also, purple EasyMini
+boards sensed the battery voltage past the blocking
+diode, resulting in a drop of about 150mV from the
+true battery voltage. Compensate for that when
+displaying the value.</p>
+</li>
+<li>
+<p>Display error message when trying to configure
+maximum flight log size while the flight computer
+still has flight data stored.</p>
+</li>
+<li>
+<p>Handle TeleMetrum and TeleMini eeprom files
+generated with pre-1.0 firmware. Those ancient
+versions didn&#8217;t report the log format, so just use
+the product name instead.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telegps_application">F.29.3. TeleGPS Application</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>New application designed for use with TeleGPS boards.</p>
+</li>
+<li>
+<p>Shares code with AltosUI, mostly just trimmed down
+to focus on TeleGPS-related functions.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation_4">F.29.4. Documentation</h4>
+<div class="paragraph">
+<p>Documentation changes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Re-create the drill template images; they should
+print correctly from Firefox at least. Ship these as
+individual PDF files so they&#8217;re easy to print.</p>
+</li>
+<li>
+<p>Add a description of the 'Apogee Lockout' setting,
+which prevents the apogee charge from firing for a
+configurable amount of time after boost.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_3_2">F.30. Release Notes for Version 1.3.2</h3>
+<div class="paragraph">
+<p>Version 1.3.2 is a minor release. It includes small bug fixes for
+the TeleMega flight software and AltosUI ground station</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_28">F.30.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>On TeleMega, limit number of logged GPS status
+information to 12 satellites. That&#8217;s all there is
+room for in the log structure.</p>
+</li>
+<li>
+<p>Improve APRS behavior. Remembers last known GPS
+position and keeps sending that if we lose GPS
+lock. Marks locked/unlocked by sending L/U in the
+APRS comment field along with the number of sats in
+view and voltages.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_2">F.30.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If the TeleMega flight firmware reports that it has
+logged information about more than 12 satellites,
+don&#8217;t believe it as the log only holds 12 satellite
+records.</p>
+</li>
+<li>
+<p>Track the maximum height as computed from GPS
+altitude data and report that in the flight summary
+data.</p>
+</li>
+<li>
+<p>Use letters (A, B, C, D) for alternate pyro channel
+names instead of numbers (0, 1, 2, 3) in the Fire
+Igniter dialog.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_3_1">F.31. Release Notes for Version 1.3.1</h3>
+<div class="paragraph">
+<p>Version 1.3.1 is a minor release. It improves support for
+TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_29">F.31.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Improved APRS mode. Now uses compressed position
+format for smaller data size, improved precision and
+to include altitude data as well as latitude and
+longitude. Also added battery and pyro voltage
+reports in the APRS comment field so you can confirm
+that the unit is ready for launch.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Improve sensor boot code. If sensors fail to
+self-test, the device will still boot up and check
+for pad/idle modes. If in idle mode, the device will
+warn the user with a distinct beep, if in Pad mode,
+the unit will operate as best it can. Also, the
+Z-axis accelerometer now uses the factory
+calibration values instead of re-calibrating on the
+pad each time. This avoids accidental boost detect
+when moving the device around while in Pad mode.</p>
+</li>
+<li>
+<p>Fix antenna-down mode accelerometer
+configuration. Antenna down mode wasn&#8217;t working
+because the accelerometer calibration values were
+getting re-computed incorrectly in inverted mode.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_3">F.31.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Display additional TeleMega sensor values in real
+units. Make all of these values available for
+plotting. Display TeleMega orientation value in the
+Ascent and Table tabs.</p>
+</li>
+<li>
+<p>Support additional TeleMega pyro channels in the
+Fire Igniter dialog. This lets you do remote testing
+of all of the channels, rather than just Apogee and
+Main.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Limit data rate when downloading satellite images
+from Google to make sure we stay within their limits
+so that all of the map tiles download successfully.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_3">F.32. Release Notes for Version 1.3</h3>
+<div class="paragraph">
+<p>Version 1.3 is a major release. It adds support for TeleMega,
+TeleMetrum v2.0, TeleMini v2.0 and EasyMini.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_30">F.32.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add STM32L processor support. This includes
+enhancements to the scheduler to support products
+with many threads.</p>
+</li>
+<li>
+<p>Add NXP LPC11U14 processor support.</p>
+</li>
+<li>
+<p>Support additional pyro channels. These are
+configurable through the UI to handle air starts,
+staging, additional recovery events and external
+devices such as cameras.</p>
+</li>
+<li>
+<p>Add 3-axis gyro support for orientation
+tracking. This integrates the gyros to compute the
+angle from vertical during flight, allowing the
+additional pyro events to be controlled by this
+value.</p>
+</li>
+<li>
+<p>Many more device drivers, including u-Blox Max 7Q
+GPS, Freescale MMA6555 digital single-axis
+accelerometer, Invensense MPU6000 3-axis
+accelerometer + 3 axis gyro, Honeywell HMC5883
+3-axis magnetic sensor and the TI CC1120 and CC115L
+digital FM transceivers</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_4">F.32.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and
+EasyMini telemetry and log formats.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Use preferred units for main deployment height
+configuration, instead of always doing configuration in
+meters.
+== MicroPeak Application</p>
+</li>
+<li>
+<p>Add 'Download' button to menu bar.</p>
+</li>
+<li>
+<p>Save the last log directory and offer that as the
+default for new downloads</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_2_1">F.33. Release Notes for Version 1.2.1</h3>
+<div class="paragraph">
+<p>Version 1.2.1 is a minor release. It adds support for TeleBT and
+the AltosDroid application, provides several new features in
+AltosUI and fixes some bugs in the AltOS firmware.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_31">F.33.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>In TeleMini recovery mode (when booted with the
+outer two debug pins connected together), the radio
+parameters are also set back to defaults
+(434.550MHz, N0CALL, factory radio cal).</p>
+</li>
+<li>
+<p>Correct Kalman filter model error covariance
+matrix. The values used previously assumed
+continuous measurements instead of discrete
+measurements.</p>
+</li>
+<li>
+<p>Fix some bugs in the USB driver for TeleMetrum and
+TeleDongle that affected Windows users.</p>
+</li>
+<li>
+<p>Adjusted the automatic gain control parameters that
+affect receive performance for TeleDongle. Field
+tests indicate that this may improve receive
+performance somewhat.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_5">F.33.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI application new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make the initial position of the AltosUI top level
+window configurable. Along with this change, the
+other windows will pop up at 'sensible' places now,
+instead of on top of one another.</p>
+</li>
+<li>
+<p>Add GPS data and a map to the graph window. This
+lets you see a complete summary of the flight
+without needing to 'replay' the whole thing.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI application fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Handle missing GPS lock in 'Descent'
+tab. Previously, if the GPS position of the pad was
+unknown, an exception would be raised, breaking the
+Descent tab contents.</p>
+</li>
+<li>
+<p>Improve the graph, adding tool-tips to show values
+near the cursor and making the displayed set of
+values configurable, adding all of the flight data
+as options while leaving the default settings alone
+so that the graph starts by showing height, speed
+and acceleration.</p>
+</li>
+<li>
+<p>Add callsign to Monitor idle window and connecting
+dialogs. This makes it clear which callsign is being
+used so that the operator will be aware that it must
+match the flight computer value or no communication
+will work.</p>
+</li>
+<li>
+<p>When downloading flight data, display the block
+number so that the user has some sense of
+progress. Unfortunately, we don&#8217;t know how many
+blocks will need to be downloaded, but at least it
+isn&#8217;t just sitting there doing nothing for a long
+time.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_7">F.33.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>First version of this application</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_2">F.34. Release Notes for Version 1.2</h3>
+<div class="paragraph">
+<p>Version 1.2 is a major release. It adds support for MicroPeak
+and the MicroPeak USB adapter.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_32">F.34.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add MicroPeak support. This includes support for the
+ATtiny85 processor and adaptations to the core code
+to allow for devices too small to run the
+multi-tasking scheduler.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_micropeak_application">F.34.2. AltosUI and MicroPeak Application</h4>
+<div class="paragraph">
+<p>New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Added MicroPeak application</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and MicroPeak fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Distribute Mac OS X packages in disk image ('.dmg')
+format to greatly simplify installation.</p>
+</li>
+<li>
+<p>Provide version numbers for the shared Java
+libraries to ensure that upgrades work properly, and
+to allow for multiple Altus Metrum software packages
+to be installed in the same directory at the same
+time.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_1">F.35. Release Notes for Version 1.1</h3>
+<div class="paragraph">
+<p>Version 1.1.1 is a bug-fix release. It fixes a couple of bugs
+in AltosUI and one firmware bug that affects TeleMetrum
+version 1.0 boards. Thanks to Bob Brown for help diagnosing
+the Google Earth file export issue, and for suggesting the
+addition of the Ground Distance value in the Descent tab.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_33">F.35.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>TeleMetrum v1.0 boards use the AT45DB081D flash
+memory part to store flight data, which is different
+from later TeleMetrum boards. The AltOS v1.1 driver
+for this chip couldn&#8217;t erase memory, leaving it
+impossible to delete flight data or update
+configuration values. This bug doesn&#8217;t affect newer
+TeleMetrum boards, and it doesn&#8217;t affect the safety
+of rockets flying version 1.1 firmware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_6">F.35.2. AltosUI</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The “Descent” tab displays the range to the rocket,
+which is a combination of the over-the-ground
+distance to the rockets current latitude/longitude
+and the height of the rocket. As such, it&#8217;s useful
+for knowing how far away the rocket is, but
+difficult to use when estimating where the rocket
+might eventually land. A new “Ground Distance” field
+has been added which displays the distance to a spot
+right underneath the rocket.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Creating a Google Earth file (KML) from on-board
+flight data (EEPROM) would generate an empty
+file. The code responsible for reading the EEPROM
+file wasn&#8217;t ever setting the GPS valid bits, and so
+the KML export code thought there was no GPS data in
+the file.</p>
+</li>
+<li>
+<p>The “Landed” tab was displaying all values in metric
+units, even when AltosUI was configured to display
+imperial units. Somehow I just missed this tab when
+doing the units stuff.</p>
+</li>
+<li>
+<p>Sensor data wasn&#8217;t being displayed for TeleMini
+flight computers in Monitor Idle mode, including
+things like battery voltage. The code that picked
+which kinds of data to fetch from the flight
+computer was missing a check for TeleMini when
+deciding whether to fetch the analog sensor data.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_1_2">F.36. Release Notes for Version 1.1</h3>
+<div class="paragraph">
+<p>Version 1.1 is a minor release. It provides a few new features
+in AltosUI and the AltOS firmware and fixes bugs.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_34">F.36.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS Firmware New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add apogee-lockout value. Overrides the apogee
+detection logic to prevent incorrect apogee charge
+firing.</p>
+</li>
+<li>
+<p>Force the radio frequency to 434.550MHz when the
+debug clock pin is connected to ground at boot
+time. This provides a way to talk to a TeleMini
+which is configured to some unknown frequency.</p>
+</li>
+<li>
+<p>Provide RSSI values for Monitor Idle mode. This
+makes it easy to check radio range without needing
+to go to flight mode.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix a bug where the data reported in telemetry
+packets was from 320ms ago.</p>
+</li>
+<li>
+<p>Fix a bug which caused the old received telemetry
+packets to be retransmitted over the USB link when
+the radio was turned off and back on.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_7">F.36.2. AltosUI</h4>
+<div class="paragraph">
+<p>AltosUI New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make the look-n-feel configurable, providing a choice from
+the available options.</p>
+</li>
+<li>
+<p>Add an 'Age' element to mark how long since a
+telemetry packet has been received. Useful to
+quickly gauge whether communications with the rocket
+are still active.</p>
+</li>
+<li>
+<p>Add 'Configure Ground Station' dialog to set the
+radio frequency used by a particular TeleDongle
+without having to go through the flight monitor UI.</p>
+</li>
+<li>
+<p>Add configuration for the new apogee-lockout
+value. A menu provides a list of reasonable values,
+or the value can be set by hand.</p>
+</li>
+<li>
+<p>Add Imperial units mode to present data in feet
+instead of meters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix a bug that caused GPS ready to happen too
+quickly. The software was using every telemetry
+packet to signal new GPS data, which caused GPS
+ready to be signalled after 10 packets instead of 10
+GPS updates.</p>
+</li>
+<li>
+<p>Fix Google Earth data export to work with recent
+versions. The google earth file loading code got a
+lot pickier, requiring some minor white space
+changes in the export code.</p>
+</li>
+<li>
+<p>Changed how flight data are downloaded. Now there&#8217;s
+an initial dialog asking which flights to download,
+and after that finishes, a second dialog comes up
+asking which flights to delete.</p>
+</li>
+<li>
+<p>Re-compute time spent in each state for the flight
+graph; this figures out the actual boost and landing
+times instead of using the conservative values
+provide by the flight electronics. This improves the
+accuracy of the boost acceleration and main descent
+rate computations.</p>
+</li>
+<li>
+<p>Make AltosUI run on Mac OS Lion. The default Java
+heap space was dramatically reduced for this release
+causing much of the UI to fail randomly. This most
+often affected the satellite mapping download and
+displays.</p>
+</li>
+<li>
+<p>Change how data are displayed in the 'table' tab of
+the flight monitoring window. This eliminates
+entries duplicated from the header and adds both
+current altitude and pad altitude, which are useful
+in 'Monitor Idle' mode.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_0_1">F.37. Release Notes for Version 1.0.1</h3>
+<div class="paragraph">
+<p>Version 1.0.1 is a major release, adding support for the
+TeleMini device and lots of new AltosUI features</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_35">F.37.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add TeleMini v1.0 support.</p>
+</li>
+<li>
+<p>Support operation of TeleMetrum with the antenna pointing
+aft. Previous firmware versions required the antenna to be
+pointing upwards, now there is a configuration option
+allowing the antenna to point aft, to aid installation in
+some airframes.</p>
+</li>
+<li>
+<p>Ability to disable telemetry. For airframes where an antenna
+just isn&#8217;t possible, or where radio transmissions might
+cause trouble with other electronics, there&#8217;s a
+configuration option to disable all telemetry. Note that the
+board will still enable the radio link in idle mode.</p>
+</li>
+<li>
+<p>Arbitrary frequency selection. The radios in Altus Metrum
+devices can be programmed to a wide range of frequencies, so
+instead of limiting devices to 10 pre-selected 'channels',
+the new firmware allows the user to choose any frequency in
+the 70cm band. Note that the RF matching circuit on the
+boards is tuned for around 435MHz, so frequencies far from
+that may reduce the available range.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Change telemetry to be encoded in multiple 32-byte
+packets. This enables support for TeleMini and other devices
+without requiring further updates to the TeleDongle
+firmware.</p>
+</li>
+<li>
+<p>Kalman-filter based flight-tracking. The model based sensor
+fusion approach of a Kalman filter means that AltOS now
+computes apogee much more accurately than before, generally
+within a fraction of a second. In addition, this approach
+allows the baro-only TeleMini device to correctly identify
+Mach transitions, avoiding the error-prone selection of a
+Mach delay.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_6">F.37.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add main/apogee voltage graphs to the data
+plot. This provides a visual indication if the
+igniters fail before being fired.</p>
+</li>
+<li>
+<p>Scan for altimeter devices by watching the defined
+telemetry frequencies. This avoids the problem of
+remembering what frequency a device was configured
+to use, which is especially important with TeleMini
+which does not include a USB connection.</p>
+</li>
+<li>
+<p>Monitor altimeter state in "Idle" mode. This
+provides much of the information presented in the
+"Pad" dialog from the Monitor Flight command,
+monitoring the igniters, battery and GPS status
+withing requiring the flight computer to be armed
+and ready for flight.</p>
+</li>
+<li>
+<p>Pre-load map images from home. For those launch
+sites which don&#8217;t provide free Wi-Fi, this allows
+you to download the necessary satellite images
+given the location of the launch site. A list of
+known launch sites is maintained at altusmetrum.org
+which AltosUI downloads to populate a menu; if
+you&#8217;ve got a launch site not on that list, please
+send the name of it, latitude and longitude along
+with a link to the web site of the controlling club
+to the altusmetrum mailing list.</p>
+</li>
+<li>
+<p>Flight statistics are now displayed in the Graph
+data window. These include max height/speed/accel,
+average descent rates and a few other bits of
+information. The Graph Data window can now be
+reached from the 'Landed' tab in the Monitor Flight
+window so you can immediately see the results of a
+flight.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Changes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Wait for altimeter when using packet mode. Instead
+of quicly timing out when trying to initialize a
+packet mode configuration connection, AltosUI now
+waits indefinitely for the remote device to appear,
+providing a cancel button should the user get
+bored. This is necessary as the TeleMini can only be
+placed in "Idle" mode if AltosUI is polling it.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_9_2">F.38. Release Notes for Version 0.9.2</h3>
+<div class="paragraph">
+<p>Version 0.9.2 is an AltosUI bug-fix release, with no firmware
+changes.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_8">F.38.1. AltosUI</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix plotting problems due to missing file in the Mac
+OS install image.</p>
+</li>
+<li>
+<p>Always read whole eeprom blocks, mark empty records
+invalid, display parsing errors to user.</p>
+</li>
+<li>
+<p>Add software version to Configure AltosUI dialog</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_9">F.39. Release Notes for Version 0.9</h3>
+<div class="paragraph">
+<p>Version 0.9 adds a few new firmware features and accompanying
+AltosUI changes, along with new hardware support.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_36">F.39.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleMetrum v1.1 hardware. Sources for the flash
+memory part used in v1.0 dried up, so v1.1 uses a different
+part which required a new driver and support for explicit
+flight log erasing.</p>
+</li>
+<li>
+<p>Multiple flight log support. This stores more than one
+flight log in the on-board flash memory. It also requires
+the user to explicitly erase flights so that you won&#8217;t lose
+flight logs just because you fly the same board twice in one
+day.</p>
+</li>
+<li>
+<p>Telemetry support for devices with serial number &gt;= 256.
+Previous versions used a telemetry packet format that
+provided only 8 bits for the device serial number. This
+change requires that both ends of the telemetry link be
+running the 0.9 firmware or they will not communicate.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_7">F.39.2. AltosUI Application</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for telemetry format changes.</p>
+</li>
+<li>
+<p>Support for multiple flight logs.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_8">F.40. Release Notes for Version 0.8</h3>
+<div class="paragraph">
+<p>Version 0.8 offers a major upgrade in the AltosUI
+interface.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_8">F.40.1. AltosUI Application:</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Post-flight graphing tool. This lets you explore the
+behaviour of your rocket after flight with a scroll-able and
+zoom-able chart showing the altitude, speed and acceleration
+of the airframe along with events recorded by the flight
+computer. You can export graphs to PNG files, or print them
+directly.</p>
+</li>
+<li>
+<p>Real-time moving map which overlays the in-progress flight
+on satellite imagery fetched from Google Maps. This lets you
+see in pictures where your rocket has landed, allowing you
+to plan recovery activities more accurately.</p>
+</li>
+<li>
+<p>Wireless recovery system testing. Prep your rocket for
+flight and test fire the deployment charges to make sure
+things work as expected. All without threading wires through
+holes in your airframe.</p>
+</li>
+<li>
+<p>Optimized flight status displays. Each flight state now has
+it&#8217;s own custom 'tab' in the flight monitoring window so you
+can focus on the most important details. Pre-flight, the
+system shows a set of red/green status indicators for
+battery voltage, apogee/main igniter continutity and GPS
+reception. Wait until they&#8217;re all green and your rocket is
+ready for flight. There are also tabs for ascent, descent
+and landing along with the original tabular view of the
+data.</p>
+</li>
+<li>
+<p>Monitor multiple flights simultaneously. If you have more
+than one TeleDongle, you can monitor a flight with each one
+on the same computer.</p>
+</li>
+<li>
+<p>Automatic flight monitoring at startup. Plug TeleDongle into
+the machine before starting AltosUI and it will
+automatically connect to it and prepare to monitor a flight.</p>
+</li>
+<li>
+<p>Exports Google Earth flight tracks. Using the Keyhole Markup
+Language (.kml) file format, this provides a 3D view of your
+rocket flight through the Google Earth program.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_7_1">F.41. Release Notes for Version 0.7.1</h3>
+<div class="paragraph">
+<p>Version 0.7.1 is the first release containing our new
+cross-platform Java-based user interface.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_9">F.41.1. AltosUI Application</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Receive and log telemetry from a connected TeleDongle
+device. All data received is saved to log files named with
+the current date and the connected rocket serial and flight
+numbers. There is no mode in which telemetry data will not
+be saved.</p>
+</li>
+<li>
+<p>Download logged data from TeleMetrum devices, either through
+a direct USB connection or over the air through a TeleDongle
+device.</p>
+</li>
+<li>
+<p>Configure a TeleMetrum device, setting the radio channel,
+callsign, apogee delay and main deploy height. This can be
+done through either a USB connection or over a radio link
+via a TeleDongle device.</p>
+</li>
+<li>
+<p>Replay a flight in real-time. This takes a saved telemetry
+log or eeprom download and replays it through the user
+interface so you can relive your favorite rocket flights.</p>
+</li>
+<li>
+<p>Reprogram Altus Metrum devices. Using an Altus Metrum device
+connected via USB, another Altus Metrum device can be
+reprogrammed using the supplied programming cable between
+the two devices.</p>
+</li>
+<li>
+<p>Export Flight data to a comma-separated-values file. This
+takes either telemetry or on-board flight data and generates
+data suitable for use in external applications. All data is
+exported using standard units so that no device-specific
+knowledge is needed to handle the data.</p>
+</li>
+<li>
+<p>Speak to you during the flight. Instead of spending the
+flight hunched over your laptop looking at the screen, enjoy
+the view while the computer tells you what’s going on up
+there. During ascent, you hear the current flight state and
+altitude information. During descent, you get azimuth,
+elevation and range information to try and help you find
+your rocket in the air. Once on the ground, the direction
+and distance are reported.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Version v1.9.8<br>
+Last updated 2021-09-20 21:44:12 -0600
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file