more text created during SFO->DEN flight
[fw/altos] / doc / telemetrum.xsl
index 6e4320e1a4cb5724d7c0f5630924bd746fdc399f..793347f9dc1e0dc0c8704b9fa17f751cbab7906a 100644 (file)
   </chapter>
   <chapter>
     <title>Specifications</title>
-
     <itemizedlist>
       <listitem>
-       <para>
-         Recording altimeter for model rocketry.
-       </para>
+        <para>
+          Recording altimeter for model rocketry.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         Supports dual deployment (can fire 2 ejection charges).
-       </para>
+        <para>
+          Supports dual deployment (can fire 2 ejection charges).
+        </para>
       </listitem>
       <listitem>
-       <para>
-         70cm ham-band transceiver for telemetry downlink.
-       </para>
+        <para>
+          70cm ham-band transceiver for telemetry downlink.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         Barometric pressure sensor good to 45k feet MSL.
-       </para>
+        <para>
+          Barometric pressure sensor good to 45k feet MSL.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         1-axis high-g accelerometer for motor characterization, capable of 
-         +/- 50g using default part.
-       </para>
+        <para>
+          1-axis high-g accelerometer for motor characterization, capable of 
+          +/- 50g using default part.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         On-board, integrated GPS receiver with 5hz update rate capability.
-       </para>
+        <para>
+          On-board, integrated GPS receiver with 5hz update rate capability.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         On-board 1 megabyte non-volatile memory for flight data storage.
-       </para>
+        <para>
+          On-board 1 megabyte non-volatile memory for flight data storage.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         USB interface for battery charging, configuration, and data recovery.
-       </para>
+        <para>
+          USB interface for battery charging, configuration, and data recovery.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         Fully integrated support for LiPo rechargeable batteries.
-       </para>
+        <para>
+          Fully integrated support for LiPo rechargeable batteries.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         Uses LiPo to fire e-matches, support for optional separate pyro 
-         battery if needed.
-       </para>
+        <para>
+          Uses LiPo to fire e-matches, support for optional separate pyro 
+          battery if needed.
+        </para>
       </listitem>
       <listitem>
-       <para>
-         2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube.
-       </para>
+        <para>
+          2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube.
+        </para>
       </listitem>
     </itemizedlist>
   </chapter>
   </chapter>
   <chapter>
     <title>Operation</title>
