diff options
| -rw-r--r-- | altosui/AltosAscent.java | 43 | ||||
| -rw-r--r-- | altosui/AltosDescent.java | 28 | ||||
| -rw-r--r-- | altosui/AltosKML.java | 6 | ||||
| -rw-r--r-- | altosui/AltosLanded.java | 40 | ||||
| -rw-r--r-- | altosui/AltosPad.java | 61 | 
5 files changed, 120 insertions, 58 deletions
diff --git a/altosui/AltosAscent.java b/altosui/AltosAscent.java index a158eb21..3fe517aa 100644 --- a/altosui/AltosAscent.java +++ b/altosui/AltosAscent.java @@ -51,6 +51,20 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay {  		}  		void show(AltosState state, int crc_errors) {} + +		void show(String s) { +			show(); +			value.setText(s); +		} +		 +		void show(AltosUnits units, double v) { +			show(units.show(8, v)); +		} + +		void show(String format, double v) { +			show(String.format(format, v)); +		} +  		void reset() {  			value.setText("");  			lights.set(false); @@ -112,6 +126,19 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay {  			value.setVisible(true);  		} +		void show(String s) { +			show(); +			value.setText(s); +		} +		 +		void show(AltosUnits units, double v) { +			show(units.show(8, v)); +		} + +		void show(String format, double v) { +			show(String.format(format, v)); +		} +  		void hide() {  			label.setVisible(false);  			value.setVisible(false); @@ -268,8 +295,7 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay {  	class Apogee extends AscentStatus {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(String.format("%4.2f V", state.drogue_sense)); +			show("%4.2f V", state.drogue_sense);  			lights.set(state.drogue_sense > 3.2);  		}  		public Apogee (GridBagLayout layout, int y) { @@ -281,8 +307,7 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay {  	class Main extends AscentStatus {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(String.format("%4.2f V", state.main_sense)); +			show("%4.2f V", state.main_sense);  			lights.set(state.main_sense > 3.2);  		}  		public Main (GridBagLayout layout, int y) { @@ -294,11 +319,10 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay {  	class Lat extends AscentValue {  		void show (AltosState state, int crc_errors) { -			show();  			if (state.gps != null) -				value.setText(pos(state.gps.lat,"N", "S")); +				show(pos(state.gps.lat,"N", "S"));  			else -				value.setText("???"); +				show("???");  		}  		public Lat (GridBagLayout layout, int y) {  			super (layout, y, "Latitude"); @@ -309,11 +333,10 @@ public class AltosAscent extends JComponent implements AltosFlightDisplay {  	class Lon extends AscentValue {  		void show (AltosState state, int crc_errors) { -			show();  			if (state.gps != null) -				value.setText(pos(state.gps.lon,"E", "W")); +				show(pos(state.gps.lon,"E", "W"));  			else -				value.setText("???"); +				show("???");  		}  		public Lon (GridBagLayout layout, int y) {  			super (layout, y, "Longitude"); diff --git a/altosui/AltosDescent.java b/altosui/AltosDescent.java index 62258814..73972b86 100644 --- a/altosui/AltosDescent.java +++ b/altosui/AltosDescent.java @@ -45,6 +45,15 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay {  			lights.setVisible(true);  		} +		void show(String s) { +			show(); +			value.setText(s); +		} + +		void show(String format, double value) { +			show(String.format(format, value)); +		} +  		void hide() {  			label.setVisible(false);  			value.setVisible(false); @@ -119,16 +128,17 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay {  			value.setVisible(false);  		} -		void show(AltosUnits units, double v) { -			value.setText(units.show(8, v)); +		void show(String v) { +			show(); +			value.setText(v);  		} -		void show(String format, double v) { -			value.setText(String.format(format, v)); +		void show(AltosUnits units, double v) { +			show(units.show(8, v));  		} -		void show(String v) { -			value.setText(v); +		void show(String format, double v) { +			show(String.format(format, v));  		}  		void set_font() { @@ -307,8 +317,7 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay {  	class Apogee extends DescentStatus {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(String.format("%4.2f V", state.drogue_sense)); +			show("%4.2f V", state.drogue_sense);  			lights.set(state.drogue_sense > 3.2);  		}  		public Apogee (GridBagLayout layout, int y) { @@ -320,8 +329,7 @@ public class AltosDescent extends JComponent implements AltosFlightDisplay {  	class Main extends DescentStatus {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(String.format("%4.2f V", state.main_sense)); +			show("%4.2f V", state.main_sense);  			lights.set(state.main_sense > 3.2);  		}  		public Main (GridBagLayout layout, int y) { diff --git a/altosui/AltosKML.java b/altosui/AltosKML.java index ff0734b8..6bac1d9c 100644 --- a/altosui/AltosKML.java +++ b/altosui/AltosKML.java @@ -131,8 +131,12 @@ public class AltosKML implements AltosWriter {  	public void write(AltosRecord record) {  		AltosGPS	gps = record.gps; -		if (gps == null) +		if (gps == null) { +			System.out.printf ("no gps\n");  			return; +		} + +		System.out.printf ("seen %x\n", record.seen);  		if ((record.seen & (AltosRecord.seen_flight)) == 0)  			return;  		if ((record.seen & (AltosRecord.seen_gps_lat)) == 0) diff --git a/altosui/AltosLanded.java b/altosui/AltosLanded.java index a47e1cbd..68efae8d 100644 --- a/altosui/AltosLanded.java +++ b/altosui/AltosLanded.java @@ -46,6 +46,19 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  			value.setVisible(true);  		} +		void show(String s) { +			show(); +			value.setText(s); +		} +		 +		void show(AltosUnits units, double v) { +			show(units.show(8, v)); +		} + +		void show(String format, double v) { +			show(String.format(format, v)); +		} +  		public void set_font() {  			label.setFont(Altos.label_font);  			value.setFont(Altos.value_font); @@ -56,12 +69,6 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  			value.setVisible(false);  		} -		void show(String format, double v) { -			show(); -			value.setText(String.format(format, v)); -		} - -  		public LandedValue (GridBagLayout layout, int y, String text) {  			GridBagConstraints	c = new GridBagConstraints();  			c.weighty = 1; @@ -102,11 +109,10 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  	class Lat extends LandedValue {  		void show (AltosState state, int crc_errors) { -			show();  			if (state.gps != null && state.gps.connected) -				value.setText(pos(state.gps.lat,"N", "S")); +				show(pos(state.gps.lat,"N", "S"));  			else -				value.setText("???"); +				show("???");  		}  		public Lat (GridBagLayout layout, int y) {  			super (layout, y, "Latitude"); @@ -119,9 +125,9 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  		void show (AltosState state, int crc_errors) {  			show();  			if (state.gps != null && state.gps.connected) -				value.setText(pos(state.gps.lon,"E", "W")); +				show(pos(state.gps.lon,"E", "W"));  			else -				value.setText("???"); +				show("???");  		}  		public Lon (GridBagLayout layout, int y) {  			super (layout, y, "Longitude"); @@ -136,7 +142,7 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  			if (state.from_pad != null)  				show("%3.0f°", state.from_pad.bearing);  			else -				value.setText("???"); +				show("???");  		}  		public Bearing (GridBagLayout layout, int y) {  			super (layout, y, "Bearing"); @@ -149,9 +155,9 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  		void show (AltosState state, int crc_errors) {  			show();  			if (state.from_pad != null) -				show("%6.0f m", state.from_pad.distance); +				show(AltosConvert.distance, state.from_pad.distance);  			else -				value.setText("???"); +				show("???");  		}  		public Distance (GridBagLayout layout, int y) {  			super (layout, y, "Distance"); @@ -162,7 +168,7 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  	class Height extends LandedValue {  		void show (AltosState state, int crc_errors) { -			show("%6.0f m", state.max_height); +			show(AltosConvert.height, state.max_height);  		}  		public Height (GridBagLayout layout, int y) {  			super (layout, y, "Maximum Height"); @@ -173,7 +179,7 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  	class Speed extends LandedValue {  		void show (AltosState state, int crc_errors) { -			show("%6.0f m/s", state.max_speed); +			show(AltosConvert.speed, state.max_speed);  		}  		public Speed (GridBagLayout layout, int y) {  			super (layout, y, "Maximum Speed"); @@ -184,7 +190,7 @@ public class AltosLanded extends JComponent implements AltosFlightDisplay, Actio  	class Accel extends LandedValue {  		void show (AltosState state, int crc_errors) { -			show("%6.0f m/s²", state.max_acceleration); +			show(AltosConvert.accel, state.max_acceleration);  		}  		public Accel (GridBagLayout layout, int y) {  			super (layout, y, "Maximum Acceleration"); diff --git a/altosui/AltosPad.java b/altosui/AltosPad.java index 0a3f3d65..947c7540 100644 --- a/altosui/AltosPad.java +++ b/altosui/AltosPad.java @@ -38,6 +38,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  		AltosLights	lights;  		void show(AltosState state, int crc_errors) {} +  		void reset() {  			value.setText("");  			lights.set(false); @@ -49,6 +50,19 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  			lights.setVisible(true);  		} +		void show(String s) { +			show(); +			value.setText(s); +		} + +		void show(String format, double value) { +			show(String.format(format, value)); +		} + +		void show(String format, int value) { +			show(String.format(format, value)); +		} +  		public void hide() {  			label.setVisible(false);  			value.setVisible(false); @@ -116,9 +130,23 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  			value.setFont(Altos.value_font);  		} +		void show(String s) { +			show(); +			value.setText(s); +		} + +		void show(AltosUnits units, double v) { +			show(units.show(8, v)); +		} + +		void show(String format, double v) { +			show(String.format(format, v)); +		} +  		void reset() {  			value.setText("");  		} +  		public LaunchValue (GridBagLayout layout, int y, String text) {  			GridBagConstraints	c = new GridBagConstraints();  			c.insets = new Insets(Altos.tab_elt_pad, Altos.tab_elt_pad, Altos.tab_elt_pad, Altos.tab_elt_pad); @@ -148,7 +176,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class Battery extends LaunchStatus {  		void show (AltosState state, int crc_errors) { -			value.setText(String.format("%4.2f V", state.battery)); +			show("%4.2f V", state.battery);  			lights.set(state.battery > 3.7);  		}  		public Battery (GridBagLayout layout, int y) { @@ -160,8 +188,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class Apogee extends LaunchStatus {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(String.format("%4.2f V", state.drogue_sense)); +			show("%4.2f V", state.drogue_sense);  			lights.set(state.drogue_sense > 3.2);  		}  		public Apogee (GridBagLayout layout, int y) { @@ -173,8 +200,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class Main extends LaunchStatus {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(String.format("%4.2f V", state.main_sense)); +			show("%4.2f V", state.main_sense);  			lights.set(state.main_sense > 3.2);  		}  		public Main (GridBagLayout layout, int y) { @@ -186,17 +212,16 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class LoggingReady extends LaunchStatus {  		void show (AltosState state, int crc_errors) { -			show();  			if (state.data.flight != 0) {  				if (state.data.state <= Altos.ao_flight_pad) -					value.setText("Ready to record"); +					show("Ready to record");  				else if (state.data.state < Altos.ao_flight_landed) -					value.setText("Recording data"); +					show("Recording data");  				else -					value.setText("Recorded data"); +					show("Recorded data");  			}  			else -				value.setText("Storage full"); +				show("Storage full");  			lights.set(state.data.flight != 0);  		}  		public LoggingReady (GridBagLayout layout, int y) { @@ -208,8 +233,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class GPSLocked extends LaunchStatus {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(String.format("%4d sats", state.gps.nsat)); +			show("%4d sats", state.gps.nsat);  			lights.set(state.gps.locked && state.gps.nsat >= 4);  		}  		public GPSLocked (GridBagLayout layout, int y) { @@ -221,11 +245,10 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class GPSReady extends LaunchStatus {  		void show (AltosState state, int crc_errors) { -			show();  			if (state.gps_ready) -				value.setText("Ready"); +				show("Ready");  			else -				value.setText(String.format("Waiting %d", state.gps_waiting)); +				show("Waiting %d", state.gps_waiting);  			lights.set(state.gps_ready);  		}  		public GPSReady (GridBagLayout layout, int y) { @@ -248,8 +271,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class PadLat extends LaunchValue {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(pos(state.pad_lat,"N", "S")); +			show(pos(state.pad_lat,"N", "S"));  		}  		public PadLat (GridBagLayout layout, int y) {  			super (layout, y, "Pad Latitude"); @@ -260,8 +282,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class PadLon extends LaunchValue {  		void show (AltosState state, int crc_errors) { -			show(); -			value.setText(pos(state.pad_lon,"E", "W")); +			show(pos(state.pad_lon,"E", "W"));  		}  		public PadLon (GridBagLayout layout, int y) {  			super (layout, y, "Pad Longitude"); @@ -272,7 +293,7 @@ public class AltosPad extends JComponent implements AltosFlightDisplay {  	class PadAlt extends LaunchValue {  		void show (AltosState state, int crc_errors) { -			value.setText(String.format("%4.0f m", state.pad_alt)); +			show("%4.0f m", state.pad_alt);  		}  		public PadAlt (GridBagLayout layout, int y) {  			super (layout, y, "Pad Altitude");  | 
