From 8cf466d7a767a20387a8d9d6ec81ee00af3fe4a7 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 29 Oct 2015 12:12:15 +0900 Subject: doc: Start doc transition to asciidoc Signed-off-by: Keith Packard --- doc/altusmetrum-docinfo.xml | 153 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 doc/altusmetrum-docinfo.xml (limited to 'doc/altusmetrum-docinfo.xml') diff --git a/doc/altusmetrum-docinfo.xml b/doc/altusmetrum-docinfo.xml new file mode 100644 index 00000000..05815f5a --- /dev/null +++ b/doc/altusmetrum-docinfo.xml @@ -0,0 +1,153 @@ +An Owner's Manual for Altus Metrum Rocketry Electronics + + Bdale + Garbee + + + Keith + Packard + + + Bob + Finch + + + Anthony + Towns + + + 2015 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 1.6.1 + 15 July 2015 + + Minor release adding TeleBT v3.0 support. + + + + 1.6 + 8 January 2015 + + Major release adding TeleDongle v3.0 support. + + + + 1.5 + 6 September 2014 + + Major release adding EasyMega support. + + + + 1.4.1 + 20 June 2014 + + Minor release fixing some installation bugs. + + + + 1.4 + 15 June 2014 + + Major release adding TeleGPS support. + + + + 1.3.2 + 24 January 2014 + + Bug fixes for TeleMega and AltosUI. + + + + 1.3.1 + 21 January 2014 + + Bug fixes for TeleMega and TeleMetrum v2.0 along with a few + small UI improvements. + + + + 1.3 + 12 November 2013 + + Updated for software version 1.3. Version 1.3 adds support + for TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini + and fixes bugs in AltosUI and the AltOS firmware. + + + + 1.2.1 + 21 May 2013 + + Updated for software version 1.2. Version 1.2 adds support + for TeleBT and AltosDroid. It also adds a few minor features + and fixes bugs in AltosUI and the AltOS firmware. + + + + 1.2 + 18 April 2013 + + Updated for software version 1.2. Version 1.2 adds support + for MicroPeak and the MicroPeak USB interface. + + + + 1.1.1 + 16 September 2012 + + Updated for software version 1.1.1 Version 1.1.1 fixes a few + bugs found in version 1.1. + + + + 1.1 + 13 September 2012 + + Updated for software version 1.1. Version 1.1 has new + features but is otherwise compatible with version 1.0. + + + + 1.0 + 24 August 2011 + + Updated for software version 1.0. Note that 1.0 represents a + telemetry format change, meaning both ends of a link + (TeleMetrum/TeleMini and TeleDongle) must be updated or + communications will fail. + + + + 0.9 + 18 January 2011 + + Updated for software version 0.9. Note that 0.9 represents a + telemetry format change, meaning both ends of a link (TeleMetrum and + TeleDongle) must be updated or communications will fail. + + + + 0.8 + 24 November 2010 + Updated for software version 0.8 + + -- cgit v1.2.3 From ce297f14ff54d230d01fb6dedaafca571e8b836b Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 31 Oct 2015 21:34:42 -0700 Subject: doc: Finish converting docs to asciidoc format Signed-off-by: Keith Packard --- doc/Makefile | 142 ++-- doc/altusmetrum-docinfo.xml | 14 + doc/altusmetrum.txt | 4 +- doc/am-fo.xsl | 3 + doc/easymega-outline.txt | 9 + doc/easymega-outline.xsl | 23 - doc/easymini-outline.txt | 9 + doc/easymini-outline.xsl | 23 - doc/handling.inc | 1 + doc/micropeak-docinfo.xml | 68 ++ doc/micropeak.txt | 497 +++++++++++ doc/micropeak.xsl | 736 ---------------- doc/release-notes-0.7.1-docinfo.xml | 29 + doc/release-notes-0.7.1.inc | 53 ++ doc/release-notes-0.7.1.xsl | 71 -- doc/release-notes-0.8-docinfo.xml | 29 + doc/release-notes-0.8.inc | 47 ++ doc/release-notes-0.8.xsl | 70 -- doc/release-notes-0.9-docinfo.xml | 29 + doc/release-notes-0.9.2-docinfo.xml | 29 + doc/release-notes-0.9.2.inc | 18 + doc/release-notes-0.9.2.xsl | 26 - doc/release-notes-0.9.inc | 31 + doc/release-notes-0.9.xsl | 37 - doc/release-notes-1.0.1-docinfo.xml | 29 + doc/release-notes-1.0.1.inc | 100 +++ doc/release-notes-1.0.1.xsl | 127 --- doc/release-notes-1.1-docinfo.xml | 29 + doc/release-notes-1.1.1-docinfo.xml | 29 + doc/release-notes-1.1.1.inc | 57 ++ doc/release-notes-1.1.1.xsl | 71 -- doc/release-notes-1.1.inc | 92 ++ doc/release-notes-1.1.xsl | 131 --- doc/release-notes-1.2-docinfo.xml | 29 + doc/release-notes-1.2.1-docinfo.xml | 29 + doc/release-notes-1.2.1.inc | 77 ++ doc/release-notes-1.2.1.xsl | 107 --- doc/release-notes-1.2.inc | 32 + doc/release-notes-1.2.xsl | 51 -- doc/release-notes-1.3-docinfo.xml | 29 + doc/release-notes-1.3.1-docinfo.xml | 29 + doc/release-notes-1.3.1.inc | 55 ++ doc/release-notes-1.3.1.xsl | 71 -- doc/release-notes-1.3.2-docinfo.xml | 29 + doc/release-notes-1.3.2.inc | 37 + doc/release-notes-1.3.2.xsl | 54 -- doc/release-notes-1.3.inc | 57 ++ doc/release-notes-1.3.xsl | 81 -- doc/release-notes-1.4-docinfo.xml | 29 + doc/release-notes-1.4.1-docinfo.xml | 29 + doc/release-notes-1.4.1.inc | 34 + doc/release-notes-1.4.1.xsl | 54 -- doc/release-notes-1.4.2-docinfo.xml | 29 + doc/release-notes-1.4.2.inc | 15 + doc/release-notes-1.4.inc | 125 +++ doc/release-notes-1.4.xsl | 204 ----- doc/release-notes-1.5-docinfo.xml | 29 + doc/release-notes-1.5.inc | 69 ++ doc/release-notes-1.5.xsl | 121 --- doc/release-notes-1.6-docinfo.xml | 29 + doc/release-notes-1.6.1-docinfo.xml | 29 + doc/release-notes-1.6.1.inc | 101 +++ doc/release-notes-1.6.1.xsl | 189 ----- doc/release-notes-1.6.inc | 85 ++ doc/release-notes-1.6.xsl | 142 ---- doc/release-notes-docinfo.xml | 28 + doc/release-notes.inc | 75 ++ doc/system-operation.inc | 2 +- doc/telegps-application.inc | 569 +++++++++++++ doc/telegps-docinfo.xml | 73 ++ doc/telegps-quick-start.inc | 24 + doc/telegps-release-notes.inc | 25 + doc/telegps-specs.inc | 29 + doc/telegps-system-operation.inc | 149 ++++ doc/telegps-updating-firmware.inc | 43 + doc/telegps-using.inc | 81 ++ doc/telegps.txt | 21 + doc/telegps.xsl | 1338 ----------------------------- doc/telemega-outline.txt | 9 + doc/telemega-outline.xsl | 23 - doc/telemetrum-outline.txt | 9 + doc/telemetrum-outline.xsl | 23 - doc/telemetrum-v2.0-th.jpg | Bin 0 -> 2625456 bytes doc/telemetrum.inc | 12 + doc/telemini-outline.txt | 9 + doc/telemini.pdf | Bin 4183 -> 0 bytes doc/titlepage.templates.tmpl | 1583 +++++++++++++++++++++++++++++++++++ doc/titlepage.templates.xml | 1580 ---------------------------------- doc/updating-firmware.inc | 21 +- doc/xorg-fo.xsl | 121 --- 90 files changed, 5045 insertions(+), 5545 deletions(-) create mode 100644 doc/easymega-outline.txt delete mode 100644 doc/easymega-outline.xsl create mode 100644 doc/easymini-outline.txt delete mode 100644 doc/easymini-outline.xsl create mode 100644 doc/micropeak-docinfo.xml create mode 100644 doc/micropeak.txt delete mode 100644 doc/micropeak.xsl create mode 100644 doc/release-notes-0.7.1-docinfo.xml create mode 100644 doc/release-notes-0.7.1.inc delete mode 100644 doc/release-notes-0.7.1.xsl create mode 100644 doc/release-notes-0.8-docinfo.xml create mode 100644 doc/release-notes-0.8.inc delete mode 100644 doc/release-notes-0.8.xsl create mode 100644 doc/release-notes-0.9-docinfo.xml create mode 100644 doc/release-notes-0.9.2-docinfo.xml create mode 100644 doc/release-notes-0.9.2.inc delete mode 100644 doc/release-notes-0.9.2.xsl create mode 100644 doc/release-notes-0.9.inc delete mode 100644 doc/release-notes-0.9.xsl create mode 100644 doc/release-notes-1.0.1-docinfo.xml create mode 100644 doc/release-notes-1.0.1.inc delete mode 100644 doc/release-notes-1.0.1.xsl create mode 100644 doc/release-notes-1.1-docinfo.xml create mode 100644 doc/release-notes-1.1.1-docinfo.xml create mode 100644 doc/release-notes-1.1.1.inc delete mode 100644 doc/release-notes-1.1.1.xsl create mode 100644 doc/release-notes-1.1.inc delete mode 100644 doc/release-notes-1.1.xsl create mode 100644 doc/release-notes-1.2-docinfo.xml create mode 100644 doc/release-notes-1.2.1-docinfo.xml create mode 100644 doc/release-notes-1.2.1.inc delete mode 100644 doc/release-notes-1.2.1.xsl create mode 100644 doc/release-notes-1.2.inc delete mode 100644 doc/release-notes-1.2.xsl create mode 100644 doc/release-notes-1.3-docinfo.xml create mode 100644 doc/release-notes-1.3.1-docinfo.xml create mode 100644 doc/release-notes-1.3.1.inc delete mode 100644 doc/release-notes-1.3.1.xsl create mode 100644 doc/release-notes-1.3.2-docinfo.xml create mode 100644 doc/release-notes-1.3.2.inc delete mode 100644 doc/release-notes-1.3.2.xsl create mode 100644 doc/release-notes-1.3.inc delete mode 100644 doc/release-notes-1.3.xsl create mode 100644 doc/release-notes-1.4-docinfo.xml create mode 100644 doc/release-notes-1.4.1-docinfo.xml create mode 100644 doc/release-notes-1.4.1.inc delete mode 100644 doc/release-notes-1.4.1.xsl create mode 100644 doc/release-notes-1.4.2-docinfo.xml create mode 100644 doc/release-notes-1.4.2.inc create mode 100644 doc/release-notes-1.4.inc delete mode 100644 doc/release-notes-1.4.xsl create mode 100644 doc/release-notes-1.5-docinfo.xml create mode 100644 doc/release-notes-1.5.inc delete mode 100644 doc/release-notes-1.5.xsl create mode 100644 doc/release-notes-1.6-docinfo.xml create mode 100644 doc/release-notes-1.6.1-docinfo.xml create mode 100644 doc/release-notes-1.6.1.inc delete mode 100644 doc/release-notes-1.6.1.xsl create mode 100644 doc/release-notes-1.6.inc delete mode 100644 doc/release-notes-1.6.xsl create mode 100644 doc/release-notes-docinfo.xml create mode 100644 doc/release-notes.inc create mode 100644 doc/telegps-application.inc create mode 100644 doc/telegps-docinfo.xml create mode 100644 doc/telegps-quick-start.inc create mode 100644 doc/telegps-release-notes.inc create mode 100644 doc/telegps-specs.inc create mode 100644 doc/telegps-system-operation.inc create mode 100644 doc/telegps-updating-firmware.inc create mode 100644 doc/telegps-using.inc create mode 100644 doc/telegps.txt delete mode 100644 doc/telegps.xsl create mode 100644 doc/telemega-outline.txt delete mode 100644 doc/telemega-outline.xsl create mode 100644 doc/telemetrum-outline.txt delete mode 100644 doc/telemetrum-outline.xsl create mode 100644 doc/telemetrum-v2.0-th.jpg create mode 100644 doc/telemini-outline.txt delete mode 100644 doc/telemini.pdf create mode 100644 doc/titlepage.templates.tmpl delete mode 100644 doc/titlepage.templates.xml delete mode 100644 doc/xorg-fo.xsl (limited to 'doc/altusmetrum-docinfo.xml') diff --git a/doc/Makefile b/doc/Makefile index 82ece0d5..df1a884c 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,24 +2,25 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -RELNOTES=\ - release-notes-0.7.1.html \ - release-notes-0.8.html \ - release-notes-0.9.html \ - release-notes-0.9.2.html \ - release-notes-1.0.1.html \ - release-notes-1.1.html \ - release-notes-1.1.1.html \ - release-notes-1.2.html \ - 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.4.html \ - release-notes-1.4.1.html \ - release-notes-1.5.html \ - release-notes-1.6.html \ - release-notes-1.6.1.html +RELNOTES_INC=\ + release-notes-0.7.1.inc \ + release-notes-0.8.inc \ + release-notes-0.9.inc \ + release-notes-0.9.2.inc \ + release-notes-1.0.1.inc \ + release-notes-1.1.inc \ + release-notes-1.1.1.inc \ + release-notes-1.2.inc \ + release-notes-1.2.1.inc \ + release-notes-1.3.inc \ + release-notes-1.3.1.inc \ + release-notes-1.3.2.inc \ + release-notes-1.4.inc \ + release-notes-1.4.1.inc \ + release-notes-1.4.2.inc \ + release-notes-1.5.inc \ + release-notes-1.6.inc \ + release-notes-1.6.1.inc PICTURES=\ altosui.png \ @@ -62,6 +63,7 @@ PICTURES=\ telemini-v2-top.jpg TXT_FILES=altusmetrum.txt + INC_FILES=\ dedication.inc \ intro.inc \ @@ -82,13 +84,45 @@ INC_FILES=\ pyro-channels.inc \ flight-data-recording.inc \ handling.inc \ - specs.inc + specs.inc \ + release-notes.inc \ + $(RELNOTES_INC) + +RAW_FILES=$(TXT_FILES:.txt=.raw) $(INC_FILES:.inc=.raw) + +TELEGPS_INC_FILES=\ + dedication.inc \ + telegps-quick-start.inc \ + telegps-using.inc \ + telegps-system-operation.inc \ + telegps-application.inc \ + handling.inc \ + telegps-specs.inc \ + telegps-updating-firmware.inc \ + telegps-release-notes.inc + +TELEGPS_TXT_FILES=\ + telegps.txt + +TELEGPS_RAW_FILES=$(TELEGPS_TXT_FILES:.txt=.raw) $(TELEGPS_INC_FILES:.inc=.raw) -RAW_FILES=$(TXT_FILES:.txt=.raw) +MICROPEAK_TXT_FILES=\ + micropeak.txt -RAW_INC=$(INC_FILES:.inc=.raw) +MICROPEAK_INC_FILES= -AD_PDF=$(TXT_FILES:.txt=.pdf) +MICROPEAK_RAW_FILES=$(MICROPEAK_TXT_FILES:.txt=.raw) $(MICROPEAK_INC_FILES:.inc=.raw) + +OUTLINE_TXT_FILES=\ + easymega-outline.txt \ + easymini-outline.txt \ + telemega-outline.txt \ + telemetrum-outline.txt \ + telemini-outline.txt + +OUTLINE_RAW_FILES=$(OUTLINE_TXT_FILES:.txt=.raw) + +OUTLINE_PDF_FILES=$(OUTLINE_TXT_FILES:.txt=.pdf) SVG=\ easymini.svg \ @@ -97,19 +131,25 @@ SVG=\ telemini.svg \ easymega.svg -RELNOTES_XSL=$(RELNOTES:.html=.xsl) -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 easymega-outline.pdf $(AD_PDF) -HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl +RELNOTES_PDF=$(RELNOTES_INC:.inc=.pdf) +RELNOTES_HTML=$(RELNOTES_INC:.inc=.html) + +HTML=altusmetrum.html altos.html telemetry.html companion.html micropeak.html telegps.html $(RELNOTES_HTML) + +PDF=altusmetrum.pdf $(RELNOTES_PDF) altos.pdf telemetry.pdf companion.pdf micropeak.pdf telegps.pdf \ + $(OUTLINE_PDF_FILES) + FOSTYLE=xorg-fo.xsl -FOPCFG=fop-cfg.xml -TEMPLATES=titlepage.templates.xsl -PDFSTYLE= + +TEMPLATES_TMPL=titlepage.templates.tmpl + +TEMPLATES_XSL=$(TEMPLATES_TMPL:.tmpl=.xsl) + IMAGES=$(PICTURES) $(SVG) + DOC=$(HTML) $(PDF) $(IMAGES) -.SUFFIXES: .inc .txt .raw .pdf .html +.SUFFIXES: .tmpl .xsl .inc .txt .raw .pdf .html XSLTFLAGS=--stringparam section.autolabel 1 --xinclude @@ -120,23 +160,23 @@ XSLTFLAGS=--stringparam section.autolabel 1 --xinclude sed -e 's/@@VERSION@@/$(VERSION)/' -e 's/@@DATE@@/$(DATE)/' -e 's/^[ ]*//' -e 's/^\\//' $*.inc > $@ .raw.pdf: - a2x --verbose -k -d book -a docinfo -f pdf --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file am-fo.xsl --fop --fop-opts="-c fop.xconf" $*.raw + a2x --verbose -a docinfo -f pdf --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file am-fo.xsl --fop --fop-opts="-c fop.xconf" $*.raw .raw.html: - a2x --verbose -k -d book -a docinfo -f xhtml --xsltproc-opts "--stringparam toc.section.depth 2" --stylesheet=am.css $*.raw + a2x --verbose -a docinfo -f xhtml --xsltproc-opts "--stringparam toc.section.depth 2" --stylesheet=am.css $*.raw -.xsl.html: - xsltproc $(XSLTFLAGS) -o $@ $(HTMLSTYLE) $*.xsl +.tmpl.xsl: + xsltproc --output $@ /usr/share/xml/docbook/stylesheet/docbook-xsl/template/titlepage.xsl $*.tmpl -.xsl.pdf: - xmlto -p '-c $(FOPCFG)' --searchpath `pwd` -x $(FOSTYLE) --with-fop pdf $*.xsl +all: $(HTML) $(PDF) -.xml.xsl: - xsltproc --output $@ /usr/share/xml/docbook/stylesheet/docbook-xsl/template/titlepage.xsl $*.xml +$(HTML): $(PDF) -all: $(HTML) $(PDF) +altusmetrum.pdf altusmetrum.html: altusmetrum-docinfo.xml $(RAW_FILES) $(RAW_INC) $(IMAGES) -altusmetrum.pdf: altusmetrum-docinfo.xml $(RAW_FILES) $(RAW_INC) +telegps.html telegps.pdf: telegps-docinfo.xml $(TELEGPS_RAW_FILES) $(IMAGES) + +micropeak.pdf micropeak.html: micropeak-docinfo.xml $(MICROPEAK_RAW_FILES) $(IMAGES) install: all @@ -149,22 +189,10 @@ publish: $(DOC) git push) clean: - rm -f $(HTML) $(PDF) $(TEMPLATES) + rm -f $(HTML) $(PDF) $(TEMPLATES_XSL) -distclean: +distclean: clean rm -f $(HTML) $(PDF) -altusmetrum.html: $(RELNOTES_XSL) $(IMAGES) -altusmetrum.pdf: $(RELNOTES_XSL) $(IMAGES) - -telegps.html: $(RELNOTES_XSL) $(IMAGES) -telegps.pdf: $(RELNOTES_XSL) $(IMAGES) - -$(PDF): $(FOSTYLE) $(TEMPLATES) $(FOPCFG) - -indent: altusmetrum.xsl - xmlindent -i 2 < altusmetrum.xsl > altusmetrum.new - -$(FOPCFG): Makefile - (echo ''; echo ' '"`pwd`"''; echo '') > $@ - +$(PDF): $(FOSTYLE) $(TEMPLATES_XSL) +$(HTML): $(TEMPLATES_XSL) diff --git a/doc/altusmetrum-docinfo.xml b/doc/altusmetrum-docinfo.xml index 05815f5a..19c1e5d9 100644 --- a/doc/altusmetrum-docinfo.xml +++ b/doc/altusmetrum-docinfo.xml @@ -2,10 +2,12 @@ Bdale Garbee + bdale@gag.com Keith Packard + keithp@keithp.com Bob @@ -55,6 +57,13 @@ Major release adding EasyMega support. + + 1.4.2 + 17 August 2014 + + Minor release fixing some Windows installation bugs. + + 1.4.1 20 June 2014 @@ -150,4 +159,9 @@ 24 November 2010 Updated for software version 0.8 + + 0.7.1 + 29 September 2010 + Added AltosUI + diff --git a/doc/altusmetrum.txt b/doc/altusmetrum.txt index 8dc18362..a2f78dda 100644 --- a/doc/altusmetrum.txt +++ b/doc/altusmetrum.txt @@ -1,5 +1,4 @@ = The Altus Metrum System - :doctype: book :numbered: @@ -41,5 +40,4 @@ include::specs.raw[] - [index] - == Index + include::release-notes.raw[] diff --git a/doc/am-fo.xsl b/doc/am-fo.xsl index 2c36bec8..35279f22 100644 --- a/doc/am-fo.xsl +++ b/doc/am-fo.xsl @@ -18,6 +18,9 @@ + + + diff --git a/doc/easymega-outline.txt b/doc/easymega-outline.txt new file mode 100644 index 00000000..f5ca982c --- /dev/null +++ b/doc/easymega-outline.txt @@ -0,0 +1,9 @@ += EasyMega Outline and Hole Pattern +:doctype: article + + This image, when printed, provides a precise template for the + mounting holes in EasyMega. EasyMega has overall dimensions of + 1.250 x 2.250 inches, and the mounting holes are sized for use + with 4-40 or M3 screws. + + image::easymega.svg[align="center"] diff --git a/doc/easymega-outline.xsl b/doc/easymega-outline.xsl deleted file mode 100644 index 5796f9c9..00000000 --- a/doc/easymega-outline.xsl +++ /dev/null @@ -1,23 +0,0 @@ - - -
- EasyMega Outline and Hole Pattern - - This image, when printed, provides a precise template for the - mounting holes in EasyMega. EasyMega has overall dimensions - of 1.250 x 2.250 inches, and the mounting holes are sized for - use with 4-40 or M3 screws. - - - - - - - - -
- - diff --git a/doc/easymini-outline.txt b/doc/easymini-outline.txt new file mode 100644 index 00000000..e031b5ee --- /dev/null +++ b/doc/easymini-outline.txt @@ -0,0 +1,9 @@ += EasyMini Outline and Hole Pattern +:doctype: article + + 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. + + image::easymini.svg[align="center"] diff --git a/doc/easymini-outline.xsl b/doc/easymini-outline.xsl deleted file mode 100644 index 88125322..00000000 --- a/doc/easymini-outline.xsl +++ /dev/null @@ -1,23 +0,0 @@ - - -
- EasyMini Outline and Hole Pattern - - 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. - - - - - - - - -
- - diff --git a/doc/handling.inc b/doc/handling.inc index 78d9133a..7565996a 100644 --- a/doc/handling.inc +++ b/doc/handling.inc @@ -6,6 +6,7 @@ will deliver impressive results. However, as with all electronic devices, there are some precautions you must take. + [WARNING] The Lithium Polymer rechargeable batteries have an extraordinary power density. This is great because we can fly with much less battery mass than if we used alkaline batteries or previous diff --git a/doc/micropeak-docinfo.xml b/doc/micropeak-docinfo.xml new file mode 100644 index 00000000..b401a193 --- /dev/null +++ b/doc/micropeak-docinfo.xml @@ -0,0 +1,68 @@ +A recording altimeter for hobby rocketry + + Keith + Packard + keithp@keithp.com + + + 2014 + Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 1.3.2 + 12 February 2014 + + Add a "Download" button to the main window, which makes it + quicker to access the download function. Update the data + download documentation to reflect the new MicroPeak USB + adapter design. Monitor data during download to let you see + if the USB connection is working at all by showing the + characters received from the MicroPeak USB adapter. + + + + 1.2 + 20 January 2013 + + Add documentation for the MicroPeak USB adapter board. Note + the switch to a Kalman filter for peak altitude + determination. + + + + 1.1 + 12 December 2012 + + Add comments about EEPROM storage format and programming jig. + + + + 1.0 + 18 November 2012 + + Updates for version 1.0 release. + + + + 0.1 + 29 October 2012 + + Initial release with preliminary hardware. + + + diff --git a/doc/micropeak.txt b/doc/micropeak.txt new file mode 100644 index 00000000..d62e4633 --- /dev/null +++ b/doc/micropeak.txt @@ -0,0 +1,497 @@ += MicroPeak Owner's Manual +:doctype: book +:numbered: + +[dedication] +== Acknowledgements + + Thanks to John Lyngdal for suggesting that we build something + like this. + + Have fun using these products, and we hope to meet all of you + out on the rocket flight line somewhere. + + [verse] + Bdale Garbee, KB0G + NAR #87103, TRA #12201 + + [verse] + Keith Packard, KD7SQG + NAR #88757, TRA #12200 + +== Using MicroPeak + + MicroPeak is designed to be easy to use. Requiring no external + components, flying takes just a few steps + + * Install the battery. Fit a CR1025 battery into the plastic + carrier. The positive (\+) terminal should be towards the more + open side of the carrier. Slip the carrier into the battery + holder with the positive (+) terminal facing away from the + circuit board. + + .MicroPeak and Battery + image::micropeak-back.jpg[width="4.5in"] + + * Install MicroPeak in your rocket. This can be as simple as + preparing a soft cushion of wadding inside a vented model payload + bay. Wherever you mount it, make sure you protect the + barometric sensor from corrosive ejection gasses as those + will damage the sensor, and shield it from light as that can + cause incorrect sensor readings. + + * Turn MicroPeak on. Slide the switch so that the actuator + covers the '1' printed on the board. MicroPeak will report + the maximum height of the last flight in decimeters using a + sequence of flashes on the LED. A sequence of short flashes + indicates one digit. A single long flash indicates zero. The + height is reported in decimeters, so the last digit will be + tenths of a meter. For example, if MicroPeak reports 5 4 4 + 3, then the maximum height of the last flight was 544.3m, or + 1786 feet. + + * Finish preparing the rocket for flight. After the + previous flight data have been reported, MicroPeak waits for + one minute before starting to check for launch. This gives + you time to finish assembling the rocket. As those + activities might cause pressure changes inside the airframe, + MicroPeak might accidentally detect boost. If you need to do + anything to the airframe after the one minute window passes, + make sure to be careful not to disturb the altimeter. The + LED will remain dark during the one minute delay, but after + that, it will start blinking once every 3 seconds. + + * Fly the rocket. Once the rocket passes about 30m in height + (100 feet), the micro-controller will record the ground + pressure and track the pressure seen during the flight. In + this mode, the LED flickers rapidly. When the rocket lands, + and the pressure stabilizes, the micro-controller will record + the minimum pressure pressure experienced during the flight, + compute the height represented by the difference in air + pressure and blink that value out on the LED. After that, + MicroPeak powers down to conserve battery power. + + * Recover the data. Turn MicroPeak off and then back on. MicroPeak + will blink out the maximum height for the last flight. Turn + MicroPeak back off to conserve battery power. + +== The MicroPeak USB adapter + + .MicroPeak USB Adapter + image::MicroPeakUSB-2.0.jpg[width="4.5in"] + + MicroPeak stores barometric pressure information for the first + 48 seconds of the flight in on-board non-volatile memory. The + contents of this memory can be downloaded to a computer using + the MicroPeak USB adapter. + + === Installing the MicroPeak software + + The MicroPeak application runs on Linux, Mac OS X and + Windows. You can download the latest version from + http://altusmetrum.org/MicroPeak + + On Mac OS X and Windows, the FTDI USB device driver + needs to be installed. A compatible version of this + driver is included with the MicroPeak application, but + you may want to download a newer version from + http://www.ftdichip.com/FTDrivers.htm + + === Downloading Micro Peak data + + * Plug the MicroPeak USB adapter in to your computer. + + * Start the MicroPeak application. + + image::micropeak-nofont.svg[width="0.5in"] + + * Click on the Download button at the top of the + window. + + .MicroPeak Application + image::micropeak-app.png[width="4.5in"] + + * Select from the listed devices. There will probably + be only one. + + .MicroPeak Device Dialog + image::micropeak-device-dialog.png[width="2.3in"] + + * The application will now wait until it receives + valid data from the MicroPeak USB adapter. + + .MicroPeak Download Dialog + image::micropeak-download.png[width="2in"] + + * The MicroPeak USB adapter has a small + phototransistor under the hole in the center of the + box. Locate this, turn on the MicroPeak and place + the orange LED on the MicroPeak directly inside the + hole, resting the MicroPeak itself on the box. You + should see the blue LED on the MicroPeak USB adapter + blinking in time with the orange LED on the + MicroPeak board itself. + + .MicroPeak Downloading + image::MicroPeakUSB-2.0-inuse.jpg[width="4.5in"] + + * After the maximum flight height is reported, + MicroPeak will pause for a few seconds, blink the + LED four times rapidly and then send the data in one + long blur on the LED. The MicroPeak application + should receive the data. When it does, it will + present the data in a graph and offer to save the + data to a file. If not, you can power cycle the + MicroPeak board and try again. + + .MicroPeak Save Dialog + image::micropeak-save-dialog.png[width="2.3in"] + + * Once the data are saved, a graph will be displayed + with height, speed and acceleration values computed + from the recorded barometric pressure data. See the + next section for more details on that. + + === Analyzing MicroPeak Data + + The MicroPeak application can present flight data in + the form of a graph, a collection of computed + statistics or in tabular form. + + MicroPeak collects raw barometric pressure data which + is then used to compute the remaining data. Altitude + is computed through a standard atmospheric + model. Absolute error in this data will be affected by + local atmospheric conditions. Fortunately, these + errors tend to mostly cancel out, so the error in the + height computation is much smaller than the error in + altitude would be. + + Speed and acceleration are computed by first smoothing + the height data with a Gaussian window averaging + filter. For speed data, this average uses seven + samples. For acceleration data, eleven samples are + used. These were chosen to provide reasonably smooth + speed and acceleration data, which would otherwise be + swamped with noise. + + The File menu has operations to open existing flight + logs, Download new data from MicroPeak, Save a copy of + the flight log to a new file, Export the tabular data + (as seen in the Raw Data tab) to a file, change the + application Preferences, Close the current window or + close all windows and Exit the application. + + ==== MicroPeak Graphs + + .MicroPeak Graph + image::micropeak-graph.png[width="4.5in"] + + Under the Graph tab, the height, speed and acceleration values + are displayed together. You can zoom in on the graph by + clicking and dragging to sweep out an area of + interest. Right-click on the plot to bring up a menu that will + let you save, copy or print the graph. + + ==== MicroPeak Flight Statistics + + .MicroPeak Flight Statistics + image::micropeak-statistics.png[width="4.5in"] + + The Statistics tab presents overall data from + the flight. Note that the Maximum height value + is taken from the minumum pressure captured in + flight, and may be different from the apparant + apogee value as the on-board data are sampled + twice as fast as the recorded values, or + because the true apogee occurred after the + on-board memory was full. Each value is + presented in several units as appropriate. + + ==== Raw Flight Data + + .MicroPeak Raw Flight Data + image::micropeak-raw-data.png[width="4.5in"] + + A table consisting of the both the raw barometric pressure + data and values computed from that for each recorded time. + + ==== Configuring the Graph + + .MicroPeak Graph Configuration + image::micropeak-graph-configure.png[width="4.5in"] + + This selects which graph elements to show, and lets you + switch between metric and imperial units + + === Setting MicroPeak Preferences + + .MicroPeak Preferences + image::micropeak-preferences.png[width="1.8in"] + + The MicroPeak application has a few user settings which are + configured through the Preferences dialog, which can be + accessed from the File menu. + + Log Directory:: + + The Log Directory is where flight data will be + saved to and loaded from by default. Of + course, you can always navigate to other + directories in the file chooser windows, this + setting is just the starting point. + + Imperial Units:: + + If you prefer to see your graph data in feet + and miles per hour instead of meters and + meters per second, you can select Imperial + Units. + + Serial Debug:: + + To see what data is actually arriving over the + serial port, start the MicroPeak application + from a command prompt and select the Serial + Debug option. This can be useful in debugging + serial communication problems, but most people + need never choose this. + + Font Size:: + + You can adjust the size of the text in the + Statistics tab by changing the Font size + preference. There are three settings, with + luck one will both fit on your screen and + provide readable values. + + Look & Feel:: + + The Look & feel menu shows a list of available + application appearance choices. By default, + the MicroPeak application tries to blend in + with other applications, but you may choose + some other appearance if you like. + + Note that MicroPeak shares a subset of the + AltosUI preferences, so if you use both of + these applications, change in one application + will affect the other. + +[appendix] +== Handling Precautions + + 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. + + [WARNING] + + The CR1025 Lithium 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 MicroPeak to keep conductive material from coming in + contact with the exposed metal elements. + + The barometric sensor used in MicroPeak is sensitive to + sunlight. Please consider this when designing an + installation. Many model rockets with payload bays use clear + plastic for the payload bay. Replacing these with an opaque + cardboard tube, painting them, or wrapping them with a layer + of masking tape are all reasonable approaches to keep the + sensor out of direct sunlight. + + The barometric sensor sampling ports must be able to + "breathe", both by not being covered by foam or tape or other + materials that might directly block the hole on the top of the + sensor, and also by having a suitable static vent to outside + air. + + As with all other rocketry electronics, Altus Metrum + altimeters must be protected from exposure to corrosive motor + exhaust and ejection charge gasses. + +[appendix] +== Technical Information + + === Barometric Sensor + + MicroPeak uses the Measurement Specialties MS5607 + sensor. This has a range of 120kPa to 1kPa with an + absolute accuracy of 150Pa and a resolution of 2.4Pa. + + The pressure range corresponds roughly to an altitude + range of -1500m (-4900 feet) to 31000m (102000 feet), + while the resolution is approximately 20cm (8 inches) + near sea level and 60cm (24in) at 10000m (33000 feet). + + Ground pressure is computed from an average of 16 + samples, taken while the altimeter is at rest. The + flight pressure used to report maximum height is + computed from a Kalman filter designed to smooth out + any minor noise in the sensor values. The flight + pressure recorded to non-volatile storage is + unfiltered, coming directly from the pressure sensor. + + === Micro-controller + + MicroPeak uses an Atmel ATtiny85 + micro-controller. This tiny CPU contains 8kB of flash + for the application, 512B of RAM for temporary data + storage and 512B of EEPROM for non-volatile storage of + previous flight data. + + The ATtiny85 has a low-power mode which turns off all + of the clocks and powers down most of the internal + components. In this mode, the chip consumes only .1μA + of power. MicroPeak uses this mode once the flight has + ended to preserve battery power. + + === Lithium Battery + + The CR1025 battery used by MicroPeak holds 30mAh of + power, which is sufficient to run for over 40 + hours. Because MicroPeak powers down on landing, run + time includes only time sitting on the launch pad or + during flight. + + The large positive terminal (+) is usually marked, + while the smaller negative terminal is not. Make sure + you install the battery with the positive terminal + facing away from the circuit board where it will be in + contact with the metal battery holder. A small pad on + the circuit board makes contact with the negative + battery terminal. + + Shipping restrictions may prevent us from including a + CR1025 battery with MicroPeak. If so, many stores + carry CR1025 batteries as they are commonly used in + small electronic devices such as flash lights. + + === Atmospheric Model + + MicroPeak contains a fixed atmospheric model which is + used to convert barometric pressure into altitude. The + model was converted into a 469-element piece-wise + linear approximation which is then used to compute the + altitude of the ground and apogee. The difference + between these represents the maximum height of the + flight. + + The model assumes a particular set of atmospheric + conditions, which, while a reasonable average, cannot + represent the changing nature of the real + atmosphere. Fortunately, for flights reasonably close + to the ground, the effect of this global inaccuracy + are largely canceled out when the computed ground + altitude is subtracted from the computed apogee + altitude, so the resulting height is more accurate + than either the ground or apogee altitudes. + + Because the raw pressure data is recorded to + non-volatile storage, you can use that, along with a + more sophisticated atmospheric model, to compute your + own altitude values. + + === Mechanical Considerations + + MicroPeak is designed to be rugged enough for typical + rocketry applications. It contains two moving parts, + the battery holder and the power switch, which were + selected for their ruggedness. + + The MicroPeak battery holder is designed to withstand + impact up to 150g without breaking contact (or, worse + yet, causing the battery to fall out). That means it + should stand up to almost any launch you care to try, + and should withstand fairly rough landings. + + The power switch is designed to withstand up to 50g + forces in any direction. Because it is a sliding + switch, orienting the switch perpendicular to the + direction of rocket travel will serve to further + protect the switch from launch forces. + + === MicroPeak Programming Interface + + MicroPeak exposes a standard 6-pin AVR programming + interface, but not using the usual 2x3 array of pins + on 0.1" centers. Instead, there is a single row of + tiny 0.60mm × 0.85mm pads on 1.20mm centers exposed + near the edge of the circuit board. We couldn't find + any connector that was small enough to include on the + circuit board. + + In lieu of an actual connector, the easiest way to + connect to the bare pads is through a set of Pogo + pins. These spring-loaded contacts are designed to + connect in precisely this way. We've designed a + programming jig, the MicroPeak Pogo Pin board which + provides a standard AVR interface on one end and a + recessed slot for MicroPeak to align the board with + the Pogo Pins. + + The MicroPeak Pogo Pin board is not a complete AVR + programmer, it is an interface board that provides a + 3.3V regulated power supply to run the MicroPeak via + USB and a standard 6-pin AVR programming interface + with the usual 2x3 grid of pins on 0.1" centers. This + can be connected to any AVR programming dongle. + + The AVR programming interface cannot run faster than ¼ + of the AVR CPU clock frequency. Because MicroPeak runs + at 250kHz to save power, you must configure your AVR + programming system to clock the AVR programming + interface at no faster than 62.5kHz, or a clock period + of 32µS. + +[appendix] +== On-board data storage + + The ATtiny85 has 512 bytes of non-volatile storage, separate + from the code storage memory. The MicroPeak firmware uses this + to store information about the last completed + flight. Barometric measurements from the ground before launch + and at apogee are stored, and used at power-on to compute the + height of the last flight. + + In addition to the data used to present the height of the last + flight, MicroPeak also stores barometric information sampled + at regular intervals during the flight. This is the + information captured with the MicroPeak USB adapter. It can + also be read from MicroPeak through any AVR programming tool. + + + .MicroPeak EEPROM Data Storage + [options="border",cols="2,1,7"] + |==== + |Address |Size (bytes) |Description + |0x000 |4 |Average ground pressure (Pa) + |0x004 |4 |Minimum flight pressure (Pa) + |0x008 |2 |Number of in-flight samples + |0x00a … 0x1fe |2 |Instantaneous flight pressure (Pa) low 16 bits + |==== + + All EEPROM data are stored least-significant byte first. The + instantaneous flight pressure data are stored without the + upper 16 bits of data. The upper bits can be reconstructed + from the previous sample, assuming that pressure doesn't + change by more more than 32kPa in a single sample + interval. Note that this pressure data is *not* filtered in + any way, while both the recorded ground and apogee pressure + values are, so you shouldn't expect the minimum instantaneous + pressure value to match the recorded minimum pressure value + exactly. + + MicroPeak samples pressure every 96ms, but stores only every + other sample in the EEPROM. This provides for 251 pressure + samples at 192ms intervals, or 48.192s of storage. The clock + used for these samples is a factory calibrated RC circuit + built into the ATtiny85 and is accurate only to within ±10% at + 25°C. So, you can count on the pressure data being accurate, + but speed or acceleration data computed from this will be + limited by the accuracy of this clock. diff --git a/doc/micropeak.xsl b/doc/micropeak.xsl deleted file mode 100644 index dafe3682..00000000 --- a/doc/micropeak.xsl +++ /dev/null @@ -1,736 +0,0 @@ - - - - MicroPeak Owner's Manual - A recording altimeter for hobby rocketry - - - Keith - Packard - - - 2014 - Bdale Garbee and Keith Packard - - - - - - - - - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. - - - - - 0.1 - 29 October 2012 - - Initial release with preliminary hardware. - - - - 1.0 - 18 November 2012 - - Updates for version 1.0 release. - - - - 1.1 - 12 December 2012 - - Add comments about EEPROM storage format and programming jig. - - - - 1.2 - 20 January 2013 - - Add documentation for the MicroPeak USB adapter board. Note - the switch to a Kalman filter for peak altitude - determination. - - - - 1.3.2 - 12 February 2014 - - Add a "Download" button to the main window, which makes it - quicker to access the download function. Update the data - download documentation to reflect the new MicroPeak USB - adapter design. Monitor data during download to let you see - if the USB connection is working at all by showing the - characters received from the MicroPeak USB adapter. - - - - - - Acknowledgements - - Thanks to John Lyngdal for suggesting that we build something like this. - - - Have fun using these products, and we hope to meet all of you - out on the rocket flight line somewhere. - -Bdale Garbee, KB0G -NAR #87103, TRA #12201 - -Keith Packard, KD7SQG -NAR #88757, TRA #12200 - - - - - Quick Start Guide - - MicroPeak is designed to be easy to use. Requiring no external - components, flying takes just a few steps - - - - - Install the battery. Fit a CR1025 battery into the plastic - carrier. The positive (+) terminal should be towards the more - open side of the carrier. Slip the carrier into the battery - holder with the positive (+) terminal facing away from the - circuit board. - - - - - - - - - - - - Install MicroPeak in your rocket. This can be as simple as - preparing a soft cushion of wadding inside a vented model payload - bay. Wherever you mount it, make sure you protect the - barometric sensor from corrosive ejection gasses as those - will damage the sensor, and shield it from light as that can - cause incorrect sensor readings. - - - - - Turn MicroPeak on. Slide the switch so that the actuator - covers the '1' printed on the board. MicroPeak will report - the maximum height of the last flight in decimeters using a - sequence of flashes on the LED. A sequence of short flashes - indicates one digit. A single long flash indicates zero. The - height is reported in decimeters, so the last digit will be - tenths of a meter. For example, if MicroPeak reports 5 4 4 - 3, then the maximum height of the last flight was 544.3m, or - 1786 feet. - - - - - Finish preparing the rocket for flight. After the - previous flight data have been reported, MicroPeak waits for - one minute before starting to check for launch. This gives - you time to finish assembling the rocket. As those - activities might cause pressure changes inside the airframe, - MicroPeak might accidentally detect boost. If you need to do - anything to the airframe after the one minute window passes, - make sure to be careful not to disturb the altimeter. The - LED will remain dark during the one minute delay, but after - that, it will start blinking once every 3 seconds. - - - - - Fly the rocket. Once the rocket passes about 30m in height - (100 feet), the micro-controller will record the ground - pressure and track the pressure seen during the flight. In - this mode, the LED flickers rapidly. When the rocket lands, - and the pressure stabilizes, the micro-controller will record - the minimum pressure pressure experienced during the flight, - compute the height represented by the difference in air - pressure and blink that value out on the LED. After that, - MicroPeak powers down to conserve battery power. - - - - - Recover the data. Turn MicroPeak off and then back on. MicroPeak - will blink out the maximum height for the last flight. Turn - MicroPeak back off to conserve battery power. - - - - - - Handling Precautions - - 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. - - - The CR1025 Lithium 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 MicroPeak - to keep conductive material from coming in contact with the exposed metal elements. - - - The barometric sensor used in MicroPeak is sensitive to - sunlight. Please consider this when designing an - installation. Many model rockets with payload bays use clear - plastic for the payload bay. Replacing these with an opaque - cardboard tube, painting them, or wrapping them with a layer of - masking tape are all reasonable approaches to keep the sensor - out of direct sunlight. - - - The barometric sensor sampling ports must be able to "breathe", - both by not being covered by foam or tape or other materials that might - directly block the hole on the top of the sensor, and also by having a - suitable static vent to outside air. - - - As with all other rocketry electronics, Altus Metrum altimeters must - be protected from exposure to corrosive motor exhaust and ejection - charge gasses. - - - - The MicroPeak USB adapter - - - - - - - - - MicroPeak stores barometric pressure information for the first - 48 seconds of the flight in on-board non-volatile memory. The - contents of this memory can be downloaded to a computer using - the MicroPeak USB adapter. - -
- Installing the MicroPeak software - - The MicroPeak application runs on Linux, Mac OS X and - Windows. You can download the latest version from - . - - - On Mac OS X and Windows, the FTDI USB device driver needs to - be installed. A compatible version of this driver is included - with the MicroPeak application, but you may want to download a - newer version from . - -
-
- Downloading Micro Peak data - - - - Plug the MicroPeak USB adapter in to your computer. - - - - - - Start the MicroPeak application. - - - - - - - - - - - - - Click on the Download button at the top of the window. - - - - - - - - - - - - - Select from the listed devices. There will probably be - only one. - - - - - - - - - - - - The application will now wait until it receives valid data - from the MicroPeak USB adapter. - - - - - - - - - - The MicroPeak USB adapter has a small phototransistor - under the hole in the center of the box. - Locate this, turn on the MicroPeak and place the orange LED on the MicroPeak - directly inside the hole, resting the MicroPeak itself on - the box. You should see the blue LED on the MicroPeak USB - adapter blinking in time with the orange LED on the - MicroPeak board itself. - - - - - - - - - - - - - After the maximum flight height is reported, MicroPeak will - pause for a few seconds, blink the LED four times rapidly - and then send the data in one long blur on the LED. The - MicroPeak application should receive the data. When it does, - it will present the data in a graph and offer to save the - data to a file. If not, you can power cycle the MicroPeak - board and try again. - - - - - - - - - - - - - Once the data are saved, a graph will be displayed with - height, speed and acceleration values computed from the - recorded barometric pressure data. See the next section - for more details on that. - - - -
-
- Analyzing MicroPeak Data - - The MicroPeak application can present flight data in the form - of a graph, a collection of computed statistics or in tabular - form. - - - MicroPeak collects raw barometric pressure data which is - then used to compute the remaining data. Altitude is computed - through a standard atmospheric model. Absolute error in this - data will be affected by local atmospheric - conditions. Fortunately, these errors tend to mostly cancel - out, so the error in the height computation is much smaller - than the error in altitude would be. - - - Speed and acceleration are computed by first smoothing the - height data with a Gaussian window averaging filter. For speed - data, this average uses seven samples. For acceleration data, - eleven samples are used. These were chosen to provide - reasonably smooth speed and acceleration data, which would - otherwise be swamped with noise. - - - The File menu has operations to open existing flight logs, - Download new data from MicroPeak, Save a copy of the flight - log to a new file, Export the tabular data (as seen in the Raw - Data tab) to a file, change the application Preferences, Close - the current window or close all windows and Exit the - application. - -
- MicroPeak Graphs - - Under the Graph tab, the height, speed and acceleration values - are displayed together. You can zoom in on the graph by - clicking and dragging to sweep out an area of - interest. Right-click on the plot to bring up a menu that will - let you save, copy or print the graph. - - - - - - - - -
-
- MicroPeak Flight Statistics - - The Statistics tab presents overall data from the flight. Note - that the Maximum height value is taken from the minumum - pressure captured in flight, and may be different from the - apparant apogee value as the on-board data are sampled twice - as fast as the recorded values, or because the true apogee - occurred after the on-board memory was full. Each value is - presented in several units as appropriate. - - - - - - - - -
-
- Raw Data - - A table consisting of the both the raw barometric pressure - data and values computed from that for each recorded time. - - - - - - - - -
-
- Configuring the Graph - - This selects which graph elements to show, and lets you - switch between metric and imperial units - - - - - - - - -
-
-
- Setting MicroPeak Preferences - - - - - - - - - The MicroPeak application has a few user settings which are - configured through the Preferences dialog, which can be - accessed from the File menu. - - - - The Log Directory is where flight data will be saved to - and loaded from by default. Of course, you can always - navigate to other directories in the file chooser windows, - this setting is just the starting point. - - - - - If you prefer to see your graph data in feet and - miles per hour instead of meters and meters per second, - you can select Imperial Units. - - - - - To see what data is actually arriving over the serial - port, start the MicroPeak application from a command - prompt and select the Serial Debug option. This can be - useful in debugging serial communication problems, but - most people need never choose this. - - - - - You can adjust the size of the text in the Statistics tab - by changing the Font size preference. There are three - settings, with luck one will both fit on your screen and - provide readable values. - - - - - The Look & feel menu shows a list of available - application appearance choices. By default, the MicroPeak - application tries to blend in with other applications, but - you may choose some other appearance if you like. - - - - - - Note that MicroPeak shares a subset of the AltosUI - preferences, so if you use both of these applications, change - in one application will affect the other. - -
-
- - Technical Information -
- Barometric Sensor - - MicroPeak uses the Measurement Specialties MS5607 sensor. This - has a range of 120kPa to 1kPa with an absolute accuracy of - 150Pa and a resolution of 2.4Pa. - - - The pressure range corresponds roughly to an altitude range of - -1500m (-4900 feet) to 31000m (102000 feet), while the - resolution is approximately 20cm (8 inches) near sea level and - 60cm (24in) at 10000m (33000 feet). - - - Ground pressure is computed from an average of 16 samples, - taken while the altimeter is at rest. The flight pressure used to - report maximum height is computed from a Kalman filter - designed to smooth out any minor noise in the sensor - values. The flight pressure recorded to non-volatile storage - is unfiltered, coming directly from the pressure sensor. - -
-
- Micro-controller - - MicroPeak uses an Atmel ATtiny85 micro-controller. This tiny - CPU contains 8kB of flash for the application, 512B of RAM for - temporary data storage and 512B of EEPROM for non-volatile - storage of previous flight data. - - - The ATtiny85 has a low-power mode which turns off all of the - clocks and powers down most of the internal components. In - this mode, the chip consumes only .1μA of power. MicroPeak - uses this mode once the flight has ended to preserve battery - power. - -
-
- Lithium Battery - - The CR1025 battery used by MicroPeak holds 30mAh of power, - which is sufficient to run for over 40 hours. Because - MicroPeak powers down on landing, run time includes only time - sitting on the launch pad or during flight. - - - The large positive terminal (+) is usually marked, while the - smaller negative terminal is not. Make sure you install the - battery with the positive terminal facing away from the - circuit board where it will be in contact with the metal - battery holder. A small pad on the circuit board makes contact - with the negative battery terminal. - - - Shipping restrictions may prevent us from including a CR1025 - battery with MicroPeak. If so, many stores carry CR1025 - batteries as they are commonly used in small electronic - devices such as flash lights. - -
-
- Atmospheric Model - - MicroPeak contains a fixed atmospheric model which is used to - convert barometric pressure into altitude. The model was - converted into a 469-element piece-wise linear approximation - which is then used to compute the altitude of the ground and - apogee. The difference between these represents the maximum - height of the flight. - - - The model assumes a particular set of atmospheric conditions, - which, while a reasonable average, cannot represent the changing - nature of the real atmosphere. Fortunately, for flights - reasonably close to the ground, the effect of this global - inaccuracy are largely canceled out when the computed ground - altitude is subtracted from the computed apogee altitude, so - the resulting height is more accurate than either the ground - or apogee altitudes. - - - Because the raw pressure data is recorded to non-volatile - storage, you can use that, along with a more sophisticated - atmospheric model, to compute your own altitude values. - -
-
- Mechanical Considerations - - MicroPeak is designed to be rugged enough for typical rocketry - applications. It contains two moving parts, the battery holder - and the power switch, which were selected for their - ruggedness. - - - The MicroPeak battery holder is designed to withstand impact - up to 150g without breaking contact (or, worse yet, causing - the battery to fall out). That means it should stand up to - almost any launch you care to try, and should withstand fairly - rough landings. - - - The power switch is designed to withstand up to 50g forces in - any direction. Because it is a sliding switch, orienting the - switch perpendicular to the direction of rocket travel will - serve to further protect the switch from launch forces. - -
-
- On-board data storage - - The ATtiny85 has 512 bytes of non-volatile storage, separate - from the code storage memory. The MicroPeak firmware uses this - to store information about the last completed - flight. Barometric measurements from the ground before launch - and at apogee are stored, and used at power-on to compute the - height of the last flight. - - - In addition to the data used to present the height of the last - flight, MicroPeak also stores barometric information sampled - at regular intervals during the flight. This is the - information captured with the MicroPeak USB adapter. It can - also be read from MicroPeak through any AVR programming - tool. - - - MicroPeak EEPROM Data Storage - - - - - - - Address - Size (bytes) - Description - - - - - 0x000 - 4 - Average ground pressure (Pa) - - - 0x004 - 4 - Minimum flight pressure (Pa) - - - 0x008 - 2 - Number of in-flight samples - - - 0x00a … 0x1fe - 2 - Instantaneous flight pressure (Pa) low 16 bits - - - -
- - All EEPROM data are stored least-significant byte first. The - instantaneous flight pressure data are stored without the - upper 16 bits of data. The upper bits can be reconstructed - from the previous sample, assuming that pressure doesn't - change by more more than 32kPa in a single sample - interval. Note that this pressure data is not - filtered in any way, while both the recorded ground and apogee - pressure values are, so you shouldn't expect the minimum - instantaneous pressure value to match the recorded minimum - pressure value exactly. - - - MicroPeak samples pressure every 96ms, but stores only every - other sample in the EEPROM. This provides for 251 pressure - samples at 192ms intervals, or 48.192s of storage. The clock - used for these samples is a factory calibrated RC circuit - built into the ATtiny85 and is accurate only to within ±10% at - 25°C. So, you can count on the pressure data being accurate, - but speed or acceleration data computed from this will be - limited by the accuracy of this clock. - -
-
- MicroPeak Programming Interface - - MicroPeak exposes a standard 6-pin AVR programming interface, - but not using the usual 2x3 array of pins on 0.1" - centers. Instead, there is a single row of tiny 0.60mm × - 0.85mm pads on 1.20mm centers exposed near the edge of the - circuit board. We couldn't find any connector that was - small enough to include on the circuit board. - - - In lieu of an actual connector, the easiest way to connect to - the bare pads is through a set of Pogo pins. These - spring-loaded contacts are designed to connect in precisely - this way. We've designed a programming jig, the MicroPeak - Pogo Pin board which provides a standard AVR interface on one - end and a recessed slot for MicroPeak to align the board with - the Pogo Pins. - - - The MicroPeak Pogo Pin board is not a complete AVR programmer, - it is an interface board that provides a 3.3V regulated power - supply to run the MicroPeak via USB and a standard 6-pin AVR - programming interface with the usual 2x3 grid of pins on 0.1" - centers. This can be connected to any AVR programming - dongle. - - - The AVR programming interface cannot run faster than ¼ of the - AVR CPU clock frequency. Because MicroPeak runs at 250kHz to - save power, you must configure your AVR programming system to - clock the AVR programming interface at no faster than - 62.5kHz, or a clock period of 32µS. - -
-
-
- diff --git a/doc/release-notes-0.7.1-docinfo.xml b/doc/release-notes-0.7.1-docinfo.xml new file mode 100644 index 00000000..71bc3180 --- /dev/null +++ b/doc/release-notes-0.7.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +29 September 2010 + + 2010 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-0.7.1.inc b/doc/release-notes-0.7.1.inc new file mode 100644 index 00000000..8ce49f0a --- /dev/null +++ b/doc/release-notes-0.7.1.inc @@ -0,0 +1,53 @@ += Release Notes for Version 0.7.1 +:toc!: +:doctype: article + + Version 0.7.1 is the first release containing our new + cross-platform Java-based user interface. + + == AltosUI Application + + * Receive and log telemetry from a connected TeleDongle + device. All data received is saved to log files named with + the current date and the connected rocket serial and flight + numbers. There is no mode in which telemetry data will not + be saved. + + + * Download logged data from TeleMetrum devices, either through + a direct USB connection or over the air through a TeleDongle + device. + + + * Configure a TeleMetrum device, setting the radio channel, + callsign, apogee delay and main deploy height. This can be + done through either a USB connection or over a radio link + via a TeleDongle device. + + + * Replay a flight in real-time. This takes a saved telemetry + log or eeprom download and replays it through the user + interface so you can relive your favorite rocket flights. + + + * Reprogram Altus Metrum devices. Using an Altus Metrum device + connected via USB, another Altus Metrum device can be + reprogrammed using the supplied programming cable between + the two devices. + + + * Export Flight data to a comma-separated-values file. This + takes either telemetry or on-board flight data and generates + data suitable for use in external applications. All data is + exported using standard units so that no device-specific + knowledge is needed to handle the data. + + + * Speak to you during the flight. Instead of spending the + flight hunched over your laptop looking at the screen, enjoy + the view while the computer tells you what’s going on up + there. During ascent, you hear the current flight state and + altitude information. During descent, you get azimuth, + elevation and range information to try and help you find + your rocket in the air. Once on the ground, the direction + and distance are reported. diff --git a/doc/release-notes-0.7.1.xsl b/doc/release-notes-0.7.1.xsl deleted file mode 100644 index 1f2feeb0..00000000 --- a/doc/release-notes-0.7.1.xsl +++ /dev/null @@ -1,71 +0,0 @@ - - - -
- -Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can: - - - - - Receive and log telemetry from a connected TeleDongle - device. All data received is saved to log files named with the - current date and the connected rocket serial and flight - numbers. There is no mode in which telemetry data will not be - saved. - - - - - Download logged data from TeleMetrum devices, either through a - direct USB connection or over the air through a TeleDongle - device. - - - - - Configure a TeleMetrum device, setting the radio channel, - callsign, apogee delay and main deploy height. This can be done - through either a USB connection or over a radio link via a - TeleDongle device. - - - - - Replay a flight in real-time. This takes a saved telemetry log - or eeprom download and replays it through the user interface so - you can relive your favorite rocket flights. - - - - - Reprogram Altus Metrum devices. Using an Altus Metrum device - connected via USB, another Altus Metrum device can be - reprogrammed using the supplied programming cable between the - two devices. - - - - - Export Flight data to a comma-separated-values file. This takes - either telemetry or on-board flight data and generates data - suitable for use in external applications. All data is exported - using standard units so that no device-specific knowledge is - needed to handle the data. - - - - - Speak to you during the flight. Instead of spending the flight - hunched over your laptop looking at the screen, enjoy the view - while the computer tells you what’s going on up there. During - ascent, you hear the current flight state and altitude - information. During descent, you get azimuth, elevation and - range information to try and help you find your rocket in the - air. Once on the ground, the direction and distance are - reported. - - - -
diff --git a/doc/release-notes-0.8-docinfo.xml b/doc/release-notes-0.8-docinfo.xml new file mode 100644 index 00000000..d06249f5 --- /dev/null +++ b/doc/release-notes-0.8-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +24 November 2010 + + 2010 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-0.8.inc b/doc/release-notes-0.8.inc new file mode 100644 index 00000000..38230593 --- /dev/null +++ b/doc/release-notes-0.8.inc @@ -0,0 +1,47 @@ += Release Notes for Version 0.8 +:toc!: +:doctype: article + + Version 0.8 offers a major upgrade in the AltosUI + interface. + + == AltosUI Application: + + * Post-flight graphing tool. This lets you explore the + behaviour of your rocket after flight with a scroll-able and + zoom-able chart showing the altitude, speed and acceleration + of the airframe along with events recorded by the flight + computer. You can export graphs to PNG files, or print them + directly. + + * Real-time moving map which overlays the in-progress flight + on satellite imagery fetched from Google Maps. This lets you + see in pictures where your rocket has landed, allowing you + to plan recovery activities more accurately. + + * Wireless recovery system testing. Prep your rocket for + flight and test fire the deployment charges to make sure + things work as expected. All without threading wires through + holes in your airframe. + + * Optimized flight status displays. Each flight state now has + it's own custom 'tab' in the flight monitoring window so you + can focus on the most important details. Pre-flight, the + system shows a set of red/green status indicators for + battery voltage, apogee/main igniter continutity and GPS + reception. Wait until they're all green and your rocket is + ready for flight. There are also tabs for ascent, descent + and landing along with the original tabular view of the + data. + + * Monitor multiple flights simultaneously. If you have more + than one TeleDongle, you can monitor a flight with each one + on the same computer. + + * Automatic flight monitoring at startup. Plug TeleDongle into + the machine before starting AltosUI and it will + automatically connect to it and prepare to monitor a flight. + + * Exports Google Earth flight tracks. Using the Keyhole Markup + Language (.kml) file format, this provides a 3D view of your + rocket flight through the Google Earth program. diff --git a/doc/release-notes-0.8.xsl b/doc/release-notes-0.8.xsl deleted file mode 100644 index df7ef32d..00000000 --- a/doc/release-notes-0.8.xsl +++ /dev/null @@ -1,70 +0,0 @@ - - - -
- - Version 0.8 offers a major upgrade in the AltosUI - interface. Significant new features include: - - - - - Post-flight graphing tool. This lets you explore the behaviour - of your rocket after flight with a scroll-able and zoom-able - chart showing the altitude, speed and acceleration of the - airframe along with events recorded by the flight computer. You - can export graphs to PNG files, or print them directly. - - - - - Real-time moving map which overlays the in-progress flight on - satellite imagery fetched from Google Maps. This lets you see in - pictures where your rocket has landed, allowing you to plan - recovery activities more accurately. - - - - - Wireless recovery system testing. Prep your rocket for flight - and test fire the deployment charges to make sure things work as - expected. All without threading wires through holes in your - airframe. - - - - - Optimized flight status displays. Each flight state now has it's - own custom 'tab' in the flight monitoring window so you can - focus on the most important details. Pre-flight, the system - shows a set of red/green status indicators for battery voltage, - apogee/main igniter continutity and GPS reception. Wait until - they're all green and your rocket is ready for flight. There are - also tabs for ascent, descent and landing along with the - original tabular view of the data. - - - - - Monitor multiple flights simultaneously. If you have more than - one TeleDongle, you can monitor a flight with each one on the - same computer. - - - - - Automatic flight monitoring at startup. Plug TeleDongle into the - machine before starting AltosUI and it will automatically - connect to it and prepare to monitor a flight. - - - - - Exports Google Earth flight tracks. Using the Keyhole Markup - Language (.kml) file format, this provides a 3D view of your - rocket flight through the Google Earth program. - - - -
diff --git a/doc/release-notes-0.9-docinfo.xml b/doc/release-notes-0.9-docinfo.xml new file mode 100644 index 00000000..0602cb02 --- /dev/null +++ b/doc/release-notes-0.9-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +18 January 2011 + + 2011 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-0.9.2-docinfo.xml b/doc/release-notes-0.9.2-docinfo.xml new file mode 100644 index 00000000..ec1e4482 --- /dev/null +++ b/doc/release-notes-0.9.2-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +19 March 2011 + + 2011 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-0.9.2.inc b/doc/release-notes-0.9.2.inc new file mode 100644 index 00000000..b7c55bb2 --- /dev/null +++ b/doc/release-notes-0.9.2.inc @@ -0,0 +1,18 @@ += Release Notes for Version 0.9.2 +:toc!: +:doctype: article + + Version 0.9.2 is an AltosUI bug-fix release, with no firmware + changes. + + == AltosUI + + AltosUI fixes: + + * Fix plotting problems due to missing file in the Mac + OS install image. + + * Always read whole eeprom blocks, mark empty records + invalid, display parsing errors to user. + + * Add software version to Configure AltosUI dialog diff --git a/doc/release-notes-0.9.2.xsl b/doc/release-notes-0.9.2.xsl deleted file mode 100644 index 16ff989e..00000000 --- a/doc/release-notes-0.9.2.xsl +++ /dev/null @@ -1,26 +0,0 @@ - - - -
- - Version 0.9.2 is an AltosUI bug-fix release, with no firmware changes. - - - - - Fix plotting problems due to missing file in the Mac OS install image. - - - - - Always read whole eeprom blocks, mark empty records invalid, display parsing errors to user. - - - - - Add software version to Configure AltosUI dialog - - - -
diff --git a/doc/release-notes-0.9.inc b/doc/release-notes-0.9.inc new file mode 100644 index 00000000..66810e5d --- /dev/null +++ b/doc/release-notes-0.9.inc @@ -0,0 +1,31 @@ += Release Notes for Version 0.9 +:toc!: +:doctype: article + + Version 0.9 adds a few new firmware features and accompanying + AltosUI changes, along with new hardware support. + + == AltOS + + * Support for TeleMetrum v1.1 hardware. Sources for the flash + memory part used in v1.0 dried up, so v1.1 uses a different + part which required a new driver and support for explicit + flight log erasing. + + * Multiple flight log support. This stores more than one + flight log in the on-board flash memory. It also requires + the user to explicitly erase flights so that you won't lose + flight logs just because you fly the same board twice in one + day. + + * Telemetry support for devices with serial number >= + 256. Previous versions used a telemetry packet format that + provided only 8 bits for the device serial number. This + change requires that both ends of the telemetry link be + running the 0.9 firmware or they will not communicate. + + == AltosUI Application + + * Support for telemetry format changes. + + * Support for multiple flight logs. diff --git a/doc/release-notes-0.9.xsl b/doc/release-notes-0.9.xsl deleted file mode 100644 index a5d6b3d7..00000000 --- a/doc/release-notes-0.9.xsl +++ /dev/null @@ -1,37 +0,0 @@ - - - -
- - Version 0.9 adds a few new firmware features and accompanying - AltosUI changes, along with new hardware support. - - - - - Support for TeleMetrum v1.1 hardware. Sources for the flash - memory part used in v1.0 dried up, so v1.1 uses a different part - which required a new driver and support for explicit flight log - erasing. - - - - - Multiple flight log support. This stores more than one flight - log in the on-board flash memory. It also requires the user to - explicitly erase flights so that you won't lose flight logs just - because you fly the same board twice in one day. - - - - - Telemetry support for devices with serial number >= - 256. Previous versions used a telemetry packet format that - provided only 8 bits for the device serial number. This change - requires that both ends of the telemetry link be running the 0.9 - firmware or they will not communicate. - - - -
diff --git a/doc/release-notes-1.0.1-docinfo.xml b/doc/release-notes-1.0.1-docinfo.xml new file mode 100644 index 00000000..95a7681d --- /dev/null +++ b/doc/release-notes-1.0.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +24 August 2011 + + 2011 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.0.1.inc b/doc/release-notes-1.0.1.inc new file mode 100644 index 00000000..067727e9 --- /dev/null +++ b/doc/release-notes-1.0.1.inc @@ -0,0 +1,100 @@ += Release Notes for Version 1.0.1 +:toc!: +:doctype: article + + Version 1.0.1 is a major release, adding support for the + TeleMini device and lots of new AltosUI features + + == AltOS + + AltOS New Features + + * Add TeleMini v1.0 support. + + * Support operation of TeleMetrum with the antenna pointing + aft. Previous firmware versions required the antenna to be + pointing upwards, now there is a configuration option + allowing the antenna to point aft, to aid installation in + some airframes. + + * Ability to disable telemetry. For airframes where an antenna + just isn't possible, or where radio transmissions might + cause trouble with other electronics, there's a + configuration option to disable all telemetry. Note that the + board will still enable the radio link in idle mode. + + * Arbitrary frequency selection. The radios in Altus Metrum + devices can be programmed to a wide range of frequencies, so + instead of limiting devices to 10 pre-selected 'channels', + the new firmware allows the user to choose any frequency in + the 70cm band. Note that the RF matching circuit on the + boards is tuned for around 435MHz, so frequencies far from + that may reduce the available range. + + + AltOS Fixes + + * Change telemetry to be encoded in multiple 32-byte + packets. This enables support for TeleMini and other devices + without requiring further updates to the TeleDongle + firmware. + + * Kalman-filter based flight-tracking. The model based sensor + fusion approach of a Kalman filter means that AltOS now + computes apogee much more accurately than before, generally + within a fraction of a second. In addition, this approach + allows the baro-only TeleMini device to correctly identify + Mach transitions, avoiding the error-prone selection of a + Mach delay. + + + == AltosUI Application + + AltosUI New Features + + * Add main/apogee voltage graphs to the data + plot. This provides a visual indication if the + igniters fail before being fired. + + * Scan for altimeter devices by watching the defined + telemetry frequencies. This avoids the problem of + remembering what frequency a device was configured + to use, which is especially important with TeleMini + which does not include a USB connection. + + * Monitor altimeter state in "Idle" mode. This + provides much of the information presented in the + "Pad" dialog from the Monitor Flight command, + monitoring the igniters, battery and GPS status + withing requiring the flight computer to be armed + and ready for flight. + + + * Pre-load map images from home. For those launch + sites which don't provide free Wi-Fi, this allows + you to download the necessary satellite images + given the location of the launch site. A list of + known launch sites is maintained at altusmetrum.org + which AltosUI downloads to populate a menu; if + you've got a launch site not on that list, please + send the name of it, latitude and longitude along + with a link to the web site of the controlling club + to the altusmetrum mailing list. + + * Flight statistics are now displayed in the Graph + data window. These include max height/speed/accel, + average descent rates and a few other bits of + information. The Graph Data window can now be + reached from the 'Landed' tab in the Monitor Flight + window so you can immediately see the results of a + flight. + + AltosUI Changes + + * Wait for altimeter when using packet mode. Instead + of quicly timing out when trying to initialize a + packet mode configuration connection, AltosUI now + waits indefinitely for the remote device to appear, + providing a cancel button should the user get + bored. This is necessary as the TeleMini can only be + placed in "Idle" mode if AltosUI is polling it. diff --git a/doc/release-notes-1.0.1.xsl b/doc/release-notes-1.0.1.xsl deleted file mode 100644 index 8b66f7e0..00000000 --- a/doc/release-notes-1.0.1.xsl +++ /dev/null @@ -1,127 +0,0 @@ - - - -
- - Version 1.0.1 is a major release, adding support for the TeleMini - device and lots of new AltosUI features - - - AltOS Firmware Changes - - - - Add TeleMini v1.0 support. Firmware images for TeleMini are - included in AltOS releases. - - - - - Change telemetry to be encoded in multiple 32-byte packets. This - enables support for TeleMini and other devices without requiring - further updates to the TeleDongle firmware. - - - - - Support operation of TeleMetrum with the antenna pointing - aft. Previous firmware versions required the antenna to be - pointing upwards, now there is a configuration option allowing - the antenna to point aft, to aid installation in some airframes. - - - - - Ability to disable telemetry. For airframes where an antenna - just isn't possible, or where radio transmissions might cause - trouble with other electronics, there's a configuration option - to disable all telemetry. Note that the board will still - enable the radio link in idle mode. - - - - - Arbitrary frequency selection. The radios in Altus Metrum - devices can be programmed to a wide range of frequencies, so - instead of limiting devices to 10 pre-selected 'channels', the - new firmware allows the user to choose any frequency in the - 70cm band. Note that the RF matching circuit on the boards is - tuned for around 435MHz, so frequencies far from that may - reduce the available range. - - - - - Kalman-filter based flight-tracking. The model based sensor - fusion approach of a Kalman filter means that AltOS now - computes apogee much more accurately than before, generally - within a fraction of a second. In addition, this approach - allows the baro-only TeleMini device to correctly identify - Mach transitions, avoiding the error-prone selection of a Mach - delay. - - - - - - AltosUI Changes - - - - Wait for altimeter when using packet mode. Instead of quicly - timing out when trying to initialize a packet mode - configuration connection, AltosUI now waits indefinitely for - the remote device to appear, providing a cancel button should - the user get bored. This is necessary as the TeleMini can only - be placed in "Idle" mode if AltosUI is polling it. - - - - - Add main/apogee voltage graphs to the data plot. This provides - a visual indication if the igniters fail before being fired. - - - - - Scan for altimeter devices by watching the defined telemetry - frequencies. This avoids the problem of remembering what - frequency a device was configured to use, which is especially - important with TeleMini which does not include a USB connection. - - - - - Monitor altimeter state in "Idle" mode. This provides much of - the information presented in the "Pad" dialog from the Monitor - Flight command, monitoring the igniters, battery and GPS - status withing requiring the flight computer to be armed and - ready for flight. - - - - - Pre-load map images from home. For those launch sites which - don't provide free Wi-Fi, this allows you to download the - necessary satellite images given the location of the launch - site. A list of known launch sites is maintained at - altusmetrum.org which AltosUI downloads to populate a menu; if - you've got a launch site not on that list, please send the - name of it, latitude and longitude along with a link to the - web site of the controlling club to the altusmetrum mailing list. - - - - - Flight statistics are now displayed in the Graph data - window. These include max height/speed/accel, average descent - rates and a few other bits of information. The Graph Data - window can now be reached from the 'Landed' tab in the Monitor - Flight window so you can immediately see the results of a - flight. - - - - -
diff --git a/doc/release-notes-1.1-docinfo.xml b/doc/release-notes-1.1-docinfo.xml new file mode 100644 index 00000000..032a06c5 --- /dev/null +++ b/doc/release-notes-1.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +13 September 2012 + + 2013 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.1.1-docinfo.xml b/doc/release-notes-1.1.1-docinfo.xml new file mode 100644 index 00000000..4c2c8b1c --- /dev/null +++ b/doc/release-notes-1.1.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +16 September 2012 + + 2012 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.1.1.inc b/doc/release-notes-1.1.1.inc new file mode 100644 index 00000000..2e61bfec --- /dev/null +++ b/doc/release-notes-1.1.1.inc @@ -0,0 +1,57 @@ += Release Notes for Version 1.1 +:toc!: +:doctype: article + + Version 1.1.1 is a bug-fix release. It fixes a couple of bugs + in AltosUI and one firmware bug that affects TeleMetrum + version 1.0 boards. Thanks to Bob Brown for help diagnosing + the Google Earth file export issue, and for suggesting the + addition of the Ground Distance value in the Descent tab. + + == AltOS + + AltOS fixes: + + * TeleMetrum v1.0 boards use the AT45DB081D flash + memory part to store flight data, which is different + from later TeleMetrum boards. The AltOS v1.1 driver + for this chip couldn't erase memory, leaving it + impossible to delete flight data or update + configuration values. This bug doesn't affect newer + TeleMetrum boards, and it doesn't affect the safety + of rockets flying version 1.1 firmware. + + == AltosUI + + AltosUI new features: + + * The “Descent” tab displays the range to the rocket, + which is a combination of the over-the-ground + distance to the rockets current latitude/longitude + and the height of the rocket. As such, it's useful + for knowing how far away the rocket is, but + difficult to use when estimating where the rocket + might eventually land. A new “Ground Distance” field + has been added which displays the distance to a spot + right underneath the rocket. + + AltosUI fixes: + + * Creating a Google Earth file (KML) from on-board + flight data (EEPROM) would generate an empty + file. The code responsible for reading the EEPROM + file wasn't ever setting the GPS valid bits, and so + the KML export code thought there was no GPS data in + the file. + + * The “Landed” tab was displaying all values in metric + units, even when AltosUI was configured to display + imperial units. Somehow I just missed this tab when + doing the units stuff. + + * Sensor data wasn't being displayed for TeleMini + flight computers in Monitor Idle mode, including + things like battery voltage. The code that picked + which kinds of data to fetch from the flight + computer was missing a check for TeleMini when + deciding whether to fetch the analog sensor data. diff --git a/doc/release-notes-1.1.1.xsl b/doc/release-notes-1.1.1.xsl deleted file mode 100644 index 6f3a925d..00000000 --- a/doc/release-notes-1.1.1.xsl +++ /dev/null @@ -1,71 +0,0 @@ - - - -
- - Version 1.1.1 is a bug-fix release. It fixes a couple of bugs in - AltosUI and one firmware bug that affects TeleMetrum version 1.0 - boards. Thanks to Bob Brown for help diagnosing the Google Earth - file export issue, and for suggesting the addition of the Ground - Distance value in the Descent tab. - - - AltOS Firmware Changes - - - - TeleMetrum v1.0 boards use the AT45DB081D flash memory part to - store flight data, which is different from later TeleMetrum - boards. The AltOS v1.1 driver for this chip couldn't erase - memory, leaving it impossible to delete flight data or update - configuration values. This bug doesn't affect newer TeleMetrum - boards, and it doesn't affect the safety of rockets flying - version 1.1 firmware. - - - - - - AltosUI Changes - - - - Creating a Google Earth file (KML) from on-board flight data - (EEPROM) would generate an empty file. The code responsible - for reading the EEPROM file wasn't ever setting the GPS valid - bits, and so the KML export code thought there was no GPS data - in the file. - - - - - The “Landed” tab was displaying all values in metric units, - even when AltosUI was configured to display imperial - units. Somehow I just missed this tab when doing the units stuff. - - - - - The “Descent” tab displays the range to the rocket, which is a - combination of the over-the-ground distance to the rockets - current latitude/longitude and the height of the rocket. As - such, it's useful for knowing how far away the rocket is, but - difficult to use when estimating where the rocket might - eventually land. A new “Ground Distance” field has been added - which displays the distance to a spot right underneath the - rocket. - - - - - Sensor data wasn't being displayed for TeleMini flight - computers in Monitor Idle mode, including things like battery - voltage. The code that picked which kinds of data to fetch - from the flight computer was missing a check for TeleMini when - deciding whether to fetch the analog sensor data. - - - - -
diff --git a/doc/release-notes-1.1.inc b/doc/release-notes-1.1.inc new file mode 100644 index 00000000..b3ea066d --- /dev/null +++ b/doc/release-notes-1.1.inc @@ -0,0 +1,92 @@ += Release Notes for Version 1.1 +:toc!: +:doctype: article + + Version 1.1 is a minor release. It provides a few new features + in AltosUI and the AltOS firmware and fixes bugs. + + == AltOS + + AltOS Firmware New Features: + + * Add apogee-lockout value. Overrides the apogee + detection logic to prevent incorrect apogee charge + firing. + + * Force the radio frequency to 434.550MHz when the + debug clock pin is connected to ground at boot + time. This provides a way to talk to a TeleMini + which is configured to some unknown frequency. + + * Provide RSSI values for Monitor Idle mode. This + makes it easy to check radio range without needing + to go to flight mode. + + AltOS Fixes: + + * Fix a bug where the data reported in telemetry + packets was from 320ms ago. + + * Fix a bug which caused the old received telemetry + packets to be retransmitted over the USB link when + the radio was turned off and back on. + + == AltosUI + + AltosUI New Features: + + * Make the look-n-feel configurable, providing a choice from + the available options. + + * Add an 'Age' element to mark how long since a + telemetry packet has been received. Useful to + quickly gauge whether communications with the rocket + are still active. + + * Add 'Configure Ground Station' dialog to set the + radio frequency used by a particular TeleDongle + without having to go through the flight monitor UI. + + * Add configuration for the new apogee-lockout + value. A menu provides a list of reasonable values, + or the value can be set by hand. + + * Add Imperial units mode to present data in feet + instead of meters. + + AltosUI Fixes: + + * Fix a bug that caused GPS ready to happen too + quickly. The software was using every telemetry + packet to signal new GPS data, which caused GPS + ready to be signalled after 10 packets instead of 10 + GPS updates. + + * Fix Google Earth data export to work with recent + versions. The google earth file loading code got a + lot pickier, requiring some minor white space + changes in the export code. + + * Changed how flight data are downloaded. Now there's + an initial dialog asking which flights to download, + and after that finishes, a second dialog comes up + asking which flights to delete. + + * Re-compute time spent in each state for the flight + graph; this figures out the actual boost and landing + times instead of using the conservative values + provide by the flight electronics. This improves the + accuracy of the boost acceleration and main descent + rate computations. + + * Make AltosUI run on Mac OS Lion. The default Java + heap space was dramatically reduced for this release + causing much of the UI to fail randomly. This most + often affected the satellite mapping download and + displays. + + * Change how data are displayed in the 'table' tab of + the flight monitoring window. This eliminates + entries duplicated from the header and adds both + current altitude and pad altitude, which are useful + in 'Monitor Idle' mode. diff --git a/doc/release-notes-1.1.xsl b/doc/release-notes-1.1.xsl deleted file mode 100644 index 0b2cce4e..00000000 --- a/doc/release-notes-1.1.xsl +++ /dev/null @@ -1,131 +0,0 @@ - - - -
- - Version 1.1 is a minor release. It provides a few new features in AltosUI - and the AltOS firmware and fixes bugs. - - - AltOS Firmware Changes - - - - Add apogee-lockout value. Overrides the apogee detection logic to - prevent incorrect apogee charge firing. - - - - - Fix a bug where the data reported in telemetry packets was - from 320ms ago. - - - - - Force the radio frequency to 434.550MHz when the debug clock - pin is connected to ground at boot time. This provides a way - to talk to a TeleMini which is configured to some unknown frequency. - - - - - Provide RSSI values for Monitor Idle mode. This makes it easy to check radio - range without needing to go to flight mode. - - - - - Fix a bug which caused the old received telemetry packets to - be retransmitted over the USB link when the radio was turned - off and back on. - - - - - - AltosUI Changes - - - - Fix a bug that caused GPS ready to happen too quickly. The - software was using every telemetry packet to signal new GPS - data, which caused GPS ready to be signalled after 10 packets - instead of 10 GPS updates. - - - - - Fix Google Earth data export to work with recent versions. The - google earth file loading code got a lot pickier, requiring - some minor white space changes in the export code. - - - - - Make the look-n-feel configurable, providing a choice from - the available options. - - - - - Add an 'Age' element to mark how long since a telemetry packet - has been received. Useful to quickly gauge whether - communications with the rocket are still active. - - - - - Add 'Configure Ground Station' dialog to set the radio - frequency used by a particular TeleDongle without having to go - through the flight monitor UI. - - - - - Add configuration for the new apogee-lockout value. A menu provides a list of - reasonable values, or the value can be set by hand. - - - - - Changed how flight data are downloaded. Now there's an initial - dialog asking which flights to download, and after that - finishes, a second dialog comes up asking which flights to delete. - - - - - Re-compute time spent in each state for the flight graph; this - figures out the actual boost and landing times instead of - using the conservative values provide by the flight - electronics. This improves the accuracy of the boost - acceleration and main descent rate computations. - - - - - Make AltosUI run on Mac OS Lion. The default Java heap space - was dramatically reduced for this release causing much of the - UI to fail randomly. This most often affected the satellite - mapping download and displays. - - - - - Change how data are displayed in the 'table' tab of the flight - monitoring window. This eliminates entries duplicated from the - header and adds both current altitude and pad altitude, which - are useful in 'Monitor Idle' mode. - - - - - Add Imperial units mode to present data in feet instead of - meters. - - - - -
diff --git a/doc/release-notes-1.2-docinfo.xml b/doc/release-notes-1.2-docinfo.xml new file mode 100644 index 00000000..f35f033d --- /dev/null +++ b/doc/release-notes-1.2-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +18 April 2013 + + 2013 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.2.1-docinfo.xml b/doc/release-notes-1.2.1-docinfo.xml new file mode 100644 index 00000000..968c0434 --- /dev/null +++ b/doc/release-notes-1.2.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +21 May 2013 + + 2013 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.2.1.inc b/doc/release-notes-1.2.1.inc new file mode 100644 index 00000000..18c5d7e2 --- /dev/null +++ b/doc/release-notes-1.2.1.inc @@ -0,0 +1,77 @@ += Release Notes for Version 1.2.1 +:toc!: +:doctype: article + + Version 1.2.1 is a minor release. It adds support for TeleBT and + the AltosDroid application, provides several new features in + AltosUI and fixes some bugs in the AltOS firmware. + + == AltOS + + AltOS new features: + + * Add support for TeleBT + + AltOS fixes: + + * In TeleMini recovery mode (when booted with the + outer two debug pins connected together), the radio + parameters are also set back to defaults + (434.550MHz, N0CALL, factory radio cal). + + * Correct Kalman filter model error covariance + matrix. The values used previously assumed + continuous measurements instead of discrete + measurements. + + * Fix some bugs in the USB driver for TeleMetrum and + TeleDongle that affected Windows users. + + * Adjusted the automatic gain control parameters that + affect receive performance for TeleDongle. Field + tests indicate that this may improve receive + performance somewhat. + + == AltosUI Application + + AltosUI application new features: + + * Make the initial position of the AltosUI top level + window configurable. Along with this change, the + other windows will pop up at 'sensible' places now, + instead of on top of one another. + + * Add GPS data and a map to the graph window. This + lets you see a complete summary of the flight + without needing to 'replay' the whole thing. + + AltosUI application fixes: + + * Handle missing GPS lock in 'Descent' + tab. Previously, if the GPS position of the pad was + unknown, an exception would be raised, breaking the + Descent tab contents. + + * Improve the graph, adding tool-tips to show values + near the cursor and making the displayed set of + values configurable, adding all of the flight data + as options while leaving the default settings alone + so that the graph starts by showing height, speed + and acceleration. + + * Add callsign to Monitor idle window and connecting + dialogs. This makes it clear which callsign is being + used so that the operator will be aware that it must + match the flight computer value or no communication + will work. + + * When downloading flight data, display the block + number so that the user has some sense of + progress. Unfortunately, we don't know how many + blocks will need to be downloaded, but at least it + isn't just sitting there doing nothing for a long + time. + + == AltosDroid + + * First version of this application diff --git a/doc/release-notes-1.2.1.xsl b/doc/release-notes-1.2.1.xsl deleted file mode 100644 index 0f056954..00000000 --- a/doc/release-notes-1.2.1.xsl +++ /dev/null @@ -1,107 +0,0 @@ - - - -
- - Version 1.2.1 is a minor release. It adds support for TeleBT and - the AltosDroid application, provides several new features in - AltosUI and fixes some bugs in the AltOS firmware. - - - AltOS Firmware Changes - - - - Add support for TeleBT - - - - - In TeleMini recovery mode (when booted with the outer two - debug pins connected together), the radio parameters are also - set back to defaults (434.550MHz, N0CALL, factory radio cal). - - - - - Add support for reflashing the SkyTraq GPS chips. This - requires special host-side code which currently only exists - for Linux. - - - - - Correct Kalman filter model error covariance matrix. The - values used previously assumed continuous measurements instead - of discrete measurements. - - - - - Fix some bugs in the USB driver for TeleMetrum and TeleDongle - that affected Windows users. - - - - - Adjusted the automatic gain control parameters that affect - receive performance for TeleDongle. Field tests indicate that this - may improve receive performance somewhat. - - - - - - AltosUI Changes - - - - Handle missing GPS lock in 'Descent' tab. Previously, if the - GPS position of the pad was unknown, an exception would be - raised, breaking the Descent tab contents. - - - - - Improve the graph, adding tool-tips to show values near the - cursor and making the displayed set of values configurable, - adding all of the flight data as options while leaving the - default settings alone so that the graph starts by showing - height, speed and acceleration. - - - - - Make the initial position of the AltosUI top level window - configurable. Along with this change, the other windows will - pop up at 'sensible' places now, instead of on top of one - another. - - - - - Add callsign to Monitor idle window and connecting - dialogs. This makes it clear which callsign is being used so - that the operator will be aware that it must match the flight - computer value or no communication will work. - - - - - When downloading flight data, display the block number so that - the user has some sense of progress. Unfortunately, we don't - know how many blocks will need to be downloaded, but at least - it isn't just sitting there doing nothing for a long time. - - - - - Add GPS data and a map to the graph window. This lets you see - a complete summary of the flight without needing to 'replay' - the whole thing. - - - - -
diff --git a/doc/release-notes-1.2.inc b/doc/release-notes-1.2.inc new file mode 100644 index 00000000..42afad04 --- /dev/null +++ b/doc/release-notes-1.2.inc @@ -0,0 +1,32 @@ += Release Notes for Version 1.2 +:toc!: +:doctype: article + + Version 1.2 is a major release. It adds support for MicroPeak + and the MicroPeak USB adapter. + + == AltOS + + AltOS New Features: + + * Add MicroPeak support. This includes support for the + ATtiny85 processor and adaptations to the core code + to allow for devices too small to run the + multi-tasking scheduler. + + == AltosUI and MicroPeak Application + + New Features: + + * Added MicroPeak application + + AltosUI and MicroPeak fixes: + + * Distribute Mac OS X packages in disk image ('.dmg') + format to greatly simplify installation. + + * Provide version numbers for the shared Java + libraries to ensure that upgrades work properly, and + to allow for multiple Altus Metrum software packages + to be installed in the same directory at the same + time. diff --git a/doc/release-notes-1.2.xsl b/doc/release-notes-1.2.xsl deleted file mode 100644 index f26480a1..00000000 --- a/doc/release-notes-1.2.xsl +++ /dev/null @@ -1,51 +0,0 @@ - - - -
- - Version 1.2 is a major release. It adds support for MicroPeak and - the MicroPeak USB adapter. - - - AltOS Firmware Changes - - - - Add MicroPeak support. This includes support for the ATtiny85 - processor and adaptations to the core code to allow for - devices too small to run the multi-tasking scheduler. - - - - - - MicroPeak UI changes - - - - Added this new application - - - - - - Distribution Changes - - - - Distribute Mac OS X packages in disk image ('.dmg') format to - greatly simplify installation. - - - - - Provide version numbers for the shared Java libraries to - ensure that upgrades work properly, and to allow for multiple - Altus Metrum software packages to be installed in the same - directory at the same time. - - - - -
diff --git a/doc/release-notes-1.3-docinfo.xml b/doc/release-notes-1.3-docinfo.xml new file mode 100644 index 00000000..b10fd9dd --- /dev/null +++ b/doc/release-notes-1.3-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +12 November 2013 + + 2013 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.3.1-docinfo.xml b/doc/release-notes-1.3.1-docinfo.xml new file mode 100644 index 00000000..52264773 --- /dev/null +++ b/doc/release-notes-1.3.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +21 January 2014 + + 2014 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.3.1.inc b/doc/release-notes-1.3.1.inc new file mode 100644 index 00000000..ff9c8e52 --- /dev/null +++ b/doc/release-notes-1.3.1.inc @@ -0,0 +1,55 @@ += Release Notes for Version 1.3.1 +:toc!: +:doctype: article + + Version 1.3.1 is a minor release. It improves support for + TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini. + + == AltOS + + AltOS new features: + + * Improved APRS mode. Now uses compressed position + format for smaller data size, improved precision and + to include altitude data as well as latitude and + longitude. Also added battery and pyro voltage + reports in the APRS comment field so you can confirm + that the unit is ready for launch. + + AltOS fixes: + + * Improve sensor boot code. If sensors fail to + self-test, the device will still boot up and check + for pad/idle modes. If in idle mode, the device will + warn the user with a distinct beep, if in Pad mode, + the unit will operate as best it can. Also, the + Z-axis accelerometer now uses the factory + calibration values instead of re-calibrating on the + pad each time. This avoids accidental boost detect + when moving the device around while in Pad mode. + + * Fix antenna-down mode accelerometer + configuration. Antenna down mode wasn't working + because the accelerometer calibration values were + getting re-computed incorrectly in inverted mode. + + == AltosUI Application + + AltosUI new features: + + * Display additional TeleMega sensor values in real + units. Make all of these values available for + plotting. Display TeleMega orientation value in the + Ascent and Table tabs. + + + * Support additional TeleMega pyro channels in the + Fire Igniter dialog. This lets you do remote testing + of all of the channels, rather than just Apogee and + Main. + + AltosUI fixes: + + * Limit data rate when downloading satellite images + from Google to make sure we stay within their limits + so that all of the map tiles download successfully. diff --git a/doc/release-notes-1.3.1.xsl b/doc/release-notes-1.3.1.xsl deleted file mode 100644 index 1ccbfa10..00000000 --- a/doc/release-notes-1.3.1.xsl +++ /dev/null @@ -1,71 +0,0 @@ - - - -
- - Version 1.3.1 is a minor release. It improves support for TeleMega, - TeleMetrum v2.0, TeleMini v2.0 and EasyMini. - - - AltOS Firmware Changes - - - - Improve sensor boot code. If sensors fail to self-test, the - device will still boot up and check for pad/idle modes. If - in idle mode, the device will warn the user with a distinct - beep, if in Pad mode, the unit will operate as best it - can. Also, the Z-axis accelerometer now uses the factory - calibration values instead of re-calibrating on the pad each - time. This avoids accidental boost detect when moving the - device around while in Pad mode. - - - - - Fix antenna-down mode accelerometer configuration. Antenna - down mode wasn't working because the accelerometer - calibration values were getting re-computed incorrectly in - inverted mode. - - - - - Improved APRS mode. Now uses compressed position format for - smaller data size, improved precision and to include - altitude data as well as latitude and longitude. Also added - battery and pyro voltage reports in the APRS comment field - so you can confirm that the unit is ready for launch. - - - - - - AltosUI changes - - - - Display additional TeleMega sensor values in real - units. Make all of these values available for - plotting. Display TeleMega orientation value in the Ascent - and Table tabs. - - - - - Support additional TeleMega pyro channels in the Fire - Igniter dialog. This lets you do remote testing of all of - the channels, rather than just Apogee and Main. - - - - - Limit data rate when downloading satellite images from - Google to make sure we stay within their limits so that all - of the map tiles download successfully. - - - - -
diff --git a/doc/release-notes-1.3.2-docinfo.xml b/doc/release-notes-1.3.2-docinfo.xml new file mode 100644 index 00000000..f55aef04 --- /dev/null +++ b/doc/release-notes-1.3.2-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +24 January 2014 + + 2014 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.3.2.inc b/doc/release-notes-1.3.2.inc new file mode 100644 index 00000000..dae5dd99 --- /dev/null +++ b/doc/release-notes-1.3.2.inc @@ -0,0 +1,37 @@ += Release Notes for Version 1.3.2 +:toc!: +:doctype: article + + Version 1.3.2 is a minor release. It includes small bug fixes for + the TeleMega flight software and AltosUI ground station + + == AltOS + + AltOS fixes: + + * On TeleMega, limit number of logged GPS status + information to 12 satellites. That's all there is + room for in the log structure. + + * Improve APRS behavior. Remembers last known GPS + position and keeps sending that if we lose GPS + lock. Marks locked/unlocked by sending L/U in the + APRS comment field along with the number of sats in + view and voltages. + + == AltosUI Application + + AltosUI fixes: + + * If the TeleMega flight firmware reports that it has + logged information about more than 12 satellites, + don't believe it as the log only holds 12 satellite + records. + + * Track the maximum height as computed from GPS + altitude data and report that in the flight summary + data. + + * Use letters (A, B, C, D) for alternate pyro channel + names instead of numbers (0, 1, 2, 3) in the Fire + Igniter dialog. diff --git a/doc/release-notes-1.3.2.xsl b/doc/release-notes-1.3.2.xsl deleted file mode 100644 index 279762c1..00000000 --- a/doc/release-notes-1.3.2.xsl +++ /dev/null @@ -1,54 +0,0 @@ - - - -
- - Version 1.3.2 is a minor release. It includes small bug fixes for - the TeleMega flight software and AltosUI ground station - - - AltOS Firmware Changes - - - - On TeleMega, limit number of logged GPS status information - to 12 satellites. That's all there is room for in the log - structure. - - - - - Improve APRS behavior. Remembers last known GPS position and - keeps sending that if we lose GPS lock. Marks - locked/unlocked by sending L/U in the APRS comment field - along with the number of sats in view and voltages. - - - - - - AltosUI changes - - - - If the TeleMega flight firmware reports that it has logged - information about more than 12 satellites, don't believe it - as the log only holds 12 satellite records. - - - - - Track the maximum height as computed from GPS altitude - data and report that in the flight summary data. - - - - - Use letters (A, B, C, D) for alternate pyro channel names - instead of numbers (0, 1, 2, 3) in the Fire Igniter dialog. - - - - -
diff --git a/doc/release-notes-1.3.inc b/doc/release-notes-1.3.inc new file mode 100644 index 00000000..ceb677a1 --- /dev/null +++ b/doc/release-notes-1.3.inc @@ -0,0 +1,57 @@ += Release Notes for Version 1.3 +:toc!: +:doctype: article + + Version 1.3 is a major release. It adds support for TeleMega, + TeleMetrum v2.0, TeleMini v2.0 and EasyMini. + + == AltOS + + AltOS new features: + + * Add STM32L processor support. This includes + enhancements to the scheduler to support products + with many threads. + + * Add NXP LPC11U14 processor support. + + + * Support additional pyro channels. These are + configurable through the UI to handle air starts, + staging, additional recovery events and external + devices such as cameras. + + + * Add 3-axis gyro support for orientation + tracking. This integrates the gyros to compute the + angle from vertical during flight, allowing the + additional pyro events to be controlled by this + value. + + + * Many more device drivers, including u-Blox Max 7Q + GPS, Freescale MMA6555 digital single-axis + accelerometer, Invensense MPU6000 3-axis + accelerometer + 3 axis gyro, Honeywell HMC5883 + 3-axis magnetic sensor and the TI CC1120 and CC115L + digital FM transceivers + + == AltosUI Application + + AltosUI new features: + + * Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and + EasyMini telemetry and log formats. + + + AltosUI fixes: + + * Use preferred units for main deployment height + configuration, instead of always doing configuration in + meters. + == MicroPeak Application + + * Add 'Download' button to menu bar. + + * Save the last log directory and offer that as the + default for new downloads diff --git a/doc/release-notes-1.3.xsl b/doc/release-notes-1.3.xsl deleted file mode 100644 index 3bc4857f..00000000 --- a/doc/release-notes-1.3.xsl +++ /dev/null @@ -1,81 +0,0 @@ - - - -
- - Version 1.3 is a major release. It adds support for TeleMega, - TeleMetrum v2.0, TeleMini v2.0 and EasyMini. - - - AltOS Firmware Changes - - - - Add STM32L processor support. This includes enhancements to - the scheduler to support products with many threads. - - - - - Add NXP LPC11U14 processor support. - - - - - Support additional pyro channels. These are configurable - through the UI to handle air starts, staging, additional - recovery events and external devices such as cameras. - - - - - Add 3-axis gyro support for orientation tracking. This - integrates the gyros to compute the angle from vertical during - flight, allowing the additional pyro events to be controlled - by this value. - - - - - Many more device drivers, including u-Blox Max 7Q GPS, - Freescale MMA6555 digital single-axis accelerometer, - Invensense MPU6000 3-axis accelerometer + 3 axis gyro, - Honeywell HMC5883 3-axis magnetic sensor and the TI CC1120 and - CC115L digital FM transceivers - - - - - - AltosUI changes - - - - Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini telemetry and log formats. - - - - - Use preferred units for main deployment height configuration, - instead of always doing configuration in meters. - - - - - - MicroPeak UI changes - - - - Add 'Download' button to menu bar. - - - - - Save the last log directory and offer that as the default for new downloads - - - - -
diff --git a/doc/release-notes-1.4-docinfo.xml b/doc/release-notes-1.4-docinfo.xml new file mode 100644 index 00000000..216c0ae3 --- /dev/null +++ b/doc/release-notes-1.4-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +15 June 2014 + + 2014 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.4.1-docinfo.xml b/doc/release-notes-1.4.1-docinfo.xml new file mode 100644 index 00000000..d87052f7 --- /dev/null +++ b/doc/release-notes-1.4.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +20 June 2014 + + 2014 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.4.1.inc b/doc/release-notes-1.4.1.inc new file mode 100644 index 00000000..5e3e831e --- /dev/null +++ b/doc/release-notes-1.4.1.inc @@ -0,0 +1,34 @@ += Release Notes for Version 1.4.1 +:toc!: +:doctype: article + + Version 1.4.1 is a minor release. It fixes install issues on + Windows and provides the missing TeleMetrum V2.0 firmware. There + aren't any changes to the firmware or host applications at + all. All Windows users will want to upgrade to get the signed + driver, but Mac and Linux users who do not need the TeleMetrum + V2.0 firmware image will not need to upgrade. + + == AltosUI and TeleGPS Applications: + + Windows Install Fixes + + * Provide signed Windows driver files. This should avoid any need to + disable driver signature checking on Windows 7 or 8. + + * Fix Java version detection and download. Previously, the + installer would only look for Java 6 or 7 and insist on + downloading its own Java bits if there was something else + installed. Furthermore, the 64-bit Java link provided didn't + work for anyone other than Keith, making it impossible to + install AltOS on any machine with Java SE 8 installed. + + Other Fixes + + * Include 1.4 firmware for TeleMetrum V2.0. None of the + installers shipped this file. Now it's included in the AltOS + packages for Linux, Mac and Windows. + + * Include Google Application Key for map downloading. The 1.4 + release didn't have this key in the released version of the + software, making map downloading fail for most people. diff --git a/doc/release-notes-1.4.1.xsl b/doc/release-notes-1.4.1.xsl deleted file mode 100644 index e6c82d60..00000000 --- a/doc/release-notes-1.4.1.xsl +++ /dev/null @@ -1,54 +0,0 @@ - - - -
- - Version 1.4.1 is a minor release. It fixes install issues on - Windows and provides the missing TeleMetrum V2.0 firmware. There - aren't any changes to the firmware or host applications at - all. All Windows users will want to upgrade to get the signed - driver, but Mac and Linux users who do not need the TeleMetrum - V2.0 firmware image will not need to upgrade. - - - Windows Install Fixes - - - - Provide signed Windows driver files. This should avoid any need to - disable driver signature checking on Windows 7 or 8. - - - - - Fix Java version detection and download. Previously, the - installer would only look for Java 6 or 7 and insist on - downloading its own Java bits if there was something else - installed. Furthermore, the 64-bit Java link provided didn't - work for anyone other than Keith, making it impossible to - install AltOS on any machine with Java SE 8 installed. - - - - - - Other Fixes - - - - Include 1.4 firmware for TeleMetrum V2.0. None of the - installers shipped this file. Now it's included in the AltOS - packages for Linux, Mac and Windows. - - - - - Include Google Application Key for map downloading. The 1.4 - release didn't have this key in the released version of the - software, making map downloading fail for most people. - - - - -
diff --git a/doc/release-notes-1.4.2-docinfo.xml b/doc/release-notes-1.4.2-docinfo.xml new file mode 100644 index 00000000..4b4f7b21 --- /dev/null +++ b/doc/release-notes-1.4.2-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +17 August 2014 + + 2014 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.4.2.inc b/doc/release-notes-1.4.2.inc new file mode 100644 index 00000000..ded6b408 --- /dev/null +++ b/doc/release-notes-1.4.2.inc @@ -0,0 +1,15 @@ += Release Notes for Version 1.4.2 +:toc!: +:doctype: article + + Version 1.4.2 is a minor release. It fixes Java-related install issues on + Windows + + == AltosUI and TeleGPS Applications + + Windows Install Fixes + + * Checks for Java installation data in more registry locations. + + * Allows user to bypass Java installation in case the + detection fails. diff --git a/doc/release-notes-1.4.inc b/doc/release-notes-1.4.inc new file mode 100644 index 00000000..f4ab9ad2 --- /dev/null +++ b/doc/release-notes-1.4.inc @@ -0,0 +1,125 @@ += Release Notes for Version 1.4 +:toc!: +:doctype: article + + 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 + + == AltOS + + AltOS new features: + + * Add support for TeleGPS boards. + + * Make the beeper tone configurable, making it + possible to distinguish between two Altus Metrum + products in the same ebay. + + * Make the firing time for extra pyro channels + configurable, allowing longer (or shorter) than the + default 50ms. Only relevant for TeleMega at this + time. + + AltOS fixes: + + * 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. + + * Change state beeping to "Farnsworth spacing", which + means they're quite a bit faster than before, and so + they take less time to send. + + * Fix bug preventing the selection of the 'Flight + State After' mode in pyro configuration. + + * Fix bug where erasing flights would reset the flight + number to 2 on TeleMega and TeleMetrum v2. + + * Fix u-Blox GPS driver to mark course and speed data + as being present. + + == AltosUI Application + + AltosUI new features: + + * 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. + + * 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. + + * Add new 'Ignitor' tab to the flight monitor display + for TeleMega's extra ignitors. + + * Add additional ignitor firing marks and voltages to + the graph so you can see when the ignitors fired, + along with the ignitor voltages. + + * Add GPS course, ground speed and climb rate as + optional graph elements. + + AltosUI fixes: + + * 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. + + * Hide Tilt Angle in ascent tab for devices that don't + have a gyro. + + * Increase the width of data lines in the graphs to + make them easier to read. + + * 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. + + * 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. + + * Display error message when trying to configure + maximum flight log size while the flight computer + still has flight data stored. + + * 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. + + == TeleGPS Application + + * New application designed for use with TeleGPS boards. + + * Shares code with AltosUI, mostly just trimmed down + to focus on TeleGPS-related functions. + + == Documentation + + Documentation changes: + + * 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. + + * Add a description of the 'Apogee Lockout' setting, + which prevents the apogee charge from firing for a + configurable amount of time after boost. diff --git a/doc/release-notes-1.4.xsl b/doc/release-notes-1.4.xsl deleted file mode 100644 index 2893f1aa..00000000 --- a/doc/release-notes-1.4.xsl +++ /dev/null @@ -1,204 +0,0 @@ - - - -
- - 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 - - - AltOS New Features - - - - Add support for TeleGPS boards. - - - - - 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. - - - - - Change state beeping to "Farnsworth spacing", which means - they're quite a bit faster than before, and so they take - less time to send. - - - - - Make the beeper tone configurable, making it possible to - distinguish between two Altus Metrum products in the same ebay. - - - - - Make the firing time for extra pyro channels configurable, - allowing longer (or shorter) than the default 50ms. Only relevant - for TeleMega at this time. - - - - - - AltOS Fixes - - - - Fix bug preventing the selection of the 'Flight State After' - mode in pyro configuration. - - - - - Fix bug where erasing flights would reset the flight number - to 2 on TeleMega and TeleMetrum v2. - - - - - Fix u-Blox GPS driver to mark course and speed data as being - present. - - - - - - AltosUI New Features - - - - 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. - - - - - 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. - - - - - Add new 'Ignitor' tab to the flight monitor display for - TeleMega's extra ignitors. - - - - - Increase the width of data lines in the graphs to make them - easier to read. - - - - - Add additional ignitor firing marks and voltages to the - graph so you can see when the ignitors fired, along with - the ignitor voltages. - - - - - Add GPS course, ground speed and climb rate as optional - graph elements. - - - - - - AltosUI Fixes - - - - 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. - - - - - Hide Tilt Angle in ascent tab for devices that don't have a gyro. - - - - - 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. - - - - - 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. - - - - - Display error message when trying to configure maximum - flight log size while the flight computer still has flight - data stored. - - - - - 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. - - - - - - TeleGPS Application - - - - New application designed for use with TeleGPS boards. - - - - - Shares code with AltosUI, mostly just trimmed down to focus - on TeleGPS-related functions. - - - - - - Documentation changes - - - - 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. - - - - - Add a description of the 'Apogee Lockout' setting, which - prevents the apogee charge from firing for a configurable - amount of time after boost. - - - - -
diff --git a/doc/release-notes-1.5-docinfo.xml b/doc/release-notes-1.5-docinfo.xml new file mode 100644 index 00000000..3d018630 --- /dev/null +++ b/doc/release-notes-1.5-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +6 September 2014 + + 2014 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.5.inc b/doc/release-notes-1.5.inc new file mode 100644 index 00000000..8d72c0e0 --- /dev/null +++ b/doc/release-notes-1.5.inc @@ -0,0 +1,69 @@ += Release Notes for Version 1.5 +:toc!: + + Version 1.5 is a major release. It includes support for our new + EasyMega product, new features and bug fixes in in the flight + software for all our boards and the AltosUI ground station + + == AltOS + + AltOS New Features + + * Add support for EasyMega boards. + + * Make the APRS SSID be configurable. This lets you track + different rockets on the same receiver without getting + things mixed up. + + * Report extra pyro channel continuity state on EasyMega and + TeleMega via the beeper. This lets you easily verify flight + readiness on these boards after powering up the electronics + on the rail. + + * Add lower telemetry data rates (2400 and 9600 bps) to + increase telemetry radio range. This reduces the amount of + data received as well as increasing battery consumption in + the transmitter. + + * Change TeleGPS to have only a single log, and append new + data to it rather than using seperate per-flight logs. This + avoids accidentally filling up log storage by turning + TeleGPS on/off several times. + + AltOS Fixes + + * Increase the maximum range for altitude values from +/-32767m + to +/-2147483647m, allowing the flight computers to function + correctly above the 32km level. + + * Continuously test pyro firing conditions during delay stage, + inhibiting the pyro channel if the test fails. This prevents + firing pyro charges where the conditions were good before + the delay, but become bad before the delay expires. + + * Allow negative numbers in pyro configuration values. This + lets you specify things like descending speed or + deceleration. + + == AltosUI and TeleGPS Applications + + AltosUI and TeleGPS New Features + + * Support telemetry baud rate selection. Adds menus to + the flight monitoring and configuration for baud rate + selection. + + * Support APRS SSID configuration. + + * Integrate with file managers. This provides icons for all of + our file types and associates our application with the files + so that using a file manager to open a AltOS data file + results in launching our application. + + AltosUI Fixes + + * Make the 'Graph' button on the landed tab work again. + + * Make tests for Java on Windows a bit smarter, and also + provide the user with the option to skip installing Java for + cases where we just can't figure out what version is installed. diff --git a/doc/release-notes-1.5.xsl b/doc/release-notes-1.5.xsl deleted file mode 100644 index 50d83f77..00000000 --- a/doc/release-notes-1.5.xsl +++ /dev/null @@ -1,121 +0,0 @@ - - - -
- - Version 1.5 is a major release. It includes support for our new - EasyMega product, new features and bug fixes in in the flight - software for all our boards and the AltosUI ground station - - - AltOS New Features - - - - Add support for EasyMega boards. - - - - - Make the APRS SSID be configurable. This lets you track - different rockets on the same receiver without getting - things mixed up. - - - - - Report extra pyro channel continuity state on EasyMega and - TeleMega via the beeper. This lets you easily verify flight - readiness on these boards after powering up the electronics - on the rail. - - - - - Add lower telemetry data rates (2400 and 9600 bps) to - increase telemetry radio range. This reduces the amount of - data received as well as increasing battery consumption in - the transmitter. - - - - - Change TeleGPS to have only a single log, and append new - data to it rather than using seperate per-flight logs. This - avoids accidentally filling up log storage by turning - TeleGPS on/off several times. - - - - - - AltOS Fixes - - - - Increase the maximum range for altitude values from +/-32767m - to +/-2147483647m, allowing the flight computers to function - correctly above the 32km level. - - - - - Continuously test pyro firing conditions during delay stage, - inhibiting the pyro channel if the test fails. This prevents - firing pyro charges where the conditions were good before - the delay, but become bad before the delay expires. - - - - - Allow negative numbers in pyro configuration values. This - lets you specify things like descending speed or - deceleration. - - - - - - AltosUI and TeleGPS New Features - - - - Support telemetry baud rate selection. Adds menus to - the flight monitoring and configuration for baud rate - selection. - - - - - Support APRS SSID configuration. - - - - - Integrate with file managers. This provides icons for all of - our file types and associates our application with the files - so that using a file manager to open a AltOS data file - results in launching our application. - - - - - - AltosUI Fixes - - - - Make the 'Graph' button on the landed tab work again. - - - - - Make tests for Java on Windows a bit smarter, and also - provide the user with the option to skip installing Java for - cases where we just can't figure out what version is installed. - - - - -
diff --git a/doc/release-notes-1.6-docinfo.xml b/doc/release-notes-1.6-docinfo.xml new file mode 100644 index 00000000..760d5e60 --- /dev/null +++ b/doc/release-notes-1.6-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +8 January 2015 + + 2015 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.6.1-docinfo.xml b/doc/release-notes-1.6.1-docinfo.xml new file mode 100644 index 00000000..1b27b79a --- /dev/null +++ b/doc/release-notes-1.6.1-docinfo.xml @@ -0,0 +1,29 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + +15 July 2015 + + 2015 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes-1.6.1.inc b/doc/release-notes-1.6.1.inc new file mode 100644 index 00000000..1e03ed4f --- /dev/null +++ b/doc/release-notes-1.6.1.inc @@ -0,0 +1,101 @@ += Release Notes for Version 1.6.1 +:toc!: +:doctype: article + + Version 1.6.1 includes support for our updated TeleBT v3.0 + product and bug fixes in in the flight software for all our boards + and ground station interfaces. + + == AltOS + + AltOS New Features: + + * Add support for TeleBT v3.0 boards. + + * Add support for uncompressed APRS data, providing support + for older APRS receivers. Uncompressed APRS data is less + precise, takes more bandwidth and doesn't have integrated + altitude data. + + AltOS Fixes: + + * Make TeleDongle and TeleBT more tolerant of data rate + variations from transmitting devices. + + == AltosUI and TeleGPS Applications + + AltosUI and TeleGPS New Features: + + * Add map to Monitor Idle display. It's nice to be able to + verify that maps are working, instead of needing to use + Monitor Flight. + + AltosUI and TeleGPS Fixes: + + * Fix frequency configuration to round values instead of + truncate them, avoiding a common 1kHz error in the setting. + + * Turn the Windows stub into a more useful program that can + launch the application with parameters so that file manager + icons work more reliably. + + * Force KML export to use a C locale so that numbers are + formatted with '.' instead of ',' for a decimal separator in + non-US locales. + + * Preload map tiles based on distance rather than number of + tiles; this means you get the same resolution covering the + entire area, rather than having high resolution near the + center and low resolution further away. + + * Allow configuration of frequency and callsign in Monitor + Idle mode. + + * Fix layout weirdness when resizing windows on + Windows. Windows shouldn't have giant blank spaces around + the useful content anymore. + + * Fix layout weirdness when resizing windows on + Windows. Windows shouldn't have giant blank spaces around + the useful content anymore. + + * Use a longer filter for descent speed values. This should + provide something more useful on the display, although it + will take longer to respond to changes now. + + * Make Replay Flight run in realtime again. It had been set to + run at 10x speed by mistake. + + == AltosDroid + + AltosDroid New Features: + + * Add offline map support using mapping code from AltosUI. + + * Support TeleDongle (and TeleBT via USB) on devices + supporting USB On-The-Go. + + * Display additional TeleMega pyro channel status in Pad tab. + + * Switch between metric and imperial units. + + * Monitor TeleBT battery voltage. + + * Track multiple devices at the same time, selecting between + them with a menu or using the map. + + * Add hybrid, satellite and terrain map types. + + AltosDroid Fixes: + + * Use standard Android display conventions so that a menu + button is available in the application title bar. + + * Adjust layout to work on large and small screens; shrinking + the go/no-go lights in smaller environments to try and make + everything visible. + + * Make voice announcements depend on current tab. + + * Compute adjustment to current travel direction while in + motion towards rocket. diff --git a/doc/release-notes-1.6.1.xsl b/doc/release-notes-1.6.1.xsl deleted file mode 100644 index 058d43fe..00000000 --- a/doc/release-notes-1.6.1.xsl +++ /dev/null @@ -1,189 +0,0 @@ - - - -
- - Version 1.6.1 includes support for our updated TeleBT v3.0 - product and bug fixes in in the flight software for all our boards - and ground station interfaces. - - - AltOS New Features - - - - Add support for TeleBT v3.0 boards. - - - - - Add support for uncompressed APRS data, providing support - for older APRS receivers. Uncompressed APRS data is less - precise, takes more bandwidth and doesn't have integrated - altitude data. - - - - - - AltOS Fixes - - - - Make TeleDongle and TeleBT more tolerant of data rate - variations from transmitting devices. - - - - - - AltosUI and TeleGPS New Features - - - - Add map to Monitor Idle display. It's nice to be able to - verify that maps are working, instead of needing to use - Monitor Flight. - - - - - - AltosUI Fixes - - - - Fix frequency configuration to round values instead of - truncate them, avoiding a common 1kHz error in the setting. - - - - - Turn the Windows stub into a more useful program that can - launch the application with parameters so that file manager - icons work more reliably. - - - - - Force KML export to use a C locale so that numbers are - formatted with '.' instead of ',' for a decimal separator in - non-US locales. - - - - - Preload map tiles based on distance rather than number of - tiles; this means you get the same resolution covering the - entire area, rather than having high resolution near the - center and low resolution further away. - - - - - Allow configuration of frequency and callsign in Monitor - Idle mode. - - - - - Fix layout weirdness when resizing windows on - Windows. Windows shouldn't have giant blank spaces around - the useful content anymore. - - - - - Fix layout weirdness when resizing windows on - Windows. Windows shouldn't have giant blank spaces around - the useful content anymore. - - - - - Use a longer filter for descent speed values. This should - provide something more useful on the display, although it - will take longer to respond to changes now. - - - - - Make Replay Flight run in realtime again. It had been set to - run at 10x speed by mistake. - - - - - - AltosDroid New Features - - - - Add offline map support using mapping code from AltosUI. - - - - - Support TeleDongle (and TeleBT via USB) on devices - supporting USB On-The-Go. - - - - - Display additional TeleMega pyro channel status in Pad tab. - - - - - Switch between metric and imperial units. - - - - - Monitor TeleBT battery voltage. - - - - - Track multiple devices at the same time, selecting between - them with a menu or using the map. - - - - - Add hybrid, satellite and terrain map types. - - - - - - AltosDroid Fixes - - - - Use standard Android display conventions so that a menu - button is available in the application title bar. - - - - - Adjust layout to work on large and small screens; shrinking - the go/no-go lights in smaller environments to try and make - everything visible. - - - - - Make voice announcements depend on current tab. - - - - - Compute adjustment to current travel direction while in - motion towards rocket. - - - - -
diff --git a/doc/release-notes-1.6.inc b/doc/release-notes-1.6.inc new file mode 100644 index 00000000..0908dfaf --- /dev/null +++ b/doc/release-notes-1.6.inc @@ -0,0 +1,85 @@ += Release Notes for Version 1.6 +:toc!: +:doctype: article + + Version 1.6 includes support for our updated TeleDongle v3.0 + product and bug fixes in in the flight software for all our boards + and ground station interfaces. + + == AltOS + + AltOS New Features + + * Add support for TeleDongle v3.0 boards. + + AltOS Fixes + + * Don't beep out the continuity twice by accident in idle mode. + If the battery voltage report takes longer than the initialiation + sequence, the igniter continuity would get reported twice. + + * Record all 32 bits of gyro calibration data in TeleMega and + EasyMega log files. This fixes computation of the gyro rates + in AltosUI. + + * Change TeleDongle LED usage. Green LED flashes when valid + packet is received. Red LED flashes when invalid packet is + received. + + * Replace LPC11U14 SPI driver with non-interrupt version. The + interrupt code would occasionally wedge on long transfers + if interrupts were blocked for too long. This affects all + released TeleGPS products; if you have a TeleGPS device, + you'll want to reflash the firmware. + + == AltosUI and TeleGPS Applications + + AltosUI and TeleGPS New Features + + * Compute tilt angle from TeleMega and EasyMega log + files. This duplicates the quaternion-based angle tracking + code from the flight firmware inside the ground station + software so that post-flight analysis can include evaluation + of the tilt angle. + + * Shows the tool button window when starting with a data file + specified. This means that opening a data file from the file + manager will now bring up the main window to let you operate + the whole application. + + AltosUI Fixes + + * Show the 'Connecting' dialog when using Monitor Idle. Lets + you cancel the Monitor Idle startup when connecting over the + radio link. + + * Make 'Monitor Idle' work for TeleGPS devices when connected + over USB. It's nice for testing without needing to broadcast + over the radio. + + * Use different Windows API to discover USB devices. This + works better on my Windows 7 box, and will be used if the + older API fails to provide the necessary information. + + * Look in more places in the registry to try and identify the + installed Java version on Windows. If you install the + default 32-bit version of Windows on a 64-bit OS, the Java + registry information is hiding \SOFTWARE\Wow6432Node for + some reason. + + * Fix file association on Windows by searching for the + javaw.exe program instead of assuming it is in + %SYSTEMROOT%. This makes double-clicking on Altus Metrum + data files in the file manager work correctly. + + * When replaying a file, put 'done' in the Age field when we + reach the end of the file, instead of continuing to count forever. + + * In the Scan Channels code, wait for five seconds if we see + any packet. This is needed because AltOS now sends the + callsign, serial number and flight number only once every + five seconds these days. + + * In the Scan Channels code, reset pending flight state + information each time we change channels. This avoids having + flight computers appear on multiple frequencies by accident. diff --git a/doc/release-notes-1.6.xsl b/doc/release-notes-1.6.xsl deleted file mode 100644 index 604fe096..00000000 --- a/doc/release-notes-1.6.xsl +++ /dev/null @@ -1,142 +0,0 @@ - - - -
- - Version 1.6 includes support for our updated TeleDongle v3.0 - product and bug fixes in in the flight software for all our boards - and ground station interfaces. - - - AltOS New Features - - - - Add support for TeleDongle v3.0 boards. - - - - - - AltOS Fixes - - - - Don't beep out the continuity twice by accident in idle mode. - If the battery voltage report takes longer than the initialiation - sequence, the igniter continuity would get reported twice. - - - - - Record all 32 bits of gyro calibration data in TeleMega and - EasyMega log files. This fixes computation of the gyro rates - in AltosUI. - - - - - Change TeleDongle LED usage. Green LED flashes when valid - packet is received. Red LED flashes when invalid packet is - received. - - - - - Replace LPC11U14 SPI driver with non-interrupt version. The - interrupt code would occasionally wedge on long transfers - if interrupts were blocked for too long. This affects all - released TeleGPS products; if you have a TeleGPS device, - you'll want to reflash the firmware. - - - - - - AltosUI and TeleGPS New Features - - - - Compute tilt angle from TeleMega and EasyMega log - files. This duplicates the quaternion-based angle tracking - code from the flight firmware inside the ground station - software so that post-flight analysis can include evaluation - of the tilt angle. - - - - - Shows the tool button window when starting with a data file - specified. This means that opening a data file from the file - manager will now bring up the main window to let you operate - the whole application. - - - - - - AltosUI Fixes - - - - Show the 'Connecting' dialog when using Monitor Idle. Lets - you cancel the Monitor Idle startup when connecting over the - radio link. - - - - - Make 'Monitor Idle' work for TeleGPS devices when connected - over USB. It's nice for testing without needing to broadcast - over the radio. - - - - - Use different Windows API to discover USB devices. This - works better on my Windows 7 box, and will be used if the - older API fails to provide the necessary information. - - - - - Look in more places in the registry to try and identify the - installed Java version on Windows. If you install the - default 32-bit version of Windows on a 64-bit OS, the Java - registry information is hiding \SOFTWARE\Wow6432Node for - some reason. - - - - - Fix file association on Windows by searching for the - javaw.exe program instead of assuming it is in - %SYSTEMROOT%. This makes double-clicking on Altus Metrum - data files in the file manager work correctly. - - - - - When replaying a file, put 'done' in the Age field when we - reach the end of the file, instead of continuing to count forever. - - - - - In the Scan Channels code, wait for five seconds if we see - any packet. This is needed because AltOS now sends the - callsign, serial number and flight number only once every - five seconds these days. - - - - - In the Scan Channels code, reset pending flight state - information each time we change channels. This avoids having - flight computers appear on multiple frequencies by accident. - - - - -
diff --git a/doc/release-notes-docinfo.xml b/doc/release-notes-docinfo.xml new file mode 100644 index 00000000..4f842cde --- /dev/null +++ b/doc/release-notes-docinfo.xml @@ -0,0 +1,28 @@ + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + + + 2015 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + diff --git a/doc/release-notes.inc b/doc/release-notes.inc new file mode 100644 index 00000000..70653ed9 --- /dev/null +++ b/doc/release-notes.inc @@ -0,0 +1,75 @@ +[appendix] +== Release Notes + + :leveloffset: 2 + include::release-notes-1.6.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.6.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.5.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.4.2.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.4.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.4.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.3.2.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.3.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.3.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.2.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.2.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.1.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.0.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-0.9.2.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-0.9.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-0.8.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-0.7.1.raw[] + + :leveloffset: 0 diff --git a/doc/system-operation.inc b/doc/system-operation.inc index bca1ee80..d7c56eaa 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -384,7 +384,7 @@ shown in the following table. .Altus Metrum APRS Comments - [options="header",cols="1,1,1"] + [options="header",cols="1,1,3"] |==== |Field |Example |Description diff --git a/doc/telegps-application.inc b/doc/telegps-application.inc new file mode 100644 index 00000000..c5ecc11f --- /dev/null +++ b/doc/telegps-application.inc @@ -0,0 +1,569 @@ +== TeleGPS Application + + 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. + + === Telemetry Monitoring + + 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 + + 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. + + 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. + + Below the TeleDongle frequency selector, the window + contains a few significant pieces of information about + the altimeter providing the telemetry data stream: + + * The configured call-sign + + * The device serial number + + * The flight number. TeleGPS remembers how many times + it has flown. + + * 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. + + * 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. + + 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. + + ==== Map + + The Map tab shows the TeleGPS track over time + on top of map data making it easy to locate + the device. + + .TeleGPS Map View + image::telegps-map.png[width="5.5in"] + + 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. + + 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. + + 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. + + You can pre-load images for your favorite + launch sites before you leave home; check out + the 'Preload Maps' section below. + + ==== Location + + The Location tab shows the raw GPS data + received from TeleGPS. + + .TeleGPS Location View + image::telegps-location.png[width="5.5in"] + + ==== Status + + The Status tab shows data relative to the + location of TeleGPS when the application first + received telemetry from it. + + .TeleGPS Status View + image::telegps-status.png[width="5.5in"] + + ==== Table + + The Table tab shows detailed information about + the GPS receiver + + .TeleGPS Information Table + image::telegps-table.png[width="5.5in"] + + === TeleGPS Menus + + TeleGPS has three or four menus at the top of + the window: + + File:: + + New Window, Graph Data, Export Data, Load Maps, + Preferences, Close and Exit + + Monitor:: + + Connect Device, Disconnect and Scan Channels + + Device:: + + Download Data, Configure Device and Flash Device + + Frequency:: + + 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. + + + ==== New Window + + This creates another telemetry monitoring window, in case + you have multiple TeleDongle devices connected to the + computer. + + === Graph Data + + 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. This window also allows you to see some + statistics computed from the data, and an overall map + of the entire data record. + + ==== Data Graph + + .TeleGPS Graph + image::telegps-graph-graph.png[width="5.5in"] + + ==== Graph Configuration + + .TeleGPS Graph Configuration + image::telegps-graph-configure.png[width="5.5in"] + + This selects which graph elements to show, and, at the + bottom, lets you switch between metric and imperial + units + + ==== Statistics + + .TeleGPS Statistics + image::telegps-graph-stats.png[width="5.5in"] + + Shows overall data computed from the flight. + + ==== Map + + .TeleGPS Map + image::telegps-graph-map.png[width="6in"] + + 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. + + === Export Data + + 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. + + ==== Comma Separated Value Format + + 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. + + 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. + + ==== Keyhole Markup Language (for Google Earth) + + 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 path in 3D. + + === Load Maps + + .Load Maps Window + image::load-maps.png[width="5.2in"] + + 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. + + 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 + + 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: + + Hybrid:: + A combination of satellite imagery and road data. This + is the default view. + + Satellite:: + Just the satellite imagery without any annotation. + + Roadmap:: + Roads, political boundaries and a few geographic + features. + + Terrain:: + Contour intervals and shading that show hills and + valleys. + + 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. Larger zoom levels show more detail, smaller + zoom levels less. + + The Map Radius value sets how large an area around the + center point to download. Select a value large enough + to cover any plausible flight from that site. Be aware + that loading a large area with a high maximum zoom + level can attempt to download a lot of data. Loading + hybrid maps with a 10km radius at a minimum zoom of -2 + and a maximum zoom of 2 consumes about 120MB of + space. Terrain and road maps consume about 1/10 as + much space as satellite or hybrid maps. + + 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. + + === Preferences + + .TeleGPS Preferences Window + image::telegps-preferences.png[width="2.4in"] + + 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. + + Enable:: + Turns all voice announcements on and off + + Test Voice:: + Plays a short message allowing you to verify + that the audio system is working and the volume settings + are reasonable + + ==== Log Directory + + 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. + + 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. + + ==== Callsign + + 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. + + 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. + + ==== Imperial Units + + 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. + + ==== Font Size + + Selects the set of fonts used in the flight + monitor window. Choose between the small, + medium and large sets. + + ==== Serial Debug + + 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. + + ==== Manage Frequencies + + 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. + + === Close + + This closes the current window, leaving any other windows + open and the application running. + + === Exit + + This closes all TeleGPS windows and terminates the + application. + + === Connect Device + + 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. + + .Device Selection Dialog + image::device-selection.png[width="3.1in"] + + === Disconnect + + Disconnects the currently connected TeleDongle or + TeleBT + + === Scan Channels + + .Radio Scanning Dialog + image::telegps-scan.png[width="3.1in"] + + 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. + + === Download Data + + 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. + + 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. + + The file name for each data log is computed + automatically from the recorded date, altimeter serial + number and flight number information. + + === Configure Device + + .TeleGPS Configuration Dialog + image::telegps-configure.png[width="3.6in"] + + Select this button and then select any connected TeleGPS + device from the list provided. + + 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. + + At the bottom of the dialog, there are four buttons: + + Save:: + 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. + + Reset:: + This resets the dialog to the most recently saved + values, erasing any changes you have made. + + Reboot:: + + This reboots the device. Use this to switch from idle + to pad mode by rebooting once the rocket is oriented + for flight, or to confirm changes you think you saved + are really saved. + + Close:: + + This closes the dialog. Any unsaved changes will be + lost. + + The rest of the dialog contains the parameters to be configured. + + The rest of the dialog contains the parameters to be configured. + + ==== Frequency + + 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. + + ==== RF Calibration + + 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. + + ==== Telemetry/RDF/APRS Enable + + Enables the radio for transmission during + flight. When disabled, the radio will not + transmit anything during flight at all. + + ==== Telemetry baud rate + + This sets the modulation bit rate for data + transmission for both telemetry and packet + link mode. Lower bit rates will increase range + while reducing the amount of data that can be + sent and increasing battery consumption. All + telemetry is done using a rate 1/2 constraint + 4 convolution code, so the actual data + transmission rate is 1/2 of the modulation bit + rate specified here. + + ==== APRS Interval + + 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. + + ==== APRS SSID + + Which SSID to report in APRS packets. By + default, this is set to the last digit of the + serial number, but can be configured to any + value from 0 to 9. + + ==== Callsign + + This sets the call sign included in each + telemetry packet. Set this as needed to + conform to your local radio regulations. + + ==== Logging Trigger Motion + + If TeleGPS moves less than this distance over + a long period of time, it will not log that + location, saving storage space. + + ==== Position Reporting Interval + + 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. + + === Flash Device + + This reprograms TeleGPS devices with new + firmware. Please read the directions for flashing + devices in the Updating Device Firmware chapter below. diff --git a/doc/telegps-docinfo.xml b/doc/telegps-docinfo.xml new file mode 100644 index 00000000..fcceae3f --- /dev/null +++ b/doc/telegps-docinfo.xml @@ -0,0 +1,73 @@ +An Owner's Manual for the TeleGPS recording GPS tracker + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + + + 2015 + Bdale Garbee and Keith Packard + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 1.6.1 + 15 July 2015 + + Minor release adding TeleBT v3.0 support. + + + + 1.6 + 8 January 2015 + + Major release adding TeleDongle v3.0 support. + + + + 1.5 + 6 September 2014 + + Major release adding EasyMega support. + + + + 1.4.2 + 17 August 2014 + + Minor release fixing some Windows installation bugs. + + + + 1.4.1 + 20 June 2014 + + Minor release fixing some installation bugs. + + + + 1.4 + 15 June 2014 + + Initial version + + + diff --git a/doc/telegps-quick-start.inc b/doc/telegps-quick-start.inc new file mode 100644 index 00000000..e8db8ac3 --- /dev/null +++ b/doc/telegps-quick-start.inc @@ -0,0 +1,24 @@ +== TeleGPS Quick Start Guide + + TeleGPS is designed to be easy to use. Requiring no external + components, flying takes just a few steps. + + First, download and install the software from + http://altusmetrum.org/AltOS. This will make sure that + you have the right device drivers installed. + + 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. + + 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. + + Unplug TeleGPS when the battery charger light goes green. This + will enable the radio and logging portions of the TeleGPS + firmware. + + 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. diff --git a/doc/telegps-release-notes.inc b/doc/telegps-release-notes.inc new file mode 100644 index 00000000..7a53bd2d --- /dev/null +++ b/doc/telegps-release-notes.inc @@ -0,0 +1,25 @@ +[appendix] +== Release Notes + + :leveloffset: 2 + include::release-notes-1.6.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.6.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.5.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.4.2.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.4.1.raw[] + + <<<< + :leveloffset: 2 + include::release-notes-1.4.raw[] diff --git a/doc/telegps-specs.inc b/doc/telegps-specs.inc new file mode 100644 index 00000000..6ff8c76f --- /dev/null +++ b/doc/telegps-specs.inc @@ -0,0 +1,29 @@ +[appendix] +== Technical Information + + === GPS Receiver + + TeleGPS uses the u-Blox Max-7Q GPS receiver. + + === Micro-controller + + 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. + + === Lithium Polymer Battery + + Shipping restrictions may prevent us from including a + battery battery with TeleGPS. + + === Mechanical Considerations + + 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. + + === On-board data storage + + TeleGPS has 2MB of non-volatile storage, separate from + the code storage memory. The TeleGPS firmware uses + this to log information during flight. diff --git a/doc/telegps-system-operation.inc b/doc/telegps-system-operation.inc new file mode 100644 index 00000000..e8790db8 --- /dev/null +++ b/doc/telegps-system-operation.inc @@ -0,0 +1,149 @@ +[appendix] +== TeleGPS System Operation + + === GFSK Telemetry + + 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. + + === APRS + + 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; that + process is described in the Configure TeleGPS + section of the TeleGPS Application chapter. + + 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. + + 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. + + .TeleGPS APRS Comments + [options="header",cols="1,1,3"] + |==== + |Field |Example |Description + + |1 + |L + |GPS Status U for unlocked, L for locked + + |2 + |6 + |Number of Satellites in View + + |3 + |B4.0 + |Altimeter Battery Voltage + + |4 + |1286 + |Device Serial Number + |==== + + Here's an example of an APRS comment showing GPS lock with 6 + satellites in view and a battery at 4.0V from device 1286. + + .... + L6 B4.0 1286 + .... + + Make sure your battery is above 3.8V GPS is locked + with at least 5 or 6 satellites in view before + flying. 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. + + 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. + + === Configurable Parameters + + 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. + + ==== Radio Frequency + + 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. + + ==== Callsign + + This sets the callsign used for telemetry and APRS to + identify the device. + + ==== Telemetry/RDF/APRS Enable + + You can completely disable the radio, if necessary, leaving + TeleGPS only logging data to internal memory. + + ==== APRS Interval + + 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. + + ==== Maximum Flight Log + + 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. + + ==== Logging Trigger Motion + + If TeleGPS moves less than this distance over a long period + of time, it will not log that location, saving storage space. + + ==== Position Reporting Interval + + 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. diff --git a/doc/telegps-updating-firmware.inc b/doc/telegps-updating-firmware.inc new file mode 100644 index 00000000..568c4343 --- /dev/null +++ b/doc/telegps-updating-firmware.inc @@ -0,0 +1,43 @@ +[appendix] +== Updating Device Firmware + + TeleGPS is programmed directly over its USB connectors. + + 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 http://www.altusmetrum.org/AltOS/ + + === Updating TeleGPS Firmware + + . Attach a battery and power switch to the target + device. Power up the device. + + . Using a Micro USB cable, connect the target device to + your computer's USB socket. + + . Run TeleGPS, and select 'Flash Device' from the + Device menu. + + . Select the target device in the Device Selection + dialog. + + . Select the image you want to flash to the device, + which should have a name in the form + -v-.ihx, + such as TeleGPS-v1.0-1.4.0.ihx. + + . 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. + + . Hit the 'OK' button and the software should proceed + to flash the device with new firmware, showing a + progress bar. + + . Verify that the device is working by using the + 'Configure Device item to check over the + configuration. diff --git a/doc/telegps-using.inc b/doc/telegps-using.inc new file mode 100644 index 00000000..1dd889cd --- /dev/null +++ b/doc/telegps-using.inc @@ -0,0 +1,81 @@ +== Using TeleGPS Hardware + + === Hooking Up Lithium Polymer Batteries + + 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 + link:https://www.sparkfun.com/products/9914[JST Jumper 2 Wire Assembly] + + + [WARNING] + 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. + + === On-board Data Recording + + 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. + + 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. + + 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. + + The default size allows for four flights of 496kB + each, which provides over four hours of logging at 1 + sample per second. + + 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. + + === Installation + + 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. + + [WARNING] + Check polarity and voltage before connecting any + battery not purchased from Altus Metrum or Spark + Fun. + + 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. diff --git a/doc/telegps.txt b/doc/telegps.txt new file mode 100644 index 00000000..059036ec --- /dev/null +++ b/doc/telegps.txt @@ -0,0 +1,21 @@ += TeleGPS Owner's Manual +:doctype: book +:numbered: + + include::dedication.raw[] + + include::telegps-quick-start.raw[] + + include::telegps-using.raw[] + + include::telegps-application.raw[] + + include::telegps-system-operation.raw[] + + include::handling.raw[] + + include::telegps-specs.raw[] + + include::telegps-updating-firmware.raw[] + + include::telegps-release-notes.raw[] diff --git a/doc/telegps.xsl b/doc/telegps.xsl deleted file mode 100644 index 8de5c56d..00000000 --- a/doc/telegps.xsl +++ /dev/null @@ -1,1338 +0,0 @@ - - - - TeleGPS Owner's Manual - A recording GPS tracker - - - Keith - Packard - - - 2015 - Bdale Garbee and Keith Packard - - - - - - - - - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. - - - - - 1.6 - 8 January 2015 - - Major release adding TeleDongle v3.0 support. - - - - 1.4.1 - 20 June 2014 - - Minor release fixing some installation bugs. - - - - 1.4 - 13 June 2014 - - Initial release - - - - - - Acknowledgements - - Have fun using these products, and we hope to meet all of you - out on the rocket flight line somewhere. - -Bdale Garbee, KB0G -NAR #87103, TRA #12201 - -Keith Packard, KD7SQG -NAR #88757, TRA #12200 - - - - - Quick Start Guide - - TeleGPS is designed to be easy to use. Requiring no external - components, flying takes just a few steps. - - - First, download and install the software from . This will make sure that - you have the right device drivers installed. - - - 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. - - - 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. - - - Unplug TeleGPS when the battery charger light goes green. This - will enable the radio and logging portions of the TeleGPS - firmware. - - - 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. - - - - Handling Precautions - - 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. - - - 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. - - - As with all other rocketry electronics, Altus Metrum devices must - be protected from exposure to corrosive motor exhaust and ejection - charge gasses. - - - - TeleGPS Hardware -
- Hooking Up Lithium Polymer Batteries - - 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 JST Jumper 2 - Wire Assembly. - - - 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. - -
-
- On-board Data Recording - - 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. - - - 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. - - - 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. - - - The default size allows for four flights of 496kB each, which - provides over four hours of logging at 1 sample per second. - - - 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. - -
-
- Installation - - 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. Check - polarity and voltage before connecting any battery not purchased - from Altus Metrum or Spark Fun. - - - 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. - -
-
- - System Operation -
- GFSK Telemetry - - 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. - -
-
- APRS - - 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. - - - 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. - - - 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. - - - Altus Metrum APRS Comments - - - - - - - - Field - Example - Description - - - - - 1 - L - GPS Status U for unlocked, L for locked - - - 2 - 6 - Number of Satellites in View - - - 3 - B4.0 - Battery Voltage - - - -
- - Here's an example of an APRS comment showing GPS lock with 6 - satellites in view and a battery at 4.0V. - - L6 B4.0 - - - - 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. - - - 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. - -
-
- Configurable Parameters - - 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. - -
- Radio Frequency - - 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. - -
-
- Callsign - - This sets the callsign used for telemetry and APRS to - identify the device. - -
-
- Telemetry/RDF/APRS Enable - - You can completely disable the radio, if necessary, leaving - TeleGPS only logging data to internal memory. - -
-
- APRS Interval - - 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. - -
-
- Maximum Flight Log - - 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. - -
-
- Logging Trigger Motion - - If TeleGPS moves less than this distance over a long period - of time, it will not log that location, saving storage space. - -
-
- Position Reporting Interval - - 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. - -
-
-
- - TeleGPS Application - - 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. - -
- Telemetry Monitoring - - 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 - - - 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. - - - 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. - - - Below the TeleDongle frequency selector, the window contains a few - significant pieces of information about the altimeter providing - the telemetry data stream: - - - - The configured call-sign - - - The device serial number - - - The flight number. TeleGPS remembers how many - times it has flown. - - - - - 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. - - - - - 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. - - - - - 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. - -
- Map - - The Map tab shows the TeleGPS track over time on top of map - data making it easy to locate the device. - - - - - - - - - - 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. - - - 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. - - - 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. - - - You can pre-load images for your favorite launch sites - before you leave home; check out the 'Preload Maps' section below. - -
-
- Location - - The Location tab shows the raw GPS data received from TeleGPS. - - - - - - - - -
-
- Status - - The Status tab shows data relative to the location of - TeleGPS when the application first received telemetry from - it. - - - - - - - - -
-
- Table - - The Table tab shows detailed information about the GPS - receiver - - - - - - - - -
-
- -
- TeleGPS Menus - - TeleGPS has three or four menus at the top of the window: - - - File - - - New Window, Graph Data, Export Data, Load Maps, Preferences, Close and Exit - - - - - Monitor - - - Connect Device, Disconnect and Scan Channels - - - - - Device - - - Download Data, Configure Device and Flash Device - - - - - Frequency - - - 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. - - - - - -
- New Window - - This creates another telemetry monitoring window, in case - you have multiple TeleDongle devices connected to the - computer. - -
-
- Graph Data - - 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. - -
- Graph - - 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. - - - - - - - - -
-
- Configure Graph - - - - - - - - - This selects which graph elements to show, and, at the - bottom, lets you switch between metric and imperial units - -
-
- Statistics - - - - - - - - - Shows overall data computed from the flight. - -
-
- Map - - - - - - - - - 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. - -
-
-
- Export Data - - 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. - -
- Comma Separated Value Format - - 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. - - - 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. - -
-
- Keyhole Markup Language (for Google Earth) - - 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. - -
-
-
- Load Maps - - - - - - - - - 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. - - - 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 - - - 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: - - - Hybrid - - - A combination of satellite imagery and road data. This - is the default view. - - - - - Satellite - - - Just the satellite imagery without any annotation. - - - - - Roadmap - - - Roads, political boundaries and a few geographic features. - - - - - Terrain - - - Contour intervals and shading that show hills and - valleys. - - - - - - - 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. - - - 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. - - - 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. - -
-
- Preferences - - - - - - - -
- Voice Settings - - 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. - - - - Enable - - Turns all voice announcements on and off - - - - Test Voice - - - Plays a short message allowing you to verify - that the audio system is working and the volume settings - are reasonable - - - - -
-
- Log Directory - - 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. - - - 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. - -
-
- Callsign - - 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. - - - 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. - -
-
- Imperial Units - - 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. - -
-
- Serial Debug - - 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. - -
-
- Font Size - - Selects the set of fonts used in the flight monitor - window. Choose between the small, medium and large sets. - -
-
- Look & Feel - - Adjust the style of the windows. By default, the TeleGPS - application attempts to blend in with the native style. - -
-
- Manage Frequencies - - 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. - -
-
-
- Close - - This closes the current window, leaving any other windows - open and the application running. - -
-
- Exit - - This closes all TeleGPS windows and terminates the application. - -
-
- Connect Device - - 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. - - - - - - - - -
-
- Disconnect - - Disconnects the currently connected TeleDongle or TeleBT - -
-
- Scan Channels - - 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. - - - - - - - - -
-
- Download Data - - 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. - - - 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. - - - The file name for each data log is computed automatically - from the recorded date, altimeter serial number and flight - number information. - -
-
- Configure Device - - - - - - - - - Select this button and then select any connected TeleGPS - device from the list provided. - - - 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. - - - At the bottom of the dialog, there are four buttons: - - - - Save - - - 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. - - - - - Reset - - - This resets the dialog to the most recently saved values, - erasing any changes you have made. - - - - - Reboot - - - This reboots the device. This will restart logging for - a new flight number, if any log information has been - saved for the current flight. - - - - - Close - - - This closes the dialog. Any unsaved changes will be - lost. - - - - - - The rest of the dialog contains the parameters to be configured. - -
- Frequency - - 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. - -
-
- RF Calibration - - 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. - -
-
- Telemetry/RDF/APRS Enable - - Enables the radio for transmission during flight. When - disabled, the radio will not transmit anything during flight - at all. - -
-
- APRS Interval - - 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. - -
-
- Callsign - - This sets the call sign included in each telemetry packet. Set this - as needed to conform to your local radio regulations. - -
-
- Maximum Log Size - - 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. - -
-
- Logging Trigger Motion - - If TeleGPS moves less than this distance over a long period - of time, it will not log that location, saving storage space. - -
-
- Position Reporting Interval - - 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. - -
-
-
- Flash Device - - This reprograms TeleGPS devices with new firmware. Please - read the directions for flashing devices in the Updating - Device Firmware chapter below. - -
-
-
- - Updating Device Firmware - - TeleGPS is programmed directly over its USB connectors. - - - 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 . - -
- - Updating TeleGPS Firmware - - - - - Attach a battery and power switch to the target - device. Power up the device. - - - - - Using a Micro USB cable, connect the target device to your - computer's USB socket. - - - - - Run TeleGPS, and select 'Flash Device' from the Device menu. - - - - - Select the target device in the Device Selection dialog. - - - - - Select the image you want to flash to the device, which - should have a name in the form - <product>-v<product-version>-<software-version>.ihx, such - as TeleGPS-v1.0-1.4.0.ihx. - - - - - 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. - - - - - Hit the 'OK' button and the software should proceed to flash - the device with new firmware, showing a progress bar. - - - - - Verify that the device is working by using the 'Configure - Altimeter' item to check over the configuration. - - - - -
-
- - Technical Information -
- GPS Receiver - - TeleGPS uses the u-Blox Max-7Q GPS receiver. - -
-
- Micro-controller - - 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. - -
-
- Lithium Polymer Battery - - Shipping restrictions may prevent us from including a battery - battery with TeleGPS. - -
-
- Mechanical Considerations - - 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. - -
-
- On-board data storage - - TeleGPS has 2MB of non-volatile storage, separate from the - code storage memory. The TeleGPS firmware uses this to log - information during flight. - -
-
- - Release Notes - - Version 1.6 - - - - Version 1.4.1 - - - - Version 1.4 - - - -
- diff --git a/doc/telemega-outline.txt b/doc/telemega-outline.txt new file mode 100644 index 00000000..1af91894 --- /dev/null +++ b/doc/telemega-outline.txt @@ -0,0 +1,9 @@ += TeleMega Outline and Hole Pattern +:doctype: article + + 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. + + image::telemega.svg[align="center"] diff --git a/doc/telemega-outline.xsl b/doc/telemega-outline.xsl deleted file mode 100644 index 5d3411e9..00000000 --- a/doc/telemega-outline.xsl +++ /dev/null @@ -1,23 +0,0 @@ - - -
- TeleMega Outline and Hole Pattern - - 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. - - - - - - - - -
- - diff --git a/doc/telemetrum-outline.txt b/doc/telemetrum-outline.txt new file mode 100644 index 00000000..ab6871f9 --- /dev/null +++ b/doc/telemetrum-outline.txt @@ -0,0 +1,9 @@ += TeleMetrum Outline and Hole Pattern +:doctype: article + + 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. + + image::telemetrum.svg[align="center"] diff --git a/doc/telemetrum-outline.xsl b/doc/telemetrum-outline.xsl deleted file mode 100644 index 4a0ade47..00000000 --- a/doc/telemetrum-outline.xsl +++ /dev/null @@ -1,23 +0,0 @@ - - -
- TeleMetrum Outline and Hole Pattern - - 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. - - - - - - - - -
- - diff --git a/doc/telemetrum-v2.0-th.jpg b/doc/telemetrum-v2.0-th.jpg new file mode 100644 index 00000000..ceec699d Binary files /dev/null and b/doc/telemetrum-v2.0-th.jpg differ diff --git a/doc/telemetrum.inc b/doc/telemetrum.inc index 54185bff..fa7d202c 100644 --- a/doc/telemetrum.inc +++ b/doc/telemetrum.inc @@ -17,6 +17,18 @@ fin can end of the board, meaning an ideal “simple” avionics bay for TeleMetrum should have at least 10 inches of interior length. + There are two generations of the TeleMetrum design. The + major changes in the v2 generation are: + + * uBlox GPS chip certified for altitude records + + * Higher power radio (40mW vs 10mW) + + * APRS support + + Otherwise, they're the same size, with mounting holes and + screw terminals in the same position. + === TeleMetrum Screw Terminals TeleMetrum has six screw terminals on the end of the board diff --git a/doc/telemini-outline.txt b/doc/telemini-outline.txt new file mode 100644 index 00000000..1992adf0 --- /dev/null +++ b/doc/telemini-outline.txt @@ -0,0 +1,9 @@ += TeleMini Outline and Hole Pattern +:doctype: article + + This image, when printed, provides a precise template for the + mounting holes in TeleMini. TeleMini has overall dimensions of + 0.500 x 1.500 inches, and the mounting holes are sized for use + with 2-56 or M2 screws. + + image::telemini.svg[align="center"] diff --git a/doc/telemini.pdf b/doc/telemini.pdf deleted file mode 100644 index 9d7f0237..00000000 Binary files a/doc/telemini.pdf and /dev/null differ diff --git a/doc/titlepage.templates.tmpl b/doc/titlepage.templates.tmpl new file mode 100644 index 00000000..9de1b31f --- /dev/null +++ b/doc/titlepage.templates.tmpl @@ -0,0 +1,1583 @@ + + + + + + + + + + + + +]> + + + + + + + + + + + + + <subtitle/> + + <date/> + + <corpauthor space-before="0.5em" + font-size="&hsize2;"/> + <authorgroup space-before="0.5em" + font-size="&hsize2;"/> + <author space-before="0.5em" + font-size="&hsize2;"/> + + <!-- If you add editor, include this t:predicate attribute + because only the first editor generates the list of editors. + <editor t:predicate="[position() = 1]"/> + --> + <othercredit space-before="0.5em"/> + <releaseinfo space-before="0.5em"/> + <copyright space-before="0.5em"/> + <legalnotice text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + <pubdate space-before="0.5em"/> + <revision space-before="0.5em"/> + <revhistory space-before="0.5em"/> + <abstract space-before="0.5em" + text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="set" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::set[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}" + text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="book" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::book[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + text-align="center" + font-size="&hsize4;" + space-before="&hsize4space;" + font-family="{$title.fontset}"/> + <corpauthor font-size="&hsize3;" + keep-with-next.within-column="always" + space-before="2in"/> + <authorgroup space-before="2in"/> + <author font-size="&hsize3;" + space-before="&hsize2space;" + keep-with-next.within-column="always"/> + <!-- If you add editor, include this t:predicate attribute + because only the first editor generates the list of editors. + <editor t:predicate="[position() = 1]"/> + --> + <mediaobject space-before="1.5in"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + <title + t:named-template="book.verso.title" + font-size="&hsize2;" + font-weight="bold" + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup t:named-template="verso.authorgroup"/> + <author/> + <!-- If you add editor, include this t:predicate attribute + because only the first editor generates the list of editors. + <editor t:predicate="[position() = 1]"/> + --> + <othercredit/> + <releaseinfo space-before="0.5em"/> + <pubdate space-before="1em"/> + <copyright/> + <abstract/> + <legalnotice font-size="8pt"/> + <revhistory space-before="0.5in"/> + </t:titlepage-content> + + <t:titlepage-separator> + <fo:block break-after="page"/> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + <fo:block break-after="page"/> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="part" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::part[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + text-align="center" + font-size="&hsize4;" + space-before="&hsize4space;" + font-weight='bold' + font-style='italic' + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="partintro" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + text-align="center" + font-size="&hsize5;" + font-weight="bold" + space-before="1em" + font-family="{$title.fontset}"/> + <subtitle + text-align="center" + font-size="&hsize2;" + font-weight="bold" + font-style="italic" + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="reference" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::reference[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}" + text-align="center"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsection" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsect1" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsect2" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="refsect3" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="dedication" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::dedication[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<!-- Same formatting as dedication --> + <t:titlepage t:element="acknowledgements" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::acknowledgements[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + + +<!-- ==================================================================== --> + + <t:titlepage t:element="preface" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::preface[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="chapter" t:wrapper="fo:block" + font-family="{$title.fontset}"> + <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}"> + <title t:named-template="component.title" + param:node="ancestor-or-self::chapter[1]" + font-size="&hsize5;" + font-weight="bold"/> + + <subtitle space-before="0.5em" + font-style="italic" + font-size="&hsize2;" + font-weight="bold"/> + + <corpauthor space-before="0.5em" + space-after="0.5em" + font-size="&hsize2;"/> + + <authorgroup space-before="0.5em" + space-after="0.5em" + font-size="&hsize2;"/> + + <author space-before="0.5em" + space-after="0.5em" + font-size="&hsize2;"/> + + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="appendix" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="component.title" + param:node="ancestor-or-self::appendix[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + +<t:titlepage t:element="section" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect1" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect2" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect3" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect4" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="sect5" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="simplesect" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + margin-left="{$title.margin.left}" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + <corpauthor/> + <authorgroup/> + <author/> + <othercredit/> + <releaseinfo/> + <copyright/> + <legalnotice/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<t:titlepage t:element="topic" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-weight="bold" + font-size="&hsize3;" + space-before="1em" + space-after="1em" + font-family="{$title.fontset}"/> + <subtitle + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="bibliography" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::bibliography[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="bibliodiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title t:named-template="component.title" + param:node="ancestor-or-self::bibliodiv[1]" + margin-left="{$title.margin.left}" + font-size="&hsize4;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="glossary" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::glossary[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="glossdiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title t:named-template="component.title" + param:node="ancestor-or-self::glossdiv[1]" + margin-left="{$title.margin.left}" + font-size="&hsize4;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="index" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::index[1]" + param:pagewide="1" + margin-left="0pt" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <!-- The indexdiv.title template is used so that manual and --> + <!-- automatically generated indexdiv titles get the same --> + <!-- formatting. --> + + <t:titlepage t:element="indexdiv" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title t:force="1" + t:named-template="indexdiv.title" + param:title="title"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="setindex" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::setindex[1]" + param:pagewide="1" + margin-left="0pt" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="colophon" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="component.title" + param:node="ancestor-or-self::colophon[1]" + margin-left="{$title.margin.left}" + font-size="&hsize5;" + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="sidebar" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + font-family="{$title.fontset}" + font-weight="bold"/> + <subtitle + font-family="{$title.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> +<t:titlepage t:element="qandaset" t:wrapper="fo:block" + font-family="{$title.fontset}"> + + <t:titlepage-content t:side="recto" + start-indent="0pt" + text-align="center"> + + <title t:named-template="component.title" + param:node="ancestor-or-self::qandaset[1]" + keep-with-next.within-column="always" + font-size="&hsize5;" + font-weight="bold"/> + + <subtitle/> + + <corpauthor space-before="0.5em" + font-size="&hsize2;"/> + <authorgroup space-before="0.5em" + font-size="&hsize2;"/> + <author space-before="0.5em" + font-size="&hsize2;"/> + + <othercredit space-before="0.5em"/> + <releaseinfo space-before="0.5em"/> + <copyright space-before="0.5em"/> + <legalnotice text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + <pubdate space-before="0.5em"/> + <revision space-before="0.5em"/> + <revhistory space-before="0.5em"/> + <abstract space-before="0.5em" + text-align="start" + margin-left="0.5in" + margin-right="0.5in" + font-family="{$body.fontset}"/> + <itermset/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +<!-- ==================================================================== --> + + <t:titlepage t:element="table.of.contents" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'TableofContents'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.tables" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofTables'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.figures" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofFigures'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.examples" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofExamples'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.equations" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofEquations'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofProcedures'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofUnknown'" + space-before.minimum="1em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-after="0.5em" + start-indent="0pt" + font-size="&hsize3;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="component.list.of.tables" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofTables'" + space-before.minimum="1em" + space-before.optimum="1em" + space-before.maximum="1em" + space-after="0.5em" + margin-left="{$title.margin.left}" + font-size="&hsize1;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="component.list.of.figures" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofFigures'" + space-before.minimum="1em" + space-before.optimum="1em" + space-before.maximum="1em" + space-after="0.5em" + margin-left="{$title.margin.left}" + font-size="&hsize1;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="component.list.of.examples" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofExamples'" + space-before.minimum="1em" + space-before.optimum="1em" + space-before.maximum="1em" + space-after="0.5em" + margin-left="{$title.margin.left}" + font-size="&hsize1;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="component.list.of.equations" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofEquations'" + space-before.minimum="1em" + space-before.optimum="1em" + space-before.maximum="1em" + space-after="0.5em" + margin-left="{$title.margin.left}" + font-size="&hsize1;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="component.list.of.procedures" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofProcedures'" + space-before.minimum="1em" + space-before.optimum="1em" + space-before.maximum="1em" + space-after="0.5em" + margin-left="{$title.margin.left}" + font-size="&hsize1;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + + <t:titlepage t:element="component.list.of.unknowns" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:force="1" + t:named-template="gentext" + param:key="'ListofUnknown'" + space-before.minimum="1em" + space-before.optimum="1em" + space-before.maximum="1em" + space-after="0.5em" + margin-left="{$title.margin.left}" + font-size="&hsize1;" + font-weight="bold" + font-family="{$title.fontset}"/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/doc/titlepage.templates.xml b/doc/titlepage.templates.xml deleted file mode 100644 index 59fa5ba1..00000000 --- a/doc/titlepage.templates.xml +++ /dev/null @@ -1,1580 +0,0 @@ -<!DOCTYPE t:templates [ -<!ENTITY hsize0 "10pt"> -<!ENTITY hsize1 "12pt"> -<!ENTITY hsize2 "14.4pt"> -<!ENTITY hsize3 "17.28pt"> -<!ENTITY hsize4 "20.736pt"> -<!ENTITY hsize5 "24.8832pt"> -<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 --> -<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 --> -<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 --> -<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 --> -<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 --> -<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 --> -]> -<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" - xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - -<!-- ******************************************************************** - $Id: titlepage.templates.xml 9722 2013-02-01 19:44:13Z bobstayton $ - ******************************************************************** - - This file is part of the DocBook XSL Stylesheet distribution. - See ../README or http://docbook.sf.net/ for copyright - copyright and other information. - - ******************************************************************** --> - -<!-- ==================================================================== --> - -<t:titlepage t:element="article" t:wrapper="fo:block" - font-family="{$title.fontset}"> - - <t:titlepage-content t:side="recto" - start-indent="0pt" - text-align="center"> - - <title t:named-template="component.title" - param:node="ancestor-or-self::article[1]" - keep-with-next.within-column="always" - font-size="&hsize5;" - font-weight="bold"/> - - <subtitle/> - - <corpauthor space-before="0.5em" - font-size="&hsize2;"/> - <authorgroup space-before="0.5em" - font-size="&hsize2;"/> - <author space-before="0.5em" - font-size="&hsize2;"/> - - <!-- If you add editor, include this t:predicate attribute - because only the first editor generates the list of editors. - <editor t:predicate="[position() = 1]"/> - --> - <othercredit space-before="0.5em"/> - <releaseinfo space-before="0.5em"/> - <copyright space-before="0.5em"/> - <legalnotice text-align="start" - margin-left="0.5in" - margin-right="0.5in" - font-family="{$body.fontset}"/> - <pubdate space-before="0.5em"/> - <revision space-before="0.5em"/> - <revhistory space-before="0.5em"/> - <abstract space-before="0.5em" - text-align="start" - margin-left="0.5in" - margin-right="0.5in" - font-family="{$body.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="set" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:named-template="division.title" - param:node="ancestor-or-self::set[1]" - text-align="center" - font-size="&hsize5;" - space-before="&hsize5space;" - font-weight="bold" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}" - text-align="center"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="book" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:named-template="division.title" - param:node="ancestor-or-self::book[1]" - text-align="center" - font-size="&hsize5;" - space-before="&hsize5space;" - font-weight="bold" - font-family="{$title.fontset}"/> - <subtitle - text-align="center" - font-size="&hsize4;" - space-before="&hsize4space;" - font-family="{$title.fontset}"/> - <corpauthor font-size="&hsize3;" - keep-with-next.within-column="always" - space-before="2in"/> - <authorgroup space-before="2in"/> - <author font-size="&hsize3;" - space-before="&hsize2space;" - keep-with-next.within-column="always"/> - <!-- If you add editor, include this t:predicate attribute - because only the first editor generates the list of editors. - <editor t:predicate="[position() = 1]"/> - --> - <mediaobject space-before="1.5in"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - <title - t:named-template="book.verso.title" - font-size="&hsize2;" - font-weight="bold" - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup t:named-template="verso.authorgroup"/> - <author/> - <!-- If you add editor, include this t:predicate attribute - because only the first editor generates the list of editors. - <editor t:predicate="[position() = 1]"/> - --> - <othercredit/> - <releaseinfo space-before="0.5em"/> - <pubdate space-before="1em"/> - <copyright/> - <abstract/> - <legalnotice font-size="8pt"/> - </t:titlepage-content> - - <t:titlepage-separator> - <fo:block break-after="page"/> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - <fo:block break-after="page"/> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="part" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:named-template="division.title" - param:node="ancestor-or-self::part[1]" - text-align="center" - font-size="&hsize5;" - space-before="&hsize5space;" - font-weight="bold" - font-family="{$title.fontset}"/> - <subtitle - text-align="center" - font-size="&hsize4;" - space-before="&hsize4space;" - font-weight='bold' - font-style='italic' - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="partintro" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - text-align="center" - font-size="&hsize5;" - font-weight="bold" - space-before="1em" - font-family="{$title.fontset}"/> - <subtitle - text-align="center" - font-size="&hsize2;" - font-weight="bold" - font-style="italic" - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="reference" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:named-template="division.title" - param:node="ancestor-or-self::reference[1]" - text-align="center" - font-size="&hsize5;" - space-before="&hsize5space;" - font-weight="bold" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}" - text-align="center"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="refsection" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="refsect1" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="refsect2" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="refsect3" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="dedication" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::dedication[1]" - margin-left="{$title.margin.left}" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<!-- Same formatting as dedication --> - <t:titlepage t:element="acknowledgements" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::acknowledgements[1]" - margin-left="{$title.margin.left}" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - - -<!-- ==================================================================== --> - - <t:titlepage t:element="preface" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::preface[1]" - margin-left="{$title.margin.left}" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="chapter" t:wrapper="fo:block" - font-family="{$title.fontset}"> - <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}"> - <title t:named-template="component.title" - param:node="ancestor-or-self::chapter[1]" - font-size="&hsize5;" - font-weight="bold"/> - - <subtitle space-before="0.5em" - font-style="italic" - font-size="&hsize2;" - font-weight="bold"/> - - <corpauthor space-before="0.5em" - space-after="0.5em" - font-size="&hsize2;"/> - - <authorgroup space-before="0.5em" - space-after="0.5em" - font-size="&hsize2;"/> - - <author space-before="0.5em" - space-after="0.5em" - font-size="&hsize2;"/> - - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="appendix" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:named-template="component.title" - param:node="ancestor-or-self::appendix[1]" - margin-left="{$title.margin.left}" - font-size="&hsize5;" - font-weight="bold" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - -<t:titlepage t:element="section" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - margin-left="{$title.margin.left}" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="sect1" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - margin-left="{$title.margin.left}" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="sect2" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - margin-left="{$title.margin.left}" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="sect3" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - margin-left="{$title.margin.left}" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="sect4" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - margin-left="{$title.margin.left}" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="sect5" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - margin-left="{$title.margin.left}" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="simplesect" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - margin-left="{$title.margin.left}" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - <corpauthor/> - <authorgroup/> - <author/> - <othercredit/> - <releaseinfo/> - <copyright/> - <legalnotice/> - <pubdate/> - <revision/> - <revhistory/> - <abstract/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<t:titlepage t:element="topic" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - font-weight="bold" - font-size="&hsize3;" - space-before="1em" - space-after="1em" - font-family="{$title.fontset}"/> - <subtitle - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="bibliography" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::bibliography[1]" - margin-left="{$title.margin.left}" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="bibliodiv" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title t:named-template="component.title" - param:node="ancestor-or-self::bibliodiv[1]" - margin-left="{$title.margin.left}" - font-size="&hsize4;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="glossary" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::glossary[1]" - margin-left="{$title.margin.left}" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="glossdiv" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title t:named-template="component.title" - param:node="ancestor-or-self::glossdiv[1]" - margin-left="{$title.margin.left}" - font-size="&hsize4;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="index" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::index[1]" - param:pagewide="1" - margin-left="0pt" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - - <!-- The indexdiv.title template is used so that manual and --> - <!-- automatically generated indexdiv titles get the same --> - <!-- formatting. --> - - <t:titlepage t:element="indexdiv" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title t:force="1" - t:named-template="indexdiv.title" - param:title="title"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="setindex" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::setindex[1]" - param:pagewide="1" - margin-left="0pt" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="colophon" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="component.title" - param:node="ancestor-or-self::colophon[1]" - margin-left="{$title.margin.left}" - font-size="&hsize5;" - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="sidebar" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - font-family="{$title.fontset}" - font-weight="bold"/> - <subtitle - font-family="{$title.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> -<t:titlepage t:element="qandaset" t:wrapper="fo:block" - font-family="{$title.fontset}"> - - <t:titlepage-content t:side="recto" - start-indent="0pt" - text-align="center"> - - <title t:named-template="component.title" - param:node="ancestor-or-self::qandaset[1]" - keep-with-next.within-column="always" - font-size="&hsize5;" - font-weight="bold"/> - - <subtitle/> - - <corpauthor space-before="0.5em" - font-size="&hsize2;"/> - <authorgroup space-before="0.5em" - font-size="&hsize2;"/> - <author space-before="0.5em" - font-size="&hsize2;"/> - - <othercredit space-before="0.5em"/> - <releaseinfo space-before="0.5em"/> - <copyright space-before="0.5em"/> - <legalnotice text-align="start" - margin-left="0.5in" - margin-right="0.5in" - font-family="{$body.fontset}"/> - <pubdate space-before="0.5em"/> - <revision space-before="0.5em"/> - <revhistory space-before="0.5em"/> - <abstract space-before="0.5em" - text-align="start" - margin-left="0.5in" - margin-right="0.5in" - font-family="{$body.fontset}"/> - <itermset/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> -</t:titlepage> - -<!-- ==================================================================== --> - - <t:titlepage t:element="table.of.contents" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'TableofContents'" - space-before.minimum="1em" - space-before.optimum="1.5em" - space-before.maximum="2em" - space-after="0.5em" - start-indent="0pt" - font-size="&hsize3;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="list.of.tables" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofTables'" - space-before.minimum="1em" - space-before.optimum="1.5em" - space-before.maximum="2em" - space-after="0.5em" - start-indent="0pt" - font-size="&hsize3;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="list.of.figures" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofFigures'" - space-before.minimum="1em" - space-before.optimum="1.5em" - space-before.maximum="2em" - space-after="0.5em" - start-indent="0pt" - font-size="&hsize3;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="list.of.examples" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofExamples'" - space-before.minimum="1em" - space-before.optimum="1.5em" - space-before.maximum="2em" - space-after="0.5em" - start-indent="0pt" - font-size="&hsize3;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="list.of.equations" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofEquations'" - space-before.minimum="1em" - space-before.optimum="1.5em" - space-before.maximum="2em" - space-after="0.5em" - start-indent="0pt" - font-size="&hsize3;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofProcedures'" - space-before.minimum="1em" - space-before.optimum="1.5em" - space-before.maximum="2em" - space-after="0.5em" - start-indent="0pt" - font-size="&hsize3;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofUnknown'" - space-before.minimum="1em" - space-before.optimum="1.5em" - space-before.maximum="2em" - space-after="0.5em" - start-indent="0pt" - font-size="&hsize3;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="component.list.of.tables" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofTables'" - space-before.minimum="1em" - space-before.optimum="1em" - space-before.maximum="1em" - space-after="0.5em" - margin-left="{$title.margin.left}" - font-size="&hsize1;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="component.list.of.figures" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofFigures'" - space-before.minimum="1em" - space-before.optimum="1em" - space-before.maximum="1em" - space-after="0.5em" - margin-left="{$title.margin.left}" - font-size="&hsize1;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="component.list.of.examples" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofExamples'" - space-before.minimum="1em" - space-before.optimum="1em" - space-before.maximum="1em" - space-after="0.5em" - margin-left="{$title.margin.left}" - font-size="&hsize1;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="component.list.of.equations" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofEquations'" - space-before.minimum="1em" - space-before.optimum="1em" - space-before.maximum="1em" - space-after="0.5em" - margin-left="{$title.margin.left}" - font-size="&hsize1;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="component.list.of.procedures" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofProcedures'" - space-before.minimum="1em" - space-before.optimum="1em" - space-before.maximum="1em" - space-after="0.5em" - margin-left="{$title.margin.left}" - font-size="&hsize1;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - - <t:titlepage t:element="component.list.of.unknowns" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:force="1" - t:named-template="gentext" - param:key="'ListofUnknown'" - space-before.minimum="1em" - space-before.optimum="1em" - space-before.maximum="1em" - space-after="0.5em" - margin-left="{$title.margin.left}" - font-size="&hsize1;" - font-weight="bold" - font-family="{$title.fontset}"/> - </t:titlepage-content> - - <t:titlepage-content t:side="verso"> - </t:titlepage-content> - - <t:titlepage-separator> - </t:titlepage-separator> - - <t:titlepage-before t:side="recto"> - </t:titlepage-before> - - <t:titlepage-before t:side="verso"> - </t:titlepage-before> - </t:titlepage> - -<!-- ==================================================================== --> - -</t:templates> diff --git a/doc/updating-firmware.inc b/doc/updating-firmware.inc index 8b29558c..d22fdb18 100644 --- a/doc/updating-firmware.inc +++ b/doc/updating-firmware.inc @@ -17,18 +17,12 @@ download the most recent version from http://www.altusmetrum.org/AltOS/ - If you need to update the firmware on a TeleDongle v0.2, we - recommend updating the altimeter first, before updating - TeleDongle. However, note that TeleDongle rarely need to be - updated. Any firmware version 1.0.1 or later will work, - version 1.2.1 may have improved receiver performance slightly. - - Self-programmable devices (TeleMega, TeleMetrum v2, EasyMega - and EasyMini) are reprogrammed by connecting them to your - computer over USB - === Updating TeleMega, TeleMetrum v2, EasyMega, EasyMini or TeleDongle v3 Firmware + Self-programmable devices (TeleMega, TeleMetrum v2, + EasyMega and EasyMini) are reprogrammed by connecting + them to your computer over USB + . Attach a battery if necessary and power switch to the target device. Power up the device. @@ -144,6 +138,13 @@ support programming directly over USB for these devices. + If you need to update the firmware on a TeleDongle + v0.2, we recommend updating the altimeter first, + before updating TeleDongle. However, note that + TeleDongle rarely need to be updated. Any firmware + version 1.0.1 or later will work, version 1.2.1 may + have improved receiver performance slightly. + ==== Updating TeleMetrum v1.x Firmware . Find the 'programming cable' that you got as diff --git a/doc/xorg-fo.xsl b/doc/xorg-fo.xsl deleted file mode 100644 index 4b8c619f..00000000 --- a/doc/xorg-fo.xsl +++ /dev/null @@ -1,121 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - X.Org DocBook/XML customization - - DocBook XSL Stylesheets FO Parameters - http://docbook.sourceforge.net/release/xsl/current/doc/fo/ ---> - -<xsl:stylesheet - version='1.0' - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - > -<xsl:import href="file:///usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl"/> -<xsl:include href="titlepage.templates.xsl"/> - - - <!-- Reference Pages HTML/FO Parameters --> - - - <xsl:param name="function.parens" select="1"/> - - <!-- ANSI-style function synopses are generated for a funcsynopsis element --> - <xsl:param name="funcsynopsis.style" select="ansi"/> - - <!-- Linking HTML/FO Parameters --> - - <!-- open new PDF documents in new tab, don't replace doc in current window --> - <xsl:attribute-set name="olink.properties"> - <xsl:attribute name="show-destination">new</xsl:attribute> - </xsl:attribute-set> - - <!-- Miscellaneous HTML/FO Parameters--> - - <!-- SVG will be considered an acceptable image format --> - <xsl:param name="use.svg" select="1"/> - - <!-- ToC/LoT/Index Generation --> - <!-- put page breaks before and after the Table of Contents, - so that the ToC is on a page by itself - Reference: http://www.sagehill.net/docbookxsl/PrintToc.html - --> - <xsl:attribute-set name="toc.margin.properties"> - <xsl:attribute name="break-before">page</xsl:attribute> - <xsl:attribute name="break-after">page</xsl:attribute> - </xsl:attribute-set> - - <!-- Pagination and General Styles FO Parameters --> - <!-- - Speed up ps & pdf creation by not creating pages with "draft" image, - thus not needing to wait for http fetch of draft.png from docbook website. - --> - <xsl:param name="draft.mode" select="no"/> - - <!-- Processor Extensions FO Parameters--> - - <!-- PDF bookmarks extensions for FOP version 0.90 and later will be used. --> - <xsl:param name="fop.extensions" select="0"></xsl:param> - <xsl:param name="fop1.extensions" select="1"></xsl:param> - - <!-- Cross Refrences FO Parameters--> - - <!-- Make links in pdf output blue so it's easier to tell they're internal - links - --> - <xsl:attribute-set name="xref.properties"> - <xsl:attribute name="color">blue</xsl:attribute> - </xsl:attribute-set> - - <!-- Make links in pdf output green so it's easier to tell they're external - links - --> - <xsl:attribute-set name="olink.properties"> - <xsl:attribute name="color">green</xsl:attribute> - </xsl:attribute-set> - - <!-- Linking to a target inside a pdf document. - This feature is only available as of docbook-xsl-1.76.1. - When set to zero, the link will point to the document --> - <xsl:param name="insert.olink.pdf.frag" select="0"></xsl:param> - - - <!-- Font Families FO Parameters --> - - <!-- - Since a number of documents, especially the credits section in the - ReleaseNotes, use characters not found in the fop default base-14 - PostScript fonts, set the fonts for the fop generated documents to - use the free DejaVu and GNU Unifont fonts which cover a much wider - range of characters. - - DejaVu is available from http://dejavu-fonts.org/ - GNU Unifont is available from http://unifoundry.com/unifont.html - - To set fop font paths to find them after installing, see - http://xmlgraphics.apache.org/fop/1.0/fonts.html#basics - --> - <xsl:param name="body.font.family">DejaVu Serif</xsl:param> - <xsl:param name="symbol.font.family">serif,Symbol,AR PL UMing CN,AR PL ShanHeiSun Uni,GNU Unifont</xsl:param> - - <!-- Paragraph template bits --> - - <!-- make it possible to turn off hyphenation when it's giving us probs --> - <xsl:template match="para[@hyphenate='false']"> - <fo:block hyphenate="false" xsl:use-attribute-sets="normal.para.spacing"> - <xsl:call-template name="anchor"/> - <xsl:apply-templates/> - </fo:block> - </xsl:template> - - <!-- force line break --> - <xsl:template match="processing-instruction('linebreak')"> - <fo:block/> - </xsl:template> - - <xsl:attribute-set name="informalfigure.properties"> - <xsl:attribute name="text-align">center</xsl:attribute> - </xsl:attribute-set> - -</xsl:stylesheet> -- cgit v1.2.3 From edcb80f25875200a73269045db71c1579b0c2c82 Mon Sep 17 00:00:00 2001 From: Keith Packard <keithp@keithp.com> Date: Sun, 1 Nov 2015 04:22:27 -0800 Subject: doc: Split revhistory to separate file for html docs This avoids having the revhistory clutter the top of the document. Signed-off-by: Keith Packard <keithp@keithp.com> --- doc/Makefile | 20 ++++++++++++++++---- doc/altos-docinfo.xml | 1 + doc/altusmetrum-docinfo.xml | 1 + doc/am-html.xsl | 14 ++++++++++++++ doc/am.css | 36 ++++++++++++++++++++---------------- doc/common.xsl | 26 ++++++++++++++++++++++---- doc/companion-docinfo.xml | 1 + doc/micropeak-docinfo.xml | 1 + doc/telegps-docinfo.xml | 1 + doc/telemetry-docinfo.xml | 1 + 10 files changed, 78 insertions(+), 24 deletions(-) create mode 100644 doc/am-html.xsl (limited to 'doc/altusmetrum-docinfo.xml') diff --git a/doc/Makefile b/doc/Makefile index 0b66a1d1..d3c88b37 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -167,10 +167,16 @@ ONEFILE_PDF_FILES=$(ONEFILE_TXT_FILES:.txt=.pdf) HTML=altusmetrum.html micropeak.html telegps.html $(RELNOTES_HTML) $(ONEFILE_HTML_FILES) +HTML_REVHISTORY=\ + altusmetrum-revhistory.html \ + micropeak-revhistory.html \ + telegps-revhistory.html + PDF=altusmetrum.pdf micropeak.pdf telegps.pdf $(RELNOTES_PDF) $(ONEFILE_PDF_FILES) \ $(OUTLINE_PDF_FILES) FOP_STYLE=am-fo.xsl +HTML_STYLE=am-html.xsl FOP_XCONF=fop.xconf STYLESHEET=am.css @@ -189,9 +195,9 @@ TEMPLATES_TMPL=titlepage.templates.tmpl TEMPLATES_XSL=$(TEMPLATES_TMPL:.tmpl=.xsl) PDF_CONFIG_FILES=$(FOP_STYLE) $(FOP_XCONF) $(TEMPLATES_XSL) -HTML_CONFIG_FILES=$(TEMPLATES_XSL) $(STYLESHEET) +HTML_CONFIG_FILES=$(TEMPLATES_XSL) -DOC=$(HTML) $(PDF) $(IMAGES) $(STYLESHEET) +DOC=$(HTML) $(HTML_REVHISTORY) $(PDF) $(IMAGES) $(STYLESHEET) .SUFFIXES: .tmpl .xsl .inc .txt .raw .pdf .html @@ -205,7 +211,7 @@ DOC=$(HTML) $(PDF) $(IMAGES) $(STYLESHEET) a2x -a docinfo -f pdf --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file $(FOP_STYLE) --fop --fop-opts="-c $(FOP_XCONF)" $*.raw .raw.html: - a2x -a docinfo -f xhtml --xsltproc-opts "--stringparam toc.section.depth 2" --stylesheet=$(STYLESHEET) $*.raw + a2x -a docinfo -f xhtml --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file $(HTML_STYLE) --stylesheet=$(STYLESHEET) $*.raw .tmpl.xsl: xsltproc --output $@ /usr/share/xml/docbook/stylesheet/docbook-xsl/template/titlepage.xsl $*.tmpl @@ -214,6 +220,12 @@ all: $(HTML) $(PDF) $(HTML): $(PDF) +altusmetrum-revhistory.html: altusmetrum.html + +micropeak-revhistory.html: micropeak.html + +telegps-revhistory.html: telegps.html + altusmetrum.pdf altusmetrum.html: altusmetrum-docinfo.xml $(RAW_FILES) $(RAW_INC) $(IMAGES) telegps.html telegps.pdf: telegps-docinfo.xml $(TELEGPS_RAW_FILES) $(IMAGES) @@ -238,7 +250,7 @@ publish-keithp: $(DOC) $(FONTS) scp -p $(FONTS) keithp.com:~keithp/public_html/altos/fonts clean: - rm -f $(HTML) $(PDF) $(TEMPLATES_XSL) $(RAW_FILES) $(TELEGPS_RAW_FILES) $(MICROPEAK_RAW_FILES) + rm -f $(HTML) $(HTML_REVHISTORY) $(PDF) $(TEMPLATES_XSL) $(RAW_FILES) $(TELEGPS_RAW_FILES) $(MICROPEAK_RAW_FILES) distclean: clean rm -f $(HTML) $(PDF) diff --git a/doc/altos-docinfo.xml b/doc/altos-docinfo.xml index 1b6ad648..b9193a8f 100644 --- a/doc/altos-docinfo.xml +++ b/doc/altos-docinfo.xml @@ -19,6 +19,7 @@ </para> </legalnotice> <revhistory> + <?dbhtml filename="altos-revhistory.html"?> <revision> <revnumber>1.1</revnumber> <date>05 November 2012</date> diff --git a/doc/altusmetrum-docinfo.xml b/doc/altusmetrum-docinfo.xml index 19c1e5d9..11df900c 100644 --- a/doc/altusmetrum-docinfo.xml +++ b/doc/altusmetrum-docinfo.xml @@ -36,6 +36,7 @@ </para> </legalnotice> <revhistory> + <?dbhtml filename="altusmetrum-revhistory.html"?> <revision> <revnumber>1.6.1</revnumber> <date>15 July 2015</date> diff --git a/doc/am-html.xsl b/doc/am-html.xsl new file mode 100644 index 00000000..cdfe27f8 --- /dev/null +++ b/doc/am-html.xsl @@ -0,0 +1,14 @@ +<!-- + Generates single XHTML document from DocBook XML source using DocBook XSL + stylesheets. + + NOTE: The URL reference to the current DocBook XSL stylesheets is + rewritten to point to the copy on the local disk drive by the XML catalog + rewrite directives so it doesn't need to go out to the Internet for the + stylesheets. This means you don't need to edit the <xsl:import> elements on + a machine by machine basis. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/> +<xsl:import href="common.xsl"/> +</xsl:stylesheet> diff --git a/doc/am.css b/doc/am.css index c2faa015..7723b14a 100644 --- a/doc/am.css +++ b/doc/am.css @@ -348,24 +348,16 @@ div.variablelist p.title margin-bottom: -0.8em; } -table { - border: none; -} - div.revhistory { border-style: none; } -div.revhistory table, th, td, tr { - margin-top: 1em; - border-width: 1px; +div.revhistory table, div.revhistory th, div.revhistory td { border-collapse: collapse; - border-top: 1px; - border-bottom: 1px; - border-left: 1px; - border-right: 1px; - border: 1px solid black; + border: 1px solid #0080ff; + padding: 0.25em; } + div.revhistory th { color: #0080ff; } @@ -385,12 +377,18 @@ div.indexdiv dl, div.indexdiv dt Table styling does not work because of overriding attributes in generated HTML. */ +div.table-contents p, +div.informaltable p +{ + margin: 0px; +} +/* div.table table, div.informaltable table { margin-left: 0; - margin-right: 5%; - margin-bottom: 0.8em; + margin-right: 0.25em; + margin-bottom: 0.25em; } div.informaltable table { @@ -404,9 +402,15 @@ div.informaltable tfoot, div.informaltable tbody { /* No effect in IE6. */ - border-top: 3px solid #527bbd; - border-bottom: 3px solid #527bbd; + border-top: 1px solid #0080ff; + border-bottom: 1px solid #0080ff; + border-left: 1px solid #0080ff; + border-right: 1px solid #0080ff !important; + border-width: 1px !important; } +*/ + + div.table thead, div.table tfoot, div.informaltable thead, div.informaltable tfoot { diff --git a/doc/common.xsl b/doc/common.xsl index 2e5cbc23..1bb323c0 100644 --- a/doc/common.xsl +++ b/doc/common.xsl @@ -56,17 +56,35 @@ <xsl:param name="html.cellspacing" select="''"/> <xsl:param name="table.borders.with.css" select="1"/> -<xsl:param name="table.cell.border.color" select="'#527bbd'"/> - +<xsl:param name="table.cell.border.color" select="'#0080ff'"/> <xsl:param name="table.cell.border.style" select="'solid'"/> <xsl:param name="table.cell.border.thickness" select="'1px'"/> <xsl:param name="table.footnote.number.format" select="'a'"/> <xsl:param name="table.footnote.number.symbols" select="''"/> -<xsl:param name="table.frame.border.color" select="'#527bbd'"/> +<xsl:param name="table.frame.border.color" select="'#0080ff'"/> <xsl:param name="table.frame.border.style" select="'solid'"/> -<xsl:param name="table.frame.border.thickness" select="'3px'"/> +<xsl:param name="table.frame.border.thickness" select="'1px'"/> <xsl:param name="tablecolumns.extension" select="'1'"/> +<xsl:attribute-set name="revhistory.title.properties"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="revhistory.table.properties"> + <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute> + <xsl:attribute name="width">50%</xsl:attribute> +</xsl:attribute-set> + +<xsl:attribute-set name="revhistory.table.cell.properties"> + <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="padding">2pt</xsl:attribute> +</xsl:attribute-set> + +<xsl:param name="generate.revhistory.link" select="1"/> + <xsl:param name="highlight.source" select="1"/> <xsl:param name="section.label.includes.component.label" select="1"/> diff --git a/doc/companion-docinfo.xml b/doc/companion-docinfo.xml index 2e0bc567..243bded0 100644 --- a/doc/companion-docinfo.xml +++ b/doc/companion-docinfo.xml @@ -19,6 +19,7 @@ </para> </legalnotice> <revhistory> + <?dbhtml filename="companion-revhistory.html"?> <revision> <revnumber>0.1</revnumber> <date>13 January 2012</date> diff --git a/doc/micropeak-docinfo.xml b/doc/micropeak-docinfo.xml index b401a193..4b33e0be 100644 --- a/doc/micropeak-docinfo.xml +++ b/doc/micropeak-docinfo.xml @@ -23,6 +23,7 @@ </para> </legalnotice> <revhistory> + <?dbhtml filename="micropeak-revhistory.html"?> <revision> <revnumber>1.3.2</revnumber> <date>12 February 2014</date> diff --git a/doc/telegps-docinfo.xml b/doc/telegps-docinfo.xml index fcceae3f..633e56cc 100644 --- a/doc/telegps-docinfo.xml +++ b/doc/telegps-docinfo.xml @@ -28,6 +28,7 @@ </para> </legalnotice> <revhistory> + <?dbhtml filename="telegps-revhistory.html"?> <revision> <revnumber>1.6.1</revnumber> <date>15 July 2015</date> diff --git a/doc/telemetry-docinfo.xml b/doc/telemetry-docinfo.xml index c7b1f060..19f90ca4 100644 --- a/doc/telemetry-docinfo.xml +++ b/doc/telemetry-docinfo.xml @@ -19,6 +19,7 @@ </para> </legalnotice> <revhistory> + <?dbhtml filename="telemetry-revhistory.html"?> <revision> <revnumber>0.1</revnumber> <date>1 July 2011</date> -- cgit v1.2.3 From ef2ba847ca53a8ddfcddd4e51a0dd43c45161c85 Mon Sep 17 00:00:00 2001 From: Keith Packard <keithp@keithp.com> Date: Sun, 1 Nov 2015 21:05:20 -0800 Subject: doc: Add product logos to books This places the product logo on the title verso in pdf form, and above the TOC in html form. Signed-off-by: Keith Packard <keithp@keithp.com> --- doc/Makefile | 12 +- doc/altusmetrum-docinfo.xml | 9 ++ doc/altusmetrum-oneline.svg | 354 +++++++++++++++++++++++++++++++++++++++++ doc/am-fo.xsl | 14 +- doc/am.css | 40 +++-- doc/common.xsl | 8 +- doc/micropeak-docinfo.xml | 7 + doc/micropeak-oneline-font.svg | 199 +++++++++++++++++++++++ doc/micropeak-oneline.svg | 239 ++++++++++++++++++++++++++++ doc/telegps-docinfo.xml | 8 + doc/telegps-oneline-font.svg | 304 +++++++++++++++++++++++++++++++++++ doc/telegps-oneline.svg | 332 ++++++++++++++++++++++++++++++++++++++ doc/titlepage.templates.tmpl | 62 ++++---- 13 files changed, 1529 insertions(+), 59 deletions(-) create mode 100644 doc/altusmetrum-oneline.svg create mode 100644 doc/micropeak-oneline-font.svg create mode 100644 doc/micropeak-oneline.svg create mode 100644 doc/telegps-oneline-font.svg create mode 100644 doc/telegps-oneline.svg (limited to 'doc/altusmetrum-docinfo.xml') diff --git a/doc/Makefile b/doc/Makefile index 2aecc230..89a302ff 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -83,7 +83,10 @@ IMAGES=\ telemetrum-v2.0-th.jpg \ telemini.svg \ telemini-v1-top.jpg \ - telemini-v2-top.jpg + telemini-v2-top.jpg \ + altusmetrum-oneline.svg \ + telegps-oneline.svg \ + micropeak-oneline.svg TXT_FILES=altusmetrum.txt @@ -177,6 +180,7 @@ PDF=altusmetrum.pdf micropeak.pdf telegps.pdf $(RELNOTES_PDF) $(ONEFILE_PDF_FILE FOP_STYLE=am-fo.xsl HTML_STYLE=am-html.xsl +COMMON_STYLE=common.xsl FOP_XCONF=fop.xconf STYLESHEET=am.css @@ -187,6 +191,8 @@ FONTS=\ fonts/DejaVuSansMono.ttf \ fonts/OpenSans-Light.ttf \ fonts/OpenSans-LightItalic.ttf \ + fonts/OpenSans-Regular.ttf \ + fonts/OpenSans-Italic.ttf \ fonts/OpenSans-Semibold.ttf \ fonts/OpenSans-SemiboldItalic.ttf @@ -194,8 +200,8 @@ TEMPLATES_TMPL=titlepage.templates.tmpl TEMPLATES_XSL=$(TEMPLATES_TMPL:.tmpl=.xsl) -PDF_CONFIG_FILES=$(FOP_STYLE) $(FOP_XCONF) $(TEMPLATES_XSL) -HTML_CONFIG_FILES=$(TEMPLATES_XSL) +PDF_CONFIG_FILES=$(FOP_STYLE) $(COMMON_STYLE) $(FOP_XCONF) $(TEMPLATES_XSL) +HTML_CONFIG_FILES=$(HTML_STYLE) $(COMMON_STYLE) $(TEMPLATES_XSL) DOC=$(HTML) $(HTML_REVHISTORY) $(PDF) $(IMAGES) $(STYLESHEET) diff --git a/doc/altusmetrum-docinfo.xml b/doc/altusmetrum-docinfo.xml index 11df900c..69a769b6 100644 --- a/doc/altusmetrum-docinfo.xml +++ b/doc/altusmetrum-docinfo.xml @@ -26,6 +26,15 @@ <imagedata fileref="../themes/background.png" width="6.0in"/> </imageobject> </mediaobject> + +<corpauthor> + <inlinemediaobject> + <imageobject> + <imagedata fileref="altusmetrum-oneline.svg" width="3in"/> + </imageobject> + </inlinemediaobject> +</corpauthor> + <legalnotice> <para> This document is released under the terms of the diff --git a/doc/altusmetrum-oneline.svg b/doc/altusmetrum-oneline.svg new file mode 100644 index 00000000..0ed7b6cd --- /dev/null +++ b/doc/altusmetrum-oneline.svg @@ -0,0 +1,354 @@ +<?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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + width="444" + height="98" + version="1.0" + sodipodi:version="0.32" + inkscape:version="0.91 r13725" + sodipodi:docname="altusmetrum-oneline.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + inkscape:export-filename="/home/keithp/src/cc1111/altus-logo/bottom.png" + inkscape:export-xdpi="119.89881" + inkscape:export-ydpi="119.89881"> + <metadata + id="metadata14"> + <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> + <defs + id="defs12"> + <linearGradient + id="linearGradient4171"> + <stop + id="stop4173" + offset="0" + style="stop-color:#da7000;stop-opacity:1;" /> + <stop + style="stop-color:#a63852;stop-opacity:1;" + offset="0.24528302" + id="stop4175" /> + <stop + id="stop4177" + offset="1" + style="stop-color:#7200a4;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient3165"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3167" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3169" /> + </linearGradient> + <linearGradient + id="linearGradient3177"> + <stop + style="stop-color:#da7000;stop-opacity:1;" + offset="0" + id="stop3179" /> + <stop + id="stop3447" + offset="0.24528302" + style="stop-color:#a63852;stop-opacity:1;" /> + <stop + style="stop-color:#7200a4;stop-opacity:1;" + offset="1" + id="stop3181" /> + </linearGradient> + <linearGradient + id="linearGradient3169"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3171" /> + <stop + id="stop3445" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3173" /> + </linearGradient> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 121 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="191 : 121 : 1" + inkscape:persp3d-origin="95.5 : 80.666667 : 1" + id="perspective16" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient3175" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3177" + id="linearGradient3183" + x1="170.6575" + y1="110.17125" + x2="614.24878" + y2="110.17125" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient3171" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3177" + id="linearGradient3781" + x1="193.16029" + y1="121.50799" + x2="589.83154" + y2="121.50799" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient3008" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient3010" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient3012" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient3014" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient3016" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient3018" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4171" + id="linearGradient4229" + x1="47.299" + y1="31.709364" + x2="129.17451" + y2="31.709364" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4171" + id="linearGradient4176" + gradientUnits="userSpaceOnUse" + x1="47.299" + y1="31.709364" + x2="129.17451" + y2="31.709364" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4171" + id="linearGradient4178" + gradientUnits="userSpaceOnUse" + x1="47.299" + y1="31.709364" + x2="129.17451" + y2="31.709364" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4171" + id="linearGradient4180" + gradientUnits="userSpaceOnUse" + x1="47.299" + y1="31.709364" + x2="129.17451" + y2="31.709364" /> + </defs> + <sodipodi:namedview + inkscape:cy="-41.854765" + inkscape:cx="115.51489" + inkscape:zoom="1.7366335" + inkscape:window-height="1404" + inkscape:window-width="1799" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + guidetolerance="10.0" + gridtolerance="10.0" + objecttolerance="10.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + showgrid="false" + inkscape:window-x="343" + inkscape:window-y="171" + inkscape:current-layer="svg2" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + units="px" /> + <g + id="g4218" + style="fill:url(#linearGradient4229);fill-opacity:1" + transform="translate(20.153936,16.360317)"> + <path + d="m 59.744607,35.548307 c 6.934865,0 15.789201,4.210453 17.399081,13.126708 0.619184,3.343596 1.362205,5.139231 4.458127,5.139231 2.167146,0 3.715107,-1.733717 3.715107,-4.953475 0,-1.919472 -1.671798,-13.064791 -9.783114,-28.358645 -3.529351,-6.687191 -5.634578,-9.845031 -9.225847,-9.845031 -4.334291,0 -6.315681,3.15784 -9.845032,9.845031 -8.111315,15.293854 -9.163928,26.439173 -9.163928,28.358645 0,2.972085 0.681102,4.953475 4.024698,4.953475 2.229064,0 3.529351,-1.362206 3.777025,-3.653188 0.433429,-4.148535 1.362205,-10.092705 3.034003,-14.612751 l 1.60988,0 z m 0.247673,-6.191844 c 1.60988,-3.838943 3.653188,-7.55405 6.129926,-11.269156 3.034003,4.829638 5.386904,10.030787 7.244457,15.355773 l -0.123837,0.123837 C 69.156209,30.223321 63.831224,29.356463 60.79722,29.356463 l -0.80494,0 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4176);fill-opacity:1;stroke:none" + id="path3362" + inkscape:connector-curvature="0" /> + <path + d="m 99.370471,13.62918 c 0,-2.229064 -1.17645,-4.0246989 -3.715106,-4.0246989 -2.538656,0 -3.715106,1.7956349 -3.715106,4.0246989 l 0,36.160367 c 0,2.229064 1.17645,4.024699 3.715106,4.024699 2.538656,0 3.715106,-1.795635 3.715106,-4.024699 l 0,-36.160367 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4178);fill-opacity:1;stroke:none" + id="path3364" + inkscape:connector-curvature="0" /> + <path + d="m 123.29227,28.861115 c 1.98139,0 3.59127,-1.052613 3.59127,-3.343595 0,-2.290983 -1.60988,-3.343596 -3.59127,-3.343596 l -5.44882,0 0,-5.263067 c 0,-2.229064 -1.17645,-4.024699 -3.71511,-4.024699 -2.53865,0 -3.7151,1.795635 -3.7151,4.024699 l 0,5.263067 -2.10523,0 c -2.04331,0 -3.65319,1.052613 -3.65319,3.343596 0,2.290982 1.60988,3.343595 3.65319,3.343595 l 2.10523,0 0,13.374383 c 0,11.392992 4.33429,11.392992 13.74589,11.392992 3.3436,0 5.01539,-1.114531 5.01539,-3.529351 0,-2.414819 -1.67179,-3.52935 -3.77702,-3.52935 l -3.96278,0 c -2.84825,0 -3.59127,-1.733717 -3.59127,-5.448823 l 0,-12.259851 5.44882,0 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient4180);fill-opacity:1;stroke:none" + id="path3366" + inkscape:connector-curvature="0" /> + </g> + <g + id="g4231" + style="fill:#78079a;fill-opacity:1" + transform="translate(20.153936,16.360317)"> + <path + d="m 158.87506,25.827112 c 0,-2.229064 -1.17645,-4.024699 -3.71511,-4.024699 -2.53865,0 -3.7151,1.795635 -3.7151,4.024699 l 0,12.817116 c 0,5.758415 -2.72442,8.668582 -6.93487,8.668582 -3.3436,0 -5.01539,-2.105227 -5.01539,-6.439518 l 0,-15.04618 c 0,-2.229064 -1.17645,-4.024699 -3.71511,-4.024699 -2.53866,0 -3.71511,1.795635 -3.71511,4.024699 l 0,17.02757 c 0,6.315681 4.3343,11.145319 11.02149,11.145319 3.40551,0 5.88225,-0.990695 8.35899,-3.343596 0,1.547961 1.17645,3.343596 3.7151,3.343596 2.53866,0 3.71511,-1.795635 3.71511,-4.024698 l 0,-24.148191 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3368" + inkscape:connector-curvature="0" /> + <path + d="m 179.78124,53.62849 c 6.99678,0 12.19793,-3.15784 12.19793,-10.649971 0,-13.06479 -19.50431,-8.297071 -19.50431,-12.569443 0,-1.486042 1.54796,-1.547961 2.66249,-1.547961 l 10.83573,0 c 1.98139,0 3.59127,-1.052613 3.59127,-3.343595 0,-2.290983 -1.60988,-3.343596 -3.59127,-3.343596 l -10.4023,0 c -6.81103,0 -10.52613,2.538656 -10.52613,8.173234 0,12.940953 19.50431,6.191844 19.50431,12.569443 0,3.343595 -2.3529,4.024698 -5.32499,4.024698 l -11.14532,0 c -2.04331,0 -3.65319,1.052614 -3.65319,3.343596 0,2.290982 1.60988,3.343595 3.65319,3.343595 l 11.70259,0 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3370" + inkscape:connector-curvature="0" /> + <path + d="m 216.06544,26.446296 c -2.53866,-3.095922 -4.0247,-7.058702 -6.12993,-12.197932 -0.9907,-2.414819 -2.47674,-3.405514 -4.95348,-3.405514 -4.76771,0 -4.95347,3.653188 -5.94417,9.597358 -1.17645,6.996783 -2.22906,19.132797 -2.22906,26.191499 0,4.334291 0.30959,7.182539 3.83894,7.182539 3.46744,0 3.96278,-2.352901 3.96278,-5.263067 l 0,-9.783114 c 0,-5.386904 0.61919,-10.959563 1.48605,-16.656059 l 0.12383,0 c 0.9907,3.15784 5.51074,13.498219 9.84504,13.498219 4.33429,0 8.85433,-10.340379 9.84503,-13.498219 l 0.12383,0 c 0.86686,5.696496 1.48605,11.269155 1.48605,16.656059 l 0,9.783114 c 0,2.910166 0.49534,5.263067 3.96278,5.263067 3.52935,0 3.83894,-2.848248 3.83894,-7.182539 0,-7.058702 -1.05261,-19.194716 -2.22906,-26.191499 -0.9907,-5.94417 -1.17645,-9.597358 -5.94417,-9.597358 -2.47674,0 -3.96278,0.990695 -4.95348,3.405514 -2.10523,5.13923 -3.59127,9.10201 -6.12992,12.197932 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3372" + inkscape:connector-curvature="0" /> + <path + d="m 266.81728,53.62849 c 1.98139,0 3.59127,-1.052613 3.59127,-3.343595 0,-2.290982 -1.60988,-3.343596 -3.59127,-3.343596 l -7.98748,0 c -5.20115,0 -9.59735,-1.547961 -10.0927,-7.368294 l 18.94704,0 c 2.60057,0 3.034,-1.547961 3.034,-3.653188 0,-7.244457 -4.27237,-14.117404 -14.61275,-14.117404 -9.47352,0 -15.54153,7.244458 -15.54153,16.532223 0,9.225848 6.19185,15.293854 17.21333,15.293854 l 9.04009,0 z M 249.23245,34.000346 c 0.86685,-3.715107 3.96278,-6.006089 6.87294,-6.006089 2.91017,0 6.00609,2.290982 6.81103,6.006089 l -13.68397,0 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3374" + inkscape:connector-curvature="0" /> + <path + d="m 291.99582,28.861115 c 1.98139,0 3.59127,-1.052613 3.59127,-3.343595 0,-2.290983 -1.60988,-3.343596 -3.59127,-3.343596 l -5.44882,0 0,-5.263067 c 0,-2.229064 -1.17645,-4.024699 -3.7151,-4.024699 -2.53866,0 -3.71511,1.795635 -3.71511,4.024699 l 0,5.263067 -2.10523,0 c -2.04331,0 -3.65319,1.052613 -3.65319,3.343596 0,2.290982 1.60988,3.343595 3.65319,3.343595 l 2.10523,0 0,13.374383 c 0,11.392992 4.33429,11.392992 13.74589,11.392992 3.3436,0 5.0154,-1.114531 5.0154,-3.529351 0,-2.414819 -1.6718,-3.52935 -3.77703,-3.52935 l -3.96278,0 c -2.84825,0 -3.59127,-1.733717 -3.59127,-5.448823 l 0,-12.259851 5.44882,0 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3376" + inkscape:connector-curvature="0" /> + <path + d="m 301.26328,49.603792 c 0,2.414819 1.36221,4.210454 3.71511,4.210454 2.3529,0 3.7151,-1.795635 3.7151,-4.210454 l 0,-13.560138 c 0,-5.696496 1.79564,-7.182539 5.44883,-7.182539 2.66249,0 4.27237,-1.114532 4.27237,-3.467432 0,-2.105227 -1.11453,-3.59127 -3.83894,-3.59127 -3.46744,0 -5.82034,1.486043 -6.31568,4.891557 l -0.12384,0 -0.12384,-1.919472 c -0.24767,-2.786329 -1.98139,-2.972085 -3.34359,-2.972085 -2.16715,0 -3.40552,1.238369 -3.40552,3.777025 l 0,24.024354 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3378" + inkscape:connector-curvature="0" /> + <path + d="m 348.2584,25.827112 c 0,-2.229064 -1.17645,-4.024699 -3.71511,-4.024699 -2.53866,0 -3.71511,1.795635 -3.71511,4.024699 l 0,12.817116 c 0,5.758415 -2.72441,8.668582 -6.93486,8.668582 -3.3436,0 -5.01539,-2.105227 -5.01539,-6.439518 l 0,-15.04618 c 0,-2.229064 -1.17645,-4.024699 -3.71511,-4.024699 -2.53866,0 -3.71511,1.795635 -3.71511,4.024699 l 0,17.02757 c 0,6.315681 4.33429,11.145319 11.02149,11.145319 3.40551,0 5.88225,-0.990695 8.35898,-3.343596 0,1.547961 1.17645,3.343596 3.71511,3.343596 2.53866,0 3.71511,-1.795635 3.71511,-4.024698 l 0,-24.148191 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3380" + inkscape:connector-curvature="0" /> + <path + d="m 355.79019,49.789547 c 0,2.229064 1.17645,4.024699 3.7151,4.024699 2.53866,0 3.71511,-1.795635 3.71511,-4.024699 l 0,-12.631361 c 0,-5.820333 2.66249,-8.668581 5.94417,-8.668581 4.14853,0 5.01539,3.281677 5.01539,7.554049 l 0,13.745893 c 0,2.229064 1.17645,4.024699 3.71511,4.024699 2.53865,0 3.7151,-1.795635 3.7151,-4.024699 l 0,-12.631361 c 0,-5.820333 2.6625,-8.668581 5.94417,-8.668581 4.14854,0 5.0154,3.281677 5.0154,7.554049 l 0,13.745893 c 0,2.229064 1.17645,4.024699 3.7151,4.024699 2.53866,0 3.71511,-1.795635 3.71511,-4.024699 l 0,-16.841815 c 0,-6.315681 -4.33429,-11.145319 -11.02148,-11.145319 -4.08662,0 -7.30638,2.167146 -9.96887,4.643883 -2.84825,-3.529351 -5.07731,-4.643883 -8.66858,-4.643883 -3.03401,0 -5.6965,1.238369 -7.86364,3.343596 0,-1.733716 -1.05262,-3.343596 -3.3436,-3.343596 -2.29098,0 -3.34359,1.60988 -3.34359,3.59127 l 0,24.395864 z" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:61.91843796px;line-height:100%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + id="path3382" + inkscape:connector-curvature="0" /> + </g> + <g + transform="matrix(0.02211373,0,0,0.02211373,20.216433,16.77932)" + id="g3" + style="fill:url(#radialGradient3175);fill-opacity:1;stroke:url(#radialGradient3171);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"> + <g + transform="translate(20.61545,-27.69425)" + style="fill:url(#radialGradient3016);fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient3018);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" + id="g5"> + <path + d="m 931.07168,1164.597 248.86992,-331.80265 416.1687,1338.32935 286.6484,267.1042 -520.4224,0 -270.2797,-262.2181 0,-1033.0627 -160.98492,106.6818 -160.98492,-106.6818 0,1033.0627 -270.2797,262.2181 -520.4224,0 286.6484,-267.1042 416.1687,-1338.32935 248.86992,331.80265 z" + id="path7" + style="fill:url(#radialGradient3008);fill-opacity:1;stroke:url(#radialGradient3010);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + <path + d="m 931.07168,27.69425 224.03682,720.46517 -63.341,76.00913 L 931.07168,486.3269 770.37586,824.16855 707.03486,748.15942 931.07168,27.69425 Z" + id="path9" + style="fill:url(#radialGradient3012);fill-opacity:1;stroke:url(#radialGradient3014);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/doc/am-fo.xsl b/doc/am-fo.xsl index 5743a24c..605339d4 100644 --- a/doc/am-fo.xsl +++ b/doc/am-fo.xsl @@ -106,10 +106,10 @@ </xsl:param> <xsl:param name="table.frame.border.thickness">0.5pt</xsl:param> -<xsl:param name="table.frame.border.color">#0080ff</xsl:param> +<xsl:param name="table.frame.border.color">#78079a</xsl:param> <xsl:param name="table.frame.border.thickness">0.5pt</xsl:param> <xsl:param name="table.cell.border.thickness">0.5pt</xsl:param> -<xsl:param name="table.cell.border.color">#0080ff</xsl:param> +<xsl:param name="table.cell.border.color">#78079a</xsl:param> <xsl:param name="table.cell.border.with.css" select="1"/> <xsl:attribute-set name="component.title.properties"> @@ -160,12 +160,12 @@ </xsl:attribute-set> <xsl:attribute-set name="revhistory.table.properties"> - <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute> + <xsl:attribute name="border">0.5pt solid #78079a</xsl:attribute> <xsl:attribute name="width">50%</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="revhistory.table.cell.properties"> - <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute> + <xsl:attribute name="border">0.5pt solid #78079a</xsl:attribute> <xsl:attribute name="font-size">11pt</xsl:attribute> <xsl:attribute name="padding">2pt</xsl:attribute> </xsl:attribute-set> @@ -176,12 +176,12 @@ <xsl:attribute-set name="component.title.properties"> <xsl:attribute name="font-weight">normal</xsl:attribute> - <xsl:attribute name="color">#0080ff</xsl:attribute> + <xsl:attribute name="color">#78079a</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="section.title.properties"> <xsl:attribute name="font-weight">normal</xsl:attribute> - <xsl:attribute name="color">#0080ff</xsl:attribute> + <xsl:attribute name="color">#78079a</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="admonition.title.properties"> @@ -191,7 +191,7 @@ <xsl:attribute-set name="formal.title.properties"> <xsl:attribute name="font-weight">normal</xsl:attribute> - <xsl:attribute name="color">#0080ff</xsl:attribute> + <xsl:attribute name="color">#78079a</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties"> diff --git a/doc/am.css b/doc/am.css index 7723b14a..1dee27ea 100644 --- a/doc/am.css +++ b/doc/am.css @@ -87,16 +87,16 @@ body div { } a:link { - color: #0080ff; + color: #78079a; } a:visited { - color: #0080ff; + color: #78079a; } h1, h2, h3, h4, h5, h6 { - color: #0080ff; + color: #78079a; font-family: "Open Sans",sans-serif; } @@ -119,16 +119,26 @@ div.warning p, div.note p, div.error p { margin-left: 5%; } -div.toc { +h3.corpauthor img { position: fixed; left: 0px; top: 0px; - height: 100%; - width: 25em; + width: 410px; + height: 90px; + border-right: 2px solid #78079a; + border-bottom: 2px solid #78079a; +} + +div.toc { + position: fixed; + left: 0px; + top: 92px; + bottom: 0; + width: 410px; margin-right: 5ex; margin-left: 0px; float: left; - border-right: 2px solid #0080ff; + border-right: 2px solid #78079a; border-collapse: collapse; overflow: auto; } @@ -186,7 +196,7 @@ div.example p.title, div.sidebar p.title { font-weight: normal; - color: #0080ff; + color: #78079a; font-family: "Open Sans",sans-serif; margin-bottom: 0.2em; } @@ -235,7 +245,7 @@ div.navheader th, div.navheader td, div.navfooter td { font-family: "Open Sans",sans-serif; font-size: 12pt; font-weight: normal; - color: #0080ff; + color: #78079a; } div.navheader img, div.navfooter img { border-style: none; @@ -354,12 +364,12 @@ div.revhistory { div.revhistory table, div.revhistory th, div.revhistory td { border-collapse: collapse; - border: 1px solid #0080ff; + border: 1px solid #78079a; padding: 0.25em; } div.revhistory th { - color: #0080ff; + color: #78079a; } /* Keep TOC and index lines close together. */ @@ -402,10 +412,10 @@ div.informaltable tfoot, div.informaltable tbody { /* No effect in IE6. */ - border-top: 1px solid #0080ff; - border-bottom: 1px solid #0080ff; - border-left: 1px solid #0080ff; - border-right: 1px solid #0080ff !important; + border-top: 1px solid #78079a; + border-bottom: 1px solid #78079a; + border-left: 1px solid #78079a; + border-right: 1px solid #78079a !important; border-width: 1px !important; } */ diff --git a/doc/common.xsl b/doc/common.xsl index 1bb323c0..94b120af 100644 --- a/doc/common.xsl +++ b/doc/common.xsl @@ -56,12 +56,12 @@ <xsl:param name="html.cellspacing" select="''"/> <xsl:param name="table.borders.with.css" select="1"/> -<xsl:param name="table.cell.border.color" select="'#0080ff'"/> +<xsl:param name="table.cell.border.color" select="'#78079a'"/> <xsl:param name="table.cell.border.style" select="'solid'"/> <xsl:param name="table.cell.border.thickness" select="'1px'"/> <xsl:param name="table.footnote.number.format" select="'a'"/> <xsl:param name="table.footnote.number.symbols" select="''"/> -<xsl:param name="table.frame.border.color" select="'#0080ff'"/> +<xsl:param name="table.frame.border.color" select="'#78079a'"/> <xsl:param name="table.frame.border.style" select="'solid'"/> <xsl:param name="table.frame.border.thickness" select="'1px'"/> <xsl:param name="tablecolumns.extension" select="'1'"/> @@ -73,12 +73,12 @@ </xsl:attribute-set> <xsl:attribute-set name="revhistory.table.properties"> - <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute> + <xsl:attribute name="border">0.5pt solid #78079a</xsl:attribute> <xsl:attribute name="width">50%</xsl:attribute> </xsl:attribute-set> <xsl:attribute-set name="revhistory.table.cell.properties"> - <xsl:attribute name="border">0.5pt solid #0080ff</xsl:attribute> + <xsl:attribute name="border">0.5pt solid #78079a</xsl:attribute> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="padding">2pt</xsl:attribute> </xsl:attribute-set> diff --git a/doc/micropeak-docinfo.xml b/doc/micropeak-docinfo.xml index 4b33e0be..37c6e770 100644 --- a/doc/micropeak-docinfo.xml +++ b/doc/micropeak-docinfo.xml @@ -13,6 +13,13 @@ <imagedata fileref="micropeak-dime.jpg" width="6in"/> </imageobject> </mediaobject> +<corpauthor> + <inlinemediaobject> + <imageobject> + <imagedata fileref="micropeak-oneline.svg" width="3in"/> + </imageobject> + </inlinemediaobject> +</corpauthor> <legalnotice> <para> This document is released under the terms of the diff --git a/doc/micropeak-oneline-font.svg b/doc/micropeak-oneline-font.svg new file mode 100644 index 00000000..f6b23aa3 --- /dev/null +++ b/doc/micropeak-oneline-font.svg @@ -0,0 +1,199 @@ +<?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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="400" + height="54" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="micropeak-oneline-font.svg"> + <defs + id="defs4"> + <linearGradient + id="linearGradient5343"> + <stop + style="stop-color:#7200a4;stop-opacity:1;" + offset="0" + id="stop5345" /> + <stop + style="stop-color:#da7000;stop-opacity:1;" + offset="1" + id="stop5347" /> + </linearGradient> + <marker + inkscape:stockid="Arrow2Send" + orient="auto" + refY="0" + refX="0" + id="Arrow2Send" + style="overflow:visible"> + <path + id="path3798" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send" + style="overflow:visible"> + <path + id="path3780" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible"> + <path + id="path3792" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible"> + <path + id="path3768" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible"> + <path + id="path3786" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5343" + id="linearGradient5349" + x1="255.48561" + y1="275.90405" + x2="280.61411" + y2="275.90405" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.9246394,0,0,1.9246394,-223.70579,-247.62056)" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.8852983" + inkscape:cx="103.59377" + inkscape:cy="27.872251" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="2560" + inkscape:window-height="1582" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <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(-241.93841,-249.0196)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.79423141px;line-height:125%;font-family:'Minion Pro';-inkscape-font-specification:'Minion Pro';letter-spacing:0px;word-spacing:0px;fill:#7200a4;fill-opacity:1;stroke:none" + x="237.36546" + y="300.57535" + id="text2985" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan2989" + x="237.36546" + y="300.57535" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:69.28701782px;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#7200a4;fill-opacity:1">μ</tspan></text> + <path + style="fill:none;stroke:url(#linearGradient5349);stroke-width:5.58145428;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:none" + d="m 270.8026,311.8784 c 5.85134,-0.46986 8.28205,-5.13748 10.35972,-10.71262 3.23453,-8.67942 7.06755,-30.54218 16.59477,-39.56149 7.82712,-7.40985 15.82735,-6.67187 15.82735,-6.67187" + id="path2991" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cssc" /> + <path + sodipodi:type="star" + style="fill:none;stroke:#da7000;stroke-width:2.11710358;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path5341" + sodipodi:sides="5" + sodipodi:cx="313.82785" + sodipodi:cy="254.81477" + sodipodi:r1="13.956471" + sodipodi:r2="6.9782352" + sodipodi:arg1="1.0731354" + sodipodi:arg2="1.7014539" + inkscape:flatsided="false" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 320.49027,267.07835 -7.57159,-5.34482 -8.69538,3.20724 2.74347,-8.85265 -5.73728,-7.27871 9.26715,-0.12642 5.14955,-7.70573 2.98393,8.77452 8.91988,2.51631 -7.42297,5.54937 z" + inkscape:transform-center-x="-0.56191834" + inkscape:transform-center-y="-0.78695059" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:70.16494751px;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#7200a4;fill-opacity:1;stroke:none" + x="331.6398" + y="300.51898" + id="text5351" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5353" + x="331.6398" + y="300.51898">MicroPeak</tspan></text> + </g> +</svg> diff --git a/doc/micropeak-oneline.svg b/doc/micropeak-oneline.svg new file mode 100644 index 00000000..4b695827 --- /dev/null +++ b/doc/micropeak-oneline.svg @@ -0,0 +1,239 @@ +<?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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="444" + height="98" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="micropeak-oneline.svg"> + <defs + id="defs4"> + <linearGradient + id="linearGradient5343"> + <stop + style="stop-color:#7200a4;stop-opacity:1;" + offset="0" + id="stop5345" /> + <stop + style="stop-color:#da7000;stop-opacity:1;" + offset="1" + id="stop5347" /> + </linearGradient> + <marker + inkscape:stockid="Arrow2Send" + orient="auto" + refY="0" + refX="0" + id="Arrow2Send" + style="overflow:visible"> + <path + id="path3798" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send" + style="overflow:visible"> + <path + id="path3780" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible"> + <path + id="path3792" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible"> + <path + id="path3768" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible"> + <path + id="path3786" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5343" + id="linearGradient5349" + x1="255.48561" + y1="275.90405" + x2="280.61411" + y2="275.90405" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.9246394,0,0,1.9246394,-200.29778,-270.16721)" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.8852983" + inkscape:cx="243.9235" + inkscape:cy="27.872251" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1871" + inkscape:window-height="1383" + inkscape:window-x="119" + inkscape:window-y="125" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <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(-241.93841,-205.0196)"> + <g + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.79423141px;line-height:125%;font-family:'Minion Pro';-inkscape-font-specification:'Minion Pro';letter-spacing:0px;word-spacing:0px;fill:#7200a4;fill-opacity:1;stroke:none" + id="text2985" + transform="translate(23.408014,-22.546654)" /> + <path + style="fill:none;stroke:url(#linearGradient5349);stroke-width:5.58145428;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:none" + d="m 294.21061,289.33175 c 5.85134,-0.46986 8.28205,-5.13748 10.35972,-10.71262 3.23453,-8.67942 7.06755,-30.54218 16.59477,-39.56149 7.82712,-7.40985 15.82735,-6.67187 15.82735,-6.67187" + id="path2991" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cssc" /> + <path + sodipodi:type="star" + style="fill:none;stroke:#da7000;stroke-width:2.11710358;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path5341" + sodipodi:sides="5" + sodipodi:cx="337.23586" + sodipodi:cy="232.26813" + sodipodi:r1="13.956471" + sodipodi:r2="6.9782352" + sodipodi:arg1="1.0731354" + sodipodi:arg2="1.7014539" + inkscape:flatsided="false" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 343.89829,244.5317 -7.57159,-5.34482 -8.69538,3.20724 2.74347,-8.85265 -5.73728,-7.27871 9.26715,-0.12642 5.14955,-7.70573 2.98393,8.77452 8.91988,2.51631 -7.42297,5.54937 z" + inkscape:transform-center-x="-0.56191834" + inkscape:transform-center-y="-0.78695059" /> + <g + id="g4212" + style="fill:#78079a;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4233" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:69.28701782px;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';letter-spacing:0px;word-spacing:0px;fill:#78079a;fill-opacity:1;stroke:none;text-align:start;writing-mode:lr-tb;text-anchor:start" + d="m 271.3161,268.77261 c 0,-2.07861 -0.76216,-3.60293 -3.04863,-3.60293 -2.28647,0 -3.04863,1.52432 -3.04863,3.60293 l 0,16.69817 c 0,5.54296 -3.94936,9.83875 -9.28446,9.83875 -5.88939,0 -7.89872,-3.60292 -7.89872,-9.76946 l 0,-16.76746 c 0,-2.07861 -0.76215,-3.60293 -3.04862,-3.60293 -2.28648,0 -3.04863,1.52432 -3.04863,3.60293 l 0,42.19579 c 0,2.07861 0.76215,3.60293 3.04863,3.60293 2.28647,0 3.04862,-1.52432 3.04862,-3.60293 l 0,-11.84808 c 1.52432,1.17788 4.01865,1.87075 6.85942,1.87075 4.43437,0 8.5223,-1.52431 10.87806,-5.75082 l 0.13857,0.13857 0,2.42505 c 0,1.66289 1.03931,2.77148 2.7022,2.77148 1.66289,0 2.70219,-1.10859 2.70219,-2.77148 l 0,-29.03126 z" + transform="translate(23.40801,-22.54665)" /> + <g + style="fill:#78079a;fill-opacity:1" + id="g4200"> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4236" + d="m 380.37736,256.92285 c 4.28006,0 10.5949,-13.68217 12.13853,-17.05008 l 0.14033,0 c 2.10495,11.50705 2.38561,23.15443 2.38561,34.02999 0,2.73644 0.77182,4.28007 3.08726,4.28007 2.10495,0 3.08726,-1.68396 3.08726,-4.28007 0,-9.54243 -1.82429,-30.31125 -3.71875,-38.94154 -0.49115,-2.38561 -1.75412,-5.47287 -4.06956,-5.47287 -3.92924,0 -5.54303,9.19161 -13.05068,19.71635 -7.50765,-10.52474 -9.12145,-19.71635 -13.05068,-19.71635 -2.31545,0 -3.57842,3.08726 -4.06957,5.47287 -1.89445,8.63029 -3.71874,29.39911 -3.71874,38.94154 0,2.59611 0.98231,4.28007 3.08726,4.28007 2.31544,0 3.08725,-1.54363 3.08725,-4.28007 0,-10.87556 0.28066,-22.52294 2.31545,-34.02999 l 0.14033,0 c 1.61379,3.36791 7.92864,17.05008 12.2087,17.05008 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4238" + d="m 416.62852,245.76662 c 0,-2.10495 -0.77182,-3.64858 -3.08726,-3.64858 -2.31544,0 -3.08726,1.54363 -3.08726,3.64858 l 0,28.76763 c 0,2.10495 0.77182,3.64858 3.08726,3.64858 2.31544,0 3.08726,-1.54363 3.08726,-3.64858 l 0,-28.76763 z m -3.08726,-15.64678 c -2.24528,0 -3.29775,1.96462 -3.29775,4.06956 0,2.10495 1.05247,4.06957 3.29775,4.06957 2.24528,0 3.29775,-1.96462 3.29775,-4.06957 0,-2.10494 -1.05247,-4.06956 -3.29775,-4.06956 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4240" + d="m 446.07368,272.21881 c -8.56013,0 -15.36613,-5.33254 -15.36613,-14.73464 0,-6.52534 3.57842,-9.8231 12.27887,-9.8231 l 7.9988,0 c 1.89446,0 3.15743,-0.84197 3.15743,-2.66626 0,-1.82429 -1.26297,-2.66627 -3.15743,-2.66627 l -11.92804,0 c -9.19161,0 -14.94513,6.45517 -14.94513,14.94513 0,12.77002 10.59491,20.69866 20.13734,20.69866 l 8.34963,0 c 1.96462,0 3.36791,-0.91214 3.36791,-2.87676 0,-1.96462 -1.40329,-2.87676 -3.36791,-2.87676 l -6.52534,0 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4242" + d="m 461.22931,274.53425 c 0,2.10495 0.77181,3.64858 3.08725,3.64858 2.31545,0 3.08726,-1.54363 3.08726,-3.64858 l 0,-18.59371 c 0,-5.47287 4.35023,-8.27947 9.47227,-8.27947 2.24528,0 3.15742,-1.05247 3.15742,-3.01709 0,-2.03478 -1.33313,-2.73643 -3.64858,-2.73643 -4.49055,0 -7.50764,1.68396 -8.84078,6.10435 l -0.14033,0 0,-2.03478 c 0,-2.10495 -0.77181,-3.64858 -3.08726,-3.64858 -2.31544,0 -3.08725,1.54363 -3.08725,3.64858 l 0,28.55713 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4244" + d="m 498.09441,273.06079 c -6.38501,0 -10.66507,-6.10435 -10.66507,-12.91035 0,-6.806 4.28006,-12.91036 10.66507,-12.91036 6.45518,0 10.73524,6.10436 10.73524,12.91036 0,6.806 -4.28006,12.91035 -10.73524,12.91035 z m 0,5.33253 c 9.54243,0 16.90975,-7.92864 16.90975,-18.31305 0,-9.68276 -7.36732,-18.17272 -16.90975,-18.17272 -9.54243,0 -16.83959,8.48996 -16.83959,18.17272 0,10.38441 7.29716,18.31305 16.83959,18.31305 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4246" + d="m 529.43293,256.78252 c 8.63029,-3.08726 27.15383,-6.45518 27.15383,-18.73404 0,-5.6132 -4.49055,-8.34963 -10.03358,-8.34963 l -20.418,0 c -2.17512,0 -2.87677,1.4033 -2.87677,3.36792 l 0,41.46748 c 0,2.17511 0.98231,3.64858 3.08726,3.64858 2.10495,0 3.08726,-1.47347 3.08726,-3.64858 l 0,-17.75173 z m 15.99761,-21.33015 c 2.45577,0 4.28006,0.84198 4.28006,3.57842 0,6.31484 -13.19101,8.48995 -20.27767,11.43688 l 0,-15.0153 15.99761,0 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4248" + d="m 566.52497,255.80021 c 0.91214,-4.49056 4.13973,-8.56013 10.87556,-8.56013 5.68336,0 9.26178,3.64858 9.54244,8.56013 l -20.418,0 z m 23.15443,4.77121 c 3.36792,0 3.43808,-0.77181 3.43808,-3.71874 0,-8.84078 -6.94633,-14.94513 -15.64678,-14.94513 -10.45458,0 -17.8219,7.15682 -17.8219,17.68157 0,12.34903 7.78831,18.38321 17.05008,18.38321 l 13.47167,0 c 1.89446,0 3.15743,-0.84198 3.15743,-2.66627 0,-1.82428 -1.26297,-2.66626 -3.15743,-2.66626 l -13.33134,0 c -5.75352,0 -11.08606,-3.92924 -10.5949,-12.06838 l 23.43509,0 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4250" + d="m 620.52676,265.34264 c 0,6.10435 -3.43809,8.27947 -9.26178,8.27947 -5.26237,0 -8.27946,-1.89446 -8.27946,-6.10436 0,-6.5955 9.47227,-8.56012 17.54124,-8.56012 l 0,6.38501 z m -5.68336,-17.26058 c 4.28006,0 5.68336,0.98231 5.68336,3.99941 l 0,2.10494 c -9.05128,0.56132 -23.71576,1.4033 -23.71576,13.612 0,6.66567 5.68336,10.59491 13.47167,10.59491 4.77122,0 7.0165,-1.26297 10.66508,-3.9994 0,2.24528 0.91214,3.57841 2.87676,3.57841 1.96462,0 2.87676,-1.33313 2.87676,-3.57841 l 0,-19.43569 c 0,-6.24468 -1.68396,-12.62969 -10.94573,-12.62969 l -12.98052,0 c -2.03478,0 -3.36791,0.91214 -3.36791,2.87676 0,1.96462 1.33313,2.87676 3.36791,2.87676 l 12.06838,0 z" /> + <path + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" + id="path4252" + d="m 635.47191,274.53425 c 0,2.10495 0.77181,3.64858 3.08725,3.64858 2.31545,0 3.08726,-1.54363 3.08726,-3.64858 l 0,-17.19041 c 11.71755,1.61379 15.50645,5.33253 17.19041,17.26057 0.28066,1.96462 0.56132,3.57842 3.0171,3.57842 2.03478,0 3.15742,-1.05248 3.15742,-3.29776 0,-7.9988 -4.13973,-17.19041 -12.27887,-19.64618 l 0,-0.14033 c 3.92924,-1.33313 9.6126,-5.89386 9.6126,-10.45458 0,-1.54363 -1.05247,-2.8066 -2.24528,-2.8066 -2.31544,0 -2.8066,1.6138 -5.05187,4.77122 -2.52594,3.71874 -7.29716,6.24468 -11.92805,6.24468 l -1.47346,0 0,-19.71635 c 0,-2.10495 -0.77181,-3.64858 -3.08726,-3.64858 -2.31544,0 -3.08725,1.54363 -3.08725,3.64858 l 0,41.39732 z" /> + </g> + </g> + </g> +</svg> diff --git a/doc/telegps-docinfo.xml b/doc/telegps-docinfo.xml index 633e56cc..4ba3f73c 100644 --- a/doc/telegps-docinfo.xml +++ b/doc/telegps-docinfo.xml @@ -18,6 +18,14 @@ <imagedata fileref="telegps-v1.0-top.jpg" width="4.0in"/> </imageobject> </mediaobject> +<corpauthor> + <inlinemediaobject> + <imageobject> + <imagedata fileref="telegps-oneline.svg" width="3in"/> + </imageobject> + </inlinemediaobject> +</corpauthor> + <legalnotice> <para> This document is released under the terms of the diff --git a/doc/telegps-oneline-font.svg b/doc/telegps-oneline-font.svg new file mode 100644 index 00000000..a2cf540b --- /dev/null +++ b/doc/telegps-oneline-font.svg @@ -0,0 +1,304 @@ +<?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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="849.46857" + height="136.09171" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="telegps-oneline-font.svg"> + <defs + id="defs4"> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient3175" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3169"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3171" /> + <stop + id="stop3445" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3173" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient3171" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3165"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3167" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3169" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient2838" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3181"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3183" /> + <stop + id="stop3185" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3187" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient2840" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3190"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3192" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3194" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient2830" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3197"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3199" /> + <stop + id="stop3201" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3203" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient2832" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3206"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3208" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3210" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient2834" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3213"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3215" /> + <stop + id="stop3217" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3219" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient2836" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3222"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3224" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3226" /> + </linearGradient> + <radialGradient + r="951.68701" + fy="2305.2668" + fx="951.68713" + cy="2305.2668" + cx="951.68713" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" + id="radialGradient3232" + xlink:href="#linearGradient3169" + inkscape:collect="always" /> + <radialGradient + r="951.68701" + fy="1205.2668" + fx="951.68713" + cy="1205.2668" + cx="951.68713" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" + id="radialGradient3234" + xlink:href="#linearGradient3165" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient4101" + cx="194.54575" + cy="361.16367" + fx="194.54575" + fy="361.16367" + r="70.597672" + gradientTransform="matrix(1,0,0,0.95908583,137.14286,74.776711)" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="157.24908" + inkscape:cy="-0.91832278" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1617" + inkscape:window-height="1038" + inkscape:window-x="729" + inkscape:window-y="416" + inkscape:window-maximized="0" /> + <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(-261.09094,-353.45446)"> + <path + style="fill:url(#radialGradient4101);fill-opacity:1" + d="m 261.09094,466.61035 1.9122,-1.69399 39.0721,-36.4688 20.74158,22.05252 -40.71991,38.37279 z m 36.24983,1.34654 -14.08636,-15.38433 -15.33887,14.40857 14.50759,15.23741 z m 18.98704,-17.58715 -14.47613,-15.53942 -14.95191,14.42099 14.19976,15.37575 z m 43.2565,3.24033 -5.69326,-6.00917 -2.76929,1.85727 c -5.01515,3.36349 -10.61773,4.75193 -13.55344,3.35884 -0.90785,-0.4308 -11.20677,-10.85557 -16.46128,-16.61505 -6.3177,-6.92484 -17.77225,-18.68338 -18.08204,-21.53696 l -0.25491,-2.34789 -6.68224,-3.00173 -6.68224,-3.00173 -0.12416,-2.54849 c -0.24316,-4.99109 2.61694,-11.66135 7.10652,-16.57368 6.51922,-7.13306 14.23173,-10.81215 21.4071,-10.21178 l 2.49577,0.20881 2.34108,7.3087 2.34109,7.3087 2.0542,0.21626 c 1.12981,0.11895 2.29245,0.36702 2.58364,0.55127 0.29119,0.18424 11.17756,11.55849 16.63562,17.46044 5.67391,6.13537 16.35301,17.71615 16.74619,18.65715 1.36492,3.26672 -0.56522,9.34479 -4.44838,14.00803 -0.92939,1.1161 -1.6875,2.14976 -1.6847,2.29703 0.003,0.14726 2.44601,2.88431 5.42933,6.08233 2.98332,3.19801 5.42421,6.02814 5.42421,6.28919 0,0.66794 -0.91528,1.72591 -1.73982,2.01104 -0.50334,0.17406 -2.27007,-1.42112 -6.38899,-5.76858 z m -13.8944,-6.52384 c 0.96195,-0.49074 2.46683,-1.3673 3.34417,-1.94791 l 1.59519,-1.05564 -1.69025,-1.72225 c -1.71532,-1.74777 -2.09589,-2.99732 -1.1891,-3.90412 0.98407,-0.98406 2.33559,-0.53387 3.9423,1.31314 l 1.57825,1.81431 1.43638,-1.7099 c 1.7115,-2.03742 3.3933,-5.47555 3.39008,-6.9304 -0.0104,-4.68327 -7.01613,-2.68794 -13.36898,3.80766 -4.26282,4.35861 -6.32786,9.57528 -4.26584,10.77629 1.19252,0.69458 3.36009,0.51166 5.2278,-0.44118 z m -37.53066,-44.39022 c 2.23934,-2.70633 7.29399,-6.99375 10.13666,-8.59806 1.69887,-0.95877 2.21231,-1.46174 2.04152,-1.99985 -0.1255,-0.3954 -1.05734,-3.0661 -2.07077,-5.93487 l -1.84259,-5.21596 -1.60649,0.12825 c -4.1301,0.32972 -9.06228,2.86043 -13.29918,6.82384 -4.03277,3.77245 -7.7843,10.20829 -7.89014,13.53572 l -0.0463,1.4539 5.4085,2.47197 5.4085,2.47197 1.02919,-1.54008 c 0.56606,-0.84704 1.79503,-2.46562 2.73105,-3.59683 z m 32.91039,-10.47213 40.55794,-38.76942 c 7.09795,7.71166 14.5366,15.63755 20.65837,22.2503 l -40.53088,38.2414 z m 35.73645,1.02093 -14.2595,-15.3791 -15.29495,14.35785 14.65467,15.14661 z m 18.6801,-17.55816 -14.10162,-15.40128 -15.32812,14.3973 14.52992,15.24342 z" + id="path3063" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccccscssascccssscccscasscsssssccssscssssscssscssccccsccccccccccccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:195.13301086px;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" + x="418.66663" + y="488.37537" + id="text3022" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="418.66663" + y="488.37537" + id="tspan3026">TeleGPS</tspan></text> + </g> +</svg> diff --git a/doc/telegps-oneline.svg b/doc/telegps-oneline.svg new file mode 100644 index 00000000..21497899 --- /dev/null +++ b/doc/telegps-oneline.svg @@ -0,0 +1,332 @@ +<?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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="444" + height="98" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="telegps-oneline.svg"> + <defs + id="defs4"> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient3175" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3169"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3171" /> + <stop + id="stop3445" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3173" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient3171" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3165"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3167" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3169" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient2838" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3181"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3183" /> + <stop + id="stop3185" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3187" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient2840" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3190"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3192" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3194" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient2830" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3197"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3199" /> + <stop + id="stop3201" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3203" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient2832" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3206"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3208" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3210" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient2834" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="2305.2668" + fx="951.68713" + fy="2305.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3213"> + <stop + style="stop-color:#ff8a00;stop-opacity:1;" + offset="0" + id="stop3215" /> + <stop + id="stop3217" + offset="0.71698111" + style="stop-color:#c24573;stop-opacity:0.98039216;" /> + <stop + style="stop-color:#8500e7;stop-opacity:0.96078432;" + offset="1" + id="stop3219" /> + </linearGradient> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3165" + id="radialGradient2836" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + cx="951.68713" + cy="1205.2668" + fx="951.68713" + fy="1205.2668" + r="951.68701" /> + <linearGradient + id="linearGradient3222"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3224" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3226" /> + </linearGradient> + <radialGradient + r="951.68701" + fy="2305.2668" + fx="951.68713" + cy="2305.2668" + cx="951.68713" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" + id="radialGradient3232" + xlink:href="#linearGradient3169" + inkscape:collect="always" /> + <radialGradient + r="951.68701" + fy="1205.2668" + fx="951.68713" + cy="1205.2668" + cx="951.68713" + gradientTransform="matrix(1,0,0,1.2664529,0,-321.14689)" + gradientUnits="userSpaceOnUse" + id="radialGradient3234" + xlink:href="#linearGradient3165" + inkscape:collect="always" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3169" + id="radialGradient4101" + cx="194.54575" + cy="361.16367" + fx="194.54575" + fy="361.16367" + r="70.597672" + gradientTransform="matrix(0.39116682,0,0,0.37516256,264.74942,305.15926)" + gradientUnits="userSpaceOnUse" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.8" + inkscape:cx="199.46382" + inkscape:cy="-0.91832278" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="2060" + inkscape:window-height="1038" + inkscape:window-x="128" + inkscape:window-y="382" + inkscape:window-maximized="0" /> + <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(-261.09094,-391.54617)"> + <path + style="fill:url(#radialGradient4101);fill-opacity:1" + d="m 313.2338,458.43158 0.74799,-0.66263 15.28371,-14.26539 8.11342,8.62622 -15.92828,15.01016 z m 14.17973,0.52672 -5.51012,-6.01784 -6.00005,5.63616 5.67488,5.96037 z m 7.4271,-6.87951 -5.66258,-6.0785 -5.84869,5.64101 5.55447,6.01448 z m 16.92051,1.26751 -2.22702,-2.35058 -1.08325,0.7265 c -1.96176,1.31568 -4.1533,1.8588 -5.30166,1.31387 -0.35512,-0.16852 -4.38371,-4.24634 -6.4391,-6.49926 -2.47128,-2.70877 -6.95192,-7.30832 -7.0731,-8.42455 l -0.0997,-0.91841 -2.61387,-1.17418 -2.61387,-1.17418 -0.0486,-0.99688 c -0.0951,-1.95235 1.02366,-4.56153 2.77984,-6.48307 2.5501,-2.79022 5.56698,-4.22936 8.37374,-3.99451 l 0.97627,0.0817 0.91575,2.85892 0.91576,2.85892 0.80353,0.0846 c 0.44195,0.0465 0.89673,0.14357 1.01064,0.21564 0.1139,0.0721 4.37229,4.5213 6.5073,6.82994 2.21944,2.39996 6.39675,6.92997 6.55055,7.29806 0.53391,1.27783 -0.22109,3.65537 -1.74006,5.47948 -0.36354,0.43658 -0.66009,0.84091 -0.659,0.89852 10e-4,0.0576 0.9568,1.12825 2.12378,2.37921 1.16697,1.25095 2.12177,2.358 2.12177,2.46012 0,0.26127 -0.35803,0.67512 -0.68056,0.78665 -0.19689,0.0681 -0.88798,-0.55589 -2.49916,-2.25648 z m -5.43503,-2.55191 c 0.37628,-0.19196 0.96494,-0.53484 1.30813,-0.76195 l 0.62398,-0.41293 -0.66117,-0.67369 c -0.67097,-0.68367 -0.81984,-1.17245 -0.46513,-1.52716 0.38493,-0.38494 0.9136,-0.20884 1.54209,0.51365 l 0.61736,0.7097 0.56187,-0.66886 c 0.66948,-0.79697 1.32734,-2.14185 1.32608,-2.71094 -0.004,-1.83194 -2.74447,-1.05143 -5.2295,1.48943 -1.66747,1.70495 -2.47525,3.74553 -1.66865,4.21533 0.46647,0.2717 1.31435,0.20014 2.04494,-0.17258 z m -14.68075,-17.36398 c 0.87596,-1.05862 2.85317,-2.73572 3.96513,-3.36327 0.66454,-0.37504 0.86538,-0.57179 0.79857,-0.78228 -0.0491,-0.15467 -0.4136,-1.19935 -0.81002,-2.32152 l -0.72076,-2.04031 -0.6284,0.0502 c -1.61556,0.12898 -3.54486,1.11891 -5.2022,2.66926 -1.57748,1.47566 -3.04496,3.99315 -3.08636,5.29473 l -0.0181,0.56872 2.11562,0.96695 2.11563,0.96695 0.40259,-0.60243 c 0.22142,-0.33133 0.70215,-0.96447 1.06829,-1.40696 z m 12.87345,-4.09635 15.86492,-15.16531 c 2.77649,3.01655 5.68624,6.11689 8.08087,8.70358 l -15.85433,14.95877 z m 13.97892,0.39936 -5.57785,-6.0158 -5.98287,5.61632 5.73242,5.92485 z m 7.30703,-6.86817 -5.51608,-6.02447 -5.99586,5.63174 5.68363,5.96272 z" + id="path3063" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccccscssascccssscccscasscsssssccssscssssscssscssccccsccccccccccccccccc" /> + <g + id="g4484" + style="fill:#78079a;fill-opacity:1"> + <path + d="m 397.31307,420.68962 11.6021,0 c 2.13722,0 3.66381,-0.99229 3.66381,-3.12952 0,-2.13723 -1.52659,-3.12951 -3.66381,-3.12951 l -29.92119,0 c -2.13723,0 -3.66382,0.99228 -3.66382,3.12951 0,2.13723 1.52659,3.12952 3.66382,3.12952 l 11.60209,0 0,42.51556 c 0,2.36622 1.06862,3.96914 3.3585,3.96914 2.28989,0 3.3585,-1.60292 3.3585,-3.96914 l 0,-42.51556 z" + id="path4214" + inkscape:connector-curvature="0" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" /> + <path + d="m 416.63996,442.82519 c 0.99228,-4.88509 4.50344,-9.31221 11.83108,-9.31221 6.18269,0 10.0755,3.96914 10.38082,9.31221 l -22.2119,0 z m 25.18875,5.19041 c 3.66382,0 3.74015,-0.83963 3.74015,-4.04547 0,-9.61752 -7.55662,-16.25819 -17.02149,-16.25819 -11.37311,0 -19.38771,7.78561 -19.38771,19.23505 0,13.434 8.47258,19.99834 18.54808,19.99834 l 14.65528,0 c 2.0609,0 3.43483,-0.91596 3.43483,-2.90052 0,-1.98457 -1.37393,-2.90053 -3.43483,-2.90053 l -14.50262,0 c -6.25902,0 -12.06007,-4.27445 -11.52576,-13.12868 l 25.49407,0 z" + id="path4216" + inkscape:connector-curvature="0" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" /> + <path + d="m 460.34936,418.17074 c 0,-2.28989 -0.83962,-3.96913 -3.3585,-3.96913 -2.51888,0 -3.3585,1.67924 -3.3585,3.96913 l 0,45.03444 c 0,2.36622 1.06861,3.96914 3.3585,3.96914 2.28989,0 3.3585,-1.60292 3.3585,-3.96914 l 0,-45.03444 z" + id="path4218" + inkscape:connector-curvature="0" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" /> + <path + d="m 476.12335,442.82519 c 0.99228,-4.88509 4.50344,-9.31221 11.83108,-9.31221 6.18269,0 10.0755,3.96914 10.38082,9.31221 l -22.2119,0 z m 25.18875,5.19041 c 3.66382,0 3.74015,-0.83963 3.74015,-4.04547 0,-9.61752 -7.55663,-16.25819 -17.02149,-16.25819 -11.37311,0 -19.38771,7.78561 -19.38771,19.23505 0,13.434 8.47258,19.99834 18.54808,19.99834 l 14.65528,0 c 2.0609,0 3.43483,-0.91596 3.43483,-2.90052 0,-1.98457 -1.37393,-2.90053 -3.43483,-2.90053 l -14.50262,0 c -6.25902,0 -12.06007,-4.27445 -11.52576,-13.12868 l 25.49407,0 z" + id="path4220" + inkscape:connector-curvature="0" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" /> + <path + d="m 547.99836,461.14428 c -15.11326,0 -29.84486,-8.09093 -29.84486,-25.11242 0,-10.53348 5.87738,-15.34224 13.89198,-15.34224 l 17.40314,0 c 2.13723,0 3.66382,-0.99229 3.66382,-3.12952 0,-2.13723 -1.52659,-3.12951 -3.66382,-3.12951 l -18.70074,0 c -12.44172,0 -20.07467,8.93056 -20.07467,21.21962 0,20.9143 17.09781,31.75309 35.95122,31.75309 5.19041,0 8.09093,-0.45797 8.09093,-4.88509 l 0,-29.84485 c 0,-4.42712 -1.83191,-4.96142 -5.64839,-4.96142 l -12.89969,0 c -2.13723,0 -3.66382,0.99228 -3.66382,3.12951 0,2.13723 1.52659,3.12951 3.66382,3.12951 l 11.83108,0 0,27.17332 z" + id="path4222" + inkscape:connector-curvature="0" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" /> + <path + d="m 571.73446,443.8938 c 9.38854,-3.3585 29.53954,-7.02232 29.53954,-20.37999 0,-6.10637 -4.88509,-9.08322 -10.91513,-9.08322 l -22.2119,0 c -2.36621,0 -3.12951,1.52659 -3.12951,3.66382 l 0,45.11077 c 0,2.36622 1.06862,3.96914 3.3585,3.96914 2.28989,0 3.3585,-1.60292 3.3585,-3.96914 l 0,-19.31138 z m 17.40314,-23.20418 c 2.67154,0 4.65611,0.91595 4.65611,3.89281 0,6.86966 -14.34996,9.23587 -22.05925,12.44171 l 0,-16.33452 17.40314,0 z" + id="path4224" + inkscape:connector-curvature="0" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" /> + <path + d="m 615.90185,414.43059 c -6.1827,0 -11.60208,3.51116 -11.60208,10.45715 0,18.70074 34.04297,4.04547 34.04297,22.59355 0,8.16726 -4.80877,13.20502 -15.80021,13.20502 l -14.80793,0 c -2.13722,0 -3.66382,0.99228 -3.66382,3.12951 0,2.13723 1.5266,3.12951 3.66382,3.12951 l 16.79248,0 c 12.97606,0 20.99064,-8.54891 20.99064,-19.6167 0,-24.65445 -34.04298,-12.89969 -34.04298,-22.51722 0,-3.96913 4.12181,-4.12179 6.56433,-4.12179 l 17.09782,0 c 2.13726,0 3.66383,-0.99229 3.66383,-3.12952 0,-2.13723 -1.52657,-3.12951 -3.66383,-3.12951 l -19.23504,0 z" + id="path4226" + inkscape:connector-curvature="0" + style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:'ITC Benguiat Gothic Std';-inkscape-font-specification:'ITC Benguiat Gothic Std Medium';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#78079a;fill-opacity:1;stroke:none" /> + </g> + </g> +</svg> diff --git a/doc/titlepage.templates.tmpl b/doc/titlepage.templates.tmpl index 9de1b31f..1669e465 100644 --- a/doc/titlepage.templates.tmpl +++ b/doc/titlepage.templates.tmpl @@ -132,35 +132,37 @@ <!-- ==================================================================== --> - <t:titlepage t:element="book" t:wrapper="fo:block"> - <t:titlepage-content t:side="recto"> - <title - t:named-template="division.title" - param:node="ancestor-or-self::book[1]" - text-align="center" - font-size="&hsize5;" - space-before="&hsize5space;" - font-weight="bold" - font-family="{$title.fontset}"/> - <subtitle - text-align="center" - font-size="&hsize4;" - space-before="&hsize4space;" - font-family="{$title.fontset}"/> - <corpauthor font-size="&hsize3;" - keep-with-next.within-column="always" - space-before="2in"/> - <authorgroup space-before="2in"/> - <author font-size="&hsize3;" - space-before="&hsize2space;" - keep-with-next.within-column="always"/> - <!-- If you add editor, include this t:predicate attribute - because only the first editor generates the list of editors. - <editor t:predicate="[position() = 1]"/> - --> - <mediaobject space-before="1.5in"/> - <itermset/> - </t:titlepage-content> +<t:titlepage t:element="book" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::book[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}"/> + <subtitle + text-align="center" + font-size="&hsize4;" + space-before="&hsize4space;" + font-family="{$title.fontset}"/> +<!-- + <corpauthor font-size="&hsize3;" + keep-with-next.within-column="always" + space-before="2in"/> + --> + <authorgroup space-before="2in"/> + <author font-size="&hsize3;" + space-before="&hsize2space;" + keep-with-next.within-column="always"/> + <!-- If you add editor, include this t:predicate attribute + because only the first editor generates the list of editors. + <editor t:predicate="[position() = 1]"/> + --> + <mediaobject space-before="1.5in"/> + <itermset/> + </t:titlepage-content> <t:titlepage-content t:side="verso"> <title @@ -168,7 +170,6 @@ font-size="&hsize2;" font-weight="bold" font-family="{$title.fontset}"/> - <corpauthor/> <authorgroup t:named-template="verso.authorgroup"/> <author/> <!-- If you add editor, include this t:predicate attribute @@ -181,6 +182,7 @@ <copyright/> <abstract/> <legalnotice font-size="8pt"/> + <corpauthor text-align="center"/> <revhistory space-before="0.5in"/> </t:titlepage-content> -- cgit v1.2.3 From 54c20f1caf7f2e09284a9839cfa854d71f5634a2 Mon Sep 17 00:00:00 2001 From: Keith Packard <keithp@keithp.com> Date: Sun, 10 Jan 2016 11:44:17 -0800 Subject: Add release notes for 1.6.2 Signed-off-by: Keith Packard <keithp@keithp.com> --- doc/Makefile | 1 + doc/RELNOTES | 25 ++++++++++++++++++++ doc/altusmetrum-docinfo.xml | 9 +++++++- doc/easymini-docinfo.xml | 4 ++-- doc/easymini-release-notes.inc | 2 +- doc/release-notes-0.7.1-docinfo.xml | 2 +- doc/release-notes-0.8-docinfo.xml | 2 +- doc/release-notes-0.9-docinfo.xml | 2 +- doc/release-notes-0.9.2-docinfo.xml | 2 +- doc/release-notes-1.0.1-docinfo.xml | 2 +- doc/release-notes-1.1-docinfo.xml | 2 +- doc/release-notes-1.1.1-docinfo.xml | 2 +- doc/release-notes-1.2-docinfo.xml | 2 +- doc/release-notes-1.2.1-docinfo.xml | 2 +- doc/release-notes-1.3-docinfo.xml | 2 +- doc/release-notes-1.3.1-docinfo.xml | 2 +- doc/release-notes-1.3.2-docinfo.xml | 2 +- doc/release-notes-1.4-docinfo.xml | 2 +- doc/release-notes-1.4.1-docinfo.xml | 2 +- doc/release-notes-1.4.2-docinfo.xml | 2 +- doc/release-notes-1.5-docinfo.xml | 2 +- doc/release-notes-1.6-docinfo.xml | 2 +- doc/release-notes-1.6.1-docinfo.xml | 2 +- doc/release-notes-1.6.2-docinfo.xml | 29 +++++++++++++++++++++++ doc/release-notes-1.6.2.inc | 46 +++++++++++++++++++++++++++++++++++++ doc/release-notes.inc | 4 ++++ doc/telegps-release-notes.inc | 4 ++++ doc/titlepage.templates.tmpl | 22 ++++++++++-------- 28 files changed, 150 insertions(+), 32 deletions(-) create mode 100644 doc/RELNOTES create mode 100644 doc/release-notes-1.6.2-docinfo.xml create mode 100644 doc/release-notes-1.6.2.inc (limited to 'doc/altusmetrum-docinfo.xml') diff --git a/doc/Makefile b/doc/Makefile index 939969ab..08835ad3 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -3,6 +3,7 @@ # RELNOTES_INC=\ + release-notes-1.6.2.inc \ release-notes-1.6.1.inc \ release-notes-1.6.inc \ release-notes-1.5.inc \ diff --git a/doc/RELNOTES b/doc/RELNOTES new file mode 100644 index 00000000..0b04ac5f --- /dev/null +++ b/doc/RELNOTES @@ -0,0 +1,25 @@ +Creating documentation for a new release of AltOS + +* Write release notes in release-notes-${version}.inc. Write docinfo + for release notes in release-notes-${version}-docinfo.xml. Add to + Makefile + +* Add references to that as appropriate from each of the + documents: + + release-notes.inc + easymini-release-notes.inc + telegps-release-notes.inc + +* Update date and add docinfo short release info for each document as + appropriate + + altusmetrum-docinfo.xml + companion-docinfo.xml + easymini-docinfo.xml + micropeak-docinfo.xml + telegps-docinfo.xml + telemetry-docinfo.xml + +* Add release-notes-${version}.inc and + release-notes-${version}-docinfo.xml to git diff --git a/doc/altusmetrum-docinfo.xml b/doc/altusmetrum-docinfo.xml index 69a769b6..9f2dda1c 100644 --- a/doc/altusmetrum-docinfo.xml +++ b/doc/altusmetrum-docinfo.xml @@ -30,7 +30,7 @@ <corpauthor> <inlinemediaobject> <imageobject> - <imagedata fileref="altusmetrum-oneline.svg" width="3in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="4in"/> </imageobject> </inlinemediaobject> </corpauthor> @@ -46,6 +46,13 @@ </legalnotice> <revhistory> <?dbhtml filename="altusmetrum-revhistory.html"?> + <revision> + <revnumber>1.6.2</revnumber> + <date>10 January 2016</date> + <revremark> + Minor release adding TeleMega v2.0 support. + </revremark> + </revision> <revision> <revnumber>1.6.1</revnumber> <date>15 July 2015</date> diff --git a/doc/easymini-docinfo.xml b/doc/easymini-docinfo.xml index f3c7ba19..7789d2f3 100644 --- a/doc/easymini-docinfo.xml +++ b/doc/easymini-docinfo.xml @@ -10,7 +10,7 @@ <email>keithp@keithp.com</email> </author> <copyright> - <year>2015</year> + <year>2016</year> <holder>Bdale Garbee and Keith Packard</holder> </copyright> <mediaobject> @@ -40,7 +40,7 @@ <?dbhtml filename="easymini-revhistory.html"?> <revision> <revnumber>1.6.2</revnumber> - <date>13 November 2015</date> + <date>10 January 2016</date> <revremark> First release of separate EasyMini doc </revremark> diff --git a/doc/easymini-release-notes.inc b/doc/easymini-release-notes.inc index e448b394..352a989b 100644 --- a/doc/easymini-release-notes.inc +++ b/doc/easymini-release-notes.inc @@ -2,6 +2,6 @@ == Release Notes :leveloffset: 2 - include::release-notes-1.6.1.raw[] + include::release-notes-1.6.2.raw[] :leveloffset: 0 diff --git a/doc/release-notes-0.7.1-docinfo.xml b/doc/release-notes-0.7.1-docinfo.xml index 71bc3180..9657f2a6 100644 --- a/doc/release-notes-0.7.1-docinfo.xml +++ b/doc/release-notes-0.7.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-0.8-docinfo.xml b/doc/release-notes-0.8-docinfo.xml index d06249f5..d593da31 100644 --- a/doc/release-notes-0.8-docinfo.xml +++ b/doc/release-notes-0.8-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-0.9-docinfo.xml b/doc/release-notes-0.9-docinfo.xml index 0602cb02..605472f2 100644 --- a/doc/release-notes-0.9-docinfo.xml +++ b/doc/release-notes-0.9-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-0.9.2-docinfo.xml b/doc/release-notes-0.9.2-docinfo.xml index ec1e4482..40e53634 100644 --- a/doc/release-notes-0.9.2-docinfo.xml +++ b/doc/release-notes-0.9.2-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.0.1-docinfo.xml b/doc/release-notes-1.0.1-docinfo.xml index 95a7681d..23972104 100644 --- a/doc/release-notes-1.0.1-docinfo.xml +++ b/doc/release-notes-1.0.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.1-docinfo.xml b/doc/release-notes-1.1-docinfo.xml index 032a06c5..93273918 100644 --- a/doc/release-notes-1.1-docinfo.xml +++ b/doc/release-notes-1.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.1.1-docinfo.xml b/doc/release-notes-1.1.1-docinfo.xml index 4c2c8b1c..41ea12da 100644 --- a/doc/release-notes-1.1.1-docinfo.xml +++ b/doc/release-notes-1.1.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.2-docinfo.xml b/doc/release-notes-1.2-docinfo.xml index f35f033d..ba2c9d56 100644 --- a/doc/release-notes-1.2-docinfo.xml +++ b/doc/release-notes-1.2-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.2.1-docinfo.xml b/doc/release-notes-1.2.1-docinfo.xml index 968c0434..d0f08b9c 100644 --- a/doc/release-notes-1.2.1-docinfo.xml +++ b/doc/release-notes-1.2.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.3-docinfo.xml b/doc/release-notes-1.3-docinfo.xml index b10fd9dd..aa569df4 100644 --- a/doc/release-notes-1.3-docinfo.xml +++ b/doc/release-notes-1.3-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.3.1-docinfo.xml b/doc/release-notes-1.3.1-docinfo.xml index 52264773..f67cf3b8 100644 --- a/doc/release-notes-1.3.1-docinfo.xml +++ b/doc/release-notes-1.3.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.3.2-docinfo.xml b/doc/release-notes-1.3.2-docinfo.xml index f55aef04..82b7677e 100644 --- a/doc/release-notes-1.3.2-docinfo.xml +++ b/doc/release-notes-1.3.2-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.4-docinfo.xml b/doc/release-notes-1.4-docinfo.xml index 216c0ae3..12a38ce5 100644 --- a/doc/release-notes-1.4-docinfo.xml +++ b/doc/release-notes-1.4-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.4.1-docinfo.xml b/doc/release-notes-1.4.1-docinfo.xml index d87052f7..6224b16e 100644 --- a/doc/release-notes-1.4.1-docinfo.xml +++ b/doc/release-notes-1.4.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.4.2-docinfo.xml b/doc/release-notes-1.4.2-docinfo.xml index 4b4f7b21..8fd94324 100644 --- a/doc/release-notes-1.4.2-docinfo.xml +++ b/doc/release-notes-1.4.2-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.5-docinfo.xml b/doc/release-notes-1.5-docinfo.xml index 3d018630..0c0cace7 100644 --- a/doc/release-notes-1.5-docinfo.xml +++ b/doc/release-notes-1.5-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.6-docinfo.xml b/doc/release-notes-1.6-docinfo.xml index 760d5e60..5ae58bb5 100644 --- a/doc/release-notes-1.6-docinfo.xml +++ b/doc/release-notes-1.6-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.6.1-docinfo.xml b/doc/release-notes-1.6.1-docinfo.xml index 1b27b79a..dc0a2d67 100644 --- a/doc/release-notes-1.6.1-docinfo.xml +++ b/doc/release-notes-1.6.1-docinfo.xml @@ -15,7 +15,7 @@ </copyright> <mediaobject> <imageobject> - <imagedata fileref="../themes/background.png" width="6.0in"/> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> </imageobject> </mediaobject> <legalnotice> diff --git a/doc/release-notes-1.6.2-docinfo.xml b/doc/release-notes-1.6.2-docinfo.xml new file mode 100644 index 00000000..78206e2a --- /dev/null +++ b/doc/release-notes-1.6.2-docinfo.xml @@ -0,0 +1,29 @@ +<author> + <firstname>Bdale</firstname> + <surname>Garbee</surname> + <email>bdale@gag.com</email> +</author> +<author> + <firstname>Keith</firstname> + <surname>Packard</surname> + <email>keithp@keithp.com</email> +</author> +<date>10 January 2016</date> +<copyright> + <year>2016</year> + <holder>Bdale Garbee and Keith Packard</holder> +</copyright> +<mediaobject> + <imageobject> + <imagedata fileref="altusmetrum-oneline.svg" width="6.0in"/> + </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> diff --git a/doc/release-notes-1.6.2.inc b/doc/release-notes-1.6.2.inc new file mode 100644 index 00000000..990eb48f --- /dev/null +++ b/doc/release-notes-1.6.2.inc @@ -0,0 +1,46 @@ += Release Notes for Version 1.6.2 +:toc!: +:doctype: article + + Version 1.6.2 includes support for our updated TeleMega v2.0 + product and bug fixes in in the flight software for all our boards + and ground station interfaces. + + == AltOS + + AltOS New Features: + + * Add support for TeleMega v2.0 boards. + + * Add PWM servo driver. There's no higher level code using + this yet, but the driver allows testing of the TeleMega v2.0 + servo output connector. + + AltOS Fixes: + + * Slow down telemetry packets to allow receiver to keep + up. + + == AltosUI and TeleGPS Applications + + AltosUI and TeleGPS Fixes: + + * Fix post-flight orientation computation when processing + TeleMega and EasyMega eeprom data files. + + * Capture complete eeprom data even when there are invalid + entries in the data. This keeps reading eeprom contents and + writing the associated .eeprom file when an error is detected. + + == Documentation + + We spent a bunch of time trying to improve our documentation + + * HTML versions now have a table of contents on the left side. + + * EasyMini now has its own shorter manual. + + * Provide links between sections in each document. + + * Lots of minor rewriting and restructuring to avoid + duplication of information diff --git a/doc/release-notes.inc b/doc/release-notes.inc index 70653ed9..a6240d43 100644 --- a/doc/release-notes.inc +++ b/doc/release-notes.inc @@ -1,6 +1,10 @@ [appendix] == Release Notes + :leveloffset: 2 + include::release-notes-1.6.2.raw[] + + <<<< :leveloffset: 2 include::release-notes-1.6.1.raw[] diff --git a/doc/telegps-release-notes.inc b/doc/telegps-release-notes.inc index 7a53bd2d..dcdabc05 100644 --- a/doc/telegps-release-notes.inc +++ b/doc/telegps-release-notes.inc @@ -1,6 +1,10 @@ [appendix] == Release Notes + :leveloffset: 2 + include::release-notes-1.6.2.raw[] + + <<<< :leveloffset: 2 include::release-notes-1.6.1.raw[] diff --git a/doc/titlepage.templates.tmpl b/doc/titlepage.templates.tmpl index 1669e465..f437fb76 100644 --- a/doc/titlepage.templates.tmpl +++ b/doc/titlepage.templates.tmpl @@ -36,6 +36,8 @@ start-indent="0pt" text-align="center"> + <mediaobject space-before="1em"/> + <title t:named-template="component.title" param:node="ancestor-or-self::article[1]" keep-with-next.within-column="always" @@ -57,17 +59,17 @@ because only the first editor generates the list of editors. <editor t:predicate="[position() = 1]"/> --> - <othercredit space-before="0.5em"/> - <releaseinfo space-before="0.5em"/> - <copyright space-before="0.5em"/> + <othercredit space-before="0.15in"/> + <releaseinfo space-before="0.15in"/> + <copyright space-before="0.15in"/> <legalnotice text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}"/> - <pubdate space-before="0.5em"/> - <revision space-before="0.5em"/> - <revhistory space-before="0.5em"/> - <abstract space-before="0.5em" + <pubdate space-before="0.15in"/> + <revision space-before="0.15in"/> + <revhistory space-before="0.15in"/> + <abstract space-before="0.15in" text-align="start" margin-left="0.5in" margin-right="0.5in" @@ -103,7 +105,7 @@ <subtitle font-family="{$title.fontset}" text-align="center"/> - <corpauthor/> + <corpauthor space-before="0.25in"/> <authorgroup/> <author/> <othercredit/> @@ -177,12 +179,12 @@ <editor t:predicate="[position() = 1]"/> --> <othercredit/> - <releaseinfo space-before="0.5em"/> + <releaseinfo space-before="0.15in"/> <pubdate space-before="1em"/> <copyright/> <abstract/> <legalnotice font-size="8pt"/> - <corpauthor text-align="center"/> + <corpauthor text-align="center" space-before="0.5in"/> <revhistory space-before="0.5in"/> </t:titlepage-content> -- cgit v1.2.3 From 3547e65eecbe7bd4e16dc6f2048b7a69f29d05ff Mon Sep 17 00:00:00 2001 From: Keith Packard <keithp@keithp.com> Date: Sun, 10 Jan 2016 16:59:37 -0800 Subject: doc: Update copyright year in altusmetrum doc And note that this need to be checked for each release in RELNOTES Signed-off-by: Keith Packard <keithp@keithp.com> --- doc/RELNOTES | 9 +++++++++ doc/altusmetrum-docinfo.xml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'doc/altusmetrum-docinfo.xml') diff --git a/doc/RELNOTES b/doc/RELNOTES index 0b04ac5f..8f7d2540 100644 --- a/doc/RELNOTES +++ b/doc/RELNOTES @@ -21,5 +21,14 @@ Creating documentation for a new release of AltOS telegps-docinfo.xml telemetry-docinfo.xml +* Update copyright year as appropriate + + altusmetrum-docinfo.xml + companion-docinfo.xml + easymini-docinfo.xml + micropeak-docinfo.xml + telegps-docinfo.xml + telemetry-docinfo.xml + * Add release-notes-${version}.inc and release-notes-${version}-docinfo.xml to git diff --git a/doc/altusmetrum-docinfo.xml b/doc/altusmetrum-docinfo.xml index 9f2dda1c..8644584f 100644 --- a/doc/altusmetrum-docinfo.xml +++ b/doc/altusmetrum-docinfo.xml @@ -18,7 +18,7 @@ <surname>Towns</surname> </author> <copyright> - <year>2015</year> + <year>2016</year> <holder>Bdale Garbee and Keith Packard</holder> </copyright> <mediaobject> -- cgit v1.2.3 From 6a00f186a06f22638882f43f49fa0c03ea387eac Mon Sep 17 00:00:00 2001 From: Keith Packard <keithp@keithp.com> Date: Sun, 10 Jan 2016 17:13:56 -0800 Subject: doc: Remove telemini v2.0. Add telemega v2.0 Reflect hardware we've actually shipped. Signed-off-by: Keith Packard <keithp@keithp.com> --- doc/Makefile | 2 - doc/altusmetrum-docinfo.xml | 2 +- doc/altusmetrum.txt | 2 - doc/flight-data-recording.inc | 1 - doc/getting-started.inc | 1 - doc/specs.inc | 8 --- doc/system-operation.inc | 3 +- doc/telemega.inc | 12 +++++ doc/telemini-v2-top.jpg | Bin 579692 -> 0 bytes doc/telemini-v2.0.inc | 112 ------------------------------------------ 10 files changed, 14 insertions(+), 129 deletions(-) delete mode 100644 doc/telemini-v2-top.jpg delete mode 100644 doc/telemini-v2.0.inc (limited to 'doc/altusmetrum-docinfo.xml') diff --git a/doc/Makefile b/doc/Makefile index 08835ad3..6a04a591 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -84,7 +84,6 @@ IMAGES=\ telemetrum-v2.0-th.jpg \ telemini.svg \ telemini-v1-top.jpg \ - telemini-v2-top.jpg \ altusmetrum-oneline.svg \ telegps-oneline.svg \ micropeak-oneline.svg @@ -105,7 +104,6 @@ INC_FILES=\ usage.inc \ telemetrum.inc \ telemini-v1.0.inc \ - telemini-v2.0.inc \ easymini-device.inc \ telemega.inc \ easymega.inc \ diff --git a/doc/altusmetrum-docinfo.xml b/doc/altusmetrum-docinfo.xml index 8644584f..63c1e035 100644 --- a/doc/altusmetrum-docinfo.xml +++ b/doc/altusmetrum-docinfo.xml @@ -115,7 +115,7 @@ <date>12 November 2013</date> <revremark> Updated for software version 1.3. Version 1.3 adds support - for TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini + for TeleMega, TeleMetrum v2.0 and EasyMini and fixes bugs in AltosUI and the AltOS firmware. </revremark> </revision> diff --git a/doc/altusmetrum.txt b/doc/altusmetrum.txt index 598de8e6..15fc28fc 100644 --- a/doc/altusmetrum.txt +++ b/doc/altusmetrum.txt @@ -24,8 +24,6 @@ include::telemini-v1.0.raw[] - include::telemini-v2.0.raw[] - include::easymini-device.raw[] include::telemega.raw[] diff --git a/doc/flight-data-recording.inc b/doc/flight-data-recording.inc index d0ffa7f1..32e44840 100644 --- a/doc/flight-data-recording.inc +++ b/doc/flight-data-recording.inc @@ -25,7 +25,6 @@ endif::telemetrum[] ifdef::telemini[] |TeleMini v1.0 |2 |5kB |4 - |TeleMini v2.0 |16 |1MB |10 endif::telemini[] ifdef::easymini[] |EasyMini |16 |1MB |10 diff --git a/doc/getting-started.inc b/doc/getting-started.inc index 9c0df26d..decaf4d4 100644 --- a/doc/getting-started.inc +++ b/doc/getting-started.inc @@ -22,7 +22,6 @@ USB power source. You can also choose to use another battery with - ifdef::telemini[TeleMini v2.0 and] EasyMini, anything supplying between 4 and 12 volts should work fine (like a standard 9V battery), but if you are planning to fire pyro charges, ground testing is required to verify that diff --git a/doc/specs.inc b/doc/specs.inc index 72664625..a6c7b69a 100644 --- a/doc/specs.inc +++ b/doc/specs.inc @@ -57,14 +57,6 @@ |10mW |3.7V - |TeleMini v2.0 - |MS5607 30km (100k') - |- - |- - |- - |1MB - |10mW - |3.7-12V endif::telemini[] ifdef::easymini[] diff --git a/doc/system-operation.inc b/doc/system-operation.inc index 313415ca..e68b2acb 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -19,8 +19,7 @@ idle mode. endif::telemetrum,telemega,easymega[] Since - ifdef::telemini[TeleMini v2.0 and EasyMini don't] - ifndef::telemini[EasyMini doesn't] + EasyMini doesn't have an accelerometer we can use to determine orientation, “idle” mode is selected if the board is connected via USB to a computer, diff --git a/doc/telemega.inc b/doc/telemega.inc index 4383f228..55f77bc4 100644 --- a/doc/telemega.inc +++ b/doc/telemega.inc @@ -9,6 +9,18 @@ the board is aligned with the flight axis. It can be mounted either antenna up or down. + TeleMega v2.0 has a few minor changes from v1.0: + + * Companion connector matches EasyMega functions + * Serial port connector replaced with servo connector with + support for up to 4 PWM channels. + * Radio switched from cc1120 to cc1200. + + None of these affect operation using the stock firmware, but + they do mean that the device needs different firmware to + operate correctly, so make sure you load the right firmware + when reflashing the device. + === TeleMega Screw Terminals TeleMega has two sets of nine screw terminals on the end of diff --git a/doc/telemini-v2-top.jpg b/doc/telemini-v2-top.jpg deleted file mode 100644 index bc8ae45b..00000000 Binary files a/doc/telemini-v2-top.jpg and /dev/null differ diff --git a/doc/telemini-v2.0.inc b/doc/telemini-v2.0.inc deleted file mode 100644 index 5803a2ca..00000000 --- a/doc/telemini-v2.0.inc +++ /dev/null @@ -1,112 +0,0 @@ -== TeleMini v2.0 - - .TeleMini v2.0 Board - image::telemini-v2-top.jpg[width="5.5in"] - - TeleMini v2.0 is 0.8 inches by 1½ inches. It adds more - on-board data logging memory, a built-in USB connector and - screw terminals for the battery and power switch. The larger - board fits in a 24mm coupler. There's also a battery connector - for a LiPo battery if you want to use one of those. - - === TeleMini v2.0 Screw Terminals - - TeleMini v2.0 has two sets of four screw terminals on the end of the - board opposite the telemetry antenna. Using the picture - above, the top four have connections for the main pyro - circuit and an external battery and the bottom four have - connections for the apogee pyro circuit and the power - switch. Counting from the left, the connections are as follows: - - .TeleMini v2.0 Screw Terminals - [options="header",grid="all",cols="2,3,10"] - |==== - |Terminal #|Terminal Name|Description - |Top 1 - |Main - - |Main pyro channel connection to pyro circuit - - |Top 2 - |Main + - |Main pyro channel common connection to battery + - - |Top 3 - |Battery + - |Positive external battery terminal - - |Top 4 - |Battery - - |Negative external battery terminal - - |Bottom 1 - |Apogee - - |Apogee pyro channel connection to pyro circuit - - |Bottom 2 - |Apogee + - |Apogee pyro channel common connection to battery + - - |Bottom 3 - |Switch Output - |Switch connection to flight computer - - |Bottom 4 - |Switch Input - |Switch connection to positive battery terminal - |==== - - === Connecting A Battery To TeleMini v2.0 - - There are two possible battery connections on TeleMini - v2.0. You can use either method; both feed through - the power switch terminals. - - One battery connection is the standard Altus Metrum - white JST plug. This mates with single-cell Lithium - Polymer batteries sold by Altus Metrum. - - The other is a pair of screw terminals marked 'Battery - +' and 'Battery -'. Connect a battery from 4 to 12 - volts to these terminals, being careful to match polarity. - - === Charging Lithium Batteries - - Because TeleMini v2.0 allows for batteries other than - the standard Altus Metrum Lithium Polymer cells, it - cannot incorporate a battery charger - circuit. Therefore, when using a Litium Polymer cell, - you'll need an external charger. These are available - from Altus Metrum, or from Spark Fun. - - === Using a Separate Pyro Battery with TeleMini v2.0 - - As described above, using an external pyro battery involves - connecting the negative battery terminal to the flight - computer ground, connecting the positive battery terminal to - one of the igniter leads and connecting the other igniter - lead to the per-channel pyro circuit connection. - - To connect the negative pyro battery terminal to TeleMini - ground, connect it to the negative external battery - connection, top terminal 4. - - Connecting the positive battery terminal to the pyro - charges must be done separate from TeleMini v2.0, by soldering - them together or using some other connector. - - The other lead from each pyro charge is then inserted into - the appropriate per-pyro channel screw terminal (top - terminal 1 for the Main charge, bottom terminal 1 for the - Apogee charge). - - === Using an Active Switch with TeleMini v2.0 - - As explained above, an external active switch requires three - connections, one to the positive battery terminal, one to - the flight computer positive input and one to ground. Use - the negative external battery connection, top terminal 4 for - ground. - - The positive battery terminal is available on bottom - terminal 4, the positive flight computer input is on the - bottom terminal 3. -- cgit v1.2.3