-    <para>
-      Placeholder.
-    </para>
+    <section>
+      <title>Firmware Modes </title>
+<para>
+       The AltOS firmware build for TeleMetrum has two fundamental modes,
+       "idle" and "flight".  Which of these modes the firmware operates in
+       is determined by the orientation of the rocket (well, actually the
+       board, of course...) at the time power is switched on.  If the rocket
+       is "nose up", then TeleMetrum assumes it's on a rail or rod being
+       prepared for launch, so the firmware chooses flight mode.  However,
+       if the rocket is more or less horizontal, the firmware instead enters
+       idle mode.
+</para>
+<para>
+       In flight mode, TeleMetrum turns on the GPS system, engages the flight
+       state machine, goes into transmit-only mode on the RF link sending 
+       telemetry, and waits for launch to be detected.  Flight mode is
+       indicated by an audible "di-dah-dah-dit" on the beeper, followed by
+       beeps indicating the state of the pyrotechnic igniter continuity.
+       One beep indicates [FIXME] apogee continuity, two beeps indicate
+       main continuity, three beeps indicate both apogee and main continuity,
+       and one longer "brap" sound indicates no continuity.  For a dual
+       deploy flight, make sure you're getting three beeps before launching!
+       For apogee-only or motor eject flights, do what makes sense.
+</para>
+<para>
+       In idle mode, the normal flight state machine is disengaged, and thus
+       no ejection charges will fire.  TeleMetrum also listens on the RF
+       link when in idle mode for packet mode requests sent from TeleDongle.
+       Commands can thus be issues to a TeleMetrum in idle mode over either
+       USB or the RF link equivalently.
+       Idle mode is useful for configuring TeleMetrum, for extracting data 
+       from the on-board storage chip after flight, and for ground testing
+       pyro charges.
+</para>
+<para>
+       One "neat trick" of particular value when TeleMetrum is used with very
+       large airframes, is that you can power the board up while the rocket
+       is horizontal, such that it comes up in idle mode.  Then you can 
+       raise the airframe to launch position, use a TeleDongle to open
+       a packet connection, and issue a 'reset' command which will cause
+       TeleMetrum to reboot, realize it's now nose-up, and thus choose
+       flight mode.  This is much safer than standing on the top step of a
+       rickety step-ladder or hanging off the side of a launch tower with
+       a screw-driver trying to turn on your avionics before installing
+       igniters!
+</para>
+    </section>
+    <section>
+      <title>GPS </title>
+<para>
+       TeleMetrum includes a complete GPS receiver.  See a later section for
+       a brief explanation of how GPS works that will help you understand
+       the information in the telemetry stream.  The bottom line is that
+       the TeleMetrum GPS receiver needs to lock onto at least four 
+       satellites to obtain a solid 3 dimensional position fix and know 
+       what time it is!
+</para>
+<para>
+       TeleMetrum provides backup power to the GPS chip any time a LiPo
+       battery is connected.  This allows the receiver to "warm start" on
+       the launch rail much faster than if every power-on were a "cold start"
+       for the GPS receiver.  In typical operations, powering up TeleMetrum
+       on the flight line in idle mode while performing final airframe
+       preparation will be sufficient to allow the GPS receiver to cold
+       start and acquire lock.  Then the board can be powered down during
+       RSO review and installation on a launch rod or rail.  When the board
+       is turned back on, the GPS system should lock very quickly, typically
+       long before igniter installation and return to the flight line are
+       complete.
+</para>
+    </section>
+    <section>
+      <title>Ground Testing </title>
+       <para>
+       An important aspect of preparing a rocket using electronic deployment
+       for flight is ground testing the recovery system.  Thanks
+       to the bi-directional RF link central to the Altus Metrum system, 
+       this can be accomplished in a TeleMetrum-equipped rocket without as
+       much work as you may be accustomed to with other systems.  It can
+       even be fun!
+       </para>
+       <para>
+       Just prep the rocket for flight, then power up TeleMetrum while the
+       airframe is horizontal.  This will cause the firmware to go into 
+       "idle" mode, in which the normal flight state machine is disabled and
+       charges will not fire without manual command.  Then, establish an
+       RF packet connection from a TeleDongle-equipped computer using the 
+       P command from a safe distance.  You can now command TeleMetrum to
+       fire the apogee or main charges to complete your testing.
+       </para>
+    </section>
+    <section>
+      <title>Radio Link </title>
+      <para>
+        The chip our boards are based on incorporates an RF transceiver, but
+        it's not a full duplex system... each end can only be transmitting or
+        receiving at any given moment.  So we have to decide how to manage the
+        link...
+      </para>
+      <para>
+        By design, TeleMetrum firmware listens for an RF connection when
+        it's in "idle mode" (turned on while the rocket is horizontal), which
+        allows us to use the RF link to configure the rocket, do things like
+        ejection tests, and extract data after a flight without having to 
+        crack open the airframe.  However, when the board is in "flight 
+        mode" (turned on when the rocket is vertical) the TeleMetrum only 
+        transmits and doesn't listen at all.  That's because we want to put 
+        ultimate priority on event detection and getting telemetry out of 
+        the rocket and out over
+        the RF link in case the rocket crashes and we aren't able to extract
+        data later... 
+      </para>
+      <para>
+        We don't use a 'normal packet radio' mode because they're just too
+        inefficient.  GFSK is just FSK with the baseband pulses passed through a
+        Gaussian filter before they go into the modulator to limit the
+        transmitted bandwidth.  When combined with the hardware forward error
+        correction support in the cc1111 chip, this allows us to have a very
+        robust 38.4 kilobit data link with only 10 milliwatts of transmit power,
+        a whip antenna in the rocket, and a hand-held Yagi on the ground.  We've
+        had a test flight above 12k AGL with good reception, and my calculations
+        say we should be good to 40k AGL or more with just a 5-element yagi on
+        the ground.  I expect to push 30k with a 54mm minimum airframe I'm
+        working on now, so we'll hopefully have further practical confirmation
+        of our link margin in a few months.
+      </para>
+      <para>
+        Placeholder.
+      </para>
+    </section>
   </chapter>
   <chapter>
     <title>Using Altus Metrum Products</title>
         <para>
           The best hand-held commercial directional antennas we've found for radio 
           direction finding rockets are from 
-       <ulink url="http://www.arrowantennas.com/" >
-          Arrow Antennas.
-       </ulink>
-The 440-3 and 440-5 are both good choices for finding a 
-TeleMetrum-equipped rocket when used with a suitable 70cm HT.  
+          <ulink url="http://www.arrowantennas.com/" >
+            Arrow Antennas.
+          </ulink>
+          The 440-3 and 440-5 are both good choices for finding a 
+          TeleMetrum-equipped rocket when used with a suitable 70cm HT.  
         </para>
       </section>
       <section>
@@ -362,6 +488,14 @@ TeleMetrum-equipped rocket when used with a suitable 70cm HT.
         </para>
       </section>
     </section>
+    <section>
+       <title>
+       How GPS Works
+       </title>
+       <para>
+       Placeholder.
+       </para>
+    </section>
   </chapter>
 </book>