summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile28
-rw-r--r--doc/altos.xsl10
-rw-r--r--doc/altusmetrum.xsl177
-rw-r--r--doc/ascent.pngbin64038 -> 55389 bytes
-rw-r--r--doc/configure-altimeter.pngbin47817 -> 44924 bytes
-rw-r--r--doc/configure-pyro.pngbin58478 -> 63276 bytes
-rw-r--r--doc/descent.pngbin63566 -> 55624 bytes
-rw-r--r--doc/easymini-outline.pdfbin4240 -> 0 bytes
-rw-r--r--doc/easymini-outline.svg219
-rw-r--r--doc/easymini-outline.xsl23
-rw-r--r--doc/easymini.svg33
-rw-r--r--doc/graph-configure.pngbin48907 -> 45370 bytes
-rw-r--r--doc/graph-map.pngbin991681 -> 443560 bytes
-rw-r--r--doc/ignitor.pngbin0 -> 51104 bytes
-rw-r--r--doc/landed.pngbin54003 -> 45642 bytes
-rw-r--r--doc/launch-pad.pngbin84008 -> 74702 bytes
-rw-r--r--doc/load-maps.pngbin390139 -> 520872 bytes
-rw-r--r--doc/micropeak.xsl2
-rw-r--r--doc/release-notes-1.4.xsl204
-rw-r--r--doc/site-map.pngbin619391 -> 615711 bytes
-rw-r--r--doc/telegps-configure.pngbin0 -> 32472 bytes
-rw-r--r--doc/telegps-graph-configure.pngbin0 -> 29487 bytes
-rw-r--r--doc/telegps-graph-graph.pngbin0 -> 103746 bytes
-rw-r--r--doc/telegps-graph-map.pngbin0 -> 604619 bytes
-rw-r--r--doc/telegps-graph-stats.pngbin0 -> 42796 bytes
-rw-r--r--doc/telegps-info.pngbin0 -> 47633 bytes
-rw-r--r--doc/telegps-location.pngbin0 -> 49996 bytes
-rw-r--r--doc/telegps-map.pngbin0 -> 490858 bytes
-rw-r--r--doc/telegps-preferences.pngbin0 -> 22445 bytes
-rw-r--r--doc/telegps-scan.pngbin0 -> 9852 bytes
-rw-r--r--doc/telegps-status.pngbin0 -> 49827 bytes
-rw-r--r--doc/telegps-table.pngbin0 -> 58663 bytes
-rw-r--r--doc/telegps-v1.0-top.jpgbin0 -> 370086 bytes
-rw-r--r--doc/telegps.xsl1300
-rw-r--r--doc/telemega-outline.pdfbin4349 -> 0 bytes
-rw-r--r--doc/telemega-outline.svg244
-rw-r--r--doc/telemega-outline.xsl23
-rw-r--r--doc/telemega.svg33
-rw-r--r--doc/telemetrum-outline.pdfbin2047 -> 0 bytes
-rw-r--r--doc/telemetrum-outline.svg207
-rw-r--r--doc/telemetrum-outline.xsl23
-rw-r--r--doc/telemetrum.svg10
-rw-r--r--doc/telemini.svg22
43 files changed, 1843 insertions, 715 deletions
diff --git a/doc/Makefile b/doc/Makefile
index 83731fbe..254e63c4 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -14,7 +14,8 @@ RELNOTES=\
release-notes-1.2.1.html \
release-notes-1.3.html \
release-notes-1.3.1.html \
- release-notes-1.3.2.html
+ release-notes-1.3.2.html \
+ release-notes-1.4.html
PICTURES=\
altosui.png \
@@ -34,6 +35,19 @@ PICTURES=\
landed.png \
launch-pad.png \
load-maps.png \
+ micropeak-app.png \
+ micropeak-back.jpg \
+ micropeak-device-dialog.png \
+ micropeak-dime.jpg \
+ micropeak-download.png \
+ micropeak-graph-configure.png \
+ micropeak-graph.png \
+ micropeak-preferences.png \
+ micropeak-raw-data.png \
+ micropeak-save-dialog.png \
+ micropeak-statistics.png \
+ MicroPeakUSB-2.0-inuse.jpg \
+ MicroPeakUSB-2.0.jpg \
scan-channels.png \
site-map.png \
table.png \
@@ -41,21 +55,23 @@ PICTURES=\
telemetrum-v1.1-thside.jpg \
telemini-v1-top.jpg \
telemini-v2-top.jpg
+
SVG=\
- easymini-outline.svg \
- telemega-outline.svg \
+ easymini.svg \
+ telemega.svg \
telemetrum.svg \
telemini.svg
RELNOTES_XSL=$(RELNOTES:.html=.xsl)
-HTML=altusmetrum.html altos.html telemetry.html companion.html micropeak.html $(RELNOTES)
-PDF=altusmetrum.pdf altos.pdf telemetry.pdf companion.pdf micropeak.pdf
+HTML=altusmetrum.html altos.html telemetry.html companion.html micropeak.html telegps.html $(RELNOTES)
+PDF=altusmetrum.pdf altos.pdf telemetry.pdf companion.pdf micropeak.pdf telegps.pdf \
+ telemetrum-outline.pdf telemega-outline.pdf easymini-outline.pdf
HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl
FOSTYLE=xorg-fo.xsl
TEMPLATES=titlepage.templates.xsl
PDFSTYLE=
IMAGES=$(PICTURES) $(SVG)
-DOC=$(HTML) $(PDF) $(PICTURES)
+DOC=$(HTML) $(PDF) $(IMAGES)
.SUFFIXES: .xml .xsl .html .pdf
diff --git a/doc/altos.xsl b/doc/altos.xsl
index 5b9e12e8..6092dfcb 100644
--- a/doc/altos.xsl
+++ b/doc/altos.xsl
@@ -413,7 +413,7 @@
<title>__sfr, __sfr16, __sfr32, __sbit</title>
<para>
Access to physical registers in the device use this mode
- which declares the variable name, it's type and the
+ which declares the variable name, its type and the
address it lives at. No memory is allocated for these
variables.
</para>
@@ -809,7 +809,7 @@
ao_dma_abort(uint8_t id)
</programlisting>
<para>
- Terminate any in-progress DMA transation, marking its
+ Terminate any in-progress DMA transaction, marking its
'done' variable with the AO_DMA_ABORTED bit.
</para>
</section>
@@ -894,7 +894,7 @@
ao_dma_abort(uint8_t id)
</programlisting>
<para>
- Terminate any in-progress DMA transation, marking its
+ Terminate any in-progress DMA transaction, marking its
'done' variable with the AO_DMA_ABORTED bit.
</para>
</section>
@@ -904,7 +904,7 @@
<title>Stdio interface</title>
<para>
AltOS offers a stdio interface over USB, serial and the RF
- packet link. This provides for control of the device localy or
+ packet link. This provides for control of the device locally or
remotely. This is hooked up to the stdio functions by providing
the standard putchar/getchar/flush functions. These
automatically multiplex the available communication channels;
@@ -944,7 +944,7 @@
<para>
Flushes the current console device output buffer. Any
pending characters will be delivered to the target device.
- xo </para>
+ </para>
</section>
<section>
<title>ao_add_stdio</title>
diff --git a/doc/altusmetrum.xsl b/doc/altusmetrum.xsl
index fb08f5c6..5ccbee9f 100644
--- a/doc/altusmetrum.xsl
+++ b/doc/altusmetrum.xsl
@@ -41,6 +41,13 @@
</legalnotice>
<revhistory>
<revision>
+ <revnumber>1.4</revnumber>
+ <date>15 June 2014</date>
+ <revremark>
+ Major release adding TeleGPS support.
+ </revremark>
+ </revision>
+ <revision>
<revnumber>1.3.2</revnumber>
<date>24 January 2014</date>
<revremark>
@@ -1539,10 +1546,13 @@ NAR #88757, TRA #12200
first five seconds of operation.
</para>
<para>
- At power on, you will hear three beeps or see three flashes
- (“S” in Morse code for start up) and then a pause while
- the altimeter completes initialization and self test, and decides
- which mode to enter next.
+ At power on, the altimeter will beep out the battery voltage
+ to the nearest tenth of a volt. Each digit is represented by
+ a sequence of short “dit” beeps, with a pause between
+ digits. A zero digit is represented with one long “dah”
+ beep. Then there will be a short pause while the altimeter
+ completes initialization and self test, and decides which mode
+ to enter next.
</para>
<para>
Here's a short summary of all of the modes and the beeping (or
@@ -1570,7 +1580,7 @@ NAR #88757, TRA #12200
<row>
<entry>Startup</entry>
<entry>S</entry>
- <entry>dit dit dit</entry>
+ <entry>battery voltage in decivolts</entry>
<entry>
<para>
Calibrating sensors, detecting orientation.
@@ -2181,6 +2191,20 @@ NAR #88757, TRA #12200
</para>
</section>
<section>
+ <title>Apogee Lockout</title>
+ <para>
+ Apogee lockout is the number of seconds after boost where
+ the flight computer will not fire the apogee charge, even if
+ the rocket appears to be at apogee. This is often called
+ 'Mach Delay', as it is intended to prevent a flight computer
+ from unintentionally firing apogee charges due to the pressure
+ spike that occurrs across a mach transition. Altus Metrum
+ flight computers include a Kalman filter which is not fooled
+ by this sharp pressure increase, and so this setting should
+ be left at the default value of zero to disable it.
+ </para>
+ </section>
+ <section>
<title>Main Deployment Altitude</title>
<para>
By default, the altimeter will fire the main deployment charge at an
@@ -2755,10 +2779,19 @@ NAR #88757, TRA #12200
dark blue for main, and black for landed.
</para>
<para>
- The map's scale is approximately 3m (10ft) per pixel. The map
+ The map's default scale is approximately 3m (10ft) per pixel. The map
can be dragged using the left mouse button. The map will attempt
to keep the rocket roughly centered while data is being received.
</para>
+ <para>
+ You can adjust the style of map and the zoom level with
+ buttons on the right side of the map window. You can draw a
+ line on the map by moving the mouse over the map with a
+ button other than the left one pressed, or by pressing the
+ left button while also holding down the shift key. The
+ length of the line in real-world units will be shown at the
+ start of the line.
+ </para>
<para>
Images are fetched automatically via the Google Maps Static API,
and cached on disk for reuse. If map images cannot be downloaded,
@@ -2770,6 +2803,24 @@ NAR #88757, TRA #12200
before you leave home; check out the 'Preload Maps' section below.
</para>
</section>
+ <section>
+ <title>Ignitor</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="ignitor.png" width="5.5in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ TeleMega includes four additional programmable pyro
+ channels. The Ignitor tab shows whether each of them has
+ continuity. If an ignitor has a low resistance, then the
+ voltage measured here will be close to the pyro battery
+ voltage. A value greater than 3.2V is required for a 'GO'
+ status.
+ </para>
+ </section>
</section>
<section>
<title>Save Flight Data</title>
@@ -3036,7 +3087,21 @@ NAR #88757, TRA #12200
</para>
</section>
<section>
- <title>Radio Frequency</title>
+ <title>Apogee Lockoug</title>
+ <para>
+ Apogee lockout is the number of seconds after boost where
+ the flight computer will not fire the apogee charge, even if
+ the rocket appears to be at apogee. This is often called
+ 'Mach Delay', as it is intended to prevent a flight computer
+ from unintentionally firing apogee charges due to the pressure
+ spike that occurrs across a mach transition. Altus Metrum
+ flight computers include a Kalman filter which is not fooled
+ by this sharp pressure increase, and so this setting should
+ be left at the default value of zero to disable it.
+ </para>
+ </section>
+ <section>
+ <title>Frequency</title>
<para>
This configures which of the frequencies to use for both
telemetry and packet command mode. Note that if you set this
@@ -3094,12 +3159,11 @@ NAR #88757, TRA #12200
</para>
</section>
<section>
- <title>Ignite Mode</title>
+ <title>Ignitor Firing Mode</title>
<para>
- TeleMetrum and TeleMini provide two igniter channels as they
- were originally designed as dual-deploy flight
- computers. This configuration parameter allows the two
- channels to be used in different configurations.
+ This configuration parameter allows the two standard ignitor
+ channels (Apogee and Main) to be used in different
+ configurations.
</para>
<variablelist>
<varlistentry>
@@ -3170,6 +3234,16 @@ NAR #88757, TRA #12200
</variablelist>
</section>
<section>
+ <title>Beeper Frequency</title>
+ <para>
+ The beeper on all Altus Metrum flight computers works best
+ at 4000Hz, however if you have more than one flight computer
+ in a single airframe, having all of them sound at the same
+ frequency can be confusing. This parameter lets you adjust
+ the base beeper frequency value.
+ </para>
+ </section>
+ <section>
<title>Configure Pyro Channels</title>
<informalfigure>
<mediaobject>
@@ -3195,6 +3269,11 @@ NAR #88757, TRA #12200
the same condition with different channels.
</para>
<para>
+ At the bottom of the window, the 'Pyro Firing Time'
+ configuration sets the length of time (in seconds) which
+ each of these pyro channels will fire for.
+ </para>
+ <para>
Once you have selected the appropriate configuration for all
of the necessary pyro channels, you can save the pyro
configuration along with the rest of the flight computer
@@ -3481,9 +3560,62 @@ NAR #88757, TRA #12200
and name of the site. The contents of this list are actually
downloaded from our server at run-time, so as new sites are sent
in, they'll get automatically added to this list.
+ If the launch site isn't in the list, you can manually enter the lat/lon values
</para>
<para>
- If the launch site isn't in the list, you can manually enter the lat/lon values
+ There are four different kinds of maps you can view; you can
+ select which to download by selecting as many as you like from
+ the available types:
+ <variablelist>
+ <varlistentry>
+ <term>Hybrid</term>
+ <listitem>
+ <para>
+ A combination of satellite imagery and road data. This
+ is the default view.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Satellite</term>
+ <listitem>
+ <para>
+ Just the satellite imagery without any annotation.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Roadmap</term>
+ <listitem>
+ <para>
+ Roads, political boundaries and a few geographic features.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Terrain</term>
+ <listitem>
+ <para>
+ Contour intervals and shading that show hills and
+ valleys.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ You can specify the range of zoom levels to download; smaller
+ numbers show more area with less resolution. The default
+ level, 0, shows about 3m/pixel. One zoom level change
+ doubles or halves that number.
+ </para>
+ <para>
+ The Tile Radius value sets how large an area around the center
+ point to download. Each tile is 512x512 pixels, and the
+ 'radius' value specifies how many tiles away from the center
+ will be downloaded. Specify a radius of 0 and you get only the
+ center tile. A radius of 1 loads a 3x3 grid, centered on the
+ specified location.
</para>
<para>
Clicking the 'Load Map' button will fetch images from Google
@@ -5127,7 +5259,8 @@ NAR #88757, TRA #12200
<informalfigure>
<mediaobject id="TeleMegaTemplate">
<imageobject>
- <imagedata format="SVG" fileref="telemega-outline.svg"/>
+ <imagedata format="SVG" fileref="telemega.svg"
+ scalefit="0" scale="100" align="center" />
</imageobject>
</mediaobject>
</informalfigure>
@@ -5141,7 +5274,8 @@ NAR #88757, TRA #12200
<informalfigure>
<mediaobject id="TeleMetrumTemplate">
<imageobject>
- <imagedata format="SVG" fileref="telemetrum.svg"/>
+ <imagedata format="SVG" fileref="telemetrum.svg"
+ scalefit="0" scale="100" align="center" />
</imageobject>
</mediaobject>
</informalfigure>
@@ -5155,7 +5289,8 @@ NAR #88757, TRA #12200
<informalfigure>
<mediaobject id="MiniTemplate">
<imageobject>
- <imagedata format="SVG" fileref="easymini-outline.svg"/>
+ <imagedata format="SVG" fileref="easymini.svg"
+ scalefit="0" scale="100" align="center" />
</imageobject>
</mediaobject>
</informalfigure>
@@ -5169,7 +5304,8 @@ NAR #88757, TRA #12200
<informalfigure>
<mediaobject id="TeleMiniTemplate">
<imageobject>
- <imagedata format="SVG" fileref="telemini.svg"/>
+ <imagedata format="SVG" fileref="telemini.svg"
+ scalefit="0" scale="100" align="center" />
</imageobject>
</mediaobject>
</informalfigure>
@@ -5278,6 +5414,13 @@ NAR #88757, TRA #12200
<appendix>
<title>Release Notes</title>
<simplesect>
+ <title>Version 1.4</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-1.4.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
<title>Version 1.3.2</title>
<xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
diff --git a/doc/ascent.png b/doc/ascent.png
index d486d19c..2d62f06e 100644
--- a/doc/ascent.png
+++ b/doc/ascent.png
Binary files differ
diff --git a/doc/configure-altimeter.png b/doc/configure-altimeter.png
index afb19325..514db3ed 100644
--- a/doc/configure-altimeter.png
+++ b/doc/configure-altimeter.png
Binary files differ
diff --git a/doc/configure-pyro.png b/doc/configure-pyro.png
index 1c6ae066..599d45b5 100644
--- a/doc/configure-pyro.png
+++ b/doc/configure-pyro.png
Binary files differ
diff --git a/doc/descent.png b/doc/descent.png
index 4ac4b962..5a7baadd 100644
--- a/doc/descent.png
+++ b/doc/descent.png
Binary files differ
diff --git a/doc/easymini-outline.pdf b/doc/easymini-outline.pdf
deleted file mode 100644
index a1a0b19d..00000000
--- a/doc/easymini-outline.pdf
+++ /dev/null
Binary files differ
diff --git a/doc/easymini-outline.svg b/doc/easymini-outline.svg
deleted file mode 100644
index 40faddb3..00000000
--- a/doc/easymini-outline.svg
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="427.5"
- height="270"
- id="svg2"
- version="1.1"
- inkscape:version="0.48.4 r9939"
- sodipodi:docname="easymini-outline.svg">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="Arrow2Lend"
- orient="auto"
- refY="0.0"
- refX="0.0"
- id="Arrow2Lend"
- style="overflow:visible;">
- <path
- id="path3866"
- style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="scale(1.1) rotate(180) translate(1,0)" />
- </marker>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective10" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="6.4827171"
- inkscape:cx="163.56238"
- inkscape:cy="128.7277"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1146"
- inkscape:window-height="846"
- inkscape:window-x="0"
- inkscape:window-y="26"
- inkscape:window-maximized="0"
- units="in">
- <inkscape:grid
- type="xygrid"
- id="grid3005" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-782.35975)">
- <rect
- style="fill:none;stroke:#000000;stroke-width:0.29770368;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="rect2816"
- width="135.0623"
- height="72.062294"
- x="89.986351"
- y="890.31354" />
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3601"
- transform="translate(5.5965353,264.43715)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3611"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3613"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3615"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3603"
- transform="translate(118.09654,214.93471)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3619"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3621"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3623"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3605"
- transform="translate(118.09654,264.39215)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3627"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3629"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3631"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3607"
- transform="translate(5.5965353,214.93471)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3635"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3637"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3639"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.18224967;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Lend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 116.64314,926.46226 64.93789,0"
- id="path2829"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <text
- xml:space="preserve"
- style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Minion Pro;-inkscape-font-specification:Minion Pro"
- x="912.26929"
- y="-186.53189"
- id="text4236"
- sodipodi:linespacing="125%"
- transform="matrix(0,1,-1,0,0,0)"><tspan
- sodipodi:role="line"
- x="912.26929"
- y="-186.53189"
- id="tspan4242">UP</tspan></text>
- </g>
-</svg>
diff --git a/doc/easymini-outline.xsl b/doc/easymini-outline.xsl
new file mode 100644
index 00000000..88125322
--- /dev/null
+++ b/doc/easymini-outline.xsl
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
+<article>
+ <title>EasyMini Outline and Hole Pattern</title>
+ <para>
+ This image, when printed, provides a precise template for the
+ mounting holes in EasyMini. EasyMini has overall dimensions
+ of 0.800 x 1.500 inches, and the mounting holes are sized for
+ use with 4-40 or M3 screws.
+ </para>
+ <informalfigure>
+ <mediaobject id="EasyMiniTemplate">
+ <imageobject>
+ <imagedata format="SVG" fileref="easymini.svg"
+ scalefit="0" scale="100" align="center" />
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+</article>
+
+<!-- LocalWords: Altusmetrum
+-->
diff --git a/doc/easymini.svg b/doc/easymini.svg
new file mode 100644
index 00000000..8a9cba02
--- /dev/null
+++ b/doc/easymini.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ width="1.75in"
+ height="1.05in"
+ viewBox="0 0 175 105"
+ preserveaspectratio="none"
+ id="svg2"
+ version="1.1">
+ <g transform="translate(12.5,12.5)"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;font-size:20">
+ <!-- outline -->
+ <rect width="150" height="80" x="0" y="0"/>
+ <!-- holes -->
+ <path d="M12.5,12.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <path d="M137.5,12.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <path d="M12.5,67.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <path d="M137.5,67.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <!-- arrow -->
+ <path d="M25,40 l100,0"/>
+ <path style="fill:#000000;stroke:none" d="M125,35 l10,5 l-10,5 z"/>
+ <!-- label -->
+ <text x="75" y="35" style="fill:#000000;stroke:none" text-anchor="middle">EasyMini</text>
+ <g transform="rotate(90)">
+ <text x="40" y="-133" style="fill:#000000;stroke:none" text-anchor="middle">UP</text>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/doc/graph-configure.png b/doc/graph-configure.png
index d3374ba8..ed0d5112 100644
--- a/doc/graph-configure.png
+++ b/doc/graph-configure.png
Binary files differ
diff --git a/doc/graph-map.png b/doc/graph-map.png
index fd0fb134..bcea5ff8 100644
--- a/doc/graph-map.png
+++ b/doc/graph-map.png
Binary files differ
diff --git a/doc/ignitor.png b/doc/ignitor.png
new file mode 100644
index 00000000..d1f5aebe
--- /dev/null
+++ b/doc/ignitor.png
Binary files differ
diff --git a/doc/landed.png b/doc/landed.png
index 777d2445..a58cfbf4 100644
--- a/doc/landed.png
+++ b/doc/landed.png
Binary files differ
diff --git a/doc/launch-pad.png b/doc/launch-pad.png
index a7a05c08..f2c41e6b 100644
--- a/doc/launch-pad.png
+++ b/doc/launch-pad.png
Binary files differ
diff --git a/doc/load-maps.png b/doc/load-maps.png
index dc7ea64c..ae98c9a5 100644
--- a/doc/load-maps.png
+++ b/doc/load-maps.png
Binary files differ
diff --git a/doc/micropeak.xsl b/doc/micropeak.xsl
index 66b04072..dafe3682 100644
--- a/doc/micropeak.xsl
+++ b/doc/micropeak.xsl
@@ -10,7 +10,7 @@
<surname>Packard</surname>
</author>
<copyright>
- <year>2012</year>
+ <year>2014</year>
<holder>Bdale Garbee and Keith Packard</holder>
</copyright>
<mediaobject>
diff --git a/doc/release-notes-1.4.xsl b/doc/release-notes-1.4.xsl
new file mode 100644
index 00000000..2893f1aa
--- /dev/null
+++ b/doc/release-notes-1.4.xsl
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
+
+<article>
+ <para>
+ Version 1.4 is a major release. It includes support for our new
+ TeleGPS product, new features and bug fixes in in the flight
+ software for all our boards and the AltosUI ground station
+ </para>
+ <para>
+ AltOS New Features
+ <itemizedlist>
+ <listitem>
+ <para>
+ Add support for TeleGPS boards.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Replace the 'dit dit dit' tones at startup with the current
+ battery voltage, measured in tenths of a volt. This lets you
+ check the battery voltage without needing telemetry, which
+ is especially useful on EasyMini.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Change state beeping to "Farnsworth spacing", which means
+ they're quite a bit faster than before, and so they take
+ less time to send.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Make the beeper tone configurable, making it possible to
+ distinguish between two Altus Metrum products in the same ebay.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Make the firing time for extra pyro channels configurable,
+ allowing longer (or shorter) than the default 50ms. Only relevant
+ for TeleMega at this time.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ AltOS Fixes
+ <itemizedlist>
+ <listitem>
+ <para>
+ Fix bug preventing the selection of the 'Flight State After'
+ mode in pyro configuration.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fix bug where erasing flights would reset the flight number
+ to 2 on TeleMega and TeleMetrum v2.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fix u-Blox GPS driver to mark course and speed data as being
+ present.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ AltosUI New Features
+ <itemizedlist>
+ <listitem>
+ <para>
+ Add zooming and new content types (terrain and road maps) to
+ map view. Change map storage format from PNG to Jpeg, which
+ saves a huge amount of disk space. You will need to
+ re-download all of your pre-loaded map images.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add a distance measuring device to the maps view. Select
+ this by using any button other than the left one, or by
+ pressing shift or control on the keyboard while using the
+ left button.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add new 'Ignitor' tab to the flight monitor display for
+ TeleMega's extra ignitors.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Increase the width of data lines in the graphs to make them
+ easier to read.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add additional ignitor firing marks and voltages to the
+ graph so you can see when the ignitors fired, along with
+ the ignitor voltages.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add GPS course, ground speed and climb rate as optional
+ graph elements.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ AltosUI Fixes
+ <itemizedlist>
+ <listitem>
+ <para>
+ When flashing new firmware, re-try opening the device as
+ sometimes it takes a while for the underlying operating
+ system to recognize that the device has rebooted in
+ preparation for the flashing operation.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Hide Tilt Angle in ascent tab for devices that don't have a gyro.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Filter out speed and acceleration spikes caused by ejection
+ charge firing when computing the maximum values. This
+ provides a more accurate reading of those maximums.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fix EasyMini voltage displays. Early EasyMini prototypes
+ used a 3.0V regulator, and AltosUI still used that value as
+ the basis of the computation. Production EasyMini boards
+ have always shipped with a 3.3V regulator. Also, purple
+ EasyMini boards sensed the battery voltage past the blocking
+ diode, resulting in a drop of about 150mV from the true
+ battery voltage. Compensate for that when displaying the
+ value.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Display error message when trying to configure maximum
+ flight log size while the flight computer still has flight
+ data stored.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Handle TeleMetrum and TeleMini eeprom files generated with
+ pre-1.0 firmware. Those ancient versions didn't report the
+ log format, so just use the product name instead.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ TeleGPS Application
+ <itemizedlist>
+ <listitem>
+ <para>
+ New application designed for use with TeleGPS boards.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Shares code with AltosUI, mostly just trimmed down to focus
+ on TeleGPS-related functions.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Documentation changes
+ <itemizedlist>
+ <listitem>
+ <para>
+ Re-create the drill template images; they should print
+ correctly from Firefox at least. Ship these as individual
+ PDF files so they're easy to print.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add a description of the 'Apogee Lockout' setting, which
+ prevents the apogee charge from firing for a configurable
+ amount of time after boost.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+</article>
diff --git a/doc/site-map.png b/doc/site-map.png
index 755e7361..ebac1dfb 100644
--- a/doc/site-map.png
+++ b/doc/site-map.png
Binary files differ
diff --git a/doc/telegps-configure.png b/doc/telegps-configure.png
new file mode 100644
index 00000000..56cb2031
--- /dev/null
+++ b/doc/telegps-configure.png
Binary files differ
diff --git a/doc/telegps-graph-configure.png b/doc/telegps-graph-configure.png
new file mode 100644
index 00000000..67eb5d91
--- /dev/null
+++ b/doc/telegps-graph-configure.png
Binary files differ
diff --git a/doc/telegps-graph-graph.png b/doc/telegps-graph-graph.png
new file mode 100644
index 00000000..443ada07
--- /dev/null
+++ b/doc/telegps-graph-graph.png
Binary files differ
diff --git a/doc/telegps-graph-map.png b/doc/telegps-graph-map.png
new file mode 100644
index 00000000..dddea22a
--- /dev/null
+++ b/doc/telegps-graph-map.png
Binary files differ
diff --git a/doc/telegps-graph-stats.png b/doc/telegps-graph-stats.png
new file mode 100644
index 00000000..d181ce55
--- /dev/null
+++ b/doc/telegps-graph-stats.png
Binary files differ
diff --git a/doc/telegps-info.png b/doc/telegps-info.png
new file mode 100644
index 00000000..cc279b8f
--- /dev/null
+++ b/doc/telegps-info.png
Binary files differ
diff --git a/doc/telegps-location.png b/doc/telegps-location.png
new file mode 100644
index 00000000..e32b14cd
--- /dev/null
+++ b/doc/telegps-location.png
Binary files differ
diff --git a/doc/telegps-map.png b/doc/telegps-map.png
new file mode 100644
index 00000000..f5557ded
--- /dev/null
+++ b/doc/telegps-map.png
Binary files differ
diff --git a/doc/telegps-preferences.png b/doc/telegps-preferences.png
new file mode 100644
index 00000000..ad14fd8d
--- /dev/null
+++ b/doc/telegps-preferences.png
Binary files differ
diff --git a/doc/telegps-scan.png b/doc/telegps-scan.png
new file mode 100644
index 00000000..9b19e685
--- /dev/null
+++ b/doc/telegps-scan.png
Binary files differ
diff --git a/doc/telegps-status.png b/doc/telegps-status.png
new file mode 100644
index 00000000..dc338f07
--- /dev/null
+++ b/doc/telegps-status.png
Binary files differ
diff --git a/doc/telegps-table.png b/doc/telegps-table.png
new file mode 100644
index 00000000..b3c82e8d
--- /dev/null
+++ b/doc/telegps-table.png
Binary files differ
diff --git a/doc/telegps-v1.0-top.jpg b/doc/telegps-v1.0-top.jpg
new file mode 100644
index 00000000..ac122f26
--- /dev/null
+++ b/doc/telegps-v1.0-top.jpg
Binary files differ
diff --git a/doc/telegps.xsl b/doc/telegps.xsl
new file mode 100644
index 00000000..836c3d9a
--- /dev/null
+++ b/doc/telegps.xsl
@@ -0,0 +1,1300 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
+<book>
+ <title>TeleGPS Owner's Manual</title>
+ <subtitle>A recording GPS tracker</subtitle>
+ <bookinfo>
+ <author>
+ <firstname>Keith</firstname>
+ <surname>Packard</surname>
+ </author>
+ <copyright>
+ <year>2014</year>
+ <holder>Bdale Garbee and Keith Packard</holder>
+ </copyright>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-v1.0-top.jpg" width="4in"/>
+ </imageobject>
+ </mediaobject>
+ <legalnotice>
+ <para>
+ This document is released under the terms of the
+ <ulink url="http://creativecommons.org/licenses/by-sa/3.0/">
+ Creative Commons ShareAlike 3.0
+ </ulink>
+ license.
+ </para>
+ </legalnotice>
+ <revhistory>
+ <revision>
+ <revnumber>1.4</revnumber>
+ <date>13 June 2014</date>
+ <revremark>
+ Initial release
+ </revremark>
+ </revision>
+ </revhistory>
+ </bookinfo>
+ <dedication>
+ <title>Acknowledgements</title>
+ <para>
+ Have fun using these products, and we hope to meet all of you
+ out on the rocket flight line somewhere.
+ <literallayout>
+Bdale Garbee, KB0G
+NAR #87103, TRA #12201
+
+Keith Packard, KD7SQG
+NAR #88757, TRA #12200
+ </literallayout>
+ </para>
+ </dedication>
+ <chapter>
+ <title>Quick Start Guide</title>
+ <para>
+ TeleGPS is designed to be easy to use. Requiring no external
+ components, flying takes just a few steps.
+ </para>
+ <para>
+ First, download and install the software from <ulink
+ url="http://altusmetrum.org/AltOS"/>. This will make sure that
+ you have the right device drivers installed.
+ </para>
+ <para>
+ Next, plug in the battery and USB cable and connect TeleGPS to
+ your computer. This will charge the battery and allow you to
+ configure the device.
+ </para>
+ <para>
+ Start the TeleGPS application and set the callsign and frequency
+ on your TeleGPS device; refer to the Configure TeleGPS section
+ in the TeleGPS Application chapter for instructions.
+ </para>
+ <para>
+ Unplug TeleGPS when the battery charger light goes green. This
+ will enable the radio and logging portions of the TeleGPS
+ firmware.
+ </para>
+ <para>
+ Connect TeleDongle to your computer and start TeleGPS or start
+ AltosDroid on your android device and connect to TeleBT. Set the
+ frequency to match the TeleGPS and you should be receiving telemetry.
+ </para>
+ </chapter>
+ <chapter>
+ <title>Handling Precautions</title>
+ <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, as with all electronic
+ devices, there are some precautions you must take.
+ </para>
+ <para>
+ The Lithium polymer batteries have an
+ extraordinary power density. This is great because we can fly with
+ much less battery mass... but if they are punctured
+ or their contacts are allowed to short, they can and will release their
+ energy very rapidly!
+ Thus we recommend that you take some care when handling TeleGPS
+ to keep conductive material from coming in contact with the exposed metal elements.
+ </para>
+ <para>
+ As with all other rocketry electronics, Altus Metrum devices must
+ be protected from exposure to corrosive motor exhaust and ejection
+ charge gasses.
+ </para>
+ </chapter>
+ <chapter>
+ <title>TeleGPS Hardware</title>
+ <section>
+ <title>Hooking Up Lithium Polymer Batteries</title>
+ <para>
+ TeleGPS has a two pin JST PH series connector to connect up
+ a single-cell Lithium Polymer cell (3.7V nominal). You can
+ purchase matching batteries from the Altus Metrum store, or
+ other vendors, or you can make your own. Pin 1 of the
+ connector is positive, pin 2 is negative. Spark Fun sells a
+ cable with the connector attached, which they call a <ulink
+ url="https://www.sparkfun.com/products/9914">JST Jumper 2
+ Wire Assembly</ulink>.
+ </para>
+ <para>
+ Many RC vendors also sell lithium polymer batteries with
+ this same connector. All that we have found use the opposite
+ polarity, and if you use them that way, you will damage or
+ destroy TeleGPS.
+ </para>
+ </section>
+ <section>
+ <title>On-board Data Recording</title>
+ <para>
+ TeleGPS logs GPS data at a user-configurable rate. Data are
+ logged to a 2MB on-board flash memory part, which can be
+ partitioned into several equal-sized blocks, one for each
+ flight. 64kB of this storage are reserved to hold
+ configuration data, leaving 1984kB for flight data.
+ </para>
+ <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 you can store more flights.
+ </para>
+ <para>
+ To compute the amount of space needed for a single log, you
+ can divide the expected time (in seconds) by the sample period
+ (by default, 1 second per sample) and then multiply the result
+ by 32 bytes per sample. For instance, a sample period of 1
+ second and a flight lasting one hour will take 32 * 3600 =
+ 115200 bytes. TeleGPS does try to reduce log space used by not
+ recording position information when it isn't moving, so actual
+ space consumed may be less than this.
+ </para>
+ <para>
+ The default size allows for four flights of 496kB each, which
+ provides over four hours of logging at 1 sample per second.
+ </para>
+ <para>
+ TeleGPS will not overwrite existing flight data, so be sure to
+ download flight data and erase it from the onboard flash
+ before it fills up. TeleGPS will still report telemetry even
+ if memory is full, so the only thing you will lose is the
+ on-board data log.
+ </para>
+ </section>
+ <section>
+ <title>Installation</title>
+ <para>
+ The battery connectors are a standard 2-pin JST connector and
+ match batteries sold by Spark Fun. These batteries are
+ single-cell Lithium Polymer batteries that nominally provide 3.7
+ volts. Other vendors sell similar batteries for RC aircraft
+ using mating connectors, however the polarity for those is
+ generally reversed from the batteries used by Altus Metrum
+ products. In particular, the Tenergy batteries supplied for use
+ in Featherweight flight computers are not compatible with Altus
+ Metrum flight computers or battery chargers. <emphasis>Check
+ polarity and voltage before connecting any battery not purchased
+ from Altus Metrum or Spark Fun.</emphasis>
+ </para>
+ <para>
+ TeleGPS uses an integrate GPS patch antenna and won't
+ receive GPS signals if installed inside a metal or carbon
+ fiber compartment. Test GPS reception and telemetry
+ transmission with the system installed and all other
+ electronics powered up to verify signal reception and make
+ sure there isn't any interference from other systems.
+ </para>
+ </section>
+ </chapter>
+ <chapter>
+ <title>System Operation</title>
+ <section>
+ <title>GFSK Telemetry</title>
+ <para>
+ TeleGPS's native telemetry system doesn't use a 'normal packet
+ radio' mode like APRS because it's not very efficient. The
+ GFSK modulation we use is FSK with the base-band pulses passed
+ through a Gaussian filter before they go into the modulator to
+ limit the transmitted bandwidth. When combined with forward
+ error correction and interleaving, this allows us to have a
+ very robust 19.2 kilobit data link with only 10-40 milliwatts
+ of transmit power, a whip antenna in the rocket, and a
+ hand-held Yagi on the ground. We've had flights to above 21k
+ feet AGL with great reception, and calculations suggest we
+ should be good to well over 40k feet AGL with a 5-element yagi
+ on the ground with our 10mW units and over 100k feet AGL with
+ the 40mW devices.
+ </para>
+ </section>
+ <section>
+ <title>APRS</title>
+ <para>
+ TeleGPS can send APRS if desired, and the
+ interval between APRS packets can be configured. As each APRS
+ packet takes a full second to transmit, we recommend an
+ interval of at least 5 seconds to avoid consuming too much
+ battery power or radio channel bandwidth. You can configure
+ the APRS interval using AltosUI; that process is described in
+ the Configure Altimeter section of the AltosUI chapter.
+ </para>
+ <para>
+ AltOS uses the APRS compressed position report data format,
+ which provides for higher position precision and shorter
+ packets than the original APRS format. It also includes
+ altitude data, which is invaluable when tracking rockets. We
+ haven't found a receiver which doesn't handle compressed
+ positions, but it's just possible that you have one, so if you
+ have an older device that can receive the raw packets but
+ isn't displaying position information, it's possible that this
+ is the cause.
+ </para>
+ <para>
+ The APRS packet format includes a comment field that can have
+ arbitrary text in it. AltOS uses this to send status
+ information about the flight computer. It sends four fields as
+ shown in the following table.
+ </para>
+ <table frame='all'>
+ <title>Altus Metrum APRS Comments</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Field'/>
+ <colspec align='center' colwidth='*' colname='Example'/>
+ <colspec align='center' colwidth='4*' colname='Description'/>
+ <thead>
+ <row>
+ <entry align='center'>Field</entry>
+ <entry align='center'>Example</entry>
+ <entry align='center'>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>1</entry>
+ <entry>L</entry>
+ <entry>GPS Status U for unlocked, L for locked</entry>
+ </row>
+ <row>
+ <entry>2</entry>
+ <entry>6</entry>
+ <entry>Number of Satellites in View</entry>
+ </row>
+ <row>
+ <entry>3</entry>
+ <entry>B4.0</entry>
+ <entry>Battery Voltage</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Here's an example of an APRS comment showing GPS lock with 6
+ satellites in view and a battery at 4.0V.
+ <screen>
+ L6 B4.0
+ </screen>
+ </para>
+ <para>
+ Make sure your primary battery is above 3.8V and GPS is locked
+ with at least 5 or 6 satellites in view before starting. If GPS
+ is switching between L and U regularly, then it doesn't have a
+ good lock and you should wait until it becomes stable.
+ </para>
+ <para>
+ If the GPS receiver loses lock, the APRS data transmitted will
+ contain the last position for which GPS lock was
+ available. You can tell that this has happened by noticing
+ that the GPS status character switches from 'L' to 'U'. Before
+ GPS has locked, APRS will transmit zero for latitude,
+ longitude and altitude.
+ </para>
+ </section>
+ <section>
+ <title>Configurable Parameters</title>
+ <para>
+ Configuring TeleGPS is very
+ simple; the few configurable parameters can all be set
+ using the TeleGPS application over USB. Read
+ the Configure TeleGPS section in the TeleGPS Software chapter below
+ for more information.
+ </para>
+ <section>
+ <title>Radio Frequency</title>
+ <para>
+ Altus Metrum boards support radio frequencies in the 70cm
+ band. By default, the configuration interface provides a
+ 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 when and by whom each
+ frequency will be used to avoid interference. And of course, both
+ TeleGPS and the receiver must be configured to the same
+ frequency to successfully communicate with each other.
+ </para>
+ </section>
+ <section>
+ <title>Callsign</title>
+ <para>
+ This sets the callsign used for telemetry and APRS to
+ identify the device.
+ </para>
+ </section>
+ <section>
+ <title>Telemetry/RDF/APRS Enable</title>
+ <para>
+ You can completely disable the radio, if necessary, leaving
+ TeleGPS only logging data to internal memory.
+ </para>
+ </section>
+ <section>
+ <title>APRS Interval</title>
+ <para>
+ This selects how often APRS packets are transmitted. Set
+ this to zero to disable APRS without also disabling the
+ regular telemetry and RDF transmissions. As APRS takes a
+ full second to transmit a single position report, we
+ recommend sending packets no more than once every 5 seconds.
+ </para>
+ </section>
+ <section>
+ <title>Maximum Flight Log</title>
+ <para>
+ 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>
+ <title>Logging Trigger Motion</title>
+ <para>
+ If TeleGPS moves less than this distance over a long period
+ of time, it will not log that location, saving storage space.
+ </para>
+ </section>
+ <section>
+ <title>Position Reporting Interval</title>
+ <para>
+ This sets how often TeleGPS reports position information via
+ telemetry and to the on-board log. Reducing this value will
+ save power and logging memory consumption.
+ </para>
+ </section>
+ </section>
+ </chapter>
+ <chapter>
+ <title>TeleGPS Application</title>
+ <para>
+ The TeleGPS application provides a graphical user interface for
+ interacting with the Altus Metrum product family. TeleGPS can
+ monitor telemetry data, configure devices and many other
+ tasks. The primary interface window is for displaying data
+ received over the telemetry link. There are additional
+ tasks available from the main window menu bar. This chapter
+ is split into sections, each of which documents one of the tasks
+ provided from the top-level toolbar.
+ </para>
+ <section>
+ <title>Telemetry Monitoring</title>
+ <para>
+ This is the window brought up when you start the
+ application. If you have a TeleDongle device connected to the
+ computer, it will automatically be selected for telemetry monitoring
+ </para>
+ <para>
+ All telemetry data received are automatically recorded in
+ suitable log files. The name of the files includes the current
+ date and TeleGPS serial and flight numbers.
+ </para>
+ <para>
+ The radio frequency being monitored by the TeleDongle device
+ is displayed at the top of the window. You can configure the
+ frequency by clicking on the frequency box and selecting the
+ desired frequency. The TeleGPS application remembers the last
+ frequency selected for each TeleDongle and selects that
+ automatically the next time you use that device.
+ </para>
+ <para>
+ Below the TeleDongle frequency selector, the window contains a few
+ significant pieces of information about the altimeter providing
+ the telemetry data stream:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>The configured call-sign</para>
+ </listitem>
+ <listitem>
+ <para>The device serial number</para>
+ </listitem>
+ <listitem>
+ <para>The flight number. TeleGPS remembers how many
+ times it has flown.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The Received Signal Strength Indicator value. This lets
+ you know how strong a signal TeleDongle is receiving. The
+ radio inside TeleDongle operates down to about -100dBm;
+ weaker signals may not be receivable. The packet link uses
+ error detection and correction techniques which prevent
+ incorrect data from being reported.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The age of the displayed data, in seconds since the last
+ successfully received telemetry packet. In normal operation
+ this will stay in the low single digits. If the number starts
+ counting up, then you are no longer receiving data over the radio
+ link from the flight computer.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Finally, the largest portion of the window contains a set of
+ tabs, each of which contain some information about the TeleGPS
+ board. The final 'table' tab displays many of the raw telemetry
+ values in one place in a spreadsheet-like format.
+ </para>
+ <section>
+ <title>Map</title>
+ <para>
+ The Map tab shows the TeleGPS track over time on top of map
+ data making it easy to locate the device.
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-map.png" width="5.5in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ The map's default scale is approximately 3m (10ft) per pixel. The map
+ can be dragged using the left mouse button. The map will attempt
+ to keep the rocket roughly centered while data is being received.
+ </para>
+ <para>
+ You can adjust the style of map and the zoom level with
+ buttons on the right side of the map window. You can draw a
+ line on the map by moving the mouse over the map with a
+ button other than the left one pressed, or by pressing the
+ left button while also holding down the shift key. The
+ length of the line in real-world units will be shown at the
+ start of the line.
+ </para>
+ <para>
+ Images are fetched automatically via the Google Maps Static API,
+ and cached on disk for reuse. If map images cannot be downloaded,
+ the rocket's path will be traced on a dark gray background
+ instead.
+ </para>
+ <para>
+ You can pre-load images for your favorite launch sites
+ before you leave home; check out the 'Preload Maps' section below.
+ </para>
+ </section>
+ <section>
+ <title>Location</title>
+ <para>
+ The Location tab shows the raw GPS data received from TeleGPS.
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-location.png" width="5.5in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ </section>
+ <section>
+ <title>Status</title>
+ <para>
+ The Status tab shows data relative to the location of
+ TeleGPS when the application first received telemetry from
+ it.
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-status.png" width="5.5in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ </section>
+ <section>
+ <title>Table</title>
+ <para>
+ The Table tab shows detailed information about the GPS
+ receiver
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-table.png" width="5.5in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ </section>
+ </section>
+ <!--
+ <variablelist>
+ <varlistentry>
+ <term></term>
+ <listitem>
+ <para>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ -->
+ <section>
+ <title>TeleGPS Menus</title>
+ <para>
+ TeleGPS has three or four menus at the top of the window:
+ <variablelist>
+ <varlistentry>
+ <term>File</term>
+ <listitem>
+ <para>
+ New Window, Graph Data, Export Data, Load Maps, Preferences, Close and Exit
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Monitor</term>
+ <listitem>
+ <para>
+ Connect Device, Disconnect and Scan Channels
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Device</term>
+ <listitem>
+ <para>
+ Download Data, Configure Device and Flash Device
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Frequency</term>
+ <listitem>
+ <para>
+ This shows the current monitoring frequency with a
+ drop-down menu listing other configured
+ frequencies. You can change the set of frequencies
+ shown here from the Preferences dialog. This menu is
+ only shown when the TeleGPS application is connected
+ to a TeleDongle or TeleBT device.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <section>
+ <title>New Window</title>
+ <para>
+ This creates another telemetry monitoring window, in case
+ you have multiple TeleDongle devices connected to the
+ computer.
+ </para>
+ </section>
+ <section>
+ <title>Graph Data</title>
+ <para>
+ This brings up a file dialog to load a saved log, either
+ a .telem file of recorded telemetry or .eeprom of saved
+ data from on-board memory. It looks a bit like the flight
+ monitoring window, using a selection of tabs to show
+ different views of the saved data.
+ </para>
+ <section>
+ <title>Graph</title>
+ <para>
+ The Graph tab shows a plot of the the GPS data
+ collected. The X axis is time in seconds; there are a
+ variety of Y axes available for different kinds of data.
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-graph-graph.png" width="6in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ </section>
+ <section>
+ <title>Configure Graph</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-graph-configure.png" width="6in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ This selects which graph elements to show, and, at the
+ bottom, lets you switch between metric and imperial units
+ </para>
+ </section>
+ <section>
+ <title>Statistics</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-graph-stats.png" width="6in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ Shows overall data computed from the flight.
+ </para>
+ </section>
+ <section>
+ <title>Map</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-graph-map.png" width="6in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ Shows a map of the area overlaid with the GPS track. As with
+ the telemetry monitoring window, you can select the style
+ of map and zoom level using buttons along the side;
+ you can scroll the map by dragging within the map pressing
+ the left button and you can draw a line to measure
+ distances using either the left button with the shift key,
+ or any other button.
+ </para>
+ </section>
+ </section>
+ <section>
+ <title>Export Data</title>
+ <para>
+ This tool takes the raw data files and makes them available for
+ external analysis. When you select this button, you are prompted to
+ select a data file, which can be either a .eeprom or .telem.
+ The .eeprom files contain higher resolution and more continuous data,
+ while .telem files contain receiver signal strength information.
+ Next, a second dialog appears which is used to select
+ where to write the resulting file. It has a selector to choose
+ between CSV and KML file formats.
+ </para>
+ <section>
+ <title>Comma Separated Value Format</title>
+ <para>
+ This is a text file containing the data in a form suitable for
+ import into a spreadsheet or other external data analysis
+ tool. The first few lines of the file contain the version and
+ configuration information from TeleGPS, then
+ there is a single header line which labels all of the
+ fields. All of these lines start with a '#' character which
+ many tools can be configured to skip over.
+ </para>
+ <para>
+ The remaining lines of the file contain the data, with each
+ field separated by a comma and at least one space. All of
+ the sensor values are converted to standard units, with the
+ barometric data reported in both pressure, altitude and
+ height above pad units.
+ </para>
+ </section>
+ <section>
+ <title>Keyhole Markup Language (for Google Earth)</title>
+ <para>
+ This is the format used by Google Earth to provide an overlay
+ within that application. With this, you can use Google Earth to
+ see the whole flight path in 3D.
+ </para>
+ </section>
+ </section>
+ <section>
+ <title>Load Maps</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="load-maps.png" width="5.2in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ Before using TeleGPS, you can use Load Maps to load map data
+ in case you don't have access to the internet while
+ receiving telemetry.
+ </para>
+ <para>
+ There's a drop-down menu of rocket launch sites we know
+ about; if your favorites aren't there, please let us know
+ the lat/lon and name of the site. The contents of this list
+ are actually downloaded from our server at run-time, so as
+ new sites are sent in, they'll get automatically added to
+ this list. If the launch site isn't in the list, you can
+ manually enter the lat/lon values
+ </para>
+ <para>
+ There are four different kinds of maps you can view; you can
+ select which to download by selecting as many as you like from
+ the available types:
+ <variablelist>
+ <varlistentry>
+ <term>Hybrid</term>
+ <listitem>
+ <para>
+ A combination of satellite imagery and road data. This
+ is the default view.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Satellite</term>
+ <listitem>
+ <para>
+ Just the satellite imagery without any annotation.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Roadmap</term>
+ <listitem>
+ <para>
+ Roads, political boundaries and a few geographic features.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Terrain</term>
+ <listitem>
+ <para>
+ Contour intervals and shading that show hills and
+ valleys.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ You can specify the range of zoom levels to download; smaller
+ numbers show more area with less resolution. The default
+ level, 0, shows about 3m/pixel. One zoom level change
+ doubles or halves that number.
+ </para>
+ <para>
+ The Tile Radius value sets how large an area around the center
+ point to download. Each tile is 512x512 pixels, and the
+ 'radius' value specifies how many tiles away from the center
+ will be downloaded. Specify a radius of 0 and you get only the
+ center tile. A radius of 1 loads a 3x3 grid, centered on the
+ specified location.
+ </para>
+ <para>
+ Clicking the 'Load Map' button will fetch images from Google
+ Maps; note that Google limits how many images you can fetch at
+ once, so if you load more than one launch site, you may get
+ some gray areas in the map which indicate that Google is tired
+ of sending data to you. Try again later.
+ </para>
+ </section>
+ <section>
+ <title>Preferences</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-preferences.png" width="2.4in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <section>
+ <title>Voice Settings</title>
+ <para>
+ AltosUI provides voice announcements during flight so that you
+ can keep your eyes on the sky and still get information about
+ the current flight status. However, sometimes you don't want
+ to hear them.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Enable</term>
+ <listitem>
+ <para>Turns all voice announcements on and off</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Test Voice</term>
+ <listitem>
+ <para>
+ Plays a short message allowing you to verify
+ that the audio system is working and the volume settings
+ are reasonable
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section>
+ <title>Log Directory</title>
+ <para>
+ AltosUI logs all telemetry data and saves all TeleMetrum flash
+ data to this directory. This directory is also used as the
+ staring point when selecting data files for display or export.
+ </para>
+ <para>
+ Click on the directory name to bring up a directory choosing
+ dialog, select a new directory and click 'Select Directory' to
+ change where AltosUI reads and writes data files.
+ </para>
+ </section>
+ <section>
+ <title>Callsign</title>
+ <para>
+ 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>
+ <para>
+ Note that to successfully command a flight computer over the radio
+ (to configure the altimeter, monitor idle, or fire pyro charges),
+ the callsign configured here must exactly match the callsign
+ configured in the flight computer. This matching is case
+ sensitive.
+ </para>
+ </section>
+ <section>
+ <title>Imperial Units</title>
+ <para>
+ This switches between metric units (meters) and imperial
+ units (feet and miles). This affects the display of values
+ use during flight monitoring, configuration, data graphing
+ and all of the voice announcements. It does not change the
+ units used when exporting to CSV files, those are always
+ produced in metric units.
+ </para>
+ </section>
+ <section>
+ <title>Serial Debug</title>
+ <para>
+ This causes all communication with a connected device to be
+ dumped to the console from which AltosUI was started. If
+ you've started it from an icon or menu entry, the output
+ will simply be discarded. This mode can be useful to debug
+ various serial communication issues.
+ </para>
+ </section>
+ <section>
+ <title>Font Size</title>
+ <para>
+ Selects the set of fonts used in the flight monitor
+ window. Choose between the small, medium and large sets.
+ </para>
+ </section>
+ <section>
+ <title>Look &amp; Feel</title>
+ <para>
+ Adjust the style of the windows. By default, the TeleGPS
+ application attempts to blend in with the native style.
+ </para>
+ </section>
+ <section>
+ <title>Manage Frequencies</title>
+ <para>
+ This brings up a dialog where you can configure the set of
+ frequencies shown in the various frequency menus. You can
+ add as many as you like, or even reconfigure the default
+ set. Changing this list does not affect the frequency
+ settings of any devices, it only changes the set of
+ frequencies shown in the menus.
+ </para>
+ </section>
+ </section>
+ <section>
+ <title>Close</title>
+ <para>
+ This closes the current window, leaving any other windows
+ open and the application running.
+ </para>
+ </section>
+ <section>
+ <title>Exit</title>
+ <para>
+ This closes all TeleGPS windows and terminates the application.
+ </para>
+ </section>
+ <section>
+ <title>Connect Device</title>
+ <para>
+ Selecting this item brings up a dialog box listing all of
+ the connected TeleDongle devices. When you choose one of
+ these, AltosUI will display telemetry data as received by
+ the selected TeleDongle device.
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="device-selection.png" width="3.1in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ </section>
+ <section>
+ <title>Disconnect</title>
+ <para>
+ Disconnects the currently connected TeleDongle or TeleBT
+ </para>
+ </section>
+ <section>
+ <title>Scan Channels</title>
+ <para>
+ Scans the configured set of frequencies looking for
+ telemetry signals. A list of all of the discovered signals
+ is show; selecting one of those and clicking on 'Monitor'
+ will select that frequency in the associated TeleGPS
+ application window.
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-scan.png" width="3.1in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ </section>
+ <section>
+ <title>Download Data</title>
+ <para>
+ TeleGPS records data to its internal flash memory.
+ On-board data is recorded at the same rate as telemetry
+ but is not subject to radio drop-outs. As
+ such, it generally provides a more complete and precise record.
+ The 'Download Data' menu entry allows you to read the
+ flash memory and write it to disk.
+ </para>
+ <para>
+ Select the 'Download Data' menu entry to bring up a list of
+ connected TeleGPS devices. After the device has been
+ selected, a dialog showing the data stored in the
+ device will be shown allowing you to select which entries to
+ download and which to delete. You must erase flights in order for the space they
+ consume to be reused by another track. This prevents
+ accidentally losing data if you neglect to download
+ data before starting TeleGPS again. Note that if there is no more
+ space available in the device, then no data will be recorded.
+ </para>
+ <para>
+ The file name for each data log is computed automatically
+ from the recorded date, altimeter serial number and flight
+ number information.
+ </para>
+ </section>
+ <section>
+ <title>Configure Device</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telegps-configure.png" width="3.6in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ Select this button and then select any connected TeleGPS
+ device from the list provided.
+ </para>
+ <para>
+ The first few lines of the dialog provide information about the
+ connected device, including the product name,
+ software version and hardware serial number. Below that are the
+ individual configuration entries.
+ </para>
+ <para>
+ At the bottom of the dialog, there are four buttons:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Save</term>
+ <listitem>
+ <para>
+ This writes any changes to the
+ configuration parameter block in flash memory. If you don't
+ press this button, any changes you make will be lost.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Reset</term>
+ <listitem>
+ <para>
+ This resets the dialog to the most recently saved values,
+ erasing any changes you have made.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Reboot</term>
+ <listitem>
+ <para>
+ This reboots the device. This will restart logging for
+ a new flight number, if any log information has been
+ saved for the current flight.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Close</term>
+ <listitem>
+ <para>
+ This closes the dialog. Any unsaved changes will be
+ lost.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ The rest of the dialog contains the parameters to be configured.
+ </para>
+ <section>
+ <title>Frequency</title>
+ <para>
+ This configures which of the frequencies to use for both
+ telemetry and packet command mode. Note that if you set this
+ value via packet command mode, the TeleDongle frequency will
+ also be automatically reconfigured to match so that
+ communication will continue afterwards.
+ </para>
+ </section>
+ <section>
+ <title>RF Calibration</title>
+ <para>
+ The radios in every Altus Metrum device are calibrated at the
+ factory to ensure that they transmit and receive on the
+ specified frequency. If you need to you can adjust the calibration
+ by changing this value. Do not do this without understanding what
+ the value means, read the appendix on calibration and/or the source
+ code for more information. To change a TeleDongle's calibration,
+ you must reprogram the unit completely.
+ </para>
+ </section>
+ <section>
+ <title>Telemetry/RDF/APRS Enable</title>
+ <para>
+ Enables the radio for transmission during flight. When
+ disabled, the radio will not transmit anything during flight
+ at all.
+ </para>
+ </section>
+ <section>
+ <title>APRS Interval</title>
+ <para>
+ How often to transmit GPS information via APRS (in
+ seconds). When set to zero, APRS transmission is
+ disabled. This option is available on TeleMetrum v2 and
+ TeleMega boards. TeleMetrum v1 boards cannot transmit APRS
+ packets. Note that a single APRS packet takes nearly a full
+ second to transmit, so enabling this option will prevent
+ sending any other telemetry during that time.
+ </para>
+ </section>
+ <section>
+ <title>Callsign</title>
+ <para>
+ This sets the call sign included in each telemetry packet. Set this
+ as needed to conform to your local radio regulations.
+ </para>
+ </section>
+ <section>
+ <title>Maximum Log Size</title>
+ <para>
+ This sets the space (in kilobytes) allocated for each data
+ log. The available space will be divided into chunks of this
+ size. A smaller value will allow more logs to be stored,
+ a larger value will record data for longer times.
+ </para>
+ </section>
+ <section>
+ <title>Logging Trigger Motion</title>
+ <para>
+ If TeleGPS moves less than this distance over a long period
+ of time, it will not log that location, saving storage space.
+ </para>
+ </section>
+ <section>
+ <title>Position Reporting Interval</title>
+ <para>
+ This sets how often TeleGPS reports position information via
+ telemetry and to the on-board log. Reducing this value will
+ save power and logging memory consumption.
+ </para>
+ </section>
+ </section>
+ <section>
+ <title>Flash Device</title>
+ <para>
+ This reprograms TeleGPS devices with new firmware. Please
+ read the directions for flashing devices in the Updating
+ Device Firmware chapter below.
+ </para>
+ </section>
+ </section>
+ </chapter>
+ <chapter>
+ <title>Updating Device Firmware</title>
+ <para>
+ TeleGPS is programmed directly over its USB connectors.
+ </para>
+ <para>
+ You may wish to begin by ensuring you have current firmware images.
+ These are distributed as part of the TeleGPS software bundle that
+ also includes the TeleGPS 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>
+ <section>
+ <title>
+ Updating TeleGPS 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 TeleGPS, and select 'Flash Device' from the Device 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
+ &lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx, such
+ as TeleGPS-v1.0-1.4.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>
+ </chapter>
+ <chapter>
+ <title>Technical Information</title>
+ <section>
+ <title>GPS Receiver</title>
+ <para>
+ TeleGPS uses the u-Blox Max-7Q GPS receiver.
+ </para>
+ </section>
+ <section>
+ <title>Micro-controller</title>
+ <para>
+ TeleGPS uses an NXP LPC11U14 micro-controller. This tiny
+ CPU contains 32kB of flash for the application and 4kB of RAM for
+ temporary data storage.
+ </para>
+ </section>
+ <section>
+ <title>Lithium Polymer Battery</title>
+ <para>
+ Shipping restrictions may prevent us from including a battery
+ battery with TeleGPS.
+ </para>
+ </section>
+ <section>
+ <title>Mechanical Considerations</title>
+ <para>
+ TeleGPS is designed to be rugged enough for typical rocketry
+ applications. The 4 mounting holes on the board are sized for
+ use with 4-40 or M3 screws.
+ </para>
+ </section>
+ <section>
+ <title>On-board data storage</title>
+ <para>
+ TeleGPS has 2MB of non-volatile storage, separate from the
+ code storage memory. The TeleGPS firmware uses this to log
+ information during flight.
+ </para>
+ </section>
+ </chapter>
+</book>
+<!-- LocalWords: Altusmetrum TeleGPS
+-->
diff --git a/doc/telemega-outline.pdf b/doc/telemega-outline.pdf
deleted file mode 100644
index f8fc26e2..00000000
--- a/doc/telemega-outline.pdf
+++ /dev/null
Binary files differ
diff --git a/doc/telemega-outline.svg b/doc/telemega-outline.svg
deleted file mode 100644
index e8d74d38..00000000
--- a/doc/telemega-outline.svg
+++ /dev/null
@@ -1,244 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="427.5"
- height="270"
- id="svg2"
- version="1.1"
- inkscape:version="0.48.3.1 r9886"
- sodipodi:docname="megametrum-outline.svg">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="Arrow2Lend"
- orient="auto"
- refY="0.0"
- refX="0.0"
- id="Arrow2Lend"
- style="overflow:visible;">
- <path
- id="path3866"
- style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="scale(1.1) rotate(180) translate(1,0)" />
- </marker>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective10" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="2.1783851"
- inkscape:cx="315.40175"
- inkscape:cy="122.33575"
- inkscape:document-units="in"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:window-width="1527"
- inkscape:window-height="1313"
- inkscape:window-x="813"
- inkscape:window-y="166"
- inkscape:window-maximized="0"
- units="in"
- showguides="true"
- inkscape:guide-bbox="true">
- <sodipodi:guide
- position="0,0"
- orientation="0,427.5"
- id="guide3005" />
- <sodipodi:guide
- position="427.5,0"
- orientation="-270,0"
- id="guide3007" />
- <sodipodi:guide
- position="427.5,270"
- orientation="0,-427.5"
- id="guide3009" />
- <sodipodi:guide
- position="0,270"
- orientation="270,0"
- id="guide3011" />
- <inkscape:grid
- type="xygrid"
- id="grid3013"
- empspacing="4"
- visible="true"
- enabled="true"
- snapvisiblegridlinesonly="true"
- units="in"
- spacingx="0.025in"
- spacingy="0.025in" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-782.35975)">
- <rect
- style="fill:none;stroke:#000000;stroke-width:0.54555845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="rect2816"
- width="291.95444"
- height="111.95444"
- x="90.272781"
- y="850.13251" />
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3601"
- transform="matrix(0.97131843,0,0,0.97528987,8.397686,191.32255)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3611"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3613"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3615"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3603"
- transform="matrix(0.97186116,0,0,0.97241431,278.34851,193.3134)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3619"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3621"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3623"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3605"
- transform="matrix(0.97475506,0,0,0.97241431,278.08835,283.31323)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3627"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3629"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3631"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3607"
- transform="matrix(0.97186116,0,0,0.97241431,8.3485628,283.31356)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3635"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3637"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cc"
- id="path3639"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow2Lend);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 135,903.85975 157.5,0"
- id="path2829"
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0" />
- <text
- xml:space="preserve"
- style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Minion Pro;-inkscape-font-specification:Minion Pro"
- x="888.10974"
- y="-303.75"
- id="text4236"
- sodipodi:linespacing="125%"
- transform="matrix(0,1,-1,0,0,0)"><tspan
- sodipodi:role="line"
- x="888.10974"
- y="-303.75"
- id="tspan4242">UP</tspan></text>
- </g>
-</svg>
diff --git a/doc/telemega-outline.xsl b/doc/telemega-outline.xsl
new file mode 100644
index 00000000..5d3411e9
--- /dev/null
+++ b/doc/telemega-outline.xsl
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
+<article>
+ <title>TeleMega Outline and Hole Pattern</title>
+ <para>
+ This image, when printed, provides a precise template for the
+ mounting holes in TeleMega. TeleMega has overall dimensions
+ of 1.250 x 3.250 inches, and the mounting holes are sized for
+ use with 4-40 or M3 screws.
+ </para>
+ <informalfigure>
+ <mediaobject id="TeleMegaTemplate">
+ <imageobject>
+ <imagedata format="SVG" fileref="telemega.svg"
+ scalefit="0" scale="100" align="center" />
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+</article>
+
+<!-- LocalWords: Altusmetrum
+-->
diff --git a/doc/telemega.svg b/doc/telemega.svg
new file mode 100644
index 00000000..40edf696
--- /dev/null
+++ b/doc/telemega.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ width="3.5in"
+ height="1.5in"
+ viewBox="0 0 350 150"
+ preserveaspectratio="none"
+ id="svg2"
+ version="1.1">
+ <g transform="translate(12.5,12.5)"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;font-size:24">
+ <!-- outline -->
+ <rect width="325" height="125" x="0" y="0"/>
+ <!-- holes -->
+ <path d="M12.5,12.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <path d="M312.5,12.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <path d="M12.5,112.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <path d="M312.5,112.5 m-6.25,0 a6.25,6.25,0,1,0,12.5,0 a6.25,6.25,0,1,0,-12.5,0 l12.5,0 m-6.25,-6.25 l0,12.5"/>
+ <!-- arrow -->
+ <path d="M50,62.5 l225,0"/>
+ <path style="fill:#000000;stroke:none" d="M275,57.5 l10,5 l-10,5 z"/>
+ <!-- label -->
+ <text x="162.5" y="57.5" style="fill:#000000;stroke:none" text-anchor="middle">TeleMega</text>
+ <g transform="rotate(90)">
+ <text x="62.5" y="-290" style="fill:#000000;stroke:none" text-anchor="middle">UP</text>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/doc/telemetrum-outline.pdf b/doc/telemetrum-outline.pdf
deleted file mode 100644
index 09ce5577..00000000
--- a/doc/telemetrum-outline.pdf
+++ /dev/null
Binary files differ
diff --git a/doc/telemetrum-outline.svg b/doc/telemetrum-outline.svg
deleted file mode 100644
index aee63ed2..00000000
--- a/doc/telemetrum-outline.svg
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="427.5"
- height="270"
- id="svg2"
- version="1.1"
- inkscape:version="0.47 r22583"
- sodipodi:docname="telemetrum-outline.svg">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="Arrow2Lend"
- orient="auto"
- refY="0.0"
- refX="0.0"
- id="Arrow2Lend"
- style="overflow:visible;">
- <path
- id="path3866"
- style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="scale(1.1) rotate(180) translate(1,0)" />
- </marker>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective10" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.1459933"
- inkscape:cx="182.36411"
- inkscape:cy="261.60668"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1146"
- inkscape:window-height="846"
- inkscape:window-x="0"
- inkscape:window-y="20"
- inkscape:window-maximized="0"
- units="in" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-782.35975)">
- <rect
- style="fill:none;stroke:#000000;stroke-width:0.44999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="rect2816"
- width="247.38385"
- height="89.893326"
- x="90.0625"
- y="872.40637" />
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3601"
- transform="translate(28.141535,264.43715)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3611"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3613"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path3615"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3603"
- transform="translate(230.64154,196.89215)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3619"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3621"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path3623"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3605"
- transform="translate(230.64154,264.39215)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3627"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3629"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path3631"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </g>
- <g
- inkscape:tile-y0="681.11218"
- inkscape:tile-x0="90"
- id="use3607"
- transform="translate(28.141535,196.89215)">
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#000000;stroke-width:1.41507304;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path3635"
- sodipodi:cx="116"
- sodipodi:cy="739.36218"
- sodipodi:rx="17"
- sodipodi:ry="18"
- d="m 133,739.36218 c 0,9.94113 -7.61116,18 -17,18 -9.38884,0 -17,-8.05887 -17,-18 0,-9.94112 7.61116,-18 17,-18 9.38884,0 17,8.05888 17,18 z"
- transform="matrix(0.32722728,0,0,0.3090422,57.632964,458.24316)" />
- <path
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.10785132;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 95.625,692.36218 0,-11.25"
- id="path3637"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path3639"
- d="m 90,686.73718 11.25,0"
- style="color:#000000;fill:#67615b;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.09;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </g>
- <path
- style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.80000000000000004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Lend)"
- d="m 135,135 157.5,0"
- id="path2829"
- transform="translate(0,782.35975)"
- sodipodi:nodetypes="cc" />
- <text
- xml:space="preserve"
- style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Minion Pro;-inkscape-font-specification:Minion Pro"
- x="903.51935"
- y="-305.87912"
- id="text4236"
- sodipodi:linespacing="125%"
- transform="matrix(0,1,-1,0,0,0)"><tspan
- sodipodi:role="line"
- x="903.51935"
- y="-305.87912"
- id="tspan4242">UP</tspan></text>
- </g>
-</svg>
diff --git a/doc/telemetrum-outline.xsl b/doc/telemetrum-outline.xsl
new file mode 100644
index 00000000..4a0ade47
--- /dev/null
+++ b/doc/telemetrum-outline.xsl
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
+<article>
+ <title>TeleMetrum Outline and Hole Pattern</title>
+ <para>
+ This image, when printed, provides a precise template for the
+ mounting holes in TeleMetrum. TeleMetrum has overall dimensions
+ of 1.000 x 2.750 inches, and the mounting holes are sized for
+ use with 4-40 or M3 screws.
+ </para>
+ <informalfigure>
+ <mediaobject id="TeleMetrumTemplate">
+ <imageobject>
+ <imagedata format="SVG" fileref="telemetrum.svg"
+ scalefit="0" scale="100" align="center" />
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+</article>
+
+<!-- LocalWords: Altusmetrum
+-->
diff --git a/doc/telemetrum.svg b/doc/telemetrum.svg
index 97c4e4a8..80ee182d 100644
--- a/doc/telemetrum.svg
+++ b/doc/telemetrum.svg
@@ -6,14 +6,14 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
- width="5in"
- height="2.5in"
- viewBox="0 0 500 250"
+ width="3in"
+ height="1.25in"
+ viewBox="0 0 300 125"
preserveaspectratio="none"
id="svg2"
version="1.1">
- <g transform="translate(112.5,75)"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;font-family:Frutiger LT Std">
+ <g transform="translate(12.5,12.5)"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;font-size:24">
<!-- outline -->
<rect width="275" height="100" x="0" y="0"/>
<!-- holes -->
diff --git a/doc/telemini.svg b/doc/telemini.svg
index d07b4971..b2e21e3d 100644
--- a/doc/telemini.svg
+++ b/doc/telemini.svg
@@ -6,26 +6,26 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
- width="5in"
- height="2in"
- viewBox="0 0 500 200"
+ width="1.75in"
+ height=".75in"
+ viewBox="0 0 175 75"
preserveaspectratio="none"
id="svg2"
version="1.1">
- <g transform="translate(175,75)"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;font-family:Frutiger LT Std">
+ <g transform="translate(12.5,12.5)"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:miter;font-size:20">
<!-- outline -->
<rect width="150" height="50" x="0" y="0"/>
<!-- holes -->
- <path d="M135,10 A5,5,0,1,0,145,10 A5,5,0,1,0,135,10 M135,10 l10,0 M140,5 l0,10"/>
- <path d="M135,40 A5,5,0,1,0,145,40 A5,5,0,1,0,135,40 M135,40 l10,0 M140,35 l0,10"/>
+ <path d="M140,10 m-5,0 a5,5,0,1,0,10,0 a5,5,0,1,0,-10,0 l10,0 m-5,-5 l0,10"/>
+ <path d="M140,40 m-5,0 a5,5,0,1,0,10,0 a5,5,0,1,0,-10,0 l10,0 m-5,-5 l0,10"/>
<!-- arrow -->
- <path d="M25,25 l90,0"/>
- <path style="fill:#000000;stroke:none" d="M115,20 l10,5 l-10,5 z"/>
+ <path d="M25,25 l100,0"/>
+ <path style="fill:#000000;stroke:none" d="M125,20 l10,5 l-10,5 z"/>
<!-- label -->
<text x="75" y="20" style="fill:#000000;stroke:none" text-anchor="middle">TeleMini</text>
- <g transform="rotate(90)">
- <text x="25" y="-130" style="fill:#000000;stroke:none" text-anchor="middle">UP</text>
+ <g transform="rotate(90)" style="font-size:14">
+ <text x="25" y="-133" style="fill:#000000;stroke:none" text-anchor="middle">UP</text>
</g>
</g>
</svg> \ No newline at end of file