tweak tweak tweak
[fw/altos] / doc / altusmetrum.xsl
index 1b0362201bf6864dedd2b5ae09278a1e6a5ab4dd..2a02421b07be4f0255ef1b55bb63f66f3a851a71 100644 (file)
@@ -66,7 +66,7 @@
       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 book.  Bob was one of our first customers for a production
+      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!
     </para>
@@ -186,7 +186,7 @@ NAR #88757, TRA #12200
     <para>
       All Altus Metrum products are sophisticated electronic devices.  
       When handled gently and properly installed in an air-frame, they
-      will deliver impressive results.  However, like all electronic 
+      will deliver impressive results.  However, as with all electronic 
       devices, there are some precautions you must take.
     </para>
     <para>
@@ -393,23 +393,21 @@ NAR #88757, TRA #12200
         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 controlled through the radio link.  Select the
-        appropriate TeleDongle device when the list of devices is
-        presented and AltosUI will interact with an altimter over the
-        radio link.
+        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.
       </para>
       <para>
        One oddity in the current interface is how AltosUI selects the
-       frequency for packet mode communications. Instead of providing
+       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, pick the
-       appropriate TeleDongle device. Once the flight monitoring
+       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 Packet Command Mode operations will now use
-       that frequency.
+       down again. All radio communications will now use that frequency.
       </para>
       <itemizedlist>
         <listitem>
@@ -440,16 +438,17 @@ NAR #88757, TRA #12200
         </listitem>
       </itemizedlist>
       <para>
-        Packet command mode uses the same RF frequencies as telemetry
-        mode. Configure the desired TeleDongle frequency using the
-        flight monitor window frequency selector and then close that
-        window before performing the desired operation.
+        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.
       </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
@@ -463,12 +462,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>
@@ -541,13 +538,13 @@ NAR #88757, TRA #12200
       <section>
         <title>Radio Frequencies</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>
@@ -611,317 +608,6 @@ NAR #88757, TRA #12200
         </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>
-       <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.
-       </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>
-      </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>
-    <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.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>
-        <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>
-  </section>
 
   </chapter>
   <chapter>
@@ -1551,10 +1237,10 @@ 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>
@@ -1594,7 +1280,7 @@ NAR #88757, TRA #12200
         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,
@@ -2003,53 +1689,276 @@ NAR #88757, TRA #12200
       </itemizedlist>
     </section>
     <section>
-      <title>The Barometric Sensor</title>
-      <para>
-       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.
-      </para>
-      <para>
-       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.
-      </para>
-      <para>
-       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.
-      </para>
+      <title>The Barometric Sensor</title>
+      <para>
+       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.
+      </para>
+      <para>
+       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.
+      </para>
+      <para>
+       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.
+      </para>
+    </section>
+    <section>
+      <title>Ground Testing</title>
+      <para>
+       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.
+      </para>
+      <para>
+       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.
+      </para>
+      <para>
+       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.
+      </para>
+    </section>
+  </chapter>
+  <chapter>
+    <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>
+    <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.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>
+        <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>Ground Testing</title>
-      <para>
-       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.
-      </para>
+      <title>Updating TeleDongle Firmware</title>
       <para>
-       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.
-      </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>
-       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.
+        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>
@@ -2380,6 +2289,111 @@ 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>