doc: Convert several more itemizedlists to variablelists
[fw/altos] / doc / telemetry.xsl
index a0b9f6e77d8b5accb4bbed9e45543de1f8fc39b5..e410150742b5caf9d6935e8b17de69885a3b2bfc 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
 
 <article>
   </section>
   <section>
     <title>Packet Formats</title>
-    This section first defines the packet header common to all packets
-    and then the per-packet data layout.
+    <para>
+      This section first defines the packet header common to all packets
+      and then the per-packet data layout.
+    </para>
     <section>
       <title>Packet Header</title>
       <table frame='all'>
              <entry>9</entry><entry>uint8_t</entry><entry>config_minor</entry><entry>Config minor version</entry>
            </row>
            <row>
-             <entry>10</entry><entry>uint16_t</entry><entry>main_deploy</entry><entry>Main deploy alt in meters</entry>
+             <entry>10</entry><entry>uint16_t</entry><entry>apogee_delay</entry>
+             <entry>Apogee deploy delay in seconds</entry>
+           </row>
+           <row>
+             <entry>12</entry><entry>uint16_t</entry><entry>main_deploy</entry><entry>Main deploy alt in meters</entry>
            </row>
            <row>
-             <entry>12</entry><entry>uint32_t</entry><entry>flight_log_max</entry><entry>Maximum flight log size (B)</entry>
+             <entry>14</entry><entry>uint16_t</entry><entry>flight_log_max</entry>
+             <entry>Maximum flight log size (kB)</entry>
            </row>
            <row>
              <entry>16</entry><entry>char</entry><entry>callsign[8]</entry><entry>Radio operator identifier</entry>
              <entry>26</entry><entry>uint16_t</entry><entry>ground_speed</entry><entry>cm/s</entry>
            </row>
            <row>
-             <entry>28</entry><entry>uint8_t</entry><entry>course</entry><entry>/ 2</entry>
+             <entry>28</entry><entry>int16_t</entry><entry>climb_rate</entry><entry>cm/s</entry>
            </row>
            <row>
-             <entry>29</entry><entry>uint8_t</entry><entry>unused[3]</entry>
+             <entry>30</entry><entry>uint8_t</entry><entry>course</entry><entry>/ 2</entry>
+           </row>
+           <row>
+             <entry>31</entry><entry>uint8_t</entry><entry>unused[1]</entry>
            </row>
            <row>
              <entry>32</entry>
        resulting in the following signal parmeters:
       </para>
       <table>
+       <title>Modulation Scheme</title>
        <tgroup cols='3'>
          <colspec align="center" colwidth="*" colname="parameter"/>
-         <colspec align="center" text-align="." colwidth="*" colname="value"/>
+         <colspec align="center" colwidth="*" colname="value"/>
          <colspec align="center" colwidth="*" colname="description"/>
          <thead>
            <row>
       </table>
     </section>
     <section>
+      <title>Error Correction</title>
       <para>
        The cc1111 provides forward error correction in hardware,
        which AltOS uses to improve reception of weak signals. The
        overall effect of this is to halve the available bandwidth for
        data from 38 kBaud to 19 kBaud.
       </para>
-      <title>Error Correction</title>
       <table>
+       <title>Error Correction</title>
        <tgroup cols='3'>
          <colspec align="center" colwidth="*" colname="parameter"/>
          <colspec align="center" colwidth="*" colname="value"/>
          <tbody>
            <row>
              <entry>Error Correction</entry>
-             <entry>Convolutional coding FEC</entry>
-             <entry>1/2 code, constraint length m=4</entry>
+             <entry>Convolutional coding</entry>
+             <entry>1/2 rate, constraint length m=4</entry>
            </row>
            <row>
              <entry>Interleaving</entry>
       </table>
     </section>
   </section>
+  <section>
+    <title>TeleDongle packet format</title>
+    <para>
+      TeleDongle does not do any interpretation of the packet data,
+      instead it is configured to receive packets of a specified
+      length (32 bytes in this case). For each received packet,
+      TeleDongle produces a single line of text. This line starts with
+      the string "TELEM " and is followed by a list of hexadecimal
+      encoded bytes.
+    </para>
+    <programlisting>TELEM 224f01080b05765e00701f1a1bbeb8d7b60b070605140c000600000000000000003fa988</programlisting>
+    <para>
+      The hexadecimal encoded string of bytes contains a length byte,
+      the packet data, two bytes added by the cc1111 radio receiver
+      hardware and finally a checksum so that the host software can
+      validate that the line was transmitted without any errors.
+    </para>
+    <table>
+      <title>Packet Format</title>
+      <tgroup cols='4'>
+       <colspec align="center" colwidth="2*" colname="offset"/>
+       <colspec align="center" colwidth="*" colname="name"/>
+       <colspec align="center" colwidth="*" colname="value"/>
+       <colspec align="center" colwidth="5*" colname="description"/>
+       <thead>
+         <row>
+           <entry align='center'>Offset</entry>
+           <entry align='center'>Name</entry>
+           <entry align='center'>Example</entry>
+           <entry align='center'>Description</entry>
+         </row>
+       </thead>
+       <tbody>
+         <row>
+           <entry>0</entry>
+           <entry>length</entry>
+           <entry>22</entry>
+           <entry>Total length of data bytes in the line. Note that
+           this includes the added RSSI and status bytes</entry>
+         </row>
+         <row>
+           <entry>1 ·· length-3</entry>
+           <entry>packet</entry>
+           <entry>4f ·· 00</entry>
+           <entry>Bytes of actual packet data</entry>
+         </row>
+         <row>
+           <entry>length-2</entry>
+           <entry>rssi</entry>
+           <entry>3f</entry>
+           <entry>Received signal strength. dBm = rssi / 2 - 74</entry>
+         </row>
+         <row>
+           <entry>length-1</entry>
+           <entry>lqi</entry>
+           <entry>a9</entry>
+           <entry>Link Quality Indicator and CRC status. Bit 7
+           is set when the CRC is correct</entry>
+         </row>
+         <row>
+           <entry>length</entry>
+           <entry>checksum</entry>
+           <entry>88</entry>
+           <entry>(0x5a + sum(bytes 1 ·· length-1)) % 256</entry>
+         </row>
+       </tbody>
+      </tgroup>
+    </table>
+  </section>
   <section>
     <title>History and Motivation</title>
     <para>