+ <chapter>
+ <title>FAQ</title>
+ <para>
+ TeleMetrum seems to shut off when disconnected from the
+ computer. Make sure the battery is adequately charged. Remember the
+ unit will pull more power than the USB port can deliver before the
+ GPS enters “locked” mode. The battery charges best when TeleMetrum
+ is turned off.
+ </para>
+ <para>
+ It's impossible to stop the TeleDongle when it's in “p” mode, I have
+ to unplug the USB cable? Make sure you have tried to “escape out” of
+ this mode. If this doesn't work the reboot procedure for the
+ TeleDongle *is* to simply unplug it. 'cu' however will retain it's
+ outgoing buffer IF your “escape out” ('~~') does not work.
+ At this point using either 'ao-view' (or possibly
+ 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
+ communication.
+ </para>
+ <para>
+ The amber LED (on the TeleMetrum) lights up when both
+ battery and USB are connected. Does this mean it's charging?
+ Yes, the yellow LED indicates the charging at the 'regular' rate.
+ If the led is out but the unit is still plugged into a USB port,
+ then the battery is being charged at a 'trickle' rate.
+ </para>
+ <para>
+ There are no “dit-dah-dah-dit” sound or lights like the manual mentions?
+ That's the “pad” mode. Weak batteries might be the problem.
+ It is also possible that the TeleMetrum is horizontal and the output
+ is instead a “dit-dit” meaning 'idle'. For TeleMini, it's possible that
+ it received a command packet which would have left it in “pad” mode.
+ </para>
+ <para>
+ How do I save flight data?
+ Live telemetry is written to file(s) whenever AltosUI is connected
+ to the TeleDongle. The file area defaults to ~/TeleMetrum
+ but is easily changed using the menus in AltosUI. The files that
+ are written end in '.telem'. The after-flight
+ data-dumped files will end in .eeprom and represent continuous data
+ unlike the .telem files that are subject to losses
+ along the RF data path.
+ See the above instructions on what and how to save the eeprom stored
+ data after physically retrieving your altimeter. Make sure to save
+ the on-board data after each flight; while the TeleMetrum can store
+ multiple flights, you never know when you'll lose the altimeter...
+ </para>
+ </chapter>
+ <appendix>
+ <title>Notes for Older Software</title>
+ <para>
+ <emphasis>
+ Before AltosUI was written, using Altus Metrum devices required
+ some finesse with the Linux command line. There was a limited
+ GUI tool, ao-view, which provided functionality similar to the
+ Monitor Flight window in AltosUI, but everything else was a
+ fairly 80's experience. This appendix includes documentation for
+ using that software.
+ </emphasis>
+ </para>
+ <para>
+ Both TeleMetrum and TeleDongle can be directly communicated
+ with using USB ports. The first thing you should try after getting
+ both units plugged into to your computer's USB port(s) is to run
+ 'ao-list' from a terminal-window to see what port-device-name each
+ device has been assigned by the operating system.
+ You will need this information to access the devices via their
+ respective on-board firmware and data using other command line
+ programs in the AltOS software suite.
+ </para>
+ <para>
+ TeleMini can be communicated with through a TeleDongle device
+ over the radio link. When first booted, TeleMini listens for a
+ TeleDongle device and if it receives a packet, it goes into
+ 'idle' mode. Otherwise, it goes into 'pad' mode and waits to be
+ launched. The easiest way to get it talking is to start the
+ communication link on the TeleDongle and the power up the
+ TeleMini board.
+ </para>
+ <para>
+ To access the device's firmware for configuration you need a terminal
+ program such as you would use to talk to a modem. The software
+ authors prefer using the program 'cu' which comes from the UUCP package
+ on most Unix-like systems such as Linux. An example command line for
+ cu might be 'cu -l /dev/ttyACM0', substituting the correct number
+ indicated from running the
+ ao-list program. Another reasonable terminal program for Linux is
+ 'cutecom'. The default 'escape'
+ character used by CU (i.e. the character you use to
+ issue commands to cu itself instead of sending the command as input
+ to the connected device) is a '~'. You will need this for use in
+ only two different ways during normal operations. First is to exit
+ the program by sending a '~.' which is called a 'escape-disconnect'
+ and allows you to close-out from 'cu'. The
+ second use will be outlined later.
+ </para>
+ <para>
+ All of the Altus Metrum devices share the concept of a two level
+ command set in their firmware.
+ The first layer has several single letter commands. Once
+ you are using 'cu' (or 'cutecom') sending (typing) a '?'
+ returns a full list of these
+ commands. The second level are configuration sub-commands accessed
+ using the 'c' command, for
+ instance typing 'c?' will give you this second level of commands
+ (all of which require the
+ letter 'c' to access). Please note that most configuration options
+ are stored only in Flash memory; TeleDongle doesn't provide any storage
+ for these options and so they'll all be lost when you unplug it.
+ </para>
+ <para>
+ Try setting these configuration ('c' or second level menu) values. A good
+ place to start is by setting your call sign. By default, the boards
+ use 'N0CALL' which is cute, but not exactly legal!
+ Spend a few minutes getting comfortable with the units, their
+ firmware, and 'cu' (or possibly 'cutecom').
+ For instance, try to send
+ (type) a 'c r 2' and verify the channel change by sending a 'c s'.
+ Verify you can connect and disconnect from the units while in your
+ terminal program by sending the escape-disconnect mentioned above.
+ </para>
+ <para>
+ To set the radio frequency, use the 'c R' command to specify the
+ radio transceiver configuration parameter. This parameter is computed
+ using the desired frequency, 'F', the radio calibration parameter, 'C' (showed by the 'c s' command) and
+ the standard calibration reference frequency, 'S', (normally 434.550MHz):
+ <programlisting>
+ R = F / S * C
+ </programlisting>
+ Round the result to the nearest integer value.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board flash on
+ your altimeter board if you want the change to stay in place across reboots.
+ </para>
+ <para>
+ To set the apogee delay, use the 'c d' command.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </para>
+ <para>
+ To set the main deployment altitude, use the 'c m' command.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </para>
+ <para>
+ To calibrate the radio frequency, connect the UHF antenna port to a
+ frequency counter, set the board to 434.550MHz, and use the 'C'
+ command to generate a CW carrier. Wait for the transmitter temperature
+ to stabilize and the frequency to settle down.
+ Then, divide 434.550 MHz by the
+ measured frequency and multiply by the current radio cal value show
+ in the 'c s' command. For an unprogrammed board, the default value
+ is 1186611. Take the resulting integer and program it using the 'c f'
+ command. Testing with the 'C' command again should show a carrier
+ within a few tens of Hertz of the intended frequency.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </para>
+ <para>
+ Note that the 'reboot' command, which is very useful on the altimeters,
+ will likely just cause problems with the dongle. The *correct* way
+ to reset the dongle is just to unplug and re-plug it.
+ </para>
+ <para>
+ A fun thing to do at the launch site and something you can do while
+ learning how to use these units is to play with the radio link access
+ between an altimeter and the TeleDongle. Be aware that you *must* create
+ some physical separation between the devices, otherwise the link will
+ not function due to signal overload in the receivers in each device.
+ </para>
+ <para>
+ Now might be a good time to take a break and read the rest of this
+ manual, particularly about the two “modes” that the altimeters
+ can be placed in. TeleMetrum uses the position of the device when booting
+ up will determine whether the unit is in “pad” or “idle” mode. TeleMini
+ enters “idle” mode when it receives a command packet within the first 5 seconds
+ of being powered up, otherwise it enters “pad” mode.
+ </para>
+ <para>
+ You can access an altimeter in idle mode from the TeleDongle's USB
+ connection using the radio link
+ by issuing a 'p' command to the TeleDongle. Practice connecting and
+ disconnecting ('~~' while using 'cu') from the altimeter. If
+ you cannot escape out of the “p” command, (by using a '~~' when in
+ CU) then it is likely that your kernel has issues. Try a newer version.
+ </para>
+ <para>
+ Using this radio link allows you to configure the altimeter, test
+ fire e-matches and igniters from the flight line, check pyro-match
+ continuity and so forth. You can leave the unit turned on while it
+ is in 'idle mode' and then place the
+ rocket vertically on the launch pad, walk away and then issue a
+ reboot command. The altimeter will reboot and start sending data
+ having changed to the “pad” mode. If the TeleDongle is not receiving
+ this data, you can disconnect 'cu' from the TeleDongle using the
+ procedures mentioned above and THEN connect to the TeleDongle from
+ inside 'ao-view'. If this doesn't work, disconnect from the
+ TeleDongle, unplug it, and try again after plugging it back in.
+ </para>
+ <para>
+ In order to reduce the chance of accidental firing of pyrotechnic
+ charges, the command to fire a charge is intentionally somewhat
+ difficult to type, and the built-in help is slightly cryptic to
+ prevent accidental echoing of characters from the help text back at
+ the board from firing a charge. The command to fire the apogee
+ drogue charge is 'i DoIt drogue' and the command to fire the main
+ charge is 'i DoIt main'.
+ </para>
+ <para>
+ On TeleMetrum, the GPS will eventually find enough satellites, lock in on them,
+ and 'ao-view' will both auditorily announce and visually indicate
+ that GPS is ready.
+ Now you can launch knowing that you have a good data path and
+ good satellite lock for flight data and recovery. Remember
+ you MUST tell ao-view to connect to the TeleDongle explicitly in
+ order for ao-view to be able to receive data.
+ </para>
+ <para>
+ The altimeters provide RDF (radio direction finding) tones on
+ the pad, during descent and after landing. These can be used to
+ locate the rocket using a directional antenna; the signal
+ strength providing an indication of the direction from receiver to rocket.
+ </para>
+ <para>
+ TeleMetrum also provides GPS tracking data, which can further simplify
+ locating the rocket once it has landed. (The last good GPS data
+ received before touch-down will be on the data screen of 'ao-view'.)
+ </para>
+ <para>
+ Once you have recovered the rocket you can download the eeprom
+ contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
+ either a USB cable or over the radio link using TeleDongle.
+ And by following the man page for 'ao-postflight' you can create
+ various data output reports, graphs, and even KML data to see the
+ flight trajectory in Google-earth. (Moving the viewing angle making
+ sure to connect the yellow lines while in Google-earth is the proper
+ technique.)
+ </para>
+ <para>
+ As for ao-view.... some things are in the menu but don't do anything
+ very useful. The developers have stopped working on ao-view to focus
+ on a new, cross-platform ground station program. So ao-view may or
+ may not be updated in the future. Mostly you just use
+ the Log and Device menus. It has a wonderful display of the incoming
+ flight data and I am sure you will enjoy what it has to say to you
+ once you enable the voice output!
+ </para>
+ </appendix>
+ <appendix>
+ <title>Drill Templates</title>
+ <para>
+ These images, when printed, provide precise templates for the
+ mounting holes in Altus Metrum flight computers
+ </para>
+ <section>
+ <title>TeleMega template</title>
+ <para>
+ TeleMega has overall dimensions of 1.250 x 3.250 inches, and
+ the mounting holes are sized for use with 4-40 or M3 screws.
+ </para>
+ <mediaobject id="TeleMegaTemplate">
+ <imageobject>
+ <imagedata format="SVG" fileref="telemega-outline.svg"/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ <section>
+ <title>TeleMetrum template</title>
+ <para>
+ TeleMetrum has overall dimensions of 1.000 x 2.750 inches, and the
+ mounting holes are sized for use with 4-40 or M3 screws.
+ </para>
+ <mediaobject id="TeleMetrumTemplate">
+ <imageobject>
+ <imagedata format="SVG" fileref="telemetrum.svg"/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ <section>
+ <title>TeleMini v2/EasyMini template</title>
+ <para>
+ TeleMini v2 and EasyMini have overall dimensions of 0.800 x 1.500 inches, and the
+ mounting holes are sized for use with 4-40 or M3 screws.
+ </para>
+ <mediaobject id="MiniTemplate">
+ <imageobject>
+ <imagedata format="SVG" fileref="easymini-outline.svg"/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ <section>
+ <title>TeleMini v1 template</title>
+ <para>
+ 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.
+ </para>
+ <mediaobject id="TeleMiniTemplate">
+ <imageobject>
+ <imagedata format="SVG" fileref="telemini.svg"/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ </appendix>
+ <appendix>
+ <title>Calibration</title>
+ <para>
+ There are only two calibrations required for TeleMetrum and
+ TeleMega, and only one for TeleDongle, TeleMini and EasyMini.
+ All boards are shipped from the factory pre-calibrated, but
+ the procedures are documented here in case they are ever
+ needed. Re-calibration is not supported by AltosUI, you must
+ connect to the board with a serial terminal program and
+ interact directly with the on-board command interpreter to
+ effect calibration.
+ </para>
+ <section>
+ <title>Radio Frequency</title>
+ <para>
+ The radio frequency is synthesized from a clock based on the
+ crystal on the board. The actual frequency of this oscillator
+ must be measured to generate a calibration constant. While our
+ GFSK modulation
+ bandwidth is wide enough to allow boards to communicate even when
+ their oscillators are not on exactly the same frequency, performance
+ is best when they are closely matched.
+ Radio frequency calibration requires a calibrated frequency counter.
+ Fortunately, once set, the variation in frequency due to aging and
+ temperature changes is small enough that re-calibration by customers
+ should generally not be required.
+ </para>
+ <para>
+ To calibrate the radio frequency, connect the UHF antenna
+ port to a frequency counter, set the board to 434.550MHz,
+ and use the 'C' command in the on-board command interpreter
+ to generate a CW carrier. For USB-enabled boards, this is
+ best done over USB. For TeleMini v1, note that the only way
+ to escape the 'C' command is via power cycle since the board
+ will no longer be listening for commands once it starts
+ generating a CW carrier.
+ </para>
+ <para>
+ Wait for the transmitter temperature to stabilize and the frequency
+ to settle down. Then, divide 434.550 MHz by the
+ measured frequency and multiply by the current radio cal value show
+ in the 'c s' command. For an unprogrammed board, the default value
+ is 1186611. Take the resulting integer and program it using the 'c f'
+ command. Testing with the 'C' command again should show a carrier
+ within a few tens of Hertz of the intended frequency.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board storage chip.
+ </para>
+ <para>
+ Note that any time you re-do the radio frequency calibration, the
+ radio frequency is reset to the default 434.550 Mhz. If you want
+ to use another frequency, you will have to set that again after
+ calibration is completed.
+ </para>
+ </section>
+ <section>
+ <title>TeleMetrum and TeleMega Accelerometers</title>
+ <para>
+ While barometric sensors are factory-calibrated,
+ accelerometers are not, and so each must be calibrated once
+ installed in a flight computer. Explicitly calibrating the
+ accelerometers also allows us to load any compatible device.
+ We perform a two-point calibration using gravity.
+ </para>
+ <para>
+ To calibrate the acceleration sensor, use the 'c a 0' command. You
+ will be prompted to orient the board vertically with the UHF antenna
+ up and press a key, then to orient the board vertically with the
+ UHF antenna down and press a key. Note that the accuracy of this
+ calibration depends primarily on how perfectly vertical and still
+ the board is held during the cal process. As with all 'c'
+ sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </para>
+ <para>
+ The +1g and -1g calibration points are included in each telemetry
+ frame and are part of the header stored in onboard flash to be
+ downloaded after flight. We always store and return raw ADC
+ samples for each sensor... so nothing is permanently “lost” or
+ “damaged” if the calibration is poor.
+ </para>
+ <para>
+ In the unlikely event an accel cal goes badly, it is possible
+ that TeleMetrum or TeleMega may always come up in 'pad mode'
+ and as such not be listening to either the USB or radio link.
+ If that happens, there is a special hook in the firmware to
+ force the board back in to 'idle mode' so you can re-do the
+ cal. To use this hook, you just need to ground the SPI clock
+ pin at power-on. This pin is available as pin 2 on the 8-pin
+ companion connector, and pin 1 is ground. So either
+ carefully install a fine-gauge wire jumper between the two
+ pins closest to the index hole end of the 8-pin connector, or
+ plug in the programming cable to the 8-pin connector and use
+ a small screwdriver or similar to short the two pins closest
+ to the index post on the 4-pin end of the programming cable,
+ and power up the board. It should come up in 'idle mode'
+ (two beeps), allowing a re-cal.
+ </para>
+ </section>
+ </appendix>
+ <appendix>
+ <title>Release Notes</title>
+ <simplesect>
+ <title>Version 1.3</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-1.3.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 1.2.1</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-1.2.1.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 1.2</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-1.2.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 1.1.1</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-1.1.1.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 1.1</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-1.1.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 1.0.1</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-1.0.1.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 0.9.2</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-0.9.2.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 0.9</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-0.9.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 0.8</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-0.8.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ <simplesect>
+ <title>Version 0.7.1</title>
+ <xi:include
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="release-notes-0.7.1.xsl"
+ xpointer="xpointer(/article/*)"/>
+ </simplesect>
+ </appendix>