doc: Add revision history for 1.1. Update copyright date
[fw/altos] / doc / altusmetrum.xsl
index 791fd8ed555fba31557ad85f30c290b95f42651e..87220baa50cb1b9a92e91d293e74492f2011ac33 100644 (file)
@@ -22,7 +22,7 @@
       <surname>Towns</surname>
     </author>
     <copyright>
-      <year>2011</year>
+      <year>2012</year>
       <holder>Bdale Garbee and Keith Packard</holder>
     </copyright>
     <legalnotice>
       </para>
     </legalnotice>
     <revhistory>
+      <revision>
+       <revnumber>1.1</revnumber>
+       <date>13 September 2012</date>
+       <revremark>
+         Updated for software version 1.1. Version 1.1 has new
+         features but is otherwise compatible with version 1.0.
+       </revremark>
+      </revision>
       <revision>
         <revnumber>1.0</revnumber>
         <date>24 August 2011</date>
@@ -258,7 +266,8 @@ NAR #88757, TRA #12200
       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.
+      apogee and main ejection charges.  All Altus Metrum products are 
+      designed for use with single-cell batteries with 3.7 volts nominal.
     </para>
     <para>
       By default, we use the unregulated output of the Li-Po battery directly
@@ -445,10 +454,10 @@ NAR #88757, TRA #12200
         close the window before performing other desired radio operations.
       </para>
       <para>
-        TeleMetrum only enables packet command mode in 'idle' mode, so
+        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.
+        flight, and will not be listening for command packets from TeleDongle.
       </para>
       <para>
        TeleMini listens for a command packet for five seconds after
@@ -462,12 +471,10 @@ NAR #88757, TRA #12200
        operation can be performed.
       </para>
       <para>
-        When packet command mode is enabled, you can monitor the link
-        by watching the lights on the
-        devices. The red LED will flash each time they
-        transmit a packet while the green LED will light up
-        on TeleDongle while it is waiting to receive a packet from
-       the altimeter.
+        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 tramsitted, while the green LED will light up on TeleDongle when 
+        it is waiting to receive a packet from the altimeter.
       </para>
     </section>
     <section>
@@ -538,31 +545,18 @@ NAR #88757, TRA #12200
         or radio link via TeleDongle.
       </para>
       <section>
-        <title>Radio Frequencies</title>
+        <title>Radio Frequency</title>
         <para>
-         The Altus Metrum boards support frequencies in the 70cm
+         Altus Metrum boards support radio frequencies in the 70cm
          band. By default, the configuration interface provides a
-         list of 10 common frequencies in 100kHz channels starting at
+         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 who will use each
-         frequency and when to avoid interference.  And of course, both
+         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.
         </para>
-        <para>
-          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):
-         <programlisting>
-           R = F / S * C
-         </programlisting>
-         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.
-        </para>
       </section>
       <section>
         <title>Apogee Delay</title>
@@ -575,20 +569,14 @@ NAR #88757, TRA #12200
           primary and backup pyrotechnic charges do not fire simultaneously.
         </para>
         <para>
-          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.
-        </para>
-        <para>
-          Please note that 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.
+          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.
         </para>
       </section>
       <section>
@@ -603,394 +591,162 @@ NAR #88757, TRA #12200
           than the primary so that both pyrotechnic charges don't fire
           simultaneously.
         </para>
-        <para>
-          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.
-        </para>
       </section>
-    </section>
-    <section>
-      <title>Calibration</title>
-      <para>
-        There are only two calibrations required for a TeleMetrum board, and
-        only one for TeleDongle and TeleMini.
-      </para>
       <section>
-        <title>Radio Frequency</title>
-        <para>
-          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.
-        </para>
-        <para>
-          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.
-        </para>
+       <title>Maximum Flight Log</title>
+       <para>
+         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.
+       </para>
+       <para>
+         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.
+       </para>
+       <para>
+         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.
+       </para>
+       <para>
+         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.
+       </para>
+       <para>
+         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.
+       </para>
        <para>
