Remove duplicate log description. Describe pyro config.
authorKeith Packard <keithp@keithp.com>
Mon, 25 Nov 2013 05:25:06 +0000 (21:25 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 25 Nov 2013 05:25:06 +0000 (21:25 -0800)
Signed-off-by: Keith Packard <keithp@keithp.com>
doc/altusmetrum.xsl
doc/xorg-fo.xsl

index ec8a1a5a637ba57c9ef1919deb81c9495d3189a7..9020881f11d2127b7f14814613a7caf781e3d7f5 100644 (file)
@@ -1115,83 +1115,13 @@ NAR #88757, TRA #12200
       <section>
        <title>Maximum Flight Log</title>
        <para>
       <section>
        <title>Maximum Flight Log</title>
        <para>
-         Each flight computer logs data at 100 samples per second
-         during ascent and 10 samples per second during descent. Data
-         are logged to an on-board flash memory part, which can be
-         partitioned into several equal-sized blocks, one for each
-         flight.
-       </para>
-       <table frame='all'>
-         <title>Data Storage on Altus Metrum altimeters</title>
-         <tgroup cols='4' align='center' colsep='1' rowsep='1'>
-           <colspec align='center' colwidth='*' colname='Device'/>
-           <colspec align='center' colwidth='*' colname='Bytes per sample'/>
-           <colspec align='center' colwidth='*' colname='Total storage'/>
-           <colspec align='center' colwidth='*' colname='Minutes of
-                                                         full-rate'/>
-           <thead>
-             <row>
-               <entry align='center'>Device</entry>
-               <entry align='center'>Bytes per Sample</entry>
-               <entry align='center'>Total Storage</entry>
-               <entry align='center'>Minutes at Full Rate</entry>
-             </row>
-           </thead>
-           <tbody>
-             <row>
-               <entry>TeleMetrum v1.x</entry>
-               <entry>8</entry>
-               <entry>2MB</entry>
-               <entry>40</entry>
-             </row>
-           </tbody>
-         </tgroup>
-       </table>
-       <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>
-         Configuration data is also stored in the flash memory on
-         TeleMetrum v1.x, TeleMini and EasyMini. This consumes 64kB
-         of flash space.  This configuration space is not available
-         for storing flight log data. TeleMetrum v2.0 and TeleMega
-         store configuration data in a bit of eeprom available within
-         the processor chip.
-       </para>
-       <para>
-         To compute the amount of space needed for a single flight,
-         you can multiply the expected ascent time (in seconds) by
-         100 times bytes-per-sample (8 for TeleMetrum v1.x, 16 for
-         TeleMetrum v2.0 and 32 for TeleMega), 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>
-         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.
+         Changing this value will set the maximum amount of flight
+         log storage that an individual flight will use. The
+         available storage is divided into as many flights of the
+         specified size as can fit in the available space. You can
+         download and erase individual flight logs. If you fill up
+         the available storage, future flights will not get logged
+         until you erase some of the stored ones.
        </para>
       </section>
       <section>
        </para>
       </section>
       <section>
@@ -1228,8 +1158,160 @@ NAR #88757, TRA #12200
       <section>
        <title>Pyro Channels</title>
        <para>
       <section>
        <title>Pyro Channels</title>
        <para>
-         TeleMega
+         In addition to the usual Apogee and Main pyro channels,
+         TeleMega has four additional channels that can be configured
+         to activate when various flight conditions are
+         satisfied. You can select as many conditions as necessary;
+         all of them must be met in order to activate the
+         channel. The conditions available are:
        </para>
        </para>
+       <itemizedlist>
+         <listitem>
+           <para>
+             Acceleration away from the ground. Select a value, and
+             then choose whether acceleration should be above or
+             below that value. Acceleration is positive upwards, so
+             accelerating towards the ground would produce negative
+             numbers. Acceleration during descent is noisy and
+             inaccurate, so be careful when using it during these
+             phases of the flight.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Vertical speed.  Select a value, and then choose whether
+             vertical speed should be above or below that
+             value. Speed is positive upwards, so moving towards the
+             ground would produce negative numbers. Speed during
+             descent is a bit noisy and so be careful when using it
+             during these phases of the flight.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Height. Select a value, and then choose whether the
+             height above the launch pad should be above or below
+             that value.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Orientation. TeleMega contains a 3-axis gyroscope and
+             accelerometer which is used to measure the current
+             angle. Note that this angle is not the change in angle
+             from the launch pad, but rather absolute relative to
+             gravity; the 3-axis accelerometer is used to compute the
+             angle of the rocket on the launch pad and initialize the
+             system. Because this value is computed by integrating
+             rate gyros, it gets progressively less accurate as the
+             flight goes on. It should have an accumulated error of
+             less than .2°/second (after 10 seconds of flight, the
+             error should be less than 2°).
+           </para>
+           <para>
+             The usual use of the orientation configuration is to
+             ensure that the rocket is traveling mostly upwards when
+             deciding whether to ignite air starts or additional
+             stages. For that, choose a reasonable maximum angle
+             (like 20°) and set the motor igniter to require an angle
+             of less than that value.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Flight Time. Time since boost was detected. Select a
+             value and choose whether to activate the pyro channel
+             before or after that amount of time.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Ascending. A simple test saying whether the rocket is
+             going up or not. This is exactly equivalent to testing
+             whether the speed is &gt; 0.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Descending. A simple test saying whether the rocket is
+             going down or not. This is exactly equivalent to testing
+             whether the speed is &lt; 0.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             After Motor. The flight software counts each time the
+             rocket starts accelerating (presumably due to a motor or
+             motors igniting). Use this value to count ignitions for
+             multi-staged or multi-airstart launches.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Delay. This value doesn't perform any checks, instead it
+             inserts a delay between the time when the other
+             parameters become true and when the pyro channel is
+             activated.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Flight State. The flight software tracks the flight
+             through a sequence of states:
+             <orderedlist>
+               <listitem>
+                 <para>
+                   Boost. The motor has lit and the rocket is
+                   accelerating upwards.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Fast. The motor has burned out and the rocket is
+                   descellerating, but it is going faster than 200m/s.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Coast. The rocket is still moving upwards and
+                   decelerating, but the speed is less than 200m/s.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Drogue. The rocket has reached apogee and is heading
+                   back down, but is above the configured Main
+                   altitude.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Main. The rocket is still descending, and is blow
+                   the Main altitude
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Landed. The rocket is no longer moving.
+                 </para>
+               </listitem>
+             </orderedlist>
+           </para>
+           <para>
+             You can select a state to limit when the pyro channel
+             may activate; note that the check is based on when the
+             rocket transitions *into* the state, and so checking for
+             'greater than Boost' means that the rocket is currently
+             in boost state.
+           </para>
+           <para>
+             When a motor burns out, the rocket enters either Fast or
+             Coast state (depending on how fast it is moving). If the
+             computer detects upwards acceleration again, it will
+             move back to Boost state.
+           </para>
+         </listitem>
+       </itemizedlist>
       </section>
     </section>
 
       </section>
     </section>
 
@@ -1239,9 +1321,8 @@ NAR #88757, TRA #12200
     <title>AltosUI</title>
     <para>
       The AltosUI program provides a graphical user interface for
     <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
+      interacting with the Altus Metrum product family. AltosUI can
+      monitor telemetry data, configure devices and many other
       tasks. The primary interface window provides a selection of
       buttons, one for each major activity in the system.  This manual
       is split into chapters, each of which documents one of the tasks
       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
@@ -1792,11 +1873,11 @@ NAR #88757, TRA #12200
       <section>
         <title>Pad Orientation</title>
        <para>
       <section>
         <title>Pad Orientation</title>
        <para>
-         Because it includes an accelerometer, TeleMetrum is
-         sensitive to the orientation of the board. By default, it
-         expects the antenna end to point forward. This parameter
-         allows that default to be changed, permitting the board to
-         be mounted with the antenna pointing aft instead.
+         Because it includes an accelerometer, TeleMetrum and
+         TeleMega are sensitive to the orientation of the board. By
+         default, it expects the antenna end to point forward. This
+         parameter allows that default to be changed, permitting the
+         board to be mounted with the antenna pointing aft instead.
        </para>
        <itemizedlist>
          <listitem>
        </para>
        <itemizedlist>
          <listitem>
index 26728d5046d95c5057d5ffe777933cfd0045b93d..a02ad1ea03a75c25005d4ded9395351a344993be 100644 (file)
@@ -7,7 +7,11 @@
        http://docbook.sourceforge.net/release/xsl/current/doc/fo/
 -->
 
        http://docbook.sourceforge.net/release/xsl/current/doc/fo/
 -->
 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
+<xsl:stylesheet
+    version='1.0'
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:fo="http://www.w3.org/1999/XSL/Format" 
+    >
 <xsl:import href="file:///usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl"/>
 
 
 <xsl:import href="file:///usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl"/>
 
 
   <xsl:param name="body.font.family">DejaVu Serif</xsl:param>
   <xsl:param name="symbol.font.family">serif,Symbol,AR PL UMing CN,AR PL ShanHeiSun Uni,GNU Unifont</xsl:param>
 
   <xsl:param name="body.font.family">DejaVu Serif</xsl:param>
   <xsl:param name="symbol.font.family">serif,Symbol,AR PL UMing CN,AR PL ShanHeiSun Uni,GNU Unifont</xsl:param>
 
+
+                       <!-- Paragraph template bits -->
+
+  <!--  make it possible to turn off hyphenation when it's giving us probs -->
+  <xsl:template match="para[@hyphenate='false']">
+    <fo:block hyphenate="false" xsl:use-attribute-sets="normal.para.spacing">
+      <xsl:call-template name="anchor"/>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <!-- force line break -->
+  <xsl:template match="processing-instruction('linebreak')">
+    <fo:block/>
+  </xsl:template>
+
 </xsl:stylesheet>
 </xsl:stylesheet>