[fw/altos] / doc / telemetrum-doc.xsl
1 <?xml version="1.0" encoding="utf-8" ?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
4 <book>
5   <title>TeleMetrum</title>
6   <subtitle>Owner's Manual for the TeleMetrum System</subtitle>
7   <bookinfo>
8     <author>
9       <firstname>Bdale</firstname>
10       <surname>Garbee</surname>
11     </author>
12     <author>
13       <firstname>Keith</firstname>
14       <surname>Packard</surname>
15     </author>
16     <copyright>
17       <year>2010</year>
18       <holder>Bdale Garbee and Keith Packard</holder>
19     </copyright>
20     <legalnotice>
21       <para>
22         This document is released under the terms of the 
23         <ulink url="http://creativecommons.org/licenses/by-sa/3.0/">
24           Creative Commons ShareAlike 3.0
25         </ulink>
26         license.
27       </para>
28     </legalnotice>
29     <revhistory>
30       <revision>
31         <revnumber>0.3</revnumber>
32         <date>24 November 2010</date>
33         <revremark>New section on AltosUI mostly by Keith with contributions
34         from Anthony Towns.  Many other updates.</revremark>
35       </revision>
36       <revision>
37         <revnumber>0.2</revnumber>
38         <date>18 July 2010</date>
39         <revremark>Significant update</revremark>
40       </revision>
41       <revision>
42         <revnumber>0.1</revnumber>
43         <date>30 March 2010</date>
44         <revremark>Initial content</revremark>
45       </revision>
46     </revhistory>
47   </bookinfo>
48   <chapter>
49     <title>Introduction and Overview</title>
50     <para>
51       Welcome to the Altus Metrum community!  Our circuits and software reflect
52       our passion for both hobby rocketry and Free Software.  We hope their
53       capabilities and performance will delight you in every way, but by
54       releasing all of our hardware and software designs under open licenses,
55       we also hope to empower you to take as active a role in our collective
56       future as you wish!
57     </para>
58     <para>
59       The focal point of our community is TeleMetrum, a dual deploy altimeter 
60       with fully integrated GPS and radio telemetry as standard features, and
61       a "companion interface" that will support optional capabilities in the 
62       future.
63     </para>
64     <para>    
65       Complementing TeleMetrum is TeleDongle, a USB to RF interface for 
66       communicating with TeleMetrum.  Combined with your choice of antenna and 
67       notebook computer, TeleDongle and our associated user interface software
68       form a complete ground station capable of logging and displaying in-flight
69       telemetry, aiding rocket recovery, then processing and archiving flight
70       data for analysis and review.
71     </para>
72     <para>
73       More products will be added to the Altus Metrum family over time, and
74       we currently envision that this will be a single, comprehensive manual
75       for the entire product family.
76     </para>
77   </chapter>
78   <chapter>
79     <title>Getting Started</title>
80     <para>
81       This chapter began as "The Mere-Mortals Quick Start/Usage Guide to 
82       the Altus Metrum Starter Kit" by Bob Finch, W9YA, NAR 12965, TRA 12350, 
83       w9ya@amsat.org.  Bob was one of our first customers for a production
84       TeleMetrum, and the enthusiasm that led to his contribution of this
85       section is immensely gratifying and highy appreciated!
86     </para>
87     <para>
88       The first thing to do after you check the inventory of parts in your 
89       "starter kit" is to charge the battery by plugging it into the 
90       corresponding socket of the TeleMetrum and then using the USB A to B 
91       cable to plug the Telemetrum into your computer's USB socket. The 
92       TeleMetrum circuitry will charge the battery whenever it is plugged 
93       into the usb socket. The TeleMetrum's on-off switch does NOT control 
94       the charging circuitry.  When the GPS chip is initially searching for
95       satellites, the unit will pull more current than it can pull from the
96       usb port, so the battery must be plugged in order to get a good 
97       satellite lock.  Once GPS is locked the current consumption goes back 
98       down enough to enable charging while 
99       running. So it's a good idea to fully charge the battery as your 
100       first item of business so there is no issue getting and maintaining 
101       satellite lock.  The yellow charge indicator led will go out when the 
102       battery is nearly full and the charger goes to trickle charge.
103     </para>
104     <para>
105       The other active device in the starter kit is the half-duplex TeleDongle 
106       rf link.  If you plug it in to your computer it should "just work",
107       showing up as a serial port device.  If you are using Linux and are
108       having problems, try moving to a fresher kernel (2.6.33 or newer), as
109       there were some ugly USB serial driver bugs in earlier versions.
110     </para>
111     <para>
112       Next you should obtain and install the AltOS utilities.  The first
113       generation sofware was written for Linux only.  New software is coming
114       soon that will also run on Windows and Mac.  For now, we'll concentrate
115       on Linux.  If you are using Debian, an 'altos' package already exists, 
116       see http://altusmetrum.org/AltOS for details on how to install it.
117       User-contributed directions for building packages on ArchLinux may be 
118       found in the contrib/arch-linux directory as PKGBUILD files.
119       Between the debian/rules file and the PKGBUILD files in 
120       contrib, you should find enough information to learn how to build the 
121       software for any other version of Linux.
122     </para>
123     <para>
124       When you have successfully installed the software suite (either from 
125       compiled source code or as the pre-built Debian package) you will 
126       have 10 or so executable programs all of which have names beginning 
127       with 'ao-'.
128       ('ao-view' is the lone GUI-based program, the rest are command-line 
129       oriented.) You will also have man pages, that give you basic info 
130       on each program.
131       You will also get this documentation in two file types in the doc/ 
132       directory, telemetrum-doc.pdf and telemetrum-doc.html.
133       Finally you will have a couple control files that allow the ao-view 
134       GUI-based program to appear in your menu of programs (under 
135       the 'Internet' category). 
136     </para>
137     <para>
138       Both Telemetrum and TeleDongle can be directly communicated 
139       with using USB ports. The first thing you should try after getting 
140       both units plugged into to your computer's usb port(s) is to run 
141       'ao-list' from a terminal-window to see what port-device-name each 
142       device has been assigned by the operating system. 
143       You will need this information to access the devices via their 
144       respective on-board firmware and data using other command line
145       programs in the AltOS software suite.
146     </para>
147     <para>
148       To access the device's firmware for configuration you need a terminal
149       program such as you would use to talk to a modem.  The software 
150       authors prefer using the program 'cu' which comes from the UUCP package
151       on most Unix-like systems such as Linux.  An example command line for
152       cu might be 'cu -l /dev/ttyACM0', substituting the correct number 
153       indicated from running the
154       ao-list program.  Another reasonable terminal program for Linux is
155       'cutecom'.  The default 'escape' 
156       character used by CU (i.e. the character you use to
157       issue commands to cu itself instead of sending the command as input 
158       to the connected device) is a '~'. You will need this for use in 
159       only two different ways during normal operations. First is to exit 
160       the program by sending a '~.' which is called a 'escape-disconnect' 
161       and allows you to close-out from 'cu'. The
162       second use will be outlined later.
163     </para>
164     <para>
165       Both TeleMetrum and TeleDongle share the concept of a two level 
166       command set in their firmware.  
167       The first layer has several single letter commands. Once 
168       you are using 'cu' (or 'cutecom') sending (typing) a '?' 
169       returns a full list of these
170       commands. The second level are configuration sub-commands accessed 
171       using the 'c' command, for 
172       instance typing 'c?' will give you this second level of commands 
173       (all of which require the
174       letter 'c' to access).  Please note that most configuration options
175       are stored only in DataFlash memory, and only TeleMetrum has this
176       memory to save the various values entered like the channel number 
177       and your callsign when powered off.  TeleDongle requires that you
178       set these each time you plug it in, which ao-view can help with.
179     </para>
180     <para>
181       Try setting these config ('c' or second level menu) values.  A good
182       place to start is by setting your call sign.  By default, the boards
183       use 'N0CALL' which is cute, but not exactly legal!
184       Spend a few minutes getting comfortable with the units, their 
185       firmware, and 'cu' (or possibly 'cutecom').
186       For instance, try to send 
187       (type) a 'c r 2' and verify the channel change by sending a 'c s'. 
188       Verify you can connect and disconnect from the units while in your
189       terminal program by sending the escape-disconnect mentioned above.
190     </para>
191     <para>
192       Note that the 'reboot' command, which is very useful on TeleMetrum, 
193       will likely just cause problems with the dongle.  The *correct* way
194       to reset the dongle is just to unplug and re-plug it.
195     </para>
196     <para>
197       A fun thing to do at the launch site and something you can do while 
198       learning how to use these units is to play with the rf-link access 
199       of the TeleMetrum from the TeleDongle.  Be aware that you *must* create
200       some physical separation between the devices, otherwise the link will 
201       not function due to signal overload in the receivers in each device.
202     </para>
203     <para>
204       Now might be a good time to take a break and read the rest of this
205       manual, particularly about the two "modes" that the TeleMetrum 
206       can be placed in and how the position of the TeleMetrum when booting 
207       up will determine whether the unit is in "pad" or "idle" mode.
208     </para>
209     <para>
210       You can access a TeleMetrum in idle mode from the Teledongle's USB 
211       connection using the rf link
212       by issuing a 'p' command to the TeleDongle. Practice connecting and
213       disconnecting ('~~' while using 'cu') from the TeleMetrum.  If 
214       you cannot escape out of the "p" command, (by using a '~~' when in 
215       CU) then it is likely that your kernel has issues.  Try a newer version.
216     </para>
217     <para>
218       Using this rf link allows you to configure the TeleMetrum, test 
219       fire e-matches and igniters from the flight line, check pyro-match 
220       continuity and so forth. You can leave the unit turned on while it 
221       is in 'idle mode' and then place the
222       rocket vertically on the launch pad, walk away and then issue a 
223       reboot command.  The TeleMetrum will reboot and start sending data 
224       having changed to the "pad" mode. If the TeleDongle is not receiving 
225       this data, you can disconnect 'cu' from the Teledongle using the 
226       procedures mentioned above and THEN connect to the TeleDongle from 
227       inside 'ao-view'. If this doesn't work, disconnect from the
228       TeleDongle, unplug it, and try again after plugging it back in.
229     </para>
230     <para>
231       Eventually the GPS will find enough satellites, lock in on them, 
232       and 'ao-view' will both auditorially announce and visually indicate 
233       that GPS is ready.
234       Now you can launch knowing that you have a good data path and 
235       good satellite lock for flight data and recovery.  Remember 
236       you MUST tell ao-view to connect to the TeleDongle explicitly in 
237       order for ao-view to be able to receive data.
238     </para>
239     <para>
240       Both RDF (radio direction finding) tones from the TeleMetrum and 
241       GPS trekking data are available and together are very useful in 
242       locating the rocket once it has landed. (The last good GPS data 
243       received before touch-down will be on the data screen of 'ao-view'.)
244     </para>
245     <para>
246       Once you have recovered the rocket you can download the eeprom 
247       contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
248       either a USB cable or over the radio link using TeleDongle.
249       And by following the man page for 'ao-postflight' you can create 
250       various data output reports, graphs, and even kml data to see the 
251       flight trajectory in google-earth. (Moving the viewing angle making 
252       sure to connect the yellow lines while in google-earth is the proper
253       technique.)
254     </para>
255     <para>
256       As for ao-view.... some things are in the menu but don't do anything 
257       very useful.  The developers have stopped working on ao-view to focus
258       on a new, cross-platform ground station program.  So ao-view may or 
259       may not be updated in the future.  Mostly you just use 
260       the Log and Device menus.  It has a wonderful display of the incoming 
261       flight data and I am sure you will enjoy what it has to say to you 
262       once you enable the voice output!
263     </para>
264     <section>
265       <title>FAQ</title>
266       <para>
267         The altimeter (TeleMetrum) seems to shut off when disconnected from the
268         computer.  Make sure the battery is adequately charged.  Remember the
269         unit will pull more power than the USB port can deliver before the 
270         GPS enters "locked" mode.  The battery charges best when TeleMetrum
271         is turned off.
272       </para>
273       <para>
274         It's impossible to stop the TeleDongle when it's in "p" mode, I have
275         to unplug the USB cable?  Make sure you have tried to "escape out" of 
276         this mode.  If this doesn't work the reboot procedure for the 
277         TeleDongle *is* to simply unplug it. 'cu' however will retain it's 
278         outgoing buffer IF your "escape out" ('~~') does not work. 
279         At this point using either 'ao-view' (or possibly
280         'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
281         communication.
282       </para>
283       <para>
284         The amber LED (on the TeleMetrum/altimeter) lights up when both 
285         battery and USB are connected. Does this mean it's charging? 
286         Yes, the yellow LED indicates the charging at the 'regular' rate. 
287         If the led is out but the unit is still plugged into a USB port, 
288         then the battery is being charged at a 'trickle' rate.
289       </para>
290       <para>
291         There are no "dit-dah-dah-dit" sound like the manual mentions?
292         That's the "pad" mode.  Weak batteries might be the problem.
293         It is also possible that the unit is horizontal and the output 
294         is instead a "dit-dit" meaning 'idle'.
295       </para>
296       <para>
297         It's unclear how to use 'ao-view' and other programs when 'cu' 
298         is running. You cannot have more than one program connected to 
299         the TeleDongle at one time without apparent data loss as the 
300         incoming data will not make it to both programs intact. 
301         Disconnect whatever programs aren't currently being used.
302       </para>
303       <para>
304         How do I save flight data?   
305         Live telemetry is written to file(s) whenever 'ao-view' is connected 
306         to the TeleDongle.  The file area defaults to ~/altos
307         but is easily changed using the menus in 'ao-view'. The files that 
308         are written end in '.telem'. The after-flight
309         data-dumped files will end in .eeprom and represent continuous data 
310         unlike the rf-linked .telem files that are subject to the 
311         turnarounds/data-packaging time slots in the half-duplex rf data path. 
312         See the above instructions on what and how to save the eeprom stored 
313         data after physically retrieving your TeleMetrum.  Make sure to save
314         the on-board data after each flight, as the current firmware will
315         over-write any previous flight data during a new flight.
316       </para>
317     </section>
318   </chapter>
319   <chapter>
320     <title>Specifications</title>
321     <itemizedlist>
322       <listitem>
323         <para>
324           Recording altimeter for model rocketry.
325         </para>
326       </listitem>
327       <listitem>
328         <para>
329           Supports dual deployment (can fire 2 ejection charges).
330         </para>
331       </listitem>
332       <listitem>
333         <para>
334           70cm ham-band transceiver for telemetry downlink.
335         </para>
336       </listitem>
337       <listitem>
338         <para>
339           Barometric pressure sensor good to 45k feet MSL.
340         </para>
341       </listitem>
342       <listitem>
343         <para>
344           1-axis high-g accelerometer for motor characterization, capable of 
345           +/- 50g using default part.
346         </para>
347       </listitem>
348       <listitem>
349         <para>
350           On-board, integrated GPS receiver with 5hz update rate capability.
351         </para>
352       </listitem>
353       <listitem>
354         <para>
355           On-board 1 megabyte non-volatile memory for flight data storage.
356         </para>
357       </listitem>
358       <listitem>
359         <para>
360           USB interface for battery charging, configuration, and data recovery.
361         </para>
362       </listitem>
363       <listitem>
364         <para>
365           Fully integrated support for LiPo rechargeable batteries.
366         </para>
367       </listitem>
368       <listitem>
369         <para>
370           Uses LiPo to fire e-matches, support for optional separate pyro 
371           battery if needed.
372         </para>
373       </listitem>
374       <listitem>
375         <para>
376           2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube.
377         </para>
378       </listitem>
379     </itemizedlist>
380   </chapter>
381   <chapter>
382     <title>Handling Precautions</title>
383     <para>
384       TeleMetrum is a sophisticated electronic device.  When handled gently and
385       properly installed in an airframe, it will deliver impressive results.
386       However, like all electronic devices, there are some precautions you
387       must take.
388     </para>
389     <para>
390       The Lithium Polymer rechargeable batteries used with TeleMetrum have an 
391       extraordinary power density.  This is great because we can fly with
392       much less battery mass than if we used alkaline batteries or previous
393       generation rechargeable batteries... but if they are punctured 
394       or their leads are allowed to short, they can and will release their 
395       energy very rapidly!
396       Thus we recommend that you take some care when handling our batteries 
397       and consider giving them some extra protection in your airframe.  We 
398       often wrap them in suitable scraps of closed-cell packing foam before 
399       strapping them down, for example.
400     </para>
401     <para>
402       The TeleMetrum barometric sensor is sensitive to sunlight.  In normal 
403       mounting situations, it and all of the other surface mount components 
404       are "down" towards whatever the underlying mounting surface is, so
405       this is not normally a problem.  Please consider this, though, when
406       designing an installation, for example, in a 29mm airframe with a 
407       see-through plastic payload bay.
408     </para>
409     <para>
410       The TeleMetrum barometric sensor sampling port must be able to 
411       "breathe",
412       both by not being covered by foam or tape or other materials that might
413       directly block the hole on the top of the sensor, but also by having a
414       suitable static vent to outside air.  
415     </para>
416     <para>
417       As with all other rocketry electronics, TeleMetrum must be protected 
418       from exposure to corrosive motor exhaust and ejection charge gasses.
419     </para>
420   </chapter>
421   <chapter>
422     <title>Hardware Overview</title>
423     <para>
424       TeleMetrum is a 1 inch by 2.75 inch circuit board.  It was designed to
425       fit inside coupler for 29mm airframe tubing, but using it in a tube that
426       small in diameter may require some creativity in mounting and wiring 
427       to succeed!  The default 1/4
428       wave UHF wire antenna attached to the center of the nose-cone end of
429       the board is about 7 inches long, and wiring for a power switch and
430       the e-matches for apogee and main ejection charges depart from the 
431       fin can end of the board.  Given all this, an ideal "simple" avionics 
432       bay for TeleMetrum should have at least 10 inches of interior length.
433     </para>
434     <para>
435       A typical TeleMetrum installation using the on-board GPS antenna and
436       default wire UHF antenna involves attaching only a suitable
437       Lithium Polymer battery, a single pole switch for power on/off, and 
438       two pairs of wires connecting e-matches for the apogee and main ejection
439       charges.  
440     </para>
441     <para>
442       By default, we use the unregulated output of the LiPo battery directly
443       to fire ejection charges.  This works marvelously with standard 
444       low-current e-matches like the J-Tek from MJG Technologies, and with 
445       Quest Q2G2 igniters.  However, if you
446       want or need to use a separate pyro battery, you can do so by adding
447       a second 2mm connector to position B2 on the board and cutting the
448       thick pcb trace connecting the LiPo battery to the pyro circuit between
449       the two silk screen marks on the surface mount side of the board shown
450       here [insert photo]
451     </para>
452     <para>
453       We offer two choices of pyro and power switch connector, or you can 
454       choose neither and solder wires directly to the board.  All three choices
455       are reasonable depending on the constraints of your airframe.  Our
456       favorite option when there is sufficient room above the board is to use
457       the Tyco pin header with polarization and locking.  If you choose this
458       option, you crimp individual wires for the power switch and e-matches
459       into a mating connector, and installing and removing the TeleMetrum
460       board from an airframe is as easy as plugging or unplugging two 
461       connectors.  If the airframe will not support this much height or if
462       you want to be able to directly attach e-match leads to the board, we
463       offer a screw terminal block.  This is very similar to what most other
464       altimeter vendors provide and so may be the most familiar option.  
465       You'll need a very small straight blade screwdriver to connect
466       and disconnect the board in this case, such as you might find in a
467       jeweler's screwdriver set.  Finally, you can forego both options and
468       solder wires directly to the board, which may be the best choice for
469       minimum diameter and/or minimum mass designs. 
470     </para>
471     <para>
472       For most airframes, the integrated GPS antenna and wire UHF antenna are
473       a great combination.  However, if you are installing in a carbon-fiber
474       electronics bay which is opaque to RF signals, you may need to use 
475       off-board external antennas instead.  In this case, you can order
476       TeleMetrum with an SMA connector for the UHF antenna connection, and
477       you can unplug the integrated GPS antenna and select an appropriate 
478       off-board GPS antenna with cable terminating in a U.FL connector.
479     </para>
480   </chapter>
481   <chapter>
482     <title>System Operation</title>
483     <section>
484       <title>Firmware Modes </title>
485       <para>
486         The AltOS firmware build for TeleMetrum has two fundamental modes,
487         "idle" and "flight".  Which of these modes the firmware operates in
488         is determined by the orientation of the rocket (well, actually the
489         board, of course...) at the time power is switched on.  If the rocket
490         is "nose up", then TeleMetrum assumes it's on a rail or rod being
491         prepared for launch, so the firmware chooses flight mode.  However,
492         if the rocket is more or less horizontal, the firmware instead enters
493         idle mode.
494       </para>
495       <para>
496         At power on, you will hear three beeps 
497         ("S" in Morse code for startup) and then a pause while 
498         TeleMetrum completes initialization and self tests, and decides which
499         mode to enter next.
500       </para>
501       <para>
502         In flight or "pad" mode, TeleMetrum turns on the GPS system, 
503         engages the flight
504         state machine, goes into transmit-only mode on the RF link sending 
505         telemetry, and waits for launch to be detected.  Flight mode is
506         indicated by an audible "di-dah-dah-dit" ("P" for pad) on the 
507         beeper, followed by
508         beeps indicating the state of the pyrotechnic igniter continuity.
509         One beep indicates apogee continuity, two beeps indicate
510         main continuity, three beeps indicate both apogee and main continuity,
511         and one longer "brap" sound indicates no continuity.  For a dual
512         deploy flight, make sure you're getting three beeps before launching!
513         For apogee-only or motor eject flights, do what makes sense.
514       </para>
515       <para>
516         In idle mode, you will hear an audible "di-dit" ("I" for idle), and
517         the normal flight state machine is disengaged, thus
518         no ejection charges will fire.  TeleMetrum also listens on the RF
519         link when in idle mode for packet mode requests sent from TeleDongle.
520         Commands can be issued to a TeleMetrum in idle mode over either
521         USB or the RF link equivalently.
522         Idle mode is useful for configuring TeleMetrum, for extracting data 
523         from the on-board storage chip after flight, and for ground testing
524         pyro charges.
525       </para>
526       <para>
527         One "neat trick" of particular value when TeleMetrum is used with very
528         large airframes, is that you can power the board up while the rocket
529         is horizontal, such that it comes up in idle mode.  Then you can 
530         raise the airframe to launch position, use a TeleDongle to open
531         a packet connection, and issue a 'reset' command which will cause
532         TeleMetrum to reboot, realize it's now nose-up, and thus choose
533         flight mode.  This is much safer than standing on the top step of a
534         rickety step-ladder or hanging off the side of a launch tower with
535         a screw-driver trying to turn on your avionics before installing
536         igniters!
537       </para>
538     </section>
539     <section>
540       <title>GPS </title>
541       <para>
542         TeleMetrum includes a complete GPS receiver.  See a later section for
543         a brief explanation of how GPS works that will help you understand
544         the information in the telemetry stream.  The bottom line is that
545         the TeleMetrum GPS receiver needs to lock onto at least four 
546         satellites to obtain a solid 3 dimensional position fix and know 
547         what time it is!
548       </para>
549       <para>
550         TeleMetrum provides backup power to the GPS chip any time a LiPo
551         battery is connected.  This allows the receiver to "warm start" on
552         the launch rail much faster than if every power-on were a "cold start"
553         for the GPS receiver.  In typical operations, powering up TeleMetrum
554         on the flight line in idle mode while performing final airframe
555         preparation will be sufficient to allow the GPS receiver to cold
556         start and acquire lock.  Then the board can be powered down during
557         RSO review and installation on a launch rod or rail.  When the board
558         is turned back on, the GPS system should lock very quickly, typically
559         long before igniter installation and return to the flight line are
560         complete.
561       </para>
562     </section>
563     <section>
564       <title>Ground Testing </title>
565       <para>
566         An important aspect of preparing a rocket using electronic deployment
567         for flight is ground testing the recovery system.  Thanks
568         to the bi-directional RF link central to the Altus Metrum system, 
569         this can be accomplished in a TeleMetrum-equipped rocket without as
570         much work as you may be accustomed to with other systems.  It can
571         even be fun!
572       </para>
573       <para>
574         Just prep the rocket for flight, then power up TeleMetrum while the
575         airframe is horizontal.  This will cause the firmware to go into 
576         "idle" mode, in which the normal flight state machine is disabled and
577         charges will not fire without manual command.  Then, establish an
578         RF packet connection from a TeleDongle-equipped computer using the 
579         P command from a safe distance.  You can now command TeleMetrum to
580         fire the apogee or main charges to complete your testing.
581       </para>
582       <para>
583         In order to reduce the chance of accidental firing of pyrotechnic
584         charges, the command to fire a charge is intentionally somewhat
585         difficult to type, and the built-in help is slightly cryptic to 
586         prevent accidental echoing of characters from the help text back at
587         the board from firing a charge.  The command to fire the apogee
588         drogue charge is 'i DoIt drogue' and the command to fire the main
589         charge is 'i DoIt main'.
590       </para>
591     </section>
592     <section>
593       <title>Radio Link </title>
594       <para>
595         The chip our boards are based on incorporates an RF transceiver, but
596         it's not a full duplex system... each end can only be transmitting or
597         receiving at any given moment.  So we had to decide how to manage the
598         link.
599       </para>
600       <para>
601         By design, TeleMetrum firmware listens for an RF connection when
602         it's in "idle mode" (turned on while the rocket is horizontal), which
603         allows us to use the RF link to configure the rocket, do things like
604         ejection tests, and extract data after a flight without having to 
605         crack open the airframe.  However, when the board is in "flight 
606         mode" (turned on when the rocket is vertical) the TeleMetrum only 
607         transmits and doesn't listen at all.  That's because we want to put 
608         ultimate priority on event detection and getting telemetry out of 
609         the rocket and out over
610         the RF link in case the rocket crashes and we aren't able to extract
611         data later... 
612       </para>
613       <para>
614         We don't use a 'normal packet radio' mode because they're just too
615         inefficient.  The GFSK modulation we use is just FSK with the 
616         baseband pulses passed through a
617         Gaussian filter before they go into the modulator to limit the
618         transmitted bandwidth.  When combined with the hardware forward error
619         correction support in the cc1111 chip, this allows us to have a very
620         robust 38.4 kilobit data link with only 10 milliwatts of transmit power,
621         a whip antenna in the rocket, and a hand-held Yagi on the ground.  We've
622         had flights to above 21k feet AGL with good reception, and calculations
623         suggest we should be good to well over 40k feet AGL with a 5-element yagi on
624         the ground.  We hope to fly boards to higher altitudes soon, and would
625         of course appreciate customer feedback on performance in higher
626         altitude flights!
627       </para>
628     </section>
629     <section>
630       <title>Configurable Parameters</title>
631       <para>
632         Configuring a TeleMetrum board for flight is very simple.  Because we
633         have both acceleration and pressure sensors, there is no need to set
634         a "mach delay", for example.  The few configurable parameters can all
635         be set using a simple terminal program over the USB port or RF link
636         via TeleDongle.
637       </para>
638       <section>
639         <title>Radio Channel</title>
640         <para>
641           Our firmware supports 10 channels.  The default channel 0 corresponds
642           to a center frequency of 434.550 Mhz, and channels are spaced every 
643           100 khz.  Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz.
644           At any given launch, we highly recommend coordinating who will use
645           each channel and when to avoid interference.  And of course, both 
646           TeleMetrum and TeleDongle must be configured to the same channel to
647           successfully communicate with each other.
648         </para>
649         <para>
650           To set the radio channel, use the 'c r' command, like 'c r 3' to set
651           channel 3.  
652           As with all 'c' sub-commands, follow this with a 'c w' to write the 
653           change to the parameter block in the on-board DataFlash chip on
654           your TeleMetrum board if you want the change to stay in place across reboots.
655         </para>
656       </section>
657       <section>
658         <title>Apogee Delay</title>
659         <para>
660           Apogee delay is the number of seconds after TeleMetrum detects flight
661           apogee that the drogue charge should be fired.  In most cases, this
662           should be left at the default of 0.  However, if you are flying
663           redundant electronics such as for an L3 certification, you may wish 
664           to set one of your altimeters to a positive delay so that both 
665           primary and backup pyrotechnic charges do not fire simultaneously.
666         </para>
667         <para>
668           To set the apogee delay, use the [FIXME] command.
669           As with all 'c' sub-commands, follow this with a 'c w' to write the 
670           change to the parameter block in the on-board DataFlash chip.
671         </para>
672         <para>
673           Please note that the TeleMetrum apogee detection algorithm always
674           fires a fraction of a second *after* apogee.  If you are also flying
675           an altimeter like the PerfectFlite MAWD, which only supports selecting
676           0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0
677           seconds delay and set the TeleMetrum to fire your backup 2 or 3
678           seconds later to avoid any chance of both charges firing 
679           simultaneously.  We've flown several airframes this way quite happily,
680           including Keith's successful L3 cert.
681         </para>
682       </section>
683       <section>
684         <title>Main Deployment Altitude</title>
685         <para>
686           By default, TeleMetrum will fire the main deployment charge at an
687           elevation of 250 meters (about 820 feet) above ground.  We think this
688           is a good elevation for most airframes, but feel free to change this 
689           to suit.  In particular, if you are flying two altimeters, you may
690           wish to set the
691           deployment elevation for the backup altimeter to be something lower
692           than the primary so that both pyrotechnic charges don't fire
693           simultaneously.
694         </para>
695         <para>
696           To set the main deployment altitude, use the [FIXME] command.
697           As with all 'c' sub-commands, follow this with a 'c w' to write the 
698           change to the parameter block in the on-board DataFlash chip.
699         </para>
700       </section>
701     </section>
702     <section>
703       <title>Calibration</title>
704       <para>
705         There are only two calibrations required for a TeleMetrum board, and
706         only one for TeleDongle.
707       </para>
708       <section>
709         <title>Radio Frequency</title>
710         <para>
711           The radio frequency is synthesized from a clock based on the 48 Mhz
712           crystal on the board.  The actual frequency of this oscillator must be
713           measured to generate a calibration constant.  While our GFSK modulation
714           bandwidth is wide enough to allow boards to communicate even when 
715           their oscillators are not on exactly the same frequency, performance
716           is best when they are closely matched.
717           Radio frequency calibration requires a calibrated frequency counter.
718           Fortunately, once set, the variation in frequency due to aging and
719           temperature changes is small enough that re-calibration by customers
720           should generally not be required.
721         </para>
722         <para>
723           To calibrate the radio frequency, connect the UHF antenna port to a
724           frequency counter, set the board to channel 0, and use the 'C' 
725           command to generate a CW carrier.  Wait for the transmitter temperature
726           to stabilize and the frequency to settle down.  
727           Then, divide 434.550 Mhz by the 
728           measured frequency and multiply by the current radio cal value show
729           in the 'c s' command.  For an unprogrammed board, the default value
730           is 1186611.  Take the resulting integer and program it using the 'c f'
731           command.  Testing with the 'C' command again should show a carrier
732           within a few tens of Hertz of the intended frequency.
733           As with all 'c' sub-commands, follow this with a 'c w' to write the 
734           change to the parameter block in the on-board DataFlash chip.
735         </para>
736       </section>
737       <section>
738         <title>Accelerometer</title>
739         <para>
740           The accelerometer we use has its own 5 volt power supply and
741           the output must be passed through a resistive voltage divider to match
742           the input of our 3.3 volt ADC.  This means that unlike the barometric
743           sensor, the output of the acceleration sensor is not ratiometric to 
744           the ADC converter, and calibration is required.  We also support the 
745           use of any of several accelerometers from a Freescale family that 
746           includes at least +/- 40g, 50g, 100g, and 200g parts.  Using gravity,
747           a simple 2-point calibration yields acceptable results capturing both
748           the different sensitivities and ranges of the different accelerometer
749           parts and any variation in power supply voltages or resistor values
750           in the divider network.
751         </para>
752         <para>
753           To calibrate the acceleration sensor, use the 'c a 0' command.  You
754           will be prompted to orient the board vertically with the UHF antenna
755           up and press a key, then to orient the board vertically with the 
756           UHF antenna down and press a key.
757           As with all 'c' sub-commands, follow this with a 'c w' to write the 
758           change to the parameter block in the on-board DataFlash chip.
759         </para>
760         <para>
761           The +1g and -1g calibration points are included in each telemetry
762           frame and are part of the header extracted by ao-dumplog after flight.
763           Note that we always store and return raw ADC samples for each
764           sensor... nothing is permanently "lost" or "damaged" if the 
765           calibration is poor.
766         </para>
767       </section>
768     </section>
769   </chapter>
770   <chapter>
772     <title>AltosUI</title>
773     <para>
774       The AltosUI program provides a graphical user interface for
775       interacting with the Altus Metrum product family, including
776       TeleMetrum and TeleDongle. AltosUI can monitor telemetry data,
777       configure TeleMetrum and TeleDongle devices and many other
778       tasks. The primary interface window provides a selection of
779       buttons, one for each major activity in the system.  This manual
780       is split into chapters, each of which documents one of the tasks
781       provided from the top-level toolbar.
782     </para>
783     <section>
784       <title>Packet Command Mode</title>
785       <subtitle>Controlling TeleMetrum Over The Radio Link</subtitle>
786       <para>
787         One of the unique features of the Altos Metrum environment is
788         the ability to create a two way command link between TeleDongle
789         and TeleMetrum using the digital radio transceivers built into
790         each device. This allows you to interact with TeleMetrum from
791         afar, as if it were directly connected to the computer.
792       </para>
793       <para>
794         Any operation which can be performed with TeleMetrum
795         can either be done with TeleMetrum directly connected to
796         the computer via the USB cable, or through the packet
797         link. Simply select the appropriate TeleDongle device when
798         the list of devices is presented and AltosUI will use packet
799         command mode.
800       </para>
801       <itemizedlist>
802         <listitem>
803           <para>
804             Save Flight Data—Recover flight data from the rocket without
805             opening it up.
806           </para>
807         </listitem>
808         <listitem>
809           <para>
810             Configure TeleMetrum—Reset apogee delays or main deploy
811             heights to respond to changing launch conditions. You can
812             also 'reboot' the TeleMetrum device. Use this to remotely
813             enable the flight computer by turning TeleMetrum on while
814             horizontal, then once the airframe is oriented for launch,
815             you can reboot TeleMetrum and have it restart in pad mode
816             without having to climb the scary ladder.
817           </para>
818         </listitem>
819         <listitem>
820           <para>
821             Fire Igniters—Test your deployment charges without snaking
822             wires out through holes in the airframe. Simply assembly the
823             rocket as if for flight with the apogee and main charges
824             loaded, then remotely command TeleMetrum to fire the
825             igniters.
826           </para>
827         </listitem>
828       </itemizedlist>
829       <para>
830         Packet command mode uses the same RF channels as telemetry
831         mode. Configure the desired TeleDongle channel using the
832         flight monitor window channel selector and then close that
833         window before performing the desired operation.
834       </para>
835       <para>
836         TeleMetrum only enables packet command mode in 'idle' mode, so
837         make sure you have TeleMetrum lying horizontally when you turn
838         it on. Otherwise, TeleMetrum will start in 'pad' mode ready for
839         flight and will not be listening for command packets from TeleDongle.
840       </para>
841       <para>
842         When packet command mode is enabled, you can monitor the link
843         by watching the lights on the TeleDongle and TeleMetrum
844         devices. The red LED will flash each time TeleDongle or
845         TeleMetrum transmit a packet while the green LED will light up
846         on TeleDongle while it is waiting to receive a packet from
847         TeleMetrum.
848       </para>
849     </section>
850     <section>
851       <title>Monitor Flight</title>
852       <subtitle>Receive, Record and Display Telemetry Data</subtitle>
853       <para>
854         Selecting this item brings up a dialog box listing all of the
855         connected TeleDongle devices. When you choose one of these,
856         AltosUI will create a window to display telemetry data as
857         received by the selected TeleDongle device.
858       </para>
859       <para>
860         All telemetry data received are automatically recorded in
861         suitable log files. The name of the files includes the current
862         date and rocket serial and flight numbers.
863       </para>
864       <para>
865         The radio channel being monitored by the TeleDongle device is
866         displayed at the top of the window. You can configure the
867         channel by clicking on the channel box and selecting the desired
868         channel. AltosUI remembers the last channel selected for each
869         TeleDongle and selects that automatically the next time you use
870         that device.
871       </para>
872       <para>
873         Below the TeleDongle channel selector, the window contains a few
874         significant pieces of information about the TeleMetrum providing
875         the telemetry data stream:
876       </para>
877       <itemizedlist>
878         <listitem>
879           <para>The TeleMetrum callsign</para>
880         </listitem>
881         <listitem>
882           <para>The TeleMetrum serial number</para>
883         </listitem>
884         <listitem>
885           <para>The flight number. Each TeleMetrum remembers how many
886             times it has flown.
887           </para>
888         </listitem>
889         <listitem>
890           <para>
891             The rocket flight state. Each flight passes through several
892             states including Pad, Boost, Fast, Coast, Drogue, Main and
893             Landed.
894           </para>
895         </listitem>
896         <listitem>
897           <para>
898             The Received Signal Strength Indicator value. This lets
899             you know how strong a signal TeleDongle is receiving. The
900             radio inside TeleDongle operates down to about -99dBm;
901             weaker signals may not be receiveable. The packet link uses
902             error correction and detection techniques which prevent
903             incorrect data from being reported.
904           </para>
905         </listitem>
906       </itemizedlist>
907       <para>
908         Finally, the largest portion of the window contains a set of
909         tabs, each of which contain some information about the rocket.
910         They're arranged in 'flight order' so that as the flight
911         progresses, the selected tab automatically switches to display
912         data relevant to the current state of the flight. You can select
913         other tabs at any time. The final 'table' tab contains all of
914         the telemetry data in one place.
915       </para>
916       <section>
917         <title>Launch Pad</title>
918         <para>
919           The 'Launch Pad' tab shows information used to decide when the
920           rocket is ready for flight. The first elements include red/green
921           indicators, if any of these is red, you'll want to evaluate
922           whether the rocket is ready to launch:
923           <itemizedlist>
924             <listitem>
925               <para>
926                 Battery Voltage. This indicates whether the LiPo battery
927                 powering the TeleMetrum has sufficient charge to last for
928                 the duration of the flight. A value of more than
929                 3.7V is required for a 'GO' status.
930               </para>
931             </listitem>
932             <listitem>
933               <para>
934                 Apogee Igniter Voltage. This indicates whether the apogee
935                 igniter has continuity. If the igniter has a low
936                 resistance, then the voltage measured here will be close
937                 to the LiPo battery voltage. A value greater than 3.2V is
938                 required for a 'GO' status.
939               </para>
940             </listitem>
941             <listitem>
942               <para>
943                 Main Igniter Voltage. This indicates whether the main
944                 igniter has continuity. If the igniter has a low
945                 resistance, then the voltage measured here will be close
946                 to the LiPo battery voltage. A value greater than 3.2V is
947                 required for a 'GO' status.
948               </para>
949             </listitem>
950             <listitem>
951               <para>
952                 GPS Locked. This indicates whether the GPS receiver is
953                 currently able to compute position information. GPS requires
954                 at least 4 satellites to compute an accurate position.
955               </para>
956             </listitem>
957             <listitem>
958               <para>
959                 GPS Ready. This indicates whether GPS has reported at least
960                 10 consecutive positions without losing lock. This ensures
961                 that the GPS receiver has reliable reception from the
962                 satellites.
963               </para>
964             </listitem>
965           </itemizedlist>
966           <para>
967             The LaunchPad tab also shows the computed launch pad position
968             and altitude, averaging many reported positions to improve the
969             accuracy of the fix.
970           </para>
971         </para>
972       </section>
973       <section>
974         <title>Ascent</title>
975         <para>
976           This tab is shown during Boost, Fast and Coast
977           phases. The information displayed here helps monitor the
978           rocket as it heads towards apogee.
979         </para>
980         <para>
981           The height, speed and acceleration are shown along with the
982           maxium values for each of them. This allows you to quickly
983           answer the most commonly asked questions you'll hear during
984           flight.
985         </para>
986         <para>
987           The current latitude and longitude reported by the GPS are
988           also shown. Note that under high acceleration, these values
989           may not get updated as the GPS receiver loses position
990           fix. Once the rocket starts coasting, the receiver should
991           start reporting position again.
992         </para>
993         <para>
994           Finally, the current igniter voltages are reported as in the
995           Launch Pad tab. This can help diagnose deployment failures
996           caused by wiring which comes loose under high acceleration.
997         </para>
998       </section>
999       <section>
1000         <title>Descent</title>
1001         <para>
1002           Once the rocket has reached apogee and (we hope) activated the
1003           apogee charge, attention switches to tracking the rocket on
1004           the way back to the ground, and for dual-deploy flights,
1005           waiting for the main charge to fire.
1006         </para>
1007         <para>
1008           To monitor whether the apogee charge operated correctly, the
1009           current descent rate is reported along with the current
1010           height. Good descent rates generally range from 15-30m/s.
1011         </para>
1012         <para>
1013           To help locate the rocket in the sky, use the elevation and
1014           bearing information to figure out where to look. Elevation is
1015           in degrees above the horizon. Bearing is reported in degrees
1016           relative to true north. Range can help figure out how big the
1017           rocket will appear. Note that all of these values are relative
1018           to the pad location. If the elevation is near 90°, the rocket
1019           is over the pad, not over you.
1020         </para>
1021         <para>
1022           Finally, the igniter voltages are reported in this tab as
1023           well, both to monitor the main charge as well as to see what
1024           the status of the apogee charge is.
1025         </para>
1026       </section>
1027       <section>
1028         <title>Landed</title>
1029         <para>
1030           Once the rocket is on the ground, attention switches to
1031           recovery. While the radio signal is generally lost once the
1032           rocket is on the ground, the last reported GPS position is
1033           generally within a short distance of the actual landing location.
1034         </para>
1035         <para>
1036           The last reported GPS position is reported both by
1037           latitude and longitude as well as a bearing and distance from
1038           the launch pad. The distance should give you a good idea of
1039           whether you'll want to walk or hitch a ride. Take the reported
1040           latitude and longitude and enter them into your handheld GPS
1041           unit and have that compute a track to the landing location.
1042         </para>
1043         <para>
1044           Finally, the maximum height, speed and acceleration reported
1045           during the flight are displayed for your admiring observers.
1046         </para>
1047       </section>
1048       <section>
1049         <title>Site Map</title>
1050         <para>
1051           When the rocket gets a GPS fix, the Site Map tab will map
1052           the rocket's position to make it easier for you to locate the
1053           rocket, both while it is in the air, and when it has landed. The
1054           rocket's state is indicated by colour: white for pad, red for
1055           boost, pink for fast, yellow for coast, light blue for drogue,
1056           dark blue for main, and black for landed.
1057         </para>
1058         <para>
1059           The map's scale is approximately 3m (10ft) per pixel. The map
1060           can be dragged using the left mouse button. The map will attempt
1061           to keep the rocket roughly centred while data is being received.
1062         </para>
1063         <para>
1064           Images are fetched automatically via the Google Maps Static API,
1065           and are cached for reuse. If map images cannot be downloaded,
1066           the rocket's path will be traced on a dark grey background
1067           instead.
1068         </para>
1069       </section>
1070     </section>
1071     <section>
1072       <title>Save Flight Data</title>
1073       <para>
1074         TeleMetrum records flight data to its internal flash memory.
1075         This data is recorded at a much higher rate than the telemetry
1076         system can handle, and is not subject to radio drop-outs. As
1077         such, it provides a more complete and precise record of the
1078         flight. The 'Save Flight Data' button allows you to read the
1079         flash memory and write it to disk.
1080       </para>
1081       <para>
1082         Clicking on the 'Save Flight Data' button brings up a list of
1083         connected TeleMetrum and TeleDongle devices. If you select a
1084         TeleMetrum device, the flight data will be downloaded from that
1085         device directly. If you select a TeleDongle device, flight data
1086         will be downloaded from a TeleMetrum device connected via the
1087         packet command link to the specified TeleDongle. See the chapter
1088         on Packet Command Mode for more information about this.
1089       </para>
1090       <para>
1091         The filename for the data is computed automatically from the recorded
1092         flight date, TeleMetrum serial number and flight number
1093         information.
1094       </para>
1095     </section>
1096     <section>
1097       <title>Replay Flight</title>
1098       <para>
1099         Select this button and you are prompted to select a flight
1100         record file, either a .telem file recording telemetry data or a
1101         .eeprom file containing flight data saved from the TeleMetrum
1102         flash memory.
1103       </para>
1104       <para>
1105         Once a flight record is selected, the flight monitor interface
1106         is displayed and the flight is re-enacted in real time. Check
1107         the Monitor Flight chapter above to learn how this window operates.
1108       </para>
1109     </section>
1110     <section>
1111       <title>Graph Data</title>
1112       <para>
1113         Select this button and you are prompted to select a flight
1114         record file, either a .telem file recording telemetry data or a
1115         .eeprom file containing flight data saved from the TeleMetrum
1116         flash memory.
1117       </para>
1118       <para>
1119         Once a flight record is selected, the acceleration (blue),
1120         velocity (green) and altitude (red) of the flight are plotted and
1121         displayed, measured in metric units.
1122       </para>
1123       <para>
1124         The graph can be zoomed into a particular area by clicking and
1125         dragging down and to the right. Once zoomed, the graph can be
1126         reset by clicking and dragging up and to the left. Holding down
1127         control and clicking and dragging allows the graph to be panned.
1128         The right mouse button causes a popup menu to be displayed, giving
1129         you the option save or print the plot.
1130       </para>
1131       <para>
1132         Note that telemetry files will generally produce poor graphs
1133         due to the lower sampling rate and missed telemetry packets,
1134         and will also often have significant amounts of data received
1135         while the rocket was waiting on the pad. Use saved flight data
1136         for graphing where possible.
1137       </para>
1138     </section>
1139     <section>
1140       <title>Export Data</title>
1141       <para>
1142         This tool takes the raw data files and makes them available for
1143         external analysis. When you select this button, you are prompted to select a flight
1144         data file (either .eeprom or .telem will do, remember that
1145         .eeprom files contain higher resolution and more continuous
1146         data). Next, a second dialog appears which is used to select
1147         where to write the resulting file. It has a selector to choose
1148         between CSV and KML file formats.
1149       </para>
1150       <section>
1151         <title>Comma Separated Value Format</title>
1152         <para>
1153           This is a text file containing the data in a form suitable for
1154           import into a spreadsheet or other external data analysis
1155           tool. The first few lines of the file contain the version and
1156           configuration information from the TeleMetrum device, then
1157           there is a single header line which labels all of the
1158           fields. All of these lines start with a '#' character which
1159           most tools can be configured to skip over.
1160         </para>
1161         <para>
1162           The remaining lines of the file contain the data, with each
1163           field separated by a comma and at least one space. All of
1164           the sensor values are converted to standard units, with the
1165           barometric data reported in both pressure, altitude and
1166           height above pad units.
1167         </para>
1168       </section>
1169       <section>
1170         <title>Keyhole Markup Language (for Google Earth)</title>
1171         <para>
1172           This is the format used by
1173           Googleearth to provide an overlay within that
1174           application. With this, you can use Googleearth to see the
1175           whole flight path in 3D.
1176         </para>
1177       </section>
1178     </section>
1179     <section>
1180       <title>Configure TeleMetrum</title>
1181       <para>
1182         Select this button and then select either a TeleMetrum or
1183         TeleDongle Device from the list provided. Selecting a TeleDongle
1184         device will use Packet Comamnd Mode to configure remote
1185         TeleMetrum device. Learn how to use this in the Packet Command
1186         Mode chapter.
1187       </para>
1188       <para>
1189         The first few lines of the dialog provide information about the
1190         connected TeleMetrum device, including the product name,
1191         software version and hardware serial number. Below that are the
1192         individual configuration entries.
1193       </para>
1194       <para>
1195         At the bottom of the dialog, there are four buttons:
1196       </para>
1197       <itemizedlist>
1198         <listitem>
1199           <para>
1200             Save. This writes any changes to the TeleMetrum
1201             configuration parameter block in flash memory. If you don't
1202             press this button, any changes you make will be lost.
1203           </para>
1204         </listitem>
1205         <listitem>
1206           <para>
1207             Reset. This resets the dialog to the most recently saved values,
1208             erasing any changes you have made.
1209           </para>
1210         </listitem>
1211         <listitem>
1212           <para>
1213             Reboot. This reboots the TeleMetrum device. Use this to
1214             switch from idle to pad mode by rebooting once the rocket is
1215             oriented for flight.
1216           </para>
1217         </listitem>
1218         <listitem>
1219           <para>
1220             Close. This closes the dialog. Any unsaved changes will be
1221             lost.
1222           </para>
1223         </listitem>
1224       </itemizedlist>
1225       <para>
1226         The rest of the dialog contains the parameters to be configured.
1227       </para>
1228       <section>
1229         <title>Main Deploy Altitude</title>
1230         <para>
1231           This sets the altitude (above the recorded pad altitude) at
1232           which the 'main' igniter will fire. The drop-down menu shows
1233           some common values, but you can edit the text directly and
1234           choose whatever you like. If the apogee charge fires below
1235           this altitude, then the main charge will fire two seconds
1236           after the apogee charge fires.
1237         </para>
1238       </section>
1239       <section>
1240         <title>Apogee Delay</title>
1241         <para>
1242           When flying redundant electronics, it's often important to
1243           ensure that multiple apogee charges don't fire at precisely
1244           the same time as that can overpressurize the apogee deployment
1245           bay and cause a structural failure of the airframe. The Apogee
1246           Delay parameter tells the flight computer to fire the apogee
1247           charge a certain number of seconds after apogee has been
1248           detected.
1249         </para>
1250       </section>
1251       <section>
1252         <title>Radio Channel</title>
1253         <para>
1254           This configures which of the 10 radio channels to use for both
1255           telemetry and packet command mode. Note that if you set this
1256           value via packet command mode, you will have to reconfigure
1257           the TeleDongle channel before you will be able to use packet
1258           command mode again.
1259         </para>
1260       </section>
1261       <section>
1262         <title>Radio Calibration</title>
1263         <para>
1264           The radios in every Altus Metrum device are calibrated at the
1265           factory to ensure that they transmit and receive on the
1266           specified frequency for each channel. You can adjust that
1267           calibration by changing this value. To change the TeleDongle's
1268           calibration, you must reprogram the unit completely.
1269         </para>
1270       </section>
1271       <section>
1272         <title>Callsign</title>
1273         <para>
1274           This sets the callsign included in each telemetry packet. Set this
1275           as needed to conform to your local radio regulations.
1276         </para>
1277       </section>
1278     </section>
1279     <section>
1280       <title>Configure AltosUI</title>
1281       <para>
1282         This button presents a dialog so that you can configure the AltosUI global settings.
1283       </para>
1284       <section>
1285         <title>Voice Settings</title>
1286         <para>
1287           AltosUI provides voice annoucements during flight so that you
1288           can keep your eyes on the sky and still get information about
1289           the current flight status. However, sometimes you don't want
1290           to hear them.
1291         </para>
1292         <itemizedlist>
1293           <listitem>
1294             <para>Enable—turns all voice announcements on and off</para>
1295           </listitem>
1296           <listitem>
1297             <para>
1298               Test Voice—Plays a short message allowing you to verify
1299               that the audio systme is working and the volume settings
1300               are reasonable
1301             </para>
1302           </listitem>
1303         </itemizedlist>
1304       </section>
1305       <section>
1306         <title>Log Directory</title>
1307         <para>
1308           AltosUI logs all telemetry data and saves all TeleMetrum flash
1309           data to this directory. This directory is also used as the
1310           staring point when selecting data files for display or export.
1311         </para>
1312         <para>
1313           Click on the directory name to bring up a directory choosing
1314           dialog, select a new directory and click 'Select Directory' to
1315           change where AltosUI reads and writes data files.
1316         </para>
1317       </section>
1318       <section>
1319         <title>Callsign</title>
1320         <para>
1321           This value is used in command packet mode and is transmitted
1322           in each packet sent from TeleDongle and received from
1323           TeleMetrum. It is not used in telemetry mode as that transmits
1324           packets only from TeleMetrum to TeleDongle. Configure this
1325           with the AltosUI operators callsign as needed to comply with
1326           your local radio regulations.
1327         </para>
1328       </section>
1329     </section>
1330     <section>
1331       <title>Flash Image</title>
1332       <para>
1333         This reprograms any Altus Metrum device by using a TeleMetrum or
1334         TeleDongle as a programming dongle. Please read the directions
1335         for connecting the programming cable in the main TeleMetrum
1336         manual before reading these instructions.
1337       </para>
1338       <para>
1339         Once you have the programmer and target devices connected,
1340         push the 'Flash Image' button. That will present a dialog box
1341         listing all of the connected devices. Carefully select the
1342         programmer device, not the device to be programmed.
1343       </para>
1344       <para>
1345         Next, select the image to flash to the device. These are named
1346         with the product name and firmware version. The file selector
1347         will start in the directory containing the firmware included
1348         with the AltosUI package. Navigate to the directory containing
1349         the desired firmware if it isn't there.
1350       </para>
1351       <para>
1352         Next, a small dialog containing the device serial number and
1353         RF calibration values should appear. If these values are
1354         incorrect (possibly due to a corrupted image in the device),
1355         enter the correct values here.
1356       </para>
1357       <para>
1358         Finally, a dialog containing a progress bar will follow the
1359         programming process.
1360       </para>
1361       <para>
1362         When programming is complete, the target device will
1363         reboot. Note that if the target device is connected via USB, you
1364         will have to unplug it and then plug it back in for the USB
1365         connection to reset so that you can communicate with the device
1366         again.
1367       </para>
1368     </section>
1369     <section>
1370       <title>Fire Igniter</title>
1371       <para>
1372       </para>
1373     </section>
1374   </chapter>
1375   <chapter>
1376     <title>Using Altus Metrum Products</title>
1377     <section>
1378       <title>Being Legal</title>
1379       <para>
1380         First off, in the US, you need an [amateur radio license](../Radio) or 
1381         other authorization to legally operate the radio transmitters that are part
1382         of our products.
1383       </para>
1384       <section>
1385         <title>In the Rocket</title>
1386         <para>
1387           In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and 
1388           a LiPo rechargeable battery.  An 860mAh battery weighs less than a 9V 
1389           alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours.
1390         </para>
1391         <para>
1392           By default, we ship TeleMetrum with a simple wire antenna.  If your 
1393           electronics bay or the airframe it resides within is made of carbon fiber, 
1394           which is opaque to RF signals, you may choose to have an SMA connector 
1395           installed so that you can run a coaxial cable to an antenna mounted 
1396           elsewhere in the rocket.
1397         </para>
1398       </section>
1399       <section>
1400         <title>On the Ground</title>
1401         <para>
1402           To receive the data stream from the rocket, you need an antenna and short 
1403           feedline connected to one of our [TeleDongle](../TeleDongle) units.  The
1404           TeleDongle in turn plugs directly into the USB port on a notebook 
1405           computer.  Because TeleDongle looks like a simple serial port, your computer
1406           does not require special device drivers... just plug it in.
1407         </para>
1408         <para>
1409           Right now, all of our application software is written for Linux.  However, 
1410           because we understand that many people run Windows or MacOS, we are working 
1411           on a new ground station program written in Java that should work on all
1412           operating systems.
1413         </para>
1414         <para>
1415           After the flight, you can use the RF link to extract the more detailed data 
1416           logged in the rocket, or you can use a mini USB cable to plug into the 
1417           TeleMetrum board directly.  Pulling out the data without having to open up
1418           the rocket is pretty cool!  A USB cable is also how you charge the LiPo 
1419           battery, so you'll want one of those anyway... the same cable used by lots 
1420           of digital cameras and other modern electronic stuff will work fine.
1421         </para>
1422         <para>
1423           If your rocket lands out of sight, you may enjoy having a hand-held GPS 
1424           receiver, so that you can put in a waypoint for the last reported rocket 
1425           position before touch-down.  This makes looking for your rocket a lot like 
1426           Geo-Cacheing... just go to the waypoint and look around starting from there.
1427         </para>
1428         <para>
1429           You may also enjoy having a ham radio "HT" that covers the 70cm band... you 
1430           can use that with your antenna to direction-find the rocket on the ground 
1431           the same way you can use a Walston or Beeline tracker.  This can be handy 
1432           if the rocket is hiding in sage brush or a tree, or if the last GPS position 
1433           doesn't get you close enough because the rocket dropped into a canyon, or 
1434           the wind is blowing it across a dry lake bed, or something like that...  Keith
1435           and Bdale both currently own and use the Yaesu VX-7R at launches.
1436         </para>
1437         <para>
1438           So, to recap, on the ground the hardware you'll need includes:
1439           <orderedlist inheritnum='inherit' numeration='arabic'>
1440             <listitem> 
1441               an antenna and feedline
1442             </listitem>
1443             <listitem> 
1444               a TeleDongle
1445             </listitem>
1446             <listitem> 
1447               a notebook computer
1448             </listitem>
1449             <listitem> 
1450               optionally, a handheld GPS receiver
1451             </listitem>
1452             <listitem> 
1453               optionally, an HT or receiver covering 435 Mhz
1454             </listitem>
1455           </orderedlist>
1456         </para>
1457         <para>
1458           The best hand-held commercial directional antennas we've found for radio 
1459           direction finding rockets are from 
1460           <ulink url="http://www.arrowantennas.com/" >
1461             Arrow Antennas.
1462           </ulink>
1463           The 440-3 and 440-5 are both good choices for finding a 
1464           TeleMetrum-equipped rocket when used with a suitable 70cm HT.  
1465         </para>
1466       </section>
1467       <section>
1468         <title>Data Analysis</title>
1469         <para>
1470           Our software makes it easy to log the data from each flight, both the 
1471           telemetry received over the RF link during the flight itself, and the more
1472           complete data log recorded in the DataFlash memory on the TeleMetrum 
1473           board.  Once this data is on your computer, our postflight tools make it
1474           easy to quickly get to the numbers everyone wants, like apogee altitude, 
1475           max acceleration, and max velocity.  You can also generate and view a 
1476           standard set of plots showing the altitude, acceleration, and
1477           velocity of the rocket during flight.  And you can even export a data file 
1478           useable with Google Maps and Google Earth for visualizing the flight path 
1479           in two or three dimensions!
1480         </para>
1481         <para>
1482           Our ultimate goal is to emit a set of files for each flight that can be
1483           published as a web page per flight, or just viewed on your local disk with 
1484           a web browser.
1485         </para>
1486       </section>
1487       <section>
1488         <title>Future Plans</title>
1489         <para>
1490           In the future, we intend to offer "companion boards" for the rocket that will
1491           plug in to TeleMetrum to collect additional data, provide more pyro channels,
1492           and so forth.  A reference design for a companion board will be documented
1493           soon, and will be compatible with open source Arduino programming tools.
1494         </para>
1495         <para>
1496           We are also working on the design of a hand-held ground terminal that will
1497           allow monitoring the rocket's status, collecting data during flight, and
1498           logging data after flight without the need for a notebook computer on the
1499           flight line.  Particularly since it is so difficult to read most notebook
1500           screens in direct sunlight, we think this will be a great thing to have.
1501         </para>
1502         <para>
1503           Because all of our work is open, both the hardware designs and the software,
1504           if you have some great idea for an addition to the current Altus Metrum family,
1505           feel free to dive in and help!  Or let us know what you'd like to see that 
1506           we aren't already working on, and maybe we'll get excited about it too... 
1507         </para>
1508       </section>
1509     </section>
1510   </chapter>
1511 </book>