-         when the radio calibration value is changed, the radio
-         frequency value is reset to the same value, so you'll need
-         to recompute and reset the radio frequency value using the
-         new radio calibration value.
+         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.
        </para>
       </section>
       <section>
-        <title>TeleMetrum Accelerometer</title>
-        <para>
-          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.  We also support the
-          use of any of several accelerometers 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.
-        </para>
-        <para>
-          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.
-          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.
-        </para>
-        <para>
-          The +1g and -1g calibration points are included in each telemetry
-          frame and are part of the header extracted by ao-dumplog after flight.
-          Note that we always store and return raw ADC samples for each
-          sensor... nothing is permanently "lost" or "damaged" if the
-          calibration is poor.
-        </para>
-        <para>
-         In the unlikely event an accel cal that 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).
-        </para>
+       <title>Ignite Mode</title>
+       <para>
+         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.
+       </para>
+       <para>
+         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.
+       </para>
+      </section>
+      <section>
+       <title>Pad Orientation</title>
+       <para>
+         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.
+       </para>
       </section>
     </section>
-  <section>
-    <title>Updating Device Firmware</title>
-    <para>
-      The big conceptual thing to realize 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.
-    </para>
-    <para>
-      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 <ulink url="http://www.altusmetrum.org/AltOS/"/>.
-    </para>
+
+  </chapter>
+  <chapter>
+
+    <title>AltosUI</title>
     <para>
-      We recommend updating the altimeter first, before updating TeleDongle.
+      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.
     </para>
     <section>
-      <title>Updating TeleMetrum Firmware</title>
-      <orderedlist inheritnum='inherit' numeration='arabic'>
-        <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.
-        </listitem>
-        <listitem>
-          Take the 2 screws out of the TeleDongle case to get access
-          to the circuit board.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          Attach a battery to the TeleMetrum board.
-        </listitem>
-        <listitem>
-          Plug the TeleDongle into your computer's USB port, and power
-          up the TeleMetrum.
-        </listitem>
-        <listitem>
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </listitem>
-        <listitem>
-          Pick the TeleDongle device from the list, identifying it as the
-          programming device.
-        </listitem>
-        <listitem>
-          Select the image you want put on the TeleMetrum, which should have a
-          name in the form telemetrum-v1.1-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.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          Hit the 'OK' button and the software should proceed to flash
-          the TeleMetrum with new firmware, showing a progress bar.
-        </listitem>
-        <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.
-        </listitem>
+      <title>Monitor Flight</title>
+      <subtitle>Receive, Record and Display Telemetry Data</subtitle>
+      <para>
+        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.
+      </para>
+      <para>
+        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.
+      </para>
+      <para>
+        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.
+      </para>
+      <para>
+        Below the TeleDongle frequency selector, the window contains a few
+        significant pieces of information about the altimeter providing
+        the telemetry data stream:
+      </para>
+      <itemizedlist>
         <listitem>
-          If something goes wrong, give it another try.
+          <para>The configured call-sign</para>
         </listitem>
-      </orderedlist>
-    </section>
-    <section>
-      <title>Updating TeleMini Firmware</title>
-      <orderedlist inheritnum='inherit' numeration='arabic'>
         <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.
+          <para>The device serial number</para>
         </listitem>
         <listitem>
-          Take the 2 screws out of the TeleDongle case to get access
-          to the circuit board.
+          <para>The flight number. Each altimeter remembers how many
+            times it has flown.
+          </para>
         </listitem>
         <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.
+          <para>
+            The rocket flight state. Each flight passes through several
+            states including Pad, Boost, Fast, Coast, Drogue, Main and
+            Landed.
+          </para>
         </listitem>
         <listitem>
