diff options
| -rw-r--r-- | altosui/AltosFlightUI.java | 34 | ||||
| -rw-r--r-- | altosui/AltosSiteMap.java | 17 | ||||
| -rw-r--r-- | doc/telemetrum-doc.xsl | 25 | 
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> | 
