Break out common pieces from TeleGPS and AltusMetrum
[fw/altos] / doc / altosui.inc
1 == AltosUI
2
3         .AltosUI Main Window
4         image::altosui.png[width="4.6in"]
5
6         The AltosUI program provides a graphical user interface for
7         interacting with the Altus Metrum product family. AltosUI can
8         monitor telemetry data, configure devices and many other
9         tasks. The primary interface window provides a selection of
10         buttons, one for each major activity in the system.  This
11         chapter is split into sections, each of which documents one of
12         the tasks provided from the top-level toolbar.
13
14         === Monitor Flight
15         ////
16               <subtitle>Receive, Record and Display Telemetry Data</subtitle>
17         ////
18
19                 Selecting this item brings up a dialog box listing all
20                 of the connected TeleDongle devices. When you choose
21                 one of these, AltosUI will create a window to display
22                 telemetry data as received by the selected TeleDongle
23                 device.
24
25                 .Device Selection Dialog
26                 image::device-selection.png[width="3.1in"]
27
28                 All telemetry data received are automatically recorded
29                 in suitable log files. The name of the files includes
30                 the current date and rocket serial and flight numbers.
31
32                 The radio frequency being monitored by the TeleDongle
33                 device is displayed at the top of the window. You can
34                 configure the frequency by clicking on the frequency
35                 box and selecting the desired frequency. AltosUI
36                 remembers the last frequency selected for each
37                 TeleDongle and selects that automatically the next
38                 time you use that device.
39
40                 Below the TeleDongle frequency selector, the window
41                 contains a few significant pieces of information about
42                 the altimeter providing the telemetry data stream:
43
44                  * The configured call-sign
45
46                  * The device serial number
47
48                  * The flight number. Each altimeter remembers how
49                    many times it has flown.
50
51                  * The rocket flight state. Each flight passes through
52                    several states including Pad, Boost, Fast, Coast,
53                    Drogue, Main and Landed.
54
55                  * The Received Signal Strength Indicator value. This
56                    lets you know how strong a signal TeleDongle is
57                    receiving. At the default data rate, 38400 bps, in
58                    bench testing, the radio inside TeleDongle v0.2
59                    operates down to about -106dBm, while the v3 radio
60                    works down to about -111dBm.  Weaker signals, or an
61                    environment with radio noise may cause the data to
62                    not be received. The packet link uses error
63                    detection and correction techniques which prevent
64                    incorrect data from being reported.
65
66                  * The age of the displayed data, in seconds since the
67                    last successfully received telemetry packet.  In
68                    normal operation this will stay in the low single
69                    digits.  If the number starts counting up, then you
70                    are no longer receiving data over the radio link
71                    from the flight computer.
72
73                 Finally, the largest portion of the window contains a
74                 set of tabs, each of which contain some information
75                 about the rocket.  They're arranged in 'flight order'
76                 so that as the flight progresses, the selected tab
77                 automatically switches to display data relevant to the
78                 current state of the flight. You can select other tabs
79                 at any time. The final 'table' tab displays all of the
80                 raw telemetry values in one place in a
81                 spreadsheet-like format.
82
83                 ==== Launch Pad
84
85                         .Monitor Flight Launch Pad View
86                         image::launch-pad.png[width="5.5in"]
87
88                         The 'Launch Pad' tab shows information used to decide when the
89                         rocket is ready for flight. The first elements include red/green
90                         indicators, if any of these is red, you'll want to evaluate
91                         whether the rocket is ready to launch:
92
93                         Battery Voltage::
94                         This indicates whether the Li-Po battery powering the
95                         flight computer has sufficient charge to last for
96                         the duration of the flight. A value of more than
97                         3.8V is required for a 'GO' status.
98
99                         Apogee Igniter Voltage::
100                         This indicates whether the apogee
101                         igniter has continuity. If the igniter has a low
102                         resistance, then the voltage measured here will be close
103                         to the Li-Po battery voltage. A value greater than 3.2V is
104                         required for a 'GO' status.
105
106                         Main Igniter Voltage::
107                         This indicates whether the main
108                         igniter has continuity. If the igniter has a low
109                         resistance, then the voltage measured here will be close
110                         to the Li-Po battery voltage. A value greater than 3.2V is
111                         required for a 'GO' status.
112
113                         On-board Data Logging::
114                         This indicates whether there is space remaining
115                         on-board to store flight data for the upcoming
116                         flight. If you've downloaded data, but failed to erase
117                         flights, there may not be any space left. Most of our
118                         flight computers can store multiple flights, depending
119                         on the configured maximum flight log size. TeleMini
120                         v1.0 stores only a single flight, so it will need to
121                         be downloaded and erased after each flight to capture
122                         data. This only affects on-board flight logging; the
123                         altimeter will still transmit telemetry and fire
124                         ejection charges at the proper times even if the
125                         flight data storage is full.
126
127                         GPS Locked::
128                         For a TeleMetrum or TeleMega device, this indicates
129                         whether the GPS receiver is currently able to compute
130                         position information. GPS requires at least 4
131                         satellites to compute an accurate position.
132
133                         GPS Ready::
134
135                         For a TeleMetrum or TeleMega device, this indicates
136                         whether GPS has reported at least 10 consecutive
137                         positions without losing lock. This ensures that the
138                         GPS receiver has reliable reception from the
139                         satellites.
140
141                         The Launchpad tab also shows the computed launch pad
142                         position and altitude, averaging many reported
143                         positions to improve the accuracy of the fix.
144
145                 ==== Ascent
146
147                         .Monitor Flight Ascent View
148                         image::ascent.png[width="5.5in"]
149
150                         This tab is shown during Boost, Fast and Coast
151                         phases. The information displayed here helps monitor the
152                         rocket as it heads towards apogee.
153
154                         The height, speed, acceleration and tilt are shown along
155                         with the maximum values for each of them. This allows you to
156                         quickly answer the most commonly asked questions you'll hear
157                         during flight.
158
159                         The current latitude and longitude reported by the GPS are
160                         also shown. Note that under high acceleration, these values
161                         may not get updated as the GPS receiver loses position
162                         fix. Once the rocket starts coasting, the receiver should
163                         start reporting position again.
164
165                         Finally, the current igniter voltages are reported as in the
166                         Launch Pad tab. This can help diagnose deployment failures
167                         caused by wiring which comes loose under high acceleration.
168
169                 ==== Descent
170
171                         .Monitor Flight Descent View
172                         image::descent.png[width="5.5in"]
173
174                         Once the rocket has reached apogee and (we hope)
175                         activated the apogee charge, attention switches to
176                         tracking the rocket on the way back to the ground, and
177                         for dual-deploy flights, waiting for the main charge
178                         to fire.
179
180                         To monitor whether the apogee charge operated
181                         correctly, the current descent rate is reported along
182                         with the current height. Good descent rates vary based
183                         on the choice of recovery components, but generally
184                         range from 15-30m/s on drogue and should be below
185                         10m/s when under the main parachute in a dual-deploy
186                         flight.
187
188                         With GPS-equipped flight computers, you can locate the
189                         rocket in the sky using the elevation and bearing
190                         information to figure out where to look. Elevation is
191                         in degrees above the horizon. Bearing is reported in
192                         degrees relative to true north. Range can help figure
193                         out how big the rocket will appear. Ground Distance
194                         shows how far it is to a point directly under the
195                         rocket and can help figure out where the rocket is
196                         likely to land. Note that all of these values are
197                         relative to the pad location. If the elevation is near
198                         90°, the rocket is over the pad, not over you.
199
200                         Finally, the igniter voltages are reported in this tab
201                         as well, both to monitor the main charge as well as to
202                         see what the status of the apogee charge is.  Note
203                         that some commercial e-matches are designed to retain
204                         continuity even after being fired, and will continue
205                         to show as green or return from red to green after
206                         firing.
207
208                 ==== Landed
209
210                         .Monitor Flight Landed View
211                         image::landed.png[width="5.5in"]
212
213                         Once the rocket is on the ground, attention switches
214                         to recovery. While the radio signal is often lost once
215                         the rocket is on the ground, the last reported GPS
216                         position is generally within a short distance of the
217                         actual landing location.
218
219                         The last reported GPS position is reported both by
220                         latitude and longitude as well as a bearing and
221                         distance from the launch pad. The distance should give
222                         you a good idea of whether to walk or hitch a ride.
223                         Take the reported latitude and longitude and enter
224                         them into your hand-held GPS unit and have that
225                         compute a track to the landing location.
226
227                         Our flight computers will continue to transmit RDF
228                         tones after landing, allowing you to locate the rocket
229                         by following the radio signal if necessary. You may
230                         need to get away from the clutter of the flight line,
231                         or even get up on a hill (or your neighbor's RV roof)
232                         to receive the RDF signal.
233
234                         The maximum height, speed and acceleration reported
235                         during the flight are displayed for your admiring
236                         observers.  The accuracy of these immediate values
237                         depends on the quality of your radio link and how many
238                         packets were received.  Recovering the on-board data
239                         after flight may yield more precise results.
240
241                         To get more detailed information about the flight, you
242                         can click on the 'Graph Flight' button which will
243                         bring up a graph window for the current flight.
244
245                 ==== Table
246
247                         .Monitor Flight Table View
248                         image::table.png[width="5.5in"]
249
250                         The table view shows all of the data available from the
251                         flight computer. Probably the most useful data on
252                         this tab is the detailed GPS information, which includes
253                         horizontal dilution of precision information, and
254                         information about the signal being received from the satellites.
255
256                 ==== Site Map
257
258                         .Monitor Flight Site Map View
259                         image::site-map.png[width="5.5in"]
260
261                         When the TeleMetrum has a GPS fix, the Site Map tab
262                         will map the rocket's position to make it easier for
263                         you to locate the rocket, both while it is in the air,
264                         and when it has landed. The rocket's state is
265                         indicated by color: white for pad, red for boost, pink
266                         for fast, yellow for coast, light blue for drogue,
267                         dark blue for main, and black for landed.
268
269                         The map's default scale is approximately 3m (10ft) per
270                         pixel. The map can be dragged using the left mouse
271                         button. The map will attempt to keep the rocket
272                         roughly centered while data is being received.
273
274                         You can adjust the style of map and the zoom level
275                         with buttons on the right side of the map window. You
276                         can draw a line on the map by moving the mouse over
277                         the map with a button other than the left one pressed,
278                         or by pressing the left button while also holding down
279                         the shift key. The length of the line in real-world
280                         units will be shown at the start of the line.
281
282                         Images are fetched automatically via the Google Maps
283                         Static API, and cached on disk for reuse. If map
284                         images cannot be downloaded, the rocket's path will be
285                         traced on a dark gray background instead.
286
287                         You can pre-load images for your favorite launch sites
288                         before you leave home; check out <<_load_maps>>.
289
290                 ==== Igniter
291
292                         .Monitor Flight Additional Igniter View
293                         image::ignitor.png[width="5.5in"]
294
295                         TeleMega includes four additional programmable pyro
296                         channels. The Ignitor tab shows whether each of them has
297                         continuity. If an ignitor has a low resistance, then the
298                         voltage measured here will be close to the pyro battery
299                         voltage. A value greater than 3.2V is required for a 'GO'
300                         status.
301
302         === Save Flight Data
303
304                 The altimeter records flight data to its internal
305                 flash memory.  TeleMetrum data is recorded at a much
306                 higher rate than the telemetry system can handle, and
307                 is not subject to radio drop-outs. As such, it
308                 provides a more complete and precise record of the
309                 flight. The 'Save Flight Data' button allows you to
310                 read the flash memory and write it to disk.
311
312                 Clicking on the 'Save Flight Data' button brings up a
313                 list of connected flight computers and TeleDongle
314                 devices. If you select a flight computer, the flight
315                 data will be downloaded from that device directly. If
316                 you select a TeleDongle device, flight data will be
317                 downloaded from a flight computer over radio link via
318                 the specified TeleDongle. See the chapter on
319                 Controlling An Altimeter Over The Radio Link for more
320                 information.
321
322                 After the device has been selected, a dialog showing
323                 the flight data saved in the device will be shown
324                 allowing you to select which flights to download and
325                 which to delete. With version 0.9 or newer firmware,
326                 you must erase flights in order for the space they
327                 consume to be reused by another flight. This prevents
328                 accidentally losing flight data if you neglect to
329                 download data before flying again. Note that if there
330                 is no more space available in the device, then no data
331                 will be recorded during the next flight.
332
333                 The file name for each flight log is computed
334                 automatically from the recorded flight date, altimeter
335                 serial number and flight number information.
336
337         === Replay Flight
338
339                 Select this button and you are prompted to select a flight
340                 record file, either a .telem file recording telemetry data or a
341                 .eeprom file containing flight data saved from the altimeter
342                 flash memory.
343
344                 Once a flight record is selected, the flight monitor interface
345                 is displayed and the flight is re-enacted in real time. Check
346                 the Monitor Flight chapter above to learn how this window operates.
347
348         === Graph Data
349
350                 Select this button and you are prompted to select a flight
351                 record file, either a .telem file recording telemetry data or a
352                 .eeprom file containing flight data saved from
353                 flash memory.
354
355                 Note that telemetry files will generally produce poor graphs
356                 due to the lower sampling rate and missed telemetry packets.
357                 Use saved flight data in .eeprom files for graphing where possible.
358
359                 Once a flight record is selected, a window with multiple tabs is
360                 opened.
361
362                 ==== Flight Graph
363
364                         .Flight Data Graph
365                         image::graph.png[width="5.5in"]
366
367                         By default, the graph contains acceleration (blue),
368                         velocity (green) and altitude (red).
369
370                         The graph can be zoomed into a particular area by
371                         clicking and dragging down and to the right. Once
372                         zoomed, the graph can be reset by clicking and
373                         dragging up and to the left. Holding down control and
374                         clicking and dragging allows the graph to be panned.
375                         The right mouse button causes a pop-up menu to be
376                         displayed, giving you the option save or print the
377                         plot.
378
379                 ==== Configure Graph
380
381                         .Flight Graph Configuration
382                         image::graph-configure.png[width="5.5in"]
383
384                         This selects which graph elements to show, and, at the
385                         very bottom, lets you switch between metric and
386                         imperial units
387
388                 ==== Flight Statistics
389
390                         .Flight Statistics
391                         image::graph-stats.png[width="5.5in"]
392
393                         Shows overall data computed from the flight.
394
395                 ==== Map
396
397                         .Flight Map
398                         image::graph-map.png[width="5.5in"]
399
400                         Shows a satellite image of the flight area overlaid
401                         with the path of the flight. The red concentric
402                         circles mark the launch pad, the black concentric
403                         circles mark the landing location.
404
405         === Export Data
406
407                 This tool takes the raw data files and makes them
408                 available for external analysis. When you select this
409                 button, you are prompted to select a flight data file,
410                 which can be either a .eeprom or .telem.  The .eeprom
411                 files contain higher resolution and more continuous
412                 data, while .telem files contain receiver signal
413                 strength information.  Next, a second dialog appears
414                 which is used to select where to write the resulting
415                 file. It has a selector to choose between CSV and KML
416                 file formats.
417
418                 ==== Comma Separated Value Format
419
420                         This is a text file containing the data in a form
421                         suitable for import into a spreadsheet or other
422                         external data analysis tool. The first few lines of
423                         the file contain the version and configuration
424                         information from the altimeter, then there is a single
425                         header line which labels all of the fields. All of
426                         these lines start with a '#' character which many
427                         tools can be configured to skip over.
428
429                         The remaining lines of the file contain the data, with
430                         each field separated by a comma and at least one
431                         space. All of the sensor values are converted to
432                         standard units, with the barometric data reported in
433                         both pressure, altitude and height above pad units.
434
435                 ==== Keyhole Markup Language (for Google Earth)
436
437                         This is the format used by Google Earth to provide an
438                         overlay within that application. With this, you can
439                         use Google Earth to see the whole flight path in 3D.
440
441         === Configure Altimeter
442
443                 .Altimeter Configuration
444                 image::configure-altimeter.png[width="3.6in"]
445
446                 Select this button and then select either an altimeter or
447                 TeleDongle Device from the list provided. Selecting a TeleDongle
448                 device will use the radio link to configure a remote altimeter.
449
450                 The first few lines of the dialog provide information about the
451                 connected device, including the product name,
452                 software version and hardware serial number. Below that are the
453                 individual configuration entries.
454
455                 At the bottom of the dialog, there are four buttons:
456
457                 Save::
458                 This writes any changes to the configuration parameter
459                 block in flash memory. If you don't press this button,
460                 any changes you make will be lost.
461
462                 Reset::
463                 This resets the dialog to the most recently saved
464                 values, erasing any changes you have made.
465
466                 Reboot::
467
468                 This reboots the device. Use this to switch from idle
469                 to pad mode by rebooting once the rocket is oriented
470                 for flight, or to confirm changes you think you saved
471                 are really saved.
472
473                 Close::
474
475                 This closes the dialog. Any unsaved changes will be
476                 lost.
477
478                 The rest of the dialog contains the parameters to be configured.
479
480                 include::config-device.raw[]
481
482
483         === Configure AltosUI
484
485                 .Configure AltosUI Dialog
486                 image::configure-altosui.png[width="2.4in"]
487
488                 This button presents a dialog so that you can
489                 configure the AltosUI global settings.
490
491                 include::config-ui.raw[]
492
493         === Configure Groundstation
494
495                 .Configure Groundstation Dialog
496                 image::configure-groundstation.png[width="3.1in"]
497
498                 Select this button and then select a TeleDongle or
499                 TeleBT Device from the list provided.
500
501                 The first few lines of the dialog provide information
502                 about the connected device, including the product
503                 name, software version and hardware serial
504                 number. Below that are the individual configuration
505                 entries.
506
507                 Note that TeleDongle and TeleBT don't save any
508                 configuration data, the settings here are recorded on
509                 the local machine in the Java preferences
510                 database. Moving the device to another machine, or
511                 using a different user account on the same machine
512                 will cause settings made here to have no effect.
513
514                 At the bottom of the dialog, there are three
515                 buttons:
516
517                 Save::
518                 This writes any changes to the local Java
519                 preferences file. If you don't press this
520                 button, any changes you make will be lost.
521
522                 Reset::
523                 This resets the dialog to the most recently
524                 saved values, erasing any changes you have
525                 made.
526
527                 Close::
528                 This closes the dialog. Any unsaved changes
529                 will be lost.
530
531                 The rest of the dialog contains the parameters
532                 to be configured.
533
534                 ==== Frequency
535
536                         This configures the frequency to use for both
537                         telemetry and packet command mode. Set this
538                         before starting any operation involving packet
539                         command mode so that it will use the right
540                         frequency. Telemetry monitoring mode also
541                         provides a menu to change the frequency, and
542                         that menu also sets the same Java preference
543                         value used here.
544
545                 ==== RF Calibration
546
547                         The radios in every Altus Metrum device are
548                         calibrated at the factory to ensure that they
549                         transmit and receive on the specified
550                         frequency.  To change a TeleDongle or TeleBT's
551                         calibration, you must reprogram the unit
552                         completely, so this entry simply shows the
553                         current value and doesn't allow any changes.
554
555                 ==== Telemetry Rate
556
557                         This lets you match the telemetry and packet
558                         link rate from the transmitter. If they don't
559                         match, the device won't receive any data.
560
561         === Flash Image
562
563                 This reprograms Altus Metrum devices with new
564                 firmware. TeleMetrum v1.x, TeleDongle v0.2, TeleMini
565                 and TeleBT are all reprogrammed by using another
566                 similar unit as a programming dongle (pair
567                 programming). TeleMega, EasyMega, TeleMetrum v2,
568                 EasyMini and TeleDongle v3 are all programmed directly
569                 over their USB ports (self programming).  Please read
570                 the directions for flashing devices in the Updating
571                 Device Firmware chapter below.
572
573         === Fire Igniter
574
575                 .Fire Igniter Window
576                 image::fire-igniter.png[width="1.2in"]
577
578                 This activates the igniter circuits in the flight
579                 computer to help test recovery systems
580                 deployment. Because this command can operate over the
581                 Packet Command Link, you can prepare the rocket as for
582                 flight and then test the recovery system without
583                 needing to snake wires inside the air-frame.
584
585                 Selecting the 'Fire Igniter' button brings up the
586                 usual device selection dialog. Pick the desired
587                 device. This brings up another window which shows the
588                 current continuity test status for all of the pyro
589                 channels.
590
591                 Next, select the desired igniter to fire. This will
592                 enable the 'Arm' button.
593
594                 Select the 'Arm' button. This enables the 'Fire'
595                 button. The word 'Arm' is replaced by a countdown
596                 timer indicating that you have 10 seconds to press the
597                 'Fire' button or the system will deactivate, at which
598                 point you start over again at selecting the desired
599                 igniter.
600
601         === Scan Channels
602
603                 .Scan Channels Window
604                 image::scan-channels.png[width="3.2in"]
605
606                 This listens for telemetry packets on all of the
607                 configured frequencies, displaying information about
608                 each device it receives a packet from. You can select
609                 which of the baud rates and telemetry formats should
610                 be tried; by default, it only listens at 38400 baud
611                 with the standard telemetry format used in v1.0 and
612                 later firmware.
613
614         include::load-maps.raw[]
615
616         === Monitor Idle
617
618                 .Monitor Idle Window
619                 image::monitor-idle.png[width="5.2in"]
620
621                 This brings up a dialog similar to the Monitor Flight
622                 UI, except it works with the altimeter in “idle” mode
623                 by sending query commands to discover the current
624                 state rather than listening for telemetry
625                 packets. Because this uses command mode, it needs to
626                 have the TeleDongle and flight computer callsigns
627                 match exactly. If you can receive telemetry, but
628                 cannot manage to run Monitor Idle, then it's very
629                 likely that your callsigns are different in some way.
630
631                 You can change the frequency and callsign used to
632                 communicate with the flight computer; they must both
633                 match the configuration in the flight computer
634                 exactly.