doc: Add preliminary altosui documentation
[fw/altos] / doc / altosui-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>AltosUI</title>
6   <subtitle>Altos Metrum Graphical User Interface Manual</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.1</revnumber>
32         <date>19 November 2010</date>
33         <revremark>Initial content</revremark>
34       </revision>
35     </revhistory>
36   </bookinfo>
37   <chapter>
38     <title>Introduction</title>
39     <para>
40       The AltosUI program provides a graphical user interface for
41       interacting with the Altus Metrum product family, including
42       TeleMetrum and TeleDongle. AltosUI can monitor telemetry data,
43       configure TeleMetrum and TeleDongle devices and many other
44       tasks. The primary interface window provides a selection of
45       buttons, one for each major activity in the system.  This manual
46       is split into chapters, each of which documents one of the tasks
47       provided from the top-level toolbar.
48     </para>
49   </chapter>
50   <chapter>
51     <title>Packet Command Mode</title>
52     <subtitle>Controlling TeleMetrum Over The Radio Link</subtitle>
53     <para>
54       One of the unique features of the Altos Metrum environment is
55       the ability to create a two way command link between TeleDongle
56       and TeleMetrum using the digital radio transceivers built into
57       each device. This allows you to interact with TeleMetrum from
58       afar, as if it were directly connected to the computer.
59     </para>
60     <para>
61       Any operation which can be performed with TeleMetrum
62       can either be done with TeleMetrum directly connected to
63       the computer via the USB cable, or through the packet
64       link. Simply select the appropriate TeleDongle device when
65       the list of devices is presented and AltosUI will use packet
66       command mode.
67     </para>
68     <itemizedlist>
69       <listitem>
70         <para>
71           Save Flight Data—Recover flight data from the rocket without
72           opening it up.
73         </para>
74       </listitem>
75       <listitem>
76         <para>
77           Configure TeleMetrum—Reset apogee delays or main deploy
78           heights to respond to changing launch conditions. You can
79           also 'reboot' the TeleMetrum device. Use this to remotely
80           enable the flight computer by turning TeleMetrum on while
81           horizontal, then once the airframe is oriented for launch,
82           you can reboot TeleMetrum and have it restart in pad mode
83           without having to climb the scary ladder.
84         </para>
85       </listitem>
86       <listitem>
87         <para>
88           Fire Igniters—Test your deployment charges without snaking
89           wires out through holes in the airframe. Simply assembly the
90           rocket as if for flight with the apogee and main charges
91           loaded, then remotely command TeleMetrum to fire the
92           igniters.
93         </para>
94       </listitem>
95     </itemizedlist>
96     <para>
97       Packet command mode uses the same RF channels as telemetry
98       mode. Configure the desired TeleDongle channel using the
99       flight monitor window channel selector and then close that
100       window before performing the desired operation.
101     </para>
102     <para>
103       TeleMetrum only enables packet command mode in 'idle' mode, so
104       make sure you have TeleMetrum lying horizontally when you turn
105       it on. Otherwise, TeleMetrum will start in 'pad' mode ready for
106       flight and will not be listening for command packets from TeleDongle.
107     </para>
108     <para>
109       When packet command mode is enabled, you can monitor the link
110       by watching the lights on the TeleDongle and TeleMetrum
111       devices. The red LED will flash each time TeleDongle or
112       TeleMetrum transmit a packet while the green LED will light up
113       on TeleDongle while it is waiting to receive a packet from
114       TeleMetrum.
115     </para>
116   </chapter>
117   <chapter>
118     <title>Monitor Flight</title>
119     <subtitle>Receive, Record and Display Telemetry Data</subtitle>
120     <para>
121       Selecting this item brings up a dialog box listing all of the
122       connected TeleDongle devices. When you choose one of these,
123       AltosUI will create a window to display telemetry data as
124       received by the selected TeleDongle device.
125     </para>
126     <para>
127       All telemetry data received are automatically recorded in
128       suitable log files. The name of the files includes the current
129       date and rocket serial and flight numbers.
130     </para>
131     <para>
132       The radio channel being monitored by the TeleDongle device is
133       displayed at the top of the window. You can configure the
134       channel by clicking on the channel box and selecting the desired
135       channel. AltosUI remembers the last channel selected for each
136       TeleDongle and selects that automatically the next time you use
137       that device.
138     </para>
139     <para>
140       Below the TeleDongle channel selector, the window contains a few
141       significant pieces of information about the TeleMetrum providing
142       the telemetry data stream:
143     </para>
144     <itemizedlist>
145       <listitem>
146         <para>The TeleMetrum callsign</para>
147       </listitem>
148       <listitem>
149         <para>The TeleMetrum serial number</para>
150       </listitem>
151       <listitem>
152         <para>The flight number. Each TeleMetrum remembers how many
153         times it has flown.</para>
154       </listitem>
155       <listitem>
156         <para>
157           The rocket flight state. Each flight passes through several
158           states including Pad, Boost, Fast, Coast, Drogue, Main and
159           Landed.
160         </para>
161       </listitem>
162       <listitem>
163         <para>
164           The Received Signal Strength Indicator value. This lets
165           you know how strong a signal TeleDongle is receiving. The
166           radio inside TeleDongle operates down to about -99dBm;
167           weaker signals may not be receiveable. The packet link uses
168           error correction and detection techniques which prevent
169           incorrect data from being reported.
170         </para>
171       </listitem>
172     </itemizedlist>
173     <para>
174       Finally, the largest portion of the window contains a set of
175       tabs, each of which contain some information about the rocket.
176       They're arranged in 'flight order' so that as the flight
177       progresses, the selected tab automatically switches to display
178       data relevant to the current state of the flight. You can select
179       other tabs at any time. The final 'table' tab contains all of
180       the telemetry data in one place.
181     </para>
182     <section>
183       <title>Launch Pad</title>
184       <para>
185         The 'Launch Pad' tab shows information used to decide when the
186         rocket is ready for flight. The first elements include red/green
187         indicators, if any of these is red, you'll want to evaluate
188         whether the rocket is ready to launch:
189         <itemizedlist>
190           <listitem>
191             <para>
192               Battery Voltage. This indicates whether the LiPo battery
193               powering the TeleMetrum has sufficient charge to last for
194               the duration of the flight. A value of more than
195               3.7V is required for a 'GO' status.
196             </para>
197           </listitem>
198           <listitem>
199             <para>
200               Apogee Igniter Voltage. This indicates whether the apogee
201               igniter has continuity. If the igniter has a low
202               resistance, then the voltage measured here will be close
203               to the LiPo battery voltage. A value greater than 3.2V is
204               required for a 'GO' status.
205             </para>
206           </listitem>
207           <listitem>
208             <para>
209               Main Igniter Voltage. This indicates whether the main
210               igniter has continuity. If the igniter has a low
211               resistance, then the voltage measured here will be close
212               to the LiPo battery voltage. A value greater than 3.2V is
213               required for a 'GO' status.
214             </para>
215           </listitem>
216           <listitem>
217             <para>
218               GPS Locked. This indicates whether the GPS receiver is
219               currently able to compute position information. GPS requires
220               at least 4 satellites to compute an accurate position.
221             </para>
222           </listitem>
223           <listitem>
224             <para>
225               GPS Ready. This indicates whether GPS has reported at least
226               10 consecutive positions without losing lock. This ensures
227               that the GPS receiver has reliable reception from the
228               satellites.
229             </para>
230           </listitem>
231         </itemizedlist>
232         <para>
233           The LaunchPad tab also shows the computed launch pad position
234           and altitude, averaging many reported positions to improve the
235           accuracy of the fix.
236         </para>
237       </para>
238     </section>
239     <section>
240       <title>Ascent</title>
241       <para>
242         This tab is shown during Boost, Fast and Coast
243         phases. The information displayed here helps monitor the
244         rocket as it heads towards apogee.
245       </para>
246       <para>
247         The height, speed and acceleration are shown along with the
248         maxium values for each of them. This allows you to quickly
249         answer the most commonly asked questions you'll hear during
250         flight.
251       </para>
252       <para>
253         The current latitude and longitude reported by the GPS are
254         also shown. Note that under high acceleration, these values
255         may not get updated as the GPS receiver loses position
256         fix. Once the rocket starts coasting, the receiver should
257         start reporting position again.
258       </para>
259       <para>
260         Finally, the current igniter voltages are reported as in the
261         Launch Pad tab. This can help diagnose deployment failures
262         caused by wiring which comes loose under high acceleration.
263       </para>
264     </section>
265     <section>
266       <title>Descent</title>
267       <para>
268         Once the rocket has reached apogee and (we hope) activated the
269         apogee charge, attention switches to tracking the rocket on
270         the way back to the ground, and for dual-deploy flights,
271         waiting for the main charge to fire.
272       </para>
273       <para>
274         To monitor whether the apogee charge operated correctly, the
275         current descent rate is reported along with the current
276         height. Good descent rates generally range from 15-30m/s.
277       </para>
278       <para>
279         To help locate the rocket in the sky, use the elevation and
280         bearing information to figure out where to look. Elevation is
281         in degrees above the horizon. Bearing is reported in degrees
282         relative to true north. Range can help figure out how big the
283         rocket will appear. Note that all of these values are relative
284         to the pad location. If the elevation is near 90°, the rocket
285         is over the pad, not over you.
286       </para>
287       <para>
288         Finally, the igniter voltages are reported in this tab as
289         well, both to monitor the main charge as well as to see what
290         the status of the apogee charge is.
291       </para>
292     </section>
293     <section>
294       <title>Landed</title>
295       <para>
296         Once the rocket is on the ground, attention switches to
297         recovery. While the radio signal is generally lost once the
298         rocket is on the ground, the last reported GPS position is
299         generally within a short distance of the actual landing location.
300       </para>
301       <para>
302         The last reported GPS position is reported both by
303         latitude and longitude as well as a bearing and distance from
304         the launch pad. The distance should give you a good idea of
305         whether you'll want to walk or hitch a ride. Take the reported
306         latitude and longitude and enter them into your handheld GPS
307         unit and have that compute a track to the landing location.
308       </para>
309       <para>
310         Finally, the maximum height, speed and acceleration reported
311         during the flight are displayed for your admiring observers.
312       </para>
313     </section>
314   </chapter>
315   <chapter>
316     <title>Save Flight Data</title>
317     <para>
318       TeleMetrum records flight data to its internal flash memory.
319       This data is recorded at a much higher rate than the telemetry
320       system can handle, and is not subject to radio drop-outs. As
321       such, it provides a more complete and precise record of the
322       flight. The 'Save Flight Data' button allows you to read the
323       flash memory and write it to disk.
324     </para>
325     <para>
326       Clicking on the 'Save Flight Data' button brings up a list of
327       connected TeleMetrum and TeleDongle devices. If you select a
328       TeleMetrum device, the flight data will be downloaded from that
329       device directly. If you select a TeleDongle device, flight data
330       will be downloaded from a TeleMetrum device connected via the
331       packet command link to the specified TeleDongle. See the chapter
332       on Packet Command Mode for more information about this.
333     </para>
334     <para>
335       The filename for the data is computed automatically from the recorded
336       flight date, TeleMetrum serial number and flight number
337       information.
338     </para>
339   </chapter>
340   <chapter>
341     <title>Replay Flight</title>
342     <para>
343       Select this button and you are prompted to select a flight
344       record file, either a .telem file recording telemetry data or a
345       .eeprom file containing flight data saved from the TeleMetrum
346       flash memory.
347     </para>
348     <para>
349       Once a flight record is selected, the flight monitor interface
350       is displayed and the flight is re-enacted in real time. Check
351       the Monitor Flight chapter above to learn how this window operates.
352     </para>
353   </chapter>
354   <chapter>
355     <title>Graph Data</title>
356     <para>
357       This section should be written by AJ.
358     </para>
359   </chapter>
360   <chapter>
361     <title>Export Data</title>
362     <para>
363      This tool takes the raw data files and makes them available for
364      external analysis. When you select this button, you are prompted to select a flight
365       data file (either .eeprom or .telem will do, remember that
366       .eeprom files contain higher resolution and more continuous
367       data). Next, a second dialog appears which is used to select
368       where to write the resulting file. It has a selector to choose
369       between CSV and KML file formats.
370     </para>
371     <section>
372       <title>Comma Separated Value Format</title>
373       <para>
374         This is a text file containing the data in a form suitable for
375         import into a spreadsheet or other external data analysis
376         tool. The first few lines of the file contain the version and
377         configuration information from the TeleMetrum device, then
378         there is a single header line which labels all of the
379         fields. All of these lines start with a '#' character which
380         most tools can be configured to skip over.
381       </para>
382       <para>
383         The remaining lines of the file contain the data, with each
384         field separated by a comma and at least one space. All of
385         the sensor values are converted to standard units, with the
386         barometric data reported in both pressure, altitude and
387         height above pad units.
388       </para>
389     </section>
390     <section>
391       <title>Keyhole Markup Language (for Google Earth)</title>
392       <para>
393         This is the format used by
394         Googleearth to provide an overlay within that
395         application. With this, you can use Googleearth to see the
396         whole flight path in 3D.
397       </para>
398     </section>
399   </chapter>
400   <chapter>
401     <title>Configure TeleMetrum</title>
402     <para>
403       Select this button and then select either a TeleMetrum or
404       TeleDongle Device from the list provided. Selecting a TeleDongle
405       device will use Packet Comamnd Mode to configure remote
406       TeleMetrum device. Learn how to use this in the Packet Command
407       Mode chapter.
408     </para>
409     <para>
410       The first few lines of the dialog provide information about the
411       connected TeleMetrum device, including the product name,
412       software version and hardware serial number. Below that are the
413       individual configuration entries.
414     </para>
415     <para>
416       At the bottom of the dialog, there are four buttons:
417     </para>
418     <itemizedlist>
419       <listitem>
420         <para>
421           Save. This writes any changes to the TeleMetrum
422           configuration parameter block in flash memory. If you don't
423           press this button, any changes you make will be lost.
424         </para>
425       </listitem>
426       <listitem>
427         <para>
428           Reset. This resets the dialog to the most recently saved values,
429           erasing any changes you have made.
430         </para>
431       </listitem>
432       <listitem>
433         <para>
434           Reboot. This reboots the TeleMetrum device. Use this to
435           switch from idle to pad mode by rebooting once the rocket is
436           oriented for flight.
437         </para>
438       </listitem>
439       <listitem>
440         <para>
441           Close. This closes the dialog. Any unsaved changes will be
442           lost.
443         </para>
444       </listitem>
445     </itemizedlist>
446     <para>
447       The rest of the dialog contains the parameters to be configured.
448     </para>
449     <section>
450       <title>Main Deploy Altitude</title>
451       <para>
452         This sets the altitude (above the recorded pad altitude) at
453         which the 'main' igniter will fire. The drop-down menu shows
454         some common values, but you can edit the text directly and
455         choose whatever you like. If the apogee charge fires below
456         this altitude, then the main charge will fire two seconds
457         after the apogee charge fires.
458       </para>
459     </section>
460     <section>
461       <title>Apogee Delay</title>
462       <para>
463         When flying redundant electronics, it's often important to
464         ensure that multiple apogee charges don't fire at precisely
465         the same time as that can overpressurize the apogee deployment
466         bay and cause a structural failure of the airframe. The Apogee
467         Delay parameter tells the flight computer to fire the apogee
468         charge a certain number of seconds after apogee has been
469         detected.
470       </para>
471     </section>
472     <section>
473       <title>Radio Channel</title>
474       <para>
475         This configures which of the 10 radio channels to use for both
476         telemetry and packet command mode. Note that if you set this
477         value via packet command mode, you will have to reconfigure
478         the TeleDongle channel before you will be able to use packet
479         command mode again.
480       </para>
481     </section>
482     <section>
483       <title>Radio Calibration</title>
484       <para>
485         The radios in every Altus Metrum device are calibrated at the
486         factory to ensure that they transmit and receive on the
487         specified frequency for each channel. You can adjust that
488         calibration by changing this value. To change the TeleDongle's
489         calibration, you must reprogram the unit completely.
490       </para>
491     </section>
492     <section>
493       <title>Callsign</title>
494       <para>
495         This sets the callsign included in each telemetry packet. Set this
496         as needed to conform to your local radio regulations.
497       </para>
498     </section>
499   </chapter>
500   <chapter>
501     <title>Configure AltosUI</title>
502     <para>
503       This button presents a dialog so that you can configure the AltosUI global settings.
504     </para>
505     <section>
506       <title>Voice Settings</title>
507       <para>
508         AltosUI provides voice annoucements during flight so that you
509         can keep your eyes on the sky and still get information about
510         the current flight status. However, sometimes you don't want
511         to hear them.
512       </para>
513       <itemizedlist>
514         <listitem>
515           <para>Enable—turns all voice announcements on and off</para>
516         </listitem>
517         <listitem>
518           <para>
519             Test Voice—Plays a short message allowing you to verify
520             that the audio systme is working and the volume settings
521             are reasonable
522           </para>
523         </listitem>
524       </itemizedlist>
525     </section>
526     <section>
527       <title>Log Directory</title>
528       <para>
529         AltosUI logs all telemetry data and saves all TeleMetrum flash
530         data to this directory. This directory is also used as the
531         staring point when selecting data files for display or export.
532       </para>
533       <para>
534         Click on the directory name to bring up a directory choosing
535         dialog, select a new directory and click 'Select Directory' to
536         change where AltosUI reads and writes data files.
537       </para>
538     </section>
539     <section>
540       <title>Callsign</title>
541       <para>
542         This value is used in command packet mode and is transmitted
543         in each packet sent from TeleDongle and received from
544         TeleMetrum. It is not used in telemetry mode as that transmits
545         packets only from TeleMetrum to TeleDongle. Configure this
546         with the AltosUI operators callsign as needed to comply with
547         your local radio regulations.
548       </para>
549     </section>
550   </chapter>
551   <chapter>
552     <title>Flash Image</title>
553     <para>
554     </para>
555   </chapter>
556   <chapter>
557     <title>Fire Igniter</title>
558     <para>
559     </para>
560   </chapter>
561 </book>