diff options
| author | Keith Packard <keithp@keithp.com> | 2015-11-13 22:55:35 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2015-11-13 22:56:19 -0800 | 
| commit | 992c0eab6275cec7d5035b99952537fd7ece2ed4 (patch) | |
| tree | cbfacee33d04a85b8aa06e1c311761552682aab9 | |
| parent | b030dfb3df859b3b3cb9c666394f315edcd11f49 (diff) | |
doc: Split out EasyMini into a separate manual
EasyMini uses a tiny fraction of the overall system software;
splitting the manual out makes it a lot smaller.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | doc/Makefile | 19 | ||||
| -rw-r--r-- | doc/altosui.inc | 86 | ||||
| -rw-r--r-- | doc/altusmetrum.txt | 10 | ||||
| -rw-r--r-- | doc/config-device.inc | 187 | ||||
| -rw-r--r-- | doc/config-ui.inc | 10 | ||||
| -rw-r--r-- | doc/easymini-device.inc (renamed from doc/easymini.inc) | 0 | ||||
| -rw-r--r-- | doc/easymini-docinfo.xml | 48 | ||||
| -rw-r--r-- | doc/easymini-release-notes.inc | 7 | ||||
| -rw-r--r-- | doc/easymini.txt | 34 | ||||
| -rw-r--r-- | doc/flight-data-recording.inc | 48 | ||||
| -rw-r--r-- | doc/getting-started.inc | 25 | ||||
| -rw-r--r-- | doc/installation.inc | 26 | ||||
| -rw-r--r-- | doc/specs.inc | 22 | ||||
| -rw-r--r-- | doc/system-operation.inc | 75 | ||||
| -rw-r--r-- | doc/telegps.txt | 2 | ||||
| -rw-r--r-- | doc/updating-firmware.inc | 37 | ||||
| -rw-r--r-- | doc/usage.inc | 41 | ||||
| -rw-r--r-- | doc/using-am-products.inc | 51 | 
18 files changed, 544 insertions, 184 deletions
| diff --git a/doc/Makefile b/doc/Makefile index f8fdb5e8..7a4e0fa3 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -105,7 +105,7 @@ INC_FILES=\  	telemetrum.inc \  	telemini-v1.0.inc \  	telemini-v2.0.inc \ -	easymini.inc \ +	easymini-device.inc \  	telemega.inc \  	easymega.inc \  	installation.inc \ @@ -146,6 +146,14 @@ MICROPEAK_INC_FILES=  MICROPEAK_RAW_FILES=$(MICROPEAK_TXT_FILES:.txt=.raw) $(MICROPEAK_INC_FILES:.inc=.raw) +EASYMINI_TXT_FILES=\ +	easymini.txt + +EASYMINI_INC_FILES=$(INC_FILES) easymini-release-notes.inc + + +EASYMINI_RAW_FILES=$(EASYMINI_TXT_FILES:.txt=.raw) $(EASYMINI_INC_FILES:.inc=.raw) +  OUTLINE_TXT_FILES=\  	easymega-outline.txt \  	easymini-outline.txt \ @@ -175,14 +183,15 @@ ONEFILE_TXT_FILES=\  ONEFILE_RAW_FILES=$(ONEFILE_TXT_FILES:.txt=.raw)  ONEFILE_PDF_FILES=$(ONEFILE_TXT_FILES:.txt=.pdf) -HTML=altusmetrum.html micropeak.html telegps.html $(RELNOTES_HTML) $(ONEFILE_HTML_FILES) +HTML=altusmetrum.html micropeak.html telegps.html easymini.html $(RELNOTES_HTML) $(ONEFILE_HTML_FILES)  HTML_REVHISTORY=\  	altusmetrum-revhistory.html \  	micropeak-revhistory.html \ -	telegps-revhistory.html +	telegps-revhistory.html \ +	easymini-revhistory.html -PDF=altusmetrum.pdf micropeak.pdf telegps.pdf $(RELNOTES_PDF) $(ONEFILE_PDF_FILES) \ +PDF=altusmetrum.pdf micropeak.pdf telegps.pdf easymini.pdf $(RELNOTES_PDF) $(ONEFILE_PDF_FILES) \  	$(OUTLINE_PDF_FILES)  FOP_STYLE=am-fo.xsl @@ -245,6 +254,8 @@ telegps.html telegps.pdf: telegps-docinfo.xml $(TELEGPS_RAW_FILES) $(IMAGES)  micropeak.pdf micropeak.html: micropeak-docinfo.xml $(MICROPEAK_RAW_FILES) $(IMAGES) +easymini.pdf easymini.html: easymini-docinfo.xml $(EASYMINI_RAW_FILES) $(IMAGES) +  install:	all  publish:	$(DOC) $(FONTS) diff --git a/doc/altosui.inc b/doc/altosui.inc index 3c26b441..76a24d91 100644 --- a/doc/altosui.inc +++ b/doc/altosui.inc @@ -11,6 +11,7 @@  	chapter is split into sections, each of which documents one of  	the tasks provided from the top-level toolbar. +	ifdef::radio[]      	=== Monitor Flight  	////  	      <subtitle>Receive, Record and Display Telemetry Data</subtitle> @@ -298,26 +299,34 @@  			voltage measured here will be close to the pyro battery  			voltage. A value greater than 3.2V is required for a 'GO'  			status. +	endif::radio[] +  	=== Save Flight Data  		The altimeter records flight data to its internal -		flash memory.  TeleMetrum data is recorded at a much +		flash memory. +		ifdef::radio[] +		Data logged on board is recorded at a much  		higher rate than the telemetry system can handle, and  		is not subject to radio drop-outs. As such, it  		provides a more complete and precise record of the -		flight. The 'Save Flight Data' button allows you to +		flight. +		endif::radio[] +		The 'Save Flight Data' button allows you to  		read the flash memory and write it to disk.  		Clicking on the 'Save Flight Data' button brings up a  		list of connected flight computers and TeleDongle  		devices. If you select a flight computer, the flight -		data will be downloaded from that device directly. If -		you select a TeleDongle device, flight data will be +		data will be downloaded from that device directly. +		ifdef::radio[] +		If you select a TeleDongle device, flight data will be  		downloaded from a flight computer over radio link via  		the specified TeleDongle. See  		<<_controlling_an_altimeter_over_the_radio_link>> for  		more information. +		endif::radio[]  		After the device has been selected, a dialog showing  		the flight data saved in the device will be shown @@ -342,8 +351,12 @@  		flash memory.  		Once a flight record is selected, the flight monitor interface -		is displayed and the flight is re-enacted in real time. Check +		is displayed and the flight is re-enacted in real +		time. +		ifdef::radio[] +		Check  		<<_monitor_flight>> to learn how this window operates. +		endif::radio[]  	=== Graph Data @@ -392,6 +405,7 @@  			Shows overall data computed from the flight. +		ifdef::gps[]  		==== Map  			.Flight Map @@ -401,6 +415,7 @@  			with the path of the flight. The red concentric  			circles mark the launch pad, the black concentric  			circles mark the landing location. +		endif::gps[]  	=== Export Data @@ -412,8 +427,11 @@  		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. +		file. +		ifdef::gps[] +			It has a selector to choose between CSV and KML +			file formats. +		endif::gps[]  		==== Comma Separated Value Format @@ -432,20 +450,29 @@  			standard units, with the barometric data reported in  			both pressure, altitude and height above pad units. -		==== Keyhole Markup Language (for Google Earth) +		ifdef::gps[] +			==== 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. +				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. +		endif::gps[]  	=== Configure Altimeter  		.Altimeter Configuration  		image::configure-altimeter.png[width="3.6in"] +		ifdef::radio[]  		Select this button and then select either an altimeter or  		TeleDongle Device from the list provided. Selecting a TeleDongle -		device will use the radio link to configure a remote altimeter. +		device will use the radio link to configure a remote +		altimeter. +		endif::radio[] +		ifndef::radio[] +		Select this button and then select an altimeter. +		endif::radio[]  		The first few lines of the dialog provide information about the  		connected device, including the product name, @@ -490,6 +517,7 @@  		include::config-ui.raw[] +	ifdef::radio[]  	=== Configure Groundstation  		.Configure Groundstation Dialog @@ -557,16 +585,27 @@  			This lets you match the telemetry and packet  			link rate from the transmitter. If they don't  			match, the device won't receive any data. +	endif::radio[]  	=== Flash Image  		This reprograms Altus Metrum devices with new -		firmware. TeleMetrum v1.x, TeleDongle v0.2, TeleMini -		and TeleBT are all reprogrammed by using another -		similar unit as a programming dongle (pair -		programming). TeleMega, EasyMega, TeleMetrum v2, -		EasyMini and TeleDongle v3 are all programmed directly -		over their USB ports (self programming).  Please read +		firmware. +		ifdef::telemetrum,telemini[] +			TeleMetrum v1.x, TeleDongle v0.2, TeleMini +			and TeleBT are all reprogrammed by using another +			similar unit as a programming dongle (pair +			programming). +		endif::telemetrum,telemini[] +		ifdef::telemega,easymega,telemetrum[] +			TeleMega, EasyMega, TeleMetrum v2, +			EasyMini and TeleDongle v3 are all +		endif::telemega,easymega,telemetrum[] +		ifndef::telemega,easymega,telemetrum[] +			EasyMini is +		endif::telemega,easymega,telemetrum[] +		programmed directly +		over USB (self programming). Please read  		the directions for flashing devices in  		<<_updating_device_firmware>>. @@ -577,10 +616,13 @@  		This activates the igniter circuits in the flight  		computer to help test recovery systems -		deployment. Because this command can operate over the +		deployment. +		ifdef::radio[] +		Because this command can operate over the  		Packet Command Link, you can prepare the rocket as for  		flight and then test the recovery system without  		needing to snake wires inside the air-frame. +		endif::radio[]  		Selecting the 'Fire Igniter' button brings up the  		usual device selection dialog. Pick the desired @@ -598,6 +640,7 @@  		point you start over again at selecting the desired  		igniter. +	ifdef::radio[]  	=== Scan Channels  		.Scan Channels Window @@ -610,9 +653,13 @@  		be tried; by default, it only listens at 38400 baud  		with the standard telemetry format used in v1.0 and  		later firmware. +	endif::radio[] +	ifdef::gps[]  	include::load-maps.raw[] +	endif::gps[] +	ifdef::radio[]  	=== Monitor Idle  		.Monitor Idle Window @@ -632,3 +679,4 @@  		communicate with the flight computer; they must both  		match the configuration in the flight computer  		exactly. +	endif::radio[] diff --git a/doc/altusmetrum.txt b/doc/altusmetrum.txt index f8d284ec..598de8e6 100644 --- a/doc/altusmetrum.txt +++ b/doc/altusmetrum.txt @@ -2,6 +2,14 @@  :doctype: book  :numbered:  :altusmetrum: 1 +:radio: 1 +:gps: 1 +:telemetrum: 1 +:telemini: 1 +:easymini: 1 +:telemega: 1 +:easymega: 1 +:telegps: 1  :application: AltosUI  	include::dedication.raw[] @@ -18,7 +26,7 @@  	include::telemini-v2.0.raw[] -	include::easymini.raw[] +	include::easymini-device.raw[]  	include::telemega.raw[] diff --git a/doc/config-device.inc b/doc/config-device.inc index fb09416c..bf1edb97 100644 --- a/doc/config-device.inc +++ b/doc/config-device.inc @@ -37,85 +37,87 @@ ifdef::altusmetrum[]  endif::altusmetrum[] -==== 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. -	ifdef::altusmetrum[] -	This option is -	available on TeleMetrum v2 and TeleMega -	boards. TeleMetrum v1 boards cannot transmit -	APRS packets. -	endif::altusmetrum[] -	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. - -==== APRS Format - -	Whether to send APRS data in Compressed or -	Uncompressed format. Compressed format is -	smaller and more precise. Uncompressed -	format is older, but may work better with your -	device. The Kenwood TH-D72 only displays -	altitude information with Uncompressed -	format, while the Yaesu FT1D only displays -	altitude with Compressed format. Test before -	you fly to see which to use. - -==== Callsign - -	This sets the call sign included in each -	telemetry packet. Set this as needed to -	conform to your local radio regulations. +ifdef::radio[] +	==== 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. +		ifdef::altusmetrum[] +		This option is +		available on TeleMetrum v2 and TeleMega +		boards. TeleMetrum v1 boards cannot transmit +		APRS packets. +		endif::altusmetrum[] +		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. + +	==== APRS Format + +		Whether to send APRS data in Compressed or +		Uncompressed format. Compressed format is +		smaller and more precise. Uncompressed +		format is older, but may work better with your +		device. The Kenwood TH-D72 only displays +		altitude information with Uncompressed +		format, while the Yaesu FT1D only displays +		altitude with Compressed format. Test before +		you fly to see which to use. + +	==== Callsign + +		This sets the call sign included in each +		telemetry packet. Set this as needed to +		conform to your local radio regulations. +endif::radio[]  ifdef::altusmetrum[] @@ -153,6 +155,7 @@ ifdef::altusmetrum[]  		is fired first, followed after a two second  		delay by the 'main' channel. +	ifdef::telemetrum,telemega,easymega[]  	==== Pad Orientation  		Because they include accelerometers, @@ -172,6 +175,7 @@ ifdef::altusmetrum[]  		In this mode, the antenna end of the flight  		computer must point aft, in line with the  		expected flight path. +	endif::telemetrum,telemega,easymega[]  	==== Beeper Frequency @@ -185,21 +189,22 @@ ifdef::altusmetrum[]  endif::altusmetrum[] -==== Logging Trigger Motion +ifdef::telegps[] +	==== Logging Trigger Motion -	This sets the amount of motion that TeleGPS -	needs to see before logging the new -	position. Motions smaller than this are -	skipped, which saves storage space. +		This sets the amount of motion that TeleGPS +		needs to see before logging the new +		position. Motions smaller than this are +		skipped, which saves storage space. -==== Position Reporting Interval - -	The interval between TeleGPS position reports, -	both over the air and in the log. Increase -	this to reduce the frequency of radio -	transmissions and the length of time available -	in the log. +	==== Position Reporting Interval +		The interval between TeleGPS position reports, +		both over the air and in the log. Increase +		this to reduce the frequency of radio +		transmissions and the length of time available +		in the log. +endif::telegps[]  ifdef::altusmetrum[] diff --git a/doc/config-ui.inc b/doc/config-ui.inc index c7e7f1ac..fdcfb9dc 100644 --- a/doc/config-ui.inc +++ b/doc/config-ui.inc @@ -1,3 +1,4 @@ +ifdef::radio[]  ==== Voice Settings  	{application} provides voice announcements during @@ -13,11 +14,12 @@  	Plays a short message allowing you to verify  	that the audio system is working and the volume settings  	are reasonable +endif::radio[]  ==== Log Directory  	{application} logs all telemetry data and saves all -	TeleMetrum flash data to this directory. This +	flash data to this directory. This  	directory is also used as the staring point  	when selecting data files for display or  	export. @@ -28,6 +30,7 @@  	change where {application} reads and writes data  	files. +ifdef::radio[]  ==== Callsign  	This value is transmitted in each command @@ -46,6 +49,7 @@  	exactly match the callsign configured in the  	flight computer.  This matching is case  	sensitive. +endif::radio[]  ==== Imperial Units @@ -86,13 +90,16 @@  	{application} window that includes all of the  	command buttons. +ifdef::gps[]  ==== Map Cache Size  	Sets the number of map 'tiles' kept in memory  	while the application is running. More tiles  	consume more memory, but will make panning  	around the map faster. +endif::gps[] +ifdef::radio[]  ==== Manage Frequencies  	This brings up a dialog where you can @@ -103,3 +110,4 @@  	frequency settings of any devices, it only  	changes the set of frequencies shown in the  	menus. +endif::radio[] diff --git a/doc/easymini.inc b/doc/easymini-device.inc index fb2b6098..fb2b6098 100644 --- a/doc/easymini.inc +++ b/doc/easymini-device.inc diff --git a/doc/easymini-docinfo.xml b/doc/easymini-docinfo.xml new file mode 100644 index 00000000..f3c7ba19 --- /dev/null +++ b/doc/easymini-docinfo.xml @@ -0,0 +1,48 @@ +<subtitle>A Dual-Deploy Rocketry Flight Computer</subtitle> +<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> +<copyright> +  <year>2015</year> +  <holder>Bdale Garbee and Keith Packard</holder> +</copyright> +<mediaobject> +  <imageobject> +    <imagedata fileref="easymini-top.jpg" width="3.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 +    <ulink url="http://creativecommons.org/licenses/by-sa/3.0/"> +      Creative Commons ShareAlike 3.0 +    </ulink> +    license. +  </para> +</legalnotice> +<revhistory> +  <?dbhtml filename="easymini-revhistory.html"?> +  <revision> +    <revnumber>1.6.2</revnumber> +    <date>13 November 2015</date> +    <revremark> +      First release of separate EasyMini doc +    </revremark> +  </revision> +</revhistory> diff --git a/doc/easymini-release-notes.inc b/doc/easymini-release-notes.inc new file mode 100644 index 00000000..e448b394 --- /dev/null +++ b/doc/easymini-release-notes.inc @@ -0,0 +1,7 @@ +[appendix] +== Release Notes + +	:leveloffset: 2 +	include::release-notes-1.6.1.raw[] + +	:leveloffset: 0 diff --git a/doc/easymini.txt b/doc/easymini.txt new file mode 100644 index 00000000..ddb18376 --- /dev/null +++ b/doc/easymini.txt @@ -0,0 +1,34 @@ += EasyMini +:doctype: book +:numbered: +:altusmetrum: 1 +:easymini: 1 +:application: AltosUI + +	include::dedication.raw[] + +	include::intro.raw[] + +	include::getting-started.raw[] + +	include::usage.raw[] + +	include::easymini-device.raw[] + +	include::installation.raw[] + +	include::using-am-products.raw[] + +	include::altosui.raw[] + +	include::system-operation.raw[] + +	include::handling.raw[] + +	include::updating-firmware.raw[] + +	include::flight-data-recording.raw[] + +	include::specs.raw[] + +	include::easymini-release-notes.raw[] diff --git a/doc/flight-data-recording.inc b/doc/flight-data-recording.inc index ed56b82e..d0ffa7f1 100644 --- a/doc/flight-data-recording.inc +++ b/doc/flight-data-recording.inc @@ -2,9 +2,15 @@  == Flight Data Recording  	Each flight computer logs data at 100 samples per second -	during ascent and 10 samples per second during descent, except -	for TeleMini v1.0, which records ascent at 10 samples per -	second and descent at 1 sample per second. Data are logged to +	during ascent and 10 samples per second during +	ifdef::telemini[] +	descent, except for TeleMini v1.0, which records ascent at 10 samples +	per second and descent at 1 sample per second. +	endif::telemini[] +	ifndef::telemini[] +	descent. +	endif::telemini[] +	Data are logged to  	an on-board flash memory part, which can be partitioned into  	several equal-sized blocks, one for each flight. @@ -12,14 +18,24 @@  	[options="header",cols="1,1,1,1"]  	|====  	|Device			|Bytes per Sample	|Total Storage	|Minutes at Full Rate +	ifdef::telemetrum[]  	|TeleMetrum v1.0	|8	|1MB	|20  	|TeleMetrum v1.1 v1.2	|8	|2MB	|40  	|TeleMetrum v2.0	|16	|8MB	|80 +	endif::telemetrum[] +	ifdef::telemini[]  	|TeleMini v1.0		|2	|5kB	|4  	|TeleMini v2.0		|16	|1MB	|10 +	endif::telemini[] +	ifdef::easymini[]  	|EasyMini		|16	|1MB	|10 +	endif::easymini[] +	ifdef::telemega[]  	|TeleMega		|32	|8MB	|40 +	endif::telemega[] +	ifdef::easymega[]  	|EasyMega		|32	|8MB	|40 +	endif::easymega[]  	|====  	The on-board flash is partitioned into separate flight logs, @@ -28,26 +44,42 @@  	stored. Decrease the size and you can store more flights.  	Configuration data is also stored in the flash memory on -	TeleMetrum v1.x, TeleMini and EasyMini. This consumes 64kB +	ifdef::telemetrum[TeleMetrum v1.x,] +	ifdef::telemini[TeleMini and] +	ifdef::easymini[EasyMini.] +	This consumes 64kB  	of flash space.  This configuration space is not available -	for storing flight log data. TeleMetrum v2.0, TeleMega and EasyMega +	for storing flight log data. + +	ifdef::telemetrum,telemega,easymega[] +	TeleMetrum v2.0, TeleMega and EasyMega  	store configuration data in a bit of eeprom available within  	the processor chip, leaving that space available in flash for  	more flight data. +	endif::telemetrum,telemega,easymega[]  	To compute the amount of space needed for a single flight, you  	can multiply the expected ascent time (in seconds) by 100  	times bytes-per-sample, multiply the expected descent time (in  	seconds) by 10 times the bytes per sample and add the two  	together. That will slightly under-estimate the storage (in -	bytes) needed for the flight. For instance, a TeleMetrum v2.0 flight spending +	bytes) needed for the flight. +	ifdef::telemetrum[] +	For instance, a TeleMetrum v2.0 flight spending  	20 seconds in ascent and 150 seconds in descent will take  	about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You  	could store dozens of these flights in the on-board flash. +	endif::telemetrum[]  	The default size allows for several flights on each flight -	computer, except for TeleMini v1.0, which only holds data for a -	single flight. You can adjust the size. +	ifdef::telemini[] +	computer, except for TeleMini v1.0, which +	only holds data for a single flight. +	endif::telemini[] +	ifndef::telemini[] +	computer. +	endif::telemini[] +	You can adjust the size.  	Altus Metrum flight computers will not overwrite existing  	flight data, so be sure to download flight data and erase it diff --git a/doc/getting-started.inc b/doc/getting-started.inc index 8401f4d0..9c0df26d 100644 --- a/doc/getting-started.inc +++ b/doc/getting-started.inc @@ -5,24 +5,30 @@  	=== Batteries +		ifdef::telemetrum,telemega,easymega[]  		For TeleMetrum, TeleMega and EasyMega, the battery can be charged by plugging it into the  		corresponding socket of the device and then using the USB  		cable to plug the flight computer into your computer's USB socket. The  		on-board circuitry will charge the battery whenever it is plugged  		in, because the on-off switch does NOT control the  		charging circuitry. -		The Lithium Polymer TeleMini and EasyMini battery can be charged by -		disconnecting it from the board and plugging it into a -		standalone battery charger such as the LipoCharger product -		included in TeleMini Starter Kits, and connecting that via a USB -		cable to a laptop or other USB power source. +		endif::telemetrum,telemega,easymega[] +		The Lithium Polymer +		ifdef::telemini[TeleMini and] +		EasyMini battery can be charged by disconnecting it +		from the board and plugging it into a standalone +		battery charger such as link:http://altusmetrum.org/LipoCharger[LipoCharger], and +		connecting that via a USB cable to a laptop or other +		USB power source. -		You can also choose to use another battery with TeleMini v2.0 -		and EasyMini, anything supplying between 4 and 12 volts should +		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  		the battery supplies enough current to fire your chosen e-matches. +		ifdef::telemetrum,telemega,easymega[]  		[NOTE]  		====  		On TeleMetrum v1 boards, when the GPS chip is initially @@ -45,7 +51,9 @@  		battery is damaged or missing, both LEDs will be lit, which  		appears yellow.  		==== +		endif::telemetrum,telemega,easymega[] +	ifdef::radio[]  	=== Ground Station Hardware  		There are two ground stations available, the TeleDongle USB to @@ -58,6 +66,7 @@  		computer.  If you are using an older version of Linux and are having  		problems, try moving to a fresher kernel (2.6.33 or  		newer). +	endif::radio[]  	=== Linux/Mac/Windows Ground Station Software @@ -71,6 +80,7 @@  		available. The latest version may always be downloaded  		from http://altusmetrum.org/AltOS +	ifdef::radio[]  	=== Android Ground Station Software  		TeleBT can also connect to an Android device over @@ -83,3 +93,4 @@  		without network access, you'll want to download  		offline map data before wandering away from the  		network. +	endif::radio[] diff --git a/doc/installation.inc b/doc/installation.inc index 32d81984..d390551e 100644 --- a/doc/installation.inc +++ b/doc/installation.inc @@ -5,11 +5,14 @@  	power on/off, and two pairs of wires connecting e-matches for the  	apogee and main ejection charges.  All Altus Metrum products are  	designed for use with single-cell batteries with 3.7 volts -	nominal. TeleMini v2.0 and EasyMini may also be used with other +	nominal. +	ifdef::telemini[TeleMini v2.0 and] +	EasyMini may also be used with other  	batteries as long as they supply between 4 and 12 volts. -	The battery connectors are a standard 2-pin JST connector and -	match batteries sold by Spark Fun. These batteries are +	The battery connectors are a standard 2-pin JST connector; you +	can purchase suitable batteries from the any vendor selling +	Altus Metrum products. 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 @@ -20,7 +23,15 @@  	[WARNING]  	Check polarity and voltage before connecting any battery not -	purchased from Altus Metrum or Spark Fun. +	purchased from Altus Metrum. + +	[WARNING] +	Spark Fun sells batteries that have a matching connector with +	the correct polarity. However, these batteries include an +	integrated current limiting circuit. That circuit will cause +	the battery to shut down when firing the igniter circuit. Do +	not use these batteries unless you remove the current limiting +	circuit.  	By default, we use the unregulated output of the battery  	directly to fire ejection charges.  This works marvelously @@ -35,12 +46,18 @@  	at the aft end of the altimeter.  You'll need a very small straight  	blade screwdriver for these screws, such as you might find in a  	jeweler's screwdriver set. +	ifndef::telemini[] +	The screw terminal block is also used for the power switch leads. +	endif::telemini[] +	ifdef::telemini[]  	Except for TeleMini v1.0, the flight computers also use the  	screw terminal block for the power switch leads. On TeleMini v1.0,  	the power switch leads are soldered directly to the board and  	can be connected directly to a switch. +	endif::telemini[] +	ifdef::radio[]  	For most air-frames, the integrated antennas are more than  	adequate.   However, if you are installing in a carbon-fiber or  	metal electronics bay which is opaque to RF signals, you may need to @@ -49,3 +66,4 @@  	and, on TeleMetrum v1, you can unplug the integrated GPS  	antenna and select an appropriate off-board GPS antenna with  	cable terminating in a U.FL connector. +	endif::radio[] diff --git a/doc/specs.inc b/doc/specs.inc index 6af3bd76..72664625 100644 --- a/doc/specs.inc +++ b/doc/specs.inc @@ -9,6 +9,7 @@  	|================================  	|Device | Barometer | Z-axis accel | GPS | 3D sensors | Storage | RF Output | Battery +	ifdef::telemetrum[]  	|TeleMetrum v1.0  	|MP3H6115 10km (33k')  	|MMA2202 50g @@ -44,7 +45,9 @@  	|8MB  	|40mW  	|3.7V +	endif::telemetrum[] +	ifdef::telemini[]  	|TeleMini v1.0  	|MP3H6115 10km (33k')  	|- @@ -62,7 +65,9 @@  	|1MB  	|10mW  	|3.7-12V +	endif::telemini[] +	ifdef::easymini[]  	|EasyMini v1.0  	|MS5607 30km (100k')  	|- @@ -71,7 +76,9 @@  	|1MB  	|-  	|3.7-12V +	endif::easymini[] +	ifdef::telemega[]  	|TeleMega v1.0  	|MS5607 30km (100k')  	|MMA6555 102g @@ -80,7 +87,9 @@  	|8MB  	|40mW  	|3.7V +	endif::telemega[] +	ifdef::easymega[]  	|EasyMega v1.0  	|MS5607 30km (100k')  	|MMA6555 102g @@ -89,6 +98,8 @@  	|8MB  	|-  	|3.7V +	endif::easymega[] +  	|==============================  	<<<< @@ -97,13 +108,16 @@  	|==============================  	|Device|Connectors|Screw Terminals|Width|Length|Tube Size +	ifdef::telemetrum[]  	|TeleMetrum  	|Antenna Debug Companion USB Battery  	|Apogee pyro Main pyro Switch  	|1 inch (2.54cm)  	|2 ¾ inch (6.99cm)  	|29mm coupler +	endif::telemetrum[] +	ifdef::telemini[]  	|TeleMini v1.0  	|Antenna Debug Battery  	|Apogee pyro Main pyro @@ -117,25 +131,33 @@  	|0.8 inch (2.03cm)  	|1½ inch (3.81cm)  	|24mm coupler +	endif::telemini[] +	ifdef::easymini[]  	|EasyMini  	|Debug USB Battery  	|Apogee pyro Main pyro Battery  	|0.8 inch (2.03cm)  	|1½ inch (3.81cm)  	|24mm coupler +	endif::easymini[] +	ifdef::telemega[]  	|TeleMega  	|Antenna Debug Companion USB Battery  	|Apogee pyro Main pyro Pyro A-D Switch Pyro battery  	|1¼ inch (3.18cm)  	|3¼ inch (8.26cm)  	|38mm coupler +	endif::telemega[] +	ifdef::easymega[]  	|EasyMega  	|Debug Companion USB Battery  	|Apogee pyro Main pyro Pyro A-D Switch Pyro battery  	|1¼ inch (3.18cm)  	|2¼ inch (5.62cm)  	|38mm coupler +	endif::easymega[] +  	|==================================== diff --git a/doc/system-operation.inc b/doc/system-operation.inc index 4503f525..313415ca 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -5,7 +5,10 @@  		The AltOS firmware build for the altimeters has two  		fundamental modes, “idle” and “flight”.  Which of these modes -		the firmware operates in is determined at start up time. For +		the firmware operates in is determined at start up +		time. +		ifdef::telemetrum,telemega,easymega[] +		For  		TeleMetrum, TeleMega and EasyMega, which have accelerometers, the mode is  		controlled by the orientation of the  		rocket (well, actually the board, of course...) at the time @@ -13,12 +16,20 @@  		the flight computer assumes it's on a rail or rod being prepared for  		launch, so the firmware chooses flight mode.  However, if the  		rocket is more or less horizontal, the firmware instead enters -		idle mode.  Since TeleMini v2.0 and EasyMini don't have an +		idle mode. +		endif::telemetrum,telemega,easymega[] +		Since +		ifdef::telemini[TeleMini v2.0 and EasyMini don't] +		ifndef::telemini[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, -		otherwise the board enters “flight” mode. TeleMini v1.0 +		otherwise the board enters “flight” mode. +		ifdef::telemini[] +		TeleMini v1.0  		selects “idle” mode if it receives a command packet within the  		first five seconds of operation. +		endif::telemini[]  		At power on, the altimeter will beep out the battery voltage  		to the nearest tenth of a volt.  Each digit is represented by @@ -45,13 +56,16 @@  		If idle mode is entered, you will hear an audible “di-dit” or  		see two short flashes (“I” for idle), and the flight state  		machine is disengaged, thus no ejection charges will fire. +		ifdef::radio[]  		The altimeters also listen for the radio link when in idle  		mode for requests sent via TeleDongle.  Commands can be issued  		in idle mode over either USB or the radio link -		equivalently. TeleMini v1.0 only has the radio link.  Idle -		mode is useful for configuring the altimeter, for extracting -		data from the on-board storage chip after flight, and for -		ground testing pyro charges. +		equivalently. +		ifdef::telemini[TeleMini v1.0 only has the radio link.] +		endif::radio[] +		Idle mode is useful for configuring the altimeter, for +		extracting data from the on-board storage chip after +		flight, and for ground testing pyro charges.  		In “Idle” and “Pad” modes, once the mode indication  		beeps/flashes and continuity indication has been sent, if @@ -70,6 +84,7 @@  		beep. The flight computer will continue to report landed mode  		and beep out the maximum height until turned off. +		ifdef::telemetrum,telemega,easymega[]  		One “neat trick” of particular value when TeleMetrum, TeleMega  		or EasyMega are used with  		very large air-frames, is that you can power the board up while the @@ -80,7 +95,9 @@  		step of a rickety step-ladder or hanging off the side of a launch  		tower with a screw-driver trying to turn on your avionics before  		installing igniters! +		endif::telemetrum,telemega,easymega[] +		ifdef::telemini[]  		TeleMini v1.0 is configured solely via the radio link. Of course, that  		means you need to know the TeleMini radio configuration values  		or you won't be able to communicate with it. For situations @@ -99,8 +116,11 @@  		piece of small gauge wire, connect the outer two holes  		together, then power TeleMini up. Once the red LED is lit,  		disconnect the wire and the board should signal that it's in -		'idle' mode after the initial five second startup period. +		'idle' mode after the initial five second startup +		period. +		endif::telemini[] +	ifdef::gps[]      	=== GPS  		TeleMetrum and TeleMega include a complete GPS receiver.  A @@ -120,7 +140,9 @@  		is turned back on, the GPS system should lock very quickly, typically  		long before igniter installation and return to the flight line are  		complete. +	endif::gps[] +	ifdef::radio[]      	=== Controlling An Altimeter Over The Radio Link  		One of the unique features of the Altus Metrum system is the @@ -199,25 +221,38 @@  		lights on the devices. The red LED will flash each time a packet  		is transmitted, while the green LED will light up on TeleDongle when  		it is waiting to receive a packet from the altimeter. +	endif::radio[]      	=== Ground Testing  		An important aspect of preparing a rocket using electronic deployment -		for flight is ground testing the recovery system.  Thanks +		for flight is ground testing the recovery system. +		ifdef::radio[] +		Thanks  		to the bi-directional radio link central to the Altus Metrum system,  		this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket  		with less work than you may be accustomed to with other systems.  It  		can even be fun! +		endif::radio[]  		Just prep the rocket for flight, then power up the altimeter -		in “idle” mode (placing air-frame horizontal for TeleMetrum or TeleMega, or -		selecting the Configure Altimeter tab for TeleMini).  This will cause -		the firmware to go into “idle” mode, in which the normal flight -		state machine is disabled and charges will not fire without -		manual command.  You can now command the altimeter to fire the apogee -		or main charges from a safe distance using your computer and -		TeleDongle and the Fire Igniter tab to complete ejection testing. - +		in “idle” +		ifdef::telemetrum,telemega,telemini[] +			mode (placing air-frame horizontal for TeleMetrum or TeleMega, or +			selecting the Configure Altimeter tab for TeleMini). +			This will cause +			the firmware to go into “idle” mode, in which the normal flight +			state machine is disabled and charges will not fire without +			manual command. +		endif::telemetrum,telemega,telemini[] +		ifndef::telemetrum,telemega,telemini[] +			mode. +		endif::telemetrum,telemega,telemini[] +		You can now command the altimeter to fire the apogee +		or main charges from a safe distance using your +		computer and the Fire Igniter tab to complete ejection testing. + +	ifdef::radio[]      	=== Radio Link  		TeleMetrum, TeleMini and TeleMega all incorporate an @@ -255,10 +290,13 @@  		devices.  We hope to fly boards to higher altitudes  		over time, and would of course appreciate customer  		feedback on performance in higher altitude flights! +	endif::radio[] +	ifdef::gps+radio[]  	:aprsdevices: TeleMetrum v2.0 and TeleMega  	:configure_section: _configure_altimeter  	include::aprs-operation.raw[] +	endif::gps+radio[]      	=== Configurable Parameters @@ -266,6 +304,5 @@  		very simple.  Even on our baro-only TeleMini and  		EasyMini boards, the use of a Kalman filter means  		there is no need to set a “mach delay”.  All of the -		configurable parameters can be set using AltosUI -		over USB or or radio link via TeleDongle. Read +		configurable parameters can be set using AltosUI. Read  		<<_configure_altimeter>> for more information. diff --git a/doc/telegps.txt b/doc/telegps.txt index 6726b340..47eafe37 100644 --- a/doc/telegps.txt +++ b/doc/telegps.txt @@ -2,6 +2,8 @@  :doctype: book  :numbered:  :telegps: 1 +:radio: 1 +:gps: 1  :application: TeleGPS  	include::telegps-dedication.raw[] diff --git a/doc/updating-firmware.inc b/doc/updating-firmware.inc index d22fdb18..11ea1283 100644 --- a/doc/updating-firmware.inc +++ b/doc/updating-firmware.inc @@ -1,12 +1,21 @@  [appendix]  == Updating Device Firmware +	ifdef::telemega[]  	TeleMega, TeleMetrum v2, EasyMega, EasyMini and TeleDongle v3 -	are all programmed directly over their USB connectors (self -	programming). TeleMetrum v1, TeleMini and TeleDongle v0.2 are +	are all +	endif::telemega[] +	ifndef::telemega[] +	EasyMini is +	endif::telemega[] +	programmed directly over their USB connectors (self +	programming). +	ifdef::telemega[] +	TeleMetrum v1, TeleMini and TeleDongle v0.2 are  	all programmed by using another device as a programmer (pair  	programming). It's important to recognize which kind of devices  	you have before trying to reprogram them. +	endif::telemega[]  	You may wish to begin by ensuring you have current firmware  	images.  These are distributed as part of the AltOS software @@ -17,11 +26,15 @@  	download the most recent version from  	http://www.altusmetrum.org/AltOS/ +	ifdef::telemega[]  	=== Updating TeleMega, TeleMetrum v2, EasyMega, EasyMini or TeleDongle v3 Firmware +	endif::telemega[] +	ifndef::telemega[] +	=== Updating EasyMini Firmware +	endif::telemega[] -		Self-programmable devices (TeleMega, TeleMetrum v2, -		EasyMega and EasyMini) are reprogrammed by connecting -		them to your computer over USB +		Self-programmable devices 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. @@ -36,7 +49,7 @@  		. 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 TeleMega-v1.0-1.3.0.ihx. +		  such as EasyMini-v1.0-1.6.0.ihx.  		. Make sure the configuration parameters are  		  reasonable looking. If the serial number and/or RF @@ -62,6 +75,7 @@  			connectors will force the boot loader to start, even if the  			regular operating system has been corrupted in some way. +			ifdef::telemega[]  			TeleMega::  			Connect pin 6 and pin 1 of the companion @@ -72,7 +86,9 @@  			battery. Pin 7 carries 3.3V and the board will crash  			if that is connected to pin 1, but shouldn't damage  			the board. +			endif::telemega[] +			ifdef::easymega[]  			EasyMega::  			Connect pin 6 and pin 1 of the companion @@ -83,7 +99,9 @@  			battery. Pin 7 carries 3.3V and the board will crash  			if that is connected to pin 1, but shouldn't damage  			the board. +			endif::easymega[] +			ifdef::telemetrum[]  			TeleMetrum v2::  			Connect pin 6 and pin 1 of the companion @@ -94,7 +112,9 @@  			battery. Pin 7 carries 3.3V and the board will crash  			if that is connected to pin 1, but shouldn't damage  			the board. +			endif::telemetrum[] +			ifdef::easymini[]  			EasyMini::  			Connect pin 6 and pin 1 of the debug connector, which @@ -102,13 +122,16 @@  			identified by the square pad around it, and then the  			pins could sequentially across the board, making Pin 6  			the one on the other end of the row. +			endif::easymini[] +			ifdef::telemetrum[]  			TeleDongle v3::  			Connect pin 32 on the CPU to ground. Pin 32 is closest  			to the USB wires on the row of pins towards the center  			of the board. Ground is available on the capacitor  			next to it, on the end towards the USB wires. +			endif::telemetrum[]  			Once you've located the right pins: @@ -129,6 +152,7 @@  			the board has been powered up, you can remove the  			piece of wire. +	ifdef::telemetrum,telemini[]  	=== Pair Programming  		The big concept to understand is that you have to use @@ -341,3 +365,4 @@  		TeleMetrum to help ensure that the cabling to  		companion boards used in a rocket don't ever come  		loose accidentally in flight. +	endif::telemetrum,telemini[] diff --git a/doc/usage.inc b/doc/usage.inc index caccc168..3f59a50f 100644 --- a/doc/usage.inc +++ b/doc/usage.inc @@ -54,15 +54,19 @@  		Altus Metrum flight computers include a beeper to  		provide information about the state of the system. +		ifdef::telemini[]  		TeleMini doesn't have room for a beeper, so instead it  		uses an LED, which works the same, except for every  		beep is replaced with the flash of the LED. +		endif::telemini[] -		Here's a short summary of all of the modes and the beeping (or -		flashing, in the case of TeleMini v1) that accompanies each -		mode. In the description of the beeping pattern, “dit” means a -		short beep while "dah" means a long beep (three times as -		long). “Brap” means a long dissonant tone. +		Here's a short summary of all of the modes and the +		beeping +		ifdef::telemini[(or flashing, in the case of TeleMini v1)] +		that accompanies each mode. In the description of the +		beeping pattern, “dit” means a short beep while "dah" +		means a long beep (three times as long). “Brap” means +		a long dissonant tone.  		.AltOS Modes  		[options="border",cols="1,1,2,2"] @@ -80,7 +84,8 @@  		|Idle  		|I  		|dit dit -		|Ready to accept commands over USB or radio link. +		|Ready to accept commands over USB +		ifdef::radio[or radio link.]  		|Pad  		|P @@ -163,6 +168,7 @@  		 stored in on-board flash.  		|==== +		ifdef::radio[]  		For devices with a radio transmitter, in addition to  		the digital and APRS telemetry signals, you can also  		receive audio tones with a standard amateur @@ -201,6 +207,7 @@  		find the rocket using RDF techniques when the signal  		is too weak to receive GPS information via telemetry  		or APRS. +		endif::radio[]  	=== Turning On the Power @@ -216,30 +223,39 @@  		Flight/Pad::  		The flight computer is waiting to detect  		launch and then fly the rocket. In this mode, the USB -		link is disabled, and the radio goes into -		transmit-only mode. The only way to get out of this +		link is +		ifdef::radio[disabled, and the radio goes into transmit-only mode.] +		ifndef::radio[disabled.] +		The only way to get out of this  		mode is to power the flight computer down.  		Idle::  		The flight computer is ready to communicate over USB -		and in packet mode over the radio. You can configure +		ifdef::radio[and in packet mode over the radio.] +		You can configure  		the flight computer, download data or display  		the current state. +		ifdef::telemetrum,easymega,telemega[]  		For flight computers with accelerometers (TeleMetrum,  		EasyMega and TeleMega), the mode is selected by the  		orientation of the board during the self test  		interval. If the board is pointing upwards as if ready  		to fly, it will enter Flight/Pad mode. Otherwise, it will  		enter Idle mode. +		endif::telemetrum,easymega,telemega[] +		ifdef::easymini[]  		For EasyMini, if the USB cable is connected to a  		computer, it will enter Idle mode. Otherwise, it will  		enter Flight/Pad mode. +		endif::easymini[] +		ifdef::telemini[]  		For TeleMini v1.0, if a packet link is waiting to  		connect when the device is powered on, it will enter  		Idle mode, otherwise it will enter Flight/Pad mode. +		endif::telemini[]  		You can see in <<_understanding_beeps>>  		how to tell which mode the flight computer is in. @@ -278,14 +294,19 @@  	=== Using a Different Kind of Battery -		EasyMini and TeleMini v2 are designed to use either a +		EasyMini +		ifdef::telemini[and TeleMini v2 are] +		ifndef::telemini[is] +		designed to use either a  		lithium polymer battery or any other battery producing  		between 4 and 12 volts, such as a rectangular 9V  		battery. +		ifdef::telemega,easymega,telemetrum[]  		[WARNING]  		TeleMega, EasyMega and TeleMetrum are only designed to  		operate off a single-cell Lithium Polymer battery and  		cannot be used with any other kind. Connecting a  		different kind of battery to any of these will destroy  		the board. +		endif::telemega,easymega,telemetrum[] diff --git a/doc/using-am-products.inc b/doc/using-am-products.inc index 8d7d005a..8bca563d 100644 --- a/doc/using-am-products.inc +++ b/doc/using-am-products.inc @@ -1,23 +1,32 @@  == Using Altus Metrum Products +	ifdef::radio[]  	=== Being Legal -        First off, in the US, you need an -        link:http://www.altusmetrum.org/Radio/[amateur radio license] -        or other authorization to legally operate the radio -        transmitters that are part of our products. +	        First off, in the US, you need an +	        link:http://www.altusmetrum.org/Radio/[amateur radio license] +	        or other authorization to legally operate the radio +	        transmitters that are part of our products. +	endif::radio[]  	=== In the Rocket  		In the rocket itself, you just need a flight computer  		and a single-cell, 3.7 volt nominal Li-Po rechargeable -		battery.  An 850mAh battery weighs less than a 9V +		battery. +		ifdef::telemetrum,telemega,easymega[] +		An 850mAh battery weighs less than a 9V  		alkaline battery, and will run a TeleMetrum, TeleMega -		or EasyMega for hours.  A 110mAh battery weighs less +		or EasyMega for hours. +		endif::telemetrum,telemega,easymega[] +		A 110mAh battery weighs less  		than a triple A battery and is a good choice for use -		with TeleMini or EasyMini. +		with +		ifdef::telemini[TeleMini or] +		EasyMini. +		ifdef::radio[]  		By default, we ship TeleMini, TeleMetrum and TeleMega  		flight computers with a simple wire antenna.  If your  		electronics bay or the air-frame it resides within is @@ -28,9 +37,11 @@  		antenna is fixed on all current products, so you  		really want to install the flight computer in a bay  		made of RF-transparent materials if at all possible. +		endif::radio[]  	=== On the Ground +		ifdef::radio[]  		To receive the data stream from the rocket, you need  		an antenna and short feed-line connected to one of our  		link:http://www.altusmetrum.org/TeleDongle/[TeleDongle] @@ -42,28 +53,35 @@  		TeleDongle looks like a simple serial port, your  		computer does not require special device  		drivers... just plug it in. +		endif::radio[]  		The GUI tool, AltosUI, is written in Java and runs  		across Linux, Mac OS and Windows. There's also a suite  		of C tools for Linux which can perform most of the  		same tasks. +		ifdef::radio[]  		Alternatively, a TeleBT attached with an SMA to BNC  		adapter at the feed point of a hand-held yagi used in  		conjunction with an Android device running AltosDroid  		makes an outstanding ground station. +		endif::radio[] -		After the flight, you can use the radio link to +		After the flight, +		ifdef::radio[] +		you can use the radio link to  		extract the more detailed data logged in either -		TeleMetrum or TeleMini devices, or you can use a mini -		USB cable to plug into the TeleMetrum board directly. -		Pulling out the data without having to open up the -		rocket is pretty cool!  A USB cable is also how you +		TeleMetrum or TeleMini devices, or +		endif::radio[] +		you can use a +		USB cable to plug into the flight computer board directly. +		A USB cable is also how you  		charge the Li-Po battery, so you'll want one of those -		anyway... the same cable used by lots of digital +		anyway. The same cable used by lots of digital  		cameras and other modern electronic stuff will work  		fine. +		ifdef::gps[]  		If your rocket lands out of sight, you may enjoy  		having a hand-held GPS receiver, so that you can put  		in a way-point for the last reported rocket position @@ -72,7 +90,9 @@  		look around starting from there.  AltosDroid on an  		Android device with GPS receiver works great for this,  		too! +		endif::gps[] +		ifdef::radio[]  		You may also enjoy having a ham radio “HT” that covers  		the 70cm band... you can use that with your antenna to  		direction-find the rocket on the ground the same way @@ -102,6 +122,7 @@  		with a suitable 70cm HT.  TeleDongle and an SMA to BNC  		adapter fit perfectly between the driven element and  		reflector of Arrow antennas. +		endif::radio[]  	=== Data Analysis @@ -115,7 +136,7 @@  		velocity.  You can also generate and view a standard  		set of plots showing the altitude, acceleration, and  		velocity of the rocket during flight.  And you can -		even export a TeleMetrum data file usable with Google +		even export a flight log in a format usable with Google  		Maps and Google Earth for visualizing the flight path  		in two or three dimensions! @@ -125,6 +146,7 @@  	=== Future Plans +		ifdef::telemetrum,telemega,easymega[]  		We have designed and prototyped several “companion  		boards” that can attach to the companion connector on  		TeleMetrum, TeleMega and EasyMega flight computers to @@ -135,6 +157,7 @@  		control of events in your rockets beyond the  		capabilities of our existing productions, please let  		us know! +		endif::telemetrum,telemega,easymega[]  		Because all of our work is open, both the hardware  		designs and the software, if you have some great idea | 