-          Attach a battery to the TeleMini board.
-        </listitem>
-        <listitem>
-          Plug the TeleDongle into your computer's USB port, and power
-          up the TeleMini
-        </listitem>
-        <listitem>
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </listitem>
-        <listitem>
-          Pick the TeleDongle device from the list, identifying it as the
-          programming device.
-        </listitem>
-        <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.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          Hit the 'OK' button and the software should proceed to flash
-          the TeleMini with new firmware, showing a progress bar.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          If something goes wrong, give it another try.
-        </listitem>
-      </orderedlist>
-    </section>
-    <section>
-      <title>Updating TeleDongle Firmware</title>
-      <para>
-        Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
-       firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
-       </para>
-      <orderedlist inheritnum='inherit' numeration='arabic'>
-        <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.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          Take the 2 screws out of the TeleDongle case to get access
-          to the circuit board.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          Attach a battery to the TeleMetrum board if you're using one.
-        </listitem>
-        <listitem>
-          Plug both the programmer and the TeleDongle into your computer's USB
-         ports, and power up the programmer.
-        </listitem>
-        <listitem>
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </listitem>
-        <listitem>
-          Pick the programmer device from the list, identifying it as the
-          programming device.
-        </listitem>
-        <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.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          Hit the 'OK' button and the software should proceed to flash
-          the TeleDongle with new firmware, showing a progress bar.
-        </listitem>
-        <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.
-        </listitem>
-        <listitem>
-          If something goes wrong, give it another try.
-        </listitem>
-      </orderedlist>
-      <para>
-        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.
-      </para>
-    </section>
-  </section>
-
-  </chapter>
-  <chapter>
-
-    <title>AltosUI</title>
-    <para>
-      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.
-    </para>
-    <section>
-      <title>Monitor Flight</title>
-      <subtitle>Receive, Record and Display Telemetry Data</subtitle>
-      <para>
-        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.
-      </para>
-      <para>
-        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.
-      </para>
-      <para>
-        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.
-      </para>
-      <para>
-        Below the TeleDongle frequency selector, the window contains a few
-        significant pieces of information about the altimeter providing
-        the telemetry data stream:
-      </para>
-      <itemizedlist>
-        <listitem>
-          <para>The configured call-sign</para>
-        </listitem>
-        <listitem>
-          <para>The device serial number</para>
-        </listitem>
-        <listitem>
-          <para>The flight number. Each altimeter remembers how many
-            times it has flown.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            The rocket flight state. Each flight passes through several
-            states including Pad, Boost, Fast, Coast, Drogue, Main and
-            Landed.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            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 correction and detection techniques which prevent
-            incorrect data from being reported.
-          </para>
+          <para>
+            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.
+          </para>
         </listitem>
       </itemizedlist>
       <para>
@@ -999,8 +755,8 @@ NAR #88757, TRA #12200
         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 contains all of
-        the telemetry data in one place.
+        other tabs at any time. The final 'table' tab displays all of
+        the raw telemetry values in one place in a spreadsheet-like format.
       </para>
       <section>
         <title>Launch Pad</title>
@@ -1111,7 +867,9 @@ NAR #88757, TRA #12200
         <para>
           To monitor whether the apogee charge operated correctly, the
           current descent rate is reported along with the current
-          height. Good descent rates generally range from 15-30m/s.
+          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.
         </para>
         <para>
           For TeleMetrum altimeters, you can locate the rocket in the sky
@@ -1126,14 +884,17 @@ NAR #88757, TRA #12200
         <para>
           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.
+          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.
         </para>
       </section>
       <section>
         <title>Landed</title>
         <para>
           Once the rocket is on the ground, attention switches to
-          recovery. While the radio signal is generally lost once the
+          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.
         </para>
@@ -1141,20 +902,24 @@ NAR #88757, TRA #12200
           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 you'll want to walk or hitch a ride. Take the reported
+          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.
         </para>
        <para>
          Both TeleMini and TeleMetrum will continue to transmit RDF
          tones after landing, allowing you to locate the rocket by
