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