summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altosui/AltosFlightUI.java34
-rw-r--r--altosui/AltosSiteMap.java17
-rw-r--r--doc/telemetrum-doc.xsl25
3 files changed, 43 insertions, 33 deletions
diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java
index 24d25bd7..7fcfb8be 100644
--- a/altosui/AltosFlightUI.java
+++ b/altosui/AltosFlightUI.java
@@ -47,23 +47,17 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay {
private AltosFlightStatus flightStatus;
private AltosInfoTable flightInfo;
- static final int tab_pad = 1;
- static final int tab_ascent = 2;
- static final int tab_descent = 3;
- static final int tab_landed = 4;
-
- int cur_tab = 0;
-
boolean exit_on_close = false;
- int which_tab(AltosState state) {
+ JComponent cur_tab = null;
+ JComponent which_tab(AltosState state) {
if (state.state < Altos.ao_flight_boost)
- return tab_pad;
+ return pad;
if (state.state <= Altos.ao_flight_coast)
- return tab_ascent;
+ return ascent;
if (state.state <= Altos.ao_flight_main)
- return tab_descent;
- return tab_landed;
+ return descent;
+ return landed;
}
void stop_display() {
@@ -90,24 +84,14 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay {
}
public void show(AltosState state, int crc_errors) {
- int tab = which_tab(state);
+ JComponent tab = which_tab(state);
pad.show(state, crc_errors);
ascent.show(state, crc_errors);
descent.show(state, crc_errors);
landed.show(state, crc_errors);
if (tab != cur_tab) {
- switch (tab) {
- case tab_pad:
- pane.setSelectedComponent(pad);
- break;
- case tab_ascent:
- pane.setSelectedComponent(ascent);
- break;
- case tab_descent:
- pane.setSelectedComponent(descent);
- break;
- case tab_landed:
- pane.setSelectedComponent(landed);
+ if (cur_tab == pane.getSelectedComponent()) {
+ pane.setSelectedComponent(tab);
}
cur_tab = tab;
}
diff --git a/altosui/AltosSiteMap.java b/altosui/AltosSiteMap.java
index 80970605..d4a4cbf4 100644
--- a/altosui/AltosSiteMap.java
+++ b/altosui/AltosSiteMap.java
@@ -230,16 +230,19 @@ public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {
// if insufficient gps data, nothing to update
if (state.gps == null)
return;
- if (state.pad_lat == 0 && state.pad_lon == 0)
+ if (!state.gps.locked && state.gps.nsat < 4)
return;
- if (!state.gps.locked) {
- if (state.gps.nsat < 4)
- return;
- }
if (!initialised) {
- initMaps(state.pad_lat, state.pad_lon);
- initialised = true;
+ if (state.pad_lat != 0 || state.pad_lon != 0) {
+ initMaps(state.pad_lat, state.pad_lon);
+ initialised = true;
+ } else if (state.gps.lat != 0 || state.gps.lon != 0) {
+ initMaps(state.gps.lat, state.gps.lon);
+ initialised = true;
+ } else {
+ return;
+ }
}
final Point2D.Double pt = pt(state.gps.lat, state.gps.lon);
diff --git a/doc/telemetrum-doc.xsl b/doc/telemetrum-doc.xsl
index 5c3e4c38..8f554d88 100644
--- a/doc/telemetrum-doc.xsl
+++ b/doc/telemetrum-doc.xsl
@@ -1087,7 +1087,30 @@
<section>
<title>Graph Data</title>
<para>
- This section should be written by AJ.
+ Select this button and you are prompted to select a flight
+ record file, either a .telem file recording telemetry data or a
+ .eeprom file containing flight data saved from the TeleMetrum
+ flash memory.
+ </para>
+ <para>
+ Once a flight record is selected, the acceleration (blue),
+ velocity (green) and altitude (red) of the flight are plotted and
+ displayed, measured in metric units.
+ </para>
+ <para>
+ The graph can be zoomed into a particular area by clicking and
+ dragging down and to the right. Once zoomed, the graph can be
+ reset by clicking and dragging up and to the left. Holding down
+ control and clicking and dragging allows the graph to be panned.
+ The right mouse button causes a popup menu to be displayed, giving
+ you the option save or print the plot.
+ </para>
+ <para>
+ Note that telemetry files will generally produce poor graphs
+ due to the lower sampling rate and missed telemetry packets,
+ and will also often have significant amounts of data received
+ while the rocket was waiting on the pad. Use saved flight data
+ for graphing where possible.
</para>
</section>
<section>