-         following the radio signal. 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) to receive the RDF signal.
+         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.
        </para>
         <para>
           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.
         </para>
        <para>
          To get more detailed information about the flight, you can
@@ -1165,7 +930,7 @@ NAR #88757, TRA #12200
       <section>
         <title>Site Map</title>
         <para>
-          When the TeleMetrum gets a GPS fix, the Site Map tab will map
+          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
@@ -1179,7 +944,7 @@ NAR #88757, TRA #12200
         </para>
         <para>
           Images are fetched automatically via the Google Maps Static API,
-          and are cached for reuse. If map images cannot be downloaded,
+          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.
         </para>
@@ -1193,7 +958,7 @@ NAR #88757, TRA #12200
       <title>Save Flight Data</title>
       <para>
         The altimeter records flight data to its internal flash memory.
-        The TeleMetrum data is recorded at a much higher rate than the telemetry
+        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
@@ -1206,9 +971,9 @@ NAR #88757, TRA #12200
         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 a TeleMetrum or TeleMini device connected via the
-        packet command link to the specified TeleDongle. See the chapter
-        on Packet Command Mode for more information about this.
+        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.
       </para>
       <para>
        After the device has been selected, a dialog showing the
@@ -1216,10 +981,10 @@ NAR #88757, TRA #12200
        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 you from accidentally losing flight data
+       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 for a flight.
+       data will be recorded during the next flight.
       </para>
       <para>
         The file name for each flight log is computed automatically
@@ -1252,8 +1017,8 @@ NAR #88757, TRA #12200
       <para>
         Once a flight record is selected, a window with two tabs is
         opened. The first tab contains a graph with acceleration
-        (blue), velocity (green) and altitude (red) of the flight are
-        plotted and displayed, measured in metric units. The
+        (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 contains some basic
@@ -1270,14 +1035,15 @@ NAR #88757, TRA #12200
       <para>
         Note that telemetry files will generally produce poor graphs
         due to the lower sampling rate and missed telemetry packets.
-        Use saved flight data for graphing where possible.
+        Use saved flight data in .eeprom files for graphing where possible.
       </para>
     </section>
     <section>
       <title>Export Data</title>
       <para>
         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
+        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
@@ -1293,7 +1059,7 @@ NAR #88757, TRA #12200
           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
-          most tools can be configured to skip over.
+          many tools can be configured to skip over.
         </para>
         <para>
           The remaining lines of the file contain the data, with each
@@ -1306,10 +1072,9 @@ NAR #88757, TRA #12200
       <section>
         <title>Keyhole Markup Language (for Google Earth)</title>
         <para>
-          This is the format used by
-          Googleearth to provide an overlay within that
-          application. With this, you can use Googleearth to see the
-          whole flight path in 3D.
+          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.
         </para>
       </section>
     </section>
@@ -1318,9 +1083,7 @@ NAR #88757, TRA #12200
       <para>
         Select this button and then select either a TeleMetrum or
         TeleDongle Device from the list provided. Selecting a TeleDongle
-        device will use Packet Command Mode to configure a remote
-        altimeter. Learn how to use this in the Packet Command
-        Mode chapter.
+        device will use the radio link to configure a remote altimeter. 
       </para>
       <para>
         The first few lines of the dialog provide information about the
@@ -1349,7 +1112,8 @@ NAR #88757, TRA #12200
           <para>
             Reboot. This reboots the device. Use this to
             switch from idle to pad mode by rebooting once the rocket is
-            oriented for flight.
+            oriented for flight, or to confirm changes you think you saved 
+           are really saved.
           </para>
         </listitem>
         <listitem>
@@ -1378,7 +1142,7 @@ NAR #88757, TRA #12200
         <para>
           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
+          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
@@ -1400,9 +1164,11 @@ NAR #88757, TRA #12200
         <para>
           The radios in every Altus Metrum device are calibrated at the
           factory to ensure that they transmit and receive on the
-          specified frequency. You can adjust that
-          calibration by changing this value. To change the TeleDongle's
-          calibration, you must reprogram the unit completely.
+          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.
         </para>
       </section>
       <section>
@@ -1420,31 +1186,6 @@ NAR #88757, TRA #12200
           size. A smaller value will allow more flights to be stored,
           a larger value will record data from longer flights.
        </para>
-       <para>
-         During ascent, TeleMetrum records barometer and
-         accelerometer values 100 times per second, other analog
-         information (voltages and temperature) 6 times per second
-         and GPS data once per second. During descent, the non-GPS
-         data is recorded 1/10th as often. Each barometer +
-         accelerometer record takes 8 bytes.
-       </para>
-       <para>
-         The default, 192kB, will store over 200 seconds of data at
-         the ascent rate, or over 2000 seconds of data at the descent
-         rate. That's plenty for most flights. This leaves enough
-         storage for five flights in a 1MB system, or 10 flights in a
-         2MB system.
-       </para>
-       <para>
-         The configuration block takes the last available block of
-         memory, on v1.0 boards that's just 256 bytes. However, the
-         flash part on the v1.1 boards uses 64kB for each block.
-        </para>
-       <para>
-          TeleMini has 5kB of on-board storage, which is plenty for a
-          single flight. Make sure you download and delete the data
-          before a subsequent flight or it will not log any data.
-       </para>
       </section>
       <section>
         <title>Ignite Mode</title>
@@ -1550,14 +1291,24 @@ NAR #88757, TRA #12200
       <section>
         <title>Callsign</title>
         <para>
-          This value is used in command packet mode and is transmitted
-          in each packet sent from TeleDongle and received from
-          TeleMetrum. It is not used in telemetry mode as that transmits
-          packets only from TeleMetrum to TeleDongle. Configure this
+          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.
         </para>
       </section>
+      <section>
+       <title>Imperial Units</title>
+       <para>
+         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.
+       </para>
+      </section>
       <section>
        <title>Font Size</title>
        <para>
@@ -1587,13 +1338,80 @@ NAR #88757, TRA #12200
        </para>
       </section>
     </section>
+    <section>
+      <title>Configure Groundstation</title>
+      <para>
+        Select this button and then select a TeleDongle Device from the list provided.
+      </para>
+      <para>
+        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.
+      </para>
+      <para>
+       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.
+      </para>
+      <para>
+        At the bottom of the dialog, there are three buttons:
+      </para>
+      <itemizedlist>
+        <listitem>
+          <para>
+            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.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Reset. This resets the dialog to the most recently saved values,
+            erasing any changes you have made.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Close. This closes the dialog. Any unsaved changes will be
+            lost.
+          </para>
+        </listitem>
+      </itemizedlist>
+      <para>
+        The rest of the dialog contains the parameters to be configured.
+      </para>
+      <section>
+        <title>Frequency</title>
+        <para>
+          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.
+        </para>
+      </section>
+      <section>
+        <title>Radio Calibration</title>
+        <para>
+          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.
+        </para>
+      </section>
+    </section>
     <section>
       <title>Flash Image</title>
       <para>
         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 section above
+        Firmware chapter below.
       </para>
       <para>
         Once you have the programmer and target devices connected,
@@ -1715,8 +1533,9 @@ NAR #88757, TRA #12200
         <para>
           In the rocket itself, you just need a <ulink url="http://www.altusmetrum.org/TeleMetrum/">TeleMetrum</ulink> or
          <ulink url="http://www.altusmetrum.org/TeleMini/">TeleMini</ulink> board and
-          a Li-Po rechargeable battery.  An 860mAh battery weighs less than a 9V
-          alkaline battery, and will run a TeleMetrum for hours.
+          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.
         </para>
@@ -1820,8 +1639,7 @@ NAR #88757, TRA #12200
         <para>
           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.  A reference design for a companion board will be documented
-          soon, and will be compatible with open source Arduino programming tools.
+          and so forth.  
         </para>
         <para>
           We are also working on the design of a hand-held ground terminal that will
@@ -1956,7 +1774,7 @@ NAR #88757, TRA #12200
       <para>
        Any altimeter will generate RFI; the digital circuits use
        high-frequency clocks that spray radio interference across a
-       wide band. Altusmetrum altimeters generate intentional radio
+       wide band. Altus Metrum altimeters generate intentional radio
        signals as well, increasing the amount of RF energy around the board.
       </para>
       <para>
@@ -1969,7 +1787,7 @@ NAR #88757, TRA #12200
       <para>
        Voltages are induced when radio frequency energy is
        transmitted from one circuit to another. Here are things that
-       increase the induced voltage and current:
+       influence the induced voltage and current:
       </para>
       <itemizedlist>
        <listitem>
@@ -2015,8 +1833,8 @@ NAR #88757, TRA #12200
        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, smooth and not in an area of increasing or decreasing
-       pressure.
+       airflow, have smooth edges, and away from areas of increasing or 
+       decreasing pressure.
       </para>
       <para>
        The barometric sensor in the altimeter is quite sensitive to
@@ -2040,7 +1858,9 @@ NAR #88757, TRA #12200
        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.
+       adequate telemetry signal strength and GPS lock.  If any igniters
+       fire unexpectedly, find and resolve the issue before loading any
+       BP charges!
       </para>
       <para>
        Ground test the ejection charges. Prepare the rocket for
@@ -2053,16 +1873,239 @@ NAR #88757, TRA #12200
     </section>
   </chapter>
   <chapter>
-    <title>Hardware Specifications</title>
-    <section>
-      <title>TeleMetrum Specifications</title>
-      <itemizedlist>
-       <listitem>
-         <para>
-           Recording altimeter for model rocketry.
-         </para>
-       </listitem>
-       <listitem>
+    <title>Updating Device Firmware</title>
+    <para>
+      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. 
+    </para>
+    <para>
+      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 <ulink url="http://www.altusmetrum.org/AltOS/"/>.
+    </para>
+    <para>
+      We recommend updating the altimeter first, before updating TeleDongle.
+    </para>
+    <section>
+      <title>Updating TeleMetrum Firmware</title>
+      <orderedlist inheritnum='inherit' numeration='arabic'>
+        <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.
+        </listitem>
+        <listitem>
+          Take the 2 screws out of the TeleDongle case to get access
+          to the circuit board.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          Attach a battery to the TeleMetrum board.
+        </listitem>
+        <listitem>
+          Plug the TeleDongle into your computer's USB port, and power
+          up the TeleMetrum.
+        </listitem>
+        <listitem>
+          Run AltosUI, and select 'Flash Image' from the File menu.
+        </listitem>
+        <listitem>
+          Pick the TeleDongle device from the list, identifying it as the
+          programming device.
+        </listitem>
+        <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.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          Hit the 'OK' button and the software should proceed to flash
+          the TeleMetrum with new firmware, showing a progress bar.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          If something goes wrong, give it another try.
+        </listitem>
+      </orderedlist>
+    </section>
+    <section>
+      <title>Updating TeleMini Firmware</title>
+      <orderedlist inheritnum='inherit' numeration='arabic'>
+        <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.
+        </listitem>
+        <listitem>
+          Take the 2 screws out of the TeleDongle case to get access
+          to the circuit board.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          Attach a battery to the TeleMini board.
+        </listitem>
+        <listitem>
+          Plug the TeleDongle into your computer's USB port, and power
+          up the TeleMini
+        </listitem>
+        <listitem>
+          Run AltosUI, and select 'Flash Image' from the File menu.
+        </listitem>
+        <listitem>
+          Pick the TeleDongle device from the list, identifying it as the
+          programming device.
+        </listitem>
+        <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.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          Hit the 'OK' button and the software should proceed to flash
+          the TeleMini with new firmware, showing a progress bar.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          If something goes wrong, give it another try.
+        </listitem>
+      </orderedlist>
+    </section>
+    <section>
+      <title>Updating TeleDongle Firmware</title>
+      <para>
+        Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
+       firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
+       </para>
+      <orderedlist inheritnum='inherit' numeration='arabic'>
+        <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.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          Take the 2 screws out of the TeleDongle case to get access
+          to the circuit board.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          Attach a battery to the TeleMetrum board if you're using one.
+        </listitem>
+        <listitem>
+          Plug both the programmer and the TeleDongle into your computer's USB
+         ports, and power up the programmer.
+        </listitem>
+        <listitem>
+          Run AltosUI, and select 'Flash Image' from the File menu.
+        </listitem>
+        <listitem>
+          Pick the programmer device from the list, identifying it as the
+          programming device.
+        </listitem>
+        <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.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          Hit the 'OK' button and the software should proceed to flash
+          the TeleDongle with new firmware, showing a progress bar.
+        </listitem>
+        <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.
+        </listitem>
+        <listitem>
+          If something goes wrong, give it another try.
+        </listitem>
+      </orderedlist>
+      <para>
+        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.
+      </para>
+    </section>
+  </chapter>
+  <chapter>
+    <title>Hardware Specifications</title>
+    <section>
+      <title>TeleMetrum Specifications</title>
+      <itemizedlist>
+       <listitem>
+         <para>
+           Recording altimeter for model rocketry.
+         </para>
+       </listitem>
+       <listitem>
          <para>
            Supports dual deployment (can fire 2 ejection charges).
          </para>
@@ -2289,6 +2332,43 @@ NAR #88757, TRA #12200
       Verify you can connect and disconnect from the units while in your
       terminal program by sending the escape-disconnect mentioned above.
     </para>
+        <para>
+          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):
+         <programlisting>
+           R = F / S * C
+         </programlisting>
+         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.
+        </para>
+        <para>
+          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.
+        </para>
+        <para>
+          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.
+        </para>
+        <para>
+          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.
+        </para>
     <para>
       Note that the 'reboot' command, which is very useful on the altimeters,
       will likely just cause problems with the dongle.  The *correct* way
@@ -2355,7 +2435,7 @@ NAR #88757, TRA #12200
       strength providing an indication of the direction from receiver to rocket.
     </para>
     <para>
-      TeleMetrum also provides GPS trekking data, which can further simplify
+      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'.)
     </para>
@@ -2379,10 +2459,116 @@ NAR #88757, TRA #12200
       once you enable the voice output!
     </para>
   </appendix>
+  <appendix>
+      <title>Calibration</title>
+      <para>
+        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.
+      </para>
+      <section>
+        <title>Radio Frequency</title>
+        <para>
+          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.
+        </para>
+        <para>
+          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.
+       </para>
+       <para>
+         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.
+        </para>
+       <para>
+         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.
+       </para>
+      </section>
+      <section>
+        <title>TeleMetrum Accelerometer</title>
+        <para>
+          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.
+        </para>
+        <para>
+          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.
+        </para>
+        <para>
+          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.
+        </para>
+        <para>
+         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.
+        </para>
+      </section>
+  </appendix>
   <appendix
       xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Release Notes</title>
-    <xi:include        href="release-notes-1.0.xsl"  xpointer="xpointer(/article/*)"/>
+    <xi:include        href="release-notes-1.1.xsl"  xpointer="xpointer(/article/*)"/>
+    <xi:include        href="release-notes-1.0.1.xsl"  xpointer="xpointer(/article/*)"/>
     <xi:include        href="release-notes-0.9.2.xsl"  xpointer="xpointer(/article/*)"/>
     <xi:include        href="release-notes-0.9.xsl"  xpointer="xpointer(/article/*)"/>
     <xi:include        href="release-notes-0.8.xsl"  xpointer="xpointer(/article/*)"/>