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