+ 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>
+ TeleMega, TeleMetrum v2 and EasyMini are all programmed directly
+ over their USB connectors (self programming). TeleMetrum v1, TeleMini and
+ TeleDongle are all programmed by using another device as a
+ programmer (pair programming). It's important to recognize which
+ kind of devices you have before trying to reprogram them.
+ </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>
+ If you need to update the firmware on a TeleDongle, we recommend
+ updating the altimeter first, before updating TeleDongle. However,
+ note that TeleDongle rarely need to be updated. Any firmware version
+ 1.0.1 or later will work, version 1.2.1 may have improved receiver
+ performance slightly.
+ </para>
+ <para>
+ Self-programmable devices (TeleMega, TeleMetrum v2 and EasyMini)
+ are reprogrammed by connecting them to your computer over USB
+ </para>
+ <section>
+ <title>
+ Updating TeleMega, TeleMetrum v2 or EasyMini Firmware
+ </title>
+ <orderedlist inheritnum='inherit' numeration='arabic'>
+ <listitem>
+ <para>
+ Attach a battery and power switch to the target
+ device. Power up the device.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Using a Micro USB cable, connect the target device to your
+ computer's USB socket.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Run AltosUI, and select 'Flash Image' from the File menu.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select the target device in the Device Selection dialog.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select the image you want to flash to the device, which
+ should have a name in the form
+ <product>-v<product-version>-<software-version>.ihx, such
+ as TeleMega-v1.0-1.3.0.ihx.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ 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.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Hit the 'OK' button and the software should proceed to flash
+ the device with new firmware, showing a progress bar.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Verify that the device is working by using the 'Configure
+ Altimeter' item to check over the configuration.
+ </para>
+ </listitem>
+ </orderedlist>
+ <section>
+ <title>Recovering From Self-Flashing Failure</title>
+ <para>
+ If the firmware loading fails, it can leave the device
+ unable to boot. Not to worry, you can force the device to
+ start the boot loader instead, which will let you try to
+ flash the device again.
+ </para>
+ <para>
+ On each device, connecting two pins from one of the exposed
+ connectors will force the boot loader to start, even if the
+ regular operating system has been corrupted in some way.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>TeleMega</term>
+ <listitem>
+ <para>
+ Connect pin 6 and pin 1 of the companion connector. Pin 1
+ can be identified by the square pad around it, and then
+ the pins could sequentially across the board. Be very
+ careful to <emphasis>not</emphasis> short pin 8 to
+ anything as that is connected directly to the battery. Pin
+ 7 carries 3.3V and the board will crash if that is
+ connected to pin 1, but shouldn't damage the board.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>TeleMetrum v2</term>
+ <listitem>
+ <para>
+ Connect pin 6 and pin 1 of the companion connector. Pin 1
+ can be identified by the square pad around it, and then
+ the pins could sequentially across the board. Be very
+ careful to <emphasis>not</emphasis> short pin 8 to
+ anything as that is connected directly to the battery. Pin
+ 7 carries 3.3V and the board will crash if that is
+ connected to pin 1, but shouldn't damage the board.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>EasyMini</term>
+ <listitem>
+ <para>
+ Connect pin 6 and pin 1 of the debug connector, which is
+ the six holes next to the beeper. Pin 1 can be identified
+ by the square pad around it, and then the pins could
+ sequentially across the board, making Pin 6 the one on the
+ other end of the row.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ </section>
+ <section>
+ <title>Pair Programming</title>
+ <para>
+ The big concept to understand is that you have to use a
+ TeleMega, TeleMetrum or TeleDongle as a programmer to update a
+ pair programmed device. Due to limited memory resources in the
+ cc1111, we don't support programming directly over USB for these
+ devices.