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