diff options
| -rw-r--r-- | altoslib/AltosCompanion.java | 28 | ||||
| -rw-r--r-- | altoslib/AltosFrequency.java | 22 | ||||
| -rw-r--r-- | altoslib/AltosGPS.java | 63 | ||||
| -rw-r--r-- | altoslib/AltosGPSSat.java | 25 | ||||
| -rw-r--r-- | altoslib/AltosGreatCircle.java | 34 | ||||
| -rw-r--r-- | altoslib/AltosIMU.java | 33 | ||||
| -rw-r--r-- | altoslib/AltosJson.java | 23 | ||||
| -rw-r--r-- | altoslib/AltosMag.java | 26 | ||||
| -rw-r--r-- | altoslib/AltosMs5607.java | 44 | ||||
| -rw-r--r-- | altoslib/AltosPreferences.java | 8 | ||||
| -rw-r--r-- | altoslib/AltosQuaternion.java | 22 | ||||
| -rw-r--r-- | altoslib/AltosRotation.java | 17 | ||||
| -rw-r--r-- | altoslib/AltosState.java | 340 | ||||
| -rw-r--r-- | altoslib/Makefile.am | 1 | 
14 files changed, 39 insertions, 647 deletions
| diff --git a/altoslib/AltosCompanion.java b/altoslib/AltosCompanion.java index 2db8ea1b..d517fd4f 100644 --- a/altoslib/AltosCompanion.java +++ b/altoslib/AltosCompanion.java @@ -19,7 +19,7 @@ package org.altusmetrum.altoslib_11;  import java.io.*; -public class AltosCompanion implements AltosJsonable { +public class AltosCompanion {  	public final static int	board_id_telescience = 0x0a;  	public final static int	MAX_CHANNELS = 12; @@ -37,30 +37,4 @@ public class AltosCompanion implements AltosJsonable {  			channels = MAX_CHANNELS;  		companion_data = new int[channels];  	} - -	public AltosJson json() { -		AltosJson j = new AltosJson(); - -		j.put("tick", tick); -		j.put("board_id", board_id); -		j.put("update_period", update_period); -		j.put("channels", channels); -		j.put("companion_data", companion_data); -		return j; -	} - -	public AltosCompanion(AltosJson j) { -		tick = j.get_int("tick", tick); -		board_id = j.get_int("board_id", board_id); -		update_period = j.get_int("update_period", update_period); -		channels = j.get_int("channels", channels); -		companion_data = j.get_int_array("companion_data", new int[channels]); -	} - -	public static AltosCompanion fromJson(AltosJson j, AltosCompanion def) { -		if (j == null) -			return def; - -		return new AltosCompanion(j); -	}  } diff --git a/altoslib/AltosFrequency.java b/altoslib/AltosFrequency.java index 3c1631a8..874a9bcc 100644 --- a/altoslib/AltosFrequency.java +++ b/altoslib/AltosFrequency.java @@ -21,7 +21,7 @@ import java.io.*;  import java.util.*;  import java.text.*; -public class AltosFrequency implements AltosJsonable { +public class AltosFrequency {  	public double	frequency;  	public String	description; @@ -57,28 +57,8 @@ public class AltosFrequency implements AltosJsonable {  		return diff < 0.010;  	} - -	public AltosJson json() { -		AltosJson	j = new AltosJson(); - -		j.put("frequency", frequency); -		j.put("description", description); -		return j; -	} -  	public AltosFrequency(double f, String d) {  		frequency = f;  		description = d;  	} - -	private AltosFrequency(AltosJson j) { -		frequency = j.get_double("frequency", 0.0); -		description = j.get_string("description", ""); -	} - -	public static AltosFrequency fromJson(AltosJson j, AltosFrequency def) { -		if (j == null) -			return def; -		return new AltosFrequency(j); -	}  } diff --git a/altoslib/AltosGPS.java b/altoslib/AltosGPS.java index ba2eda1b..d29ccdd1 100644 --- a/altoslib/AltosGPS.java +++ b/altoslib/AltosGPS.java @@ -21,7 +21,7 @@ import java.text.*;  import java.util.concurrent.*;  import java.io.*; -public class AltosGPS implements Cloneable, AltosJsonable { +public class AltosGPS implements Cloneable {  	public final static int MISSING = AltosLib.MISSING; @@ -388,65 +388,4 @@ public class AltosGPS implements Cloneable, AltosJsonable {  				break;  		}  	} - -	public AltosJson json() { -		AltosJson	j = new AltosJson(); - -		j.put("nsat", nsat); -		j.put("locked", locked); -		j.put("connected", connected); -		j.put("lat", lat); -		j.put("lon", lon); -		j.put("alt", alt); -		j.put("year", year); -		j.put("month", month); -		j.put("day", day); -		j.put("hour", hour); -		j.put("minute", minute); -		j.put("second", second); - -		j.put("ground_speed", ground_speed); -		j.put("course", course); -		j.put("climb_rate", climb_rate); -		j.put("pdop", pdop); -		j.put("hdop", hdop); -		j.put("vdop", vdop); -		j.put("h_error", h_error); -		j.put("v_error", v_error); -		j.put("cc_gps_sat", cc_gps_sat); -		return j; -	} - -	public AltosGPS(AltosJson j) { -		init(); -		nsat = j.get_int("nsat", nsat); -		locked = j.get_boolean("locked", locked); -		connected = j.get_boolean("connected", connected); -		lat = j.get_double("lat", lat); -		lon = j.get_double("lon", lon); -		alt = j.get_double("alt", alt); -		year = j.get_int("year", year); -		month = j.get_int("month", month); -		day = j.get_int("day", day); -		hour = j.get_int("hour", hour); -		minute = j.get_int("minute", minute); -		second = j.get_int("second", second); - -		ground_speed = j.get_double("ground_speed", ground_speed); -		course = j.get_int("course", course); -		climb_rate = j.get_double("climb_rate", climb_rate); -		pdop = j.get_double("pdop", pdop); -		hdop = j.get_double("hdop", hdop); -		vdop = j.get_double("vdop", vdop); -		h_error = j.get_double("h_error", h_error); -		v_error = j.get_double("v_error", v_error); -		cc_gps_sat = AltosGPSSat.json_array(j.get("cc_gps_sat")); -	} - -	public static AltosGPS fromJson(AltosJson j, AltosGPS def) { -		if (j == null) -			return def; - -		return new AltosGPS(j); -	}  } diff --git a/altoslib/AltosGPSSat.java b/altoslib/AltosGPSSat.java index 8cdeed0e..8b95c150 100644 --- a/altoslib/AltosGPSSat.java +++ b/altoslib/AltosGPSSat.java @@ -22,7 +22,7 @@ import java.text.*;  import java.util.*;  import java.util.concurrent.*; -public class AltosGPSSat implements AltosJsonable { +public class AltosGPSSat {  	public int	svid;  	public int	c_n0; @@ -33,28 +33,5 @@ public class AltosGPSSat implements AltosJsonable {  	public AltosGPSSat() {  	} - -	public AltosJson json() { -		AltosJson j = new AltosJson(); -		j.put("svid", svid); -		j.put("c_n0", c_n0); -		return j; -	} - -	private AltosGPSSat(AltosJson j) { -		svid = j.get_int("svid", 0); -		c_n0 = j.get_int("c_n0", 0); -	} - -	static public AltosGPSSat[] json_array(AltosJson j) { -		if (j == null) -			return null; - -		int size = j.size(); -		AltosGPSSat[] sats = new AltosGPSSat[size]; -		for (int i = 0; i < size; i++) -			sats[i] = new AltosGPSSat(j.get(i)); -		return sats; -	}  } diff --git a/altoslib/AltosGreatCircle.java b/altoslib/AltosGreatCircle.java index f2c1783d..a2f12807 100644 --- a/altoslib/AltosGreatCircle.java +++ b/altoslib/AltosGreatCircle.java @@ -20,7 +20,7 @@ package org.altusmetrum.altoslib_11;  import java.lang.Math;  import java.io.*; -public class AltosGreatCircle implements Cloneable, AltosJsonable { +public class AltosGreatCircle implements Cloneable {  	public double	distance;  	public double	bearing;  	public double	range; @@ -71,7 +71,10 @@ public class AltosGreatCircle implements Cloneable, AltosJsonable {  				course = 2 * Math.PI-course;  		}  		distance = d * earth_radius; -		bearing = course * 180/Math.PI; +		if (Double.isNaN(course) || Double.isInfinite(course)) +			bearing = 0; +		else +			bearing = course * 180/Math.PI;  		double height_diff = end_alt - start_alt;  		range = Math.sqrt(distance * distance + height_diff * height_diff); @@ -103,31 +106,4 @@ public class AltosGreatCircle implements Cloneable, AltosJsonable {  		range = 0;  		elevation = 0;  	} - -	public AltosJson json() { -		AltosJson j = new AltosJson(); - -		j.put("distance", distance); -		j.put("bearing", bearing); -		j.put("range", range); -		j.put("elevation", elevation); - -		return j; -	} - -	public AltosGreatCircle(AltosJson j) { -		this(); - -		distance = j.get_double("distance", distance); -		bearing = j.get_double("bearing", bearing); -		range = j.get_double("range", range); -		elevation = j.get_double("elevation", elevation); -	} - -	public static AltosGreatCircle fromJson(AltosJson j, AltosGreatCircle def) { -		if (j == null) -			return def; - -		return new AltosGreatCircle(j); -	}  } diff --git a/altoslib/AltosIMU.java b/altoslib/AltosIMU.java index 672c6111..dbadcf89 100644 --- a/altoslib/AltosIMU.java +++ b/altoslib/AltosIMU.java @@ -20,7 +20,7 @@ package org.altusmetrum.altoslib_11;  import java.util.concurrent.*;  import java.io.*; -public class AltosIMU implements Cloneable, AltosJsonable { +public class AltosIMU implements Cloneable {  	public int		accel_along;  	public int		accel_across;  	public int		accel_through; @@ -115,35 +115,4 @@ public class AltosIMU implements Cloneable, AltosJsonable {  				break;  		}  	} - -	public AltosIMU (AltosJson j) { -		this(); - -		accel_along = j.get_int("accel_along", accel_along); -		accel_across = j.get_int("accel_across", accel_across); -		accel_through = j.get_int("accel_through", accel_through); - -		gyro_roll = j.get_int("gyro_roll", gyro_roll); -		gyro_pitch = j.get_int("gyro_pitch", gyro_pitch); -		gyro_yaw = j.get_int("gyro_yaw", gyro_yaw); -	} - -	static public AltosIMU fromJson(AltosJson j, AltosIMU def) { -		if (j == null) -			return def; -		return new AltosIMU(j); -	} - -	public AltosJson json() { -		AltosJson	j = new AltosJson(); - -		j.put("accel_along", accel_along); -		j.put("accel_across", accel_across); -		j.put("accel_through", accel_through); - -		j.put("gyro_roll", gyro_roll); -		j.put("gyro_pitch", gyro_pitch); -		j.put("gyro_yaw", gyro_yaw); -		return j; -	}  } diff --git a/altoslib/AltosJson.java b/altoslib/AltosJson.java index 6ae7e7dc..e979a459 100644 --- a/altoslib/AltosJson.java +++ b/altoslib/AltosJson.java @@ -280,6 +280,9 @@ class JsonLexer extends JsonUtil {  	static keyword[] keywords = {  		new keyword("true", new JsonToken(JsonToken._boolean, true)),  		new keyword("false", new JsonToken(JsonToken._boolean, false)), +		new keyword("NegInfinity", new JsonToken(JsonToken._double, Double.NEGATIVE_INFINITY)), +		new keyword("Infinity", new JsonToken(JsonToken._double, Double.POSITIVE_INFINITY)), +		new keyword("NaN", new JsonToken(JsonToken._double, Double.NaN))  	};  	static JsonToken keyword(String word) { @@ -583,10 +586,19 @@ public class AltosJson extends JsonUtil {  			array.append_array(result, indent, pretty);  			break;  		case type_double: -			String dval = nf_json.format(d_number); -			if (dval.equals("-0")) -				dval = "0"; -			result.append(dval); +			if (Double.isInfinite(d_number)) { +				if (d_number < 0) +					result.append("NegInfinity"); +				else +					result.append("Infinity"); +			} else if (Double.isNaN(d_number)) { +				result.append("NaN"); +			} else { +				String dval = nf_json.format(d_number); +				if (dval.equals("-0")) +					dval = "0"; +				result.append(dval); +			}  			break;  		case type_long:  			result.append(new Long(l_number).toString()); @@ -1030,7 +1042,6 @@ public class AltosJson extends JsonUtil {  					for (Field field : c.getDeclaredFields()) {  						String	fieldName = field.getName();  						Class	fieldClass = field.getType(); -						String	className = fieldClass.getName();  						if (Modifier.isStatic(field.getModifiers()))  							continue; @@ -1165,8 +1176,6 @@ public class AltosJson extends JsonUtil {  			for (Class c = object.getClass(); c != null; c = c.getSuperclass()) {  				for (Field field : c.getDeclaredFields()) {  					String	fieldName = field.getName(); -					Class	fieldClass = field.getType(); -					String	className = fieldClass.getName();  					/* Skip static fields */  					if (Modifier.isStatic(field.getModifiers())) diff --git a/altoslib/AltosMag.java b/altoslib/AltosMag.java index 8d40bc60..5864529f 100644 --- a/altoslib/AltosMag.java +++ b/altoslib/AltosMag.java @@ -20,7 +20,7 @@ package org.altusmetrum.altoslib_11;  import java.util.concurrent.*;  import java.io.*; -public class AltosMag implements Cloneable, AltosJsonable { +public class AltosMag implements Cloneable {  	public int		along;  	public int		across;  	public int		through; @@ -93,28 +93,4 @@ public class AltosMag implements Cloneable, AltosJsonable {  				break;  		}  	} - -	public AltosJson json() { -		AltosJson	j = new AltosJson(); - -		j.put("along", along); -		j.put("across", across); -		j.put("through", through); -		return j; -	} - -	public AltosMag(AltosJson j) { -		this(); - -		along = j.get_int("along", along); -		across = j.get_int("across", across); -		through = j.get_int("through", through); -	} - -	public static AltosMag fromJson(AltosJson j, AltosMag def) { -		if (j == null) -			return def; - -		return new AltosMag(j); -	}  } diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java index a769223e..e40479b1 100644 --- a/altoslib/AltosMs5607.java +++ b/altoslib/AltosMs5607.java @@ -20,7 +20,7 @@ package org.altusmetrum.altoslib_11;  import java.util.concurrent.*;  import java.io.*; -public class AltosMs5607 implements AltosJsonable { +public class AltosMs5607 {  	public int	reserved;  	public int	sens;  	public int	off; @@ -166,46 +166,4 @@ public class AltosMs5607 implements AltosJsonable {  		}  		convert();  	} - -	public AltosJson json() { -		AltosJson j = new AltosJson(); - -		j.put("reserved", reserved); -		j.put("sens", sens); -		j.put("off", off); -		j.put("tcs", tcs); -		j.put("tco", tco); -		j.put("tref", tref); -		j.put("tempsens", tempsens); -		j.put("crc", crc); -		j.put("raw_pres", raw_pres); -		j.put("raw_temp", raw_temp); -		j.put("pa", pa); -		j.put("cc", cc); -		return j; -	} - -	public AltosMs5607(AltosJson j) { -		this(); - -		reserved = j.get_int("reserved", reserved); -		sens = j.get_int("sens", sens); -		off = j.get_int("off", off); -		tcs = j.get_int("tcs", tcs); -		tco = j.get_int("tco", tco); -		tref = j.get_int("tref", tref); -		tempsens = j.get_int("tempsens", tempsens); -		crc = j.get_int("crc", crc); -		raw_pres = j.get_int("raw_pres", raw_pres); -		raw_temp = j.get_int("raw_temp", raw_temp); -		pa = j.get_int("pa", pa); -		cc = j.get_int("cc", cc); -	} - -	public static AltosMs5607 fromJson(AltosJson j, AltosMs5607 def) { -		if (j == null) -			return def; - -		return new AltosMs5607(j); -	}  } diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java index 51fc4205..569aaa54 100644 --- a/altoslib/AltosPreferences.java +++ b/altoslib/AltosPreferences.java @@ -365,7 +365,7 @@ public class AltosPreferences {  	public static void set_state(AltosState state) {  		synchronized(backend) { -			backend.putJson(String.format(statePreferenceFormat, state.serial), state.json()); +			backend.putJson(String.format(statePreferenceFormat, state.serial), new AltosJson(state));  			backend.putInt(statePreferenceLatest, state.serial);  			flush_preferences();  		} @@ -405,10 +405,12 @@ public class AltosPreferences {  	public static AltosState state(int serial) {  		synchronized(backend) {  			try { -				return AltosState.fromJson(backend.getJson(String.format(statePreferenceFormat, serial))); +				AltosJson json = backend.getJson(String.format(statePreferenceFormat, serial)); +				if (json != null) +					return (AltosState) (json.make(AltosState.class));  			} catch (Exception e) { -				return null;  			} +			return null;  		}  	} diff --git a/altoslib/AltosQuaternion.java b/altoslib/AltosQuaternion.java index 98c2fe51..79559429 100644 --- a/altoslib/AltosQuaternion.java +++ b/altoslib/AltosQuaternion.java @@ -17,7 +17,7 @@  package org.altusmetrum.altoslib_11; -public class AltosQuaternion implements AltosJsonable { +public class AltosQuaternion {  	double	r;		/* real bit */  	double	x, y, z;	/* imaginary bits */ @@ -154,24 +154,4 @@ public class AltosQuaternion implements AltosJsonable {  					   c_x * s_y * c_z + s_x * c_y * s_z,  					   c_x * c_y * s_z - s_x * s_y * c_z);  	} - -	public AltosJson json() { -		AltosJson j = new AltosJson(); - -		j.put("r", r); -		j.put("x", x); -		j.put("y", y); -		j.put("z", z); -		return j; -	} - -	public AltosQuaternion(AltosJson j) { -		if (j == null) -			return; - -		r = j.get_double("r", 1); -		x = j.get_double("x", 0); -	        y = j.get_double("y", 0); -		z = j.get_double("z", 0); -	}  } diff --git a/altoslib/AltosRotation.java b/altoslib/AltosRotation.java index 6db0b541..97cf7896 100644 --- a/altoslib/AltosRotation.java +++ b/altoslib/AltosRotation.java @@ -17,7 +17,7 @@  package org.altusmetrum.altoslib_11; -public class AltosRotation implements AltosJsonable { +public class AltosRotation extends AltosQuaternion {  	private AltosQuaternion		rotation;  	public double tilt() { @@ -48,22 +48,7 @@ public class AltosRotation implements AltosJsonable {  		rotation = up.vectors_to_rotation(orient);  	} -	public AltosRotation(AltosJson j) { -		rotation = new AltosQuaternion(j); -	} -  	public AltosRotation() {  		rotation = new AltosQuaternion();  	} - -	public AltosJson json() { -		return rotation.json(); -	} - -	public static AltosRotation fromJson(AltosJson j, AltosRotation def) { -		if (j == null) -			return def; - -		return new AltosRotation(j); -	}  } diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 93586e8c..15cf7d64 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -23,7 +23,7 @@ package org.altusmetrum.altoslib_11;  import java.io.*; -public class AltosState implements Cloneable, AltosJsonable { +public class AltosState implements Cloneable {  	public static final int set_position = 1;  	public static final int set_gps = 2; @@ -46,7 +46,7 @@ public class AltosState implements Cloneable, AltosJsonable {  	private int	prev_tick;  	public int	boost_tick; -	class AltosValue implements AltosJsonable { +	class AltosValue {  		double	value;  		double	prev_value;  		private double	max_value; @@ -177,28 +177,6 @@ public class AltosState implements Cloneable, AltosJsonable {  			prev_set_time = set_time;  		} -		public AltosJson json() { -			AltosJson j = new AltosJson(); - -			j.put("value", value); -			j.put("prev_value", prev_value); -			j.put("max_value", max_value); -			j.put("set_time", set_time); -			j.put("prev_set_time", prev_set_time); -			return j; -		} - -		AltosValue(AltosJson j) { -			this(); -			if (j != null) { -				value = j.get_double("value", value); -				prev_value = j.get_double("prev_value", prev_value); -				max_value = j.get_double("max_value", max_value); -				set_time = j.get_double("set_time", 0); -				prev_set_time = j.get_double("prev_set_time", 0); -			} -		} -  		AltosValue() {  			value = AltosLib.MISSING;  			prev_value = AltosLib.MISSING; @@ -207,15 +185,9 @@ public class AltosState implements Cloneable, AltosJsonable {  	} -	AltosValue AltosValue_fromJson(AltosJson j, AltosValue def) { -		if (j == null) -			return def; -		return new AltosValue(j); -	} - -	class AltosCValue implements AltosJsonable { +	class AltosCValue { -		class AltosIValue extends AltosValue implements AltosJsonable { +		class AltosIValue extends AltosValue {  			boolean can_max() {  				return c_can_max();  			} @@ -223,10 +195,6 @@ public class AltosState implements Cloneable, AltosJsonable {  			AltosIValue() {  				super();  			} - -			AltosIValue(AltosJson j) { -				super(j); -			}  		};  		public AltosIValue	measured; @@ -319,25 +287,6 @@ public class AltosState implements Cloneable, AltosJsonable {  			measured = new AltosIValue();  			computed = new AltosIValue();  		} - -		public AltosJson json() { -			AltosJson	j = new AltosJson(); - -			j.put("measured", measured.json()); -			j.put("computed", computed.json()); -			return j; -		} - -		AltosCValue(AltosJson j) { -			measured = new AltosIValue(j.get("measured")); -			computed = new AltosIValue(j.get("computed")); -		} -	} - -	AltosCValue AltosCValue_fromJson(AltosJson j, AltosCValue def) { -		if (j == null) -			return def; -		return new AltosCValue(j);  	}  	private int	state; @@ -389,15 +338,6 @@ public class AltosState implements Cloneable, AltosJsonable {  		AltosGpsGroundAltitude() {  			super();  		} - -		AltosGpsGroundAltitude (AltosJson j) { -			super(j); -		} -	} - -	AltosGpsGroundAltitude AltosGpsGroundAltitude_fromJson(AltosJson j, AltosGpsGroundAltitude def) { -		if (j == null) return def; -		return new AltosGpsGroundAltitude(j);  	}  	private AltosGpsGroundAltitude gps_ground_altitude; @@ -425,15 +365,6 @@ public class AltosState implements Cloneable, AltosJsonable {  		AltosGroundPressure () {  			super();  		} - -		AltosGroundPressure (AltosJson j) { -			super(j); -		} -	} - -	AltosGroundPressure AltosGroundPressure_fromJson(AltosJson j, AltosGroundPressure def) { -		if (j == null) return def; -		return new AltosGroundPressure(j);  	}  	private AltosGroundPressure ground_pressure; @@ -468,15 +399,6 @@ public class AltosState implements Cloneable, AltosJsonable {  		AltosAltitude() {  			super();  		} - -		AltosAltitude (AltosJson j) { -			super(j); -		} -	} - -	AltosAltitude AltosAltitude_fromJson(AltosJson j, AltosAltitude def) { -		if (j == null) return def; -		return new AltosAltitude(j);  	}  	private AltosAltitude	altitude; @@ -501,15 +423,6 @@ public class AltosState implements Cloneable, AltosJsonable {  		AltosGpsAltitude() {  			super();  		} - -		AltosGpsAltitude (AltosJson j) { -			super(j); -		} -	} - -	AltosGpsAltitude AltosGpsAltitude_fromJson(AltosJson j, AltosGpsAltitude def) { -		if (j == null) return def; -		return new AltosGpsAltitude(j);  	}  	private AltosGpsAltitude	gps_altitude; @@ -589,15 +502,6 @@ public class AltosState implements Cloneable, AltosJsonable {  		AltosPressure() {  			super();  		} - -		AltosPressure (AltosJson j) { -			super(j); -		} -	} - -	AltosPressure AltosPressure_fromJson(AltosJson j, AltosPressure def) { -		if (j == null) return def; -		return new AltosPressure(j);  	}  	private AltosPressure	pressure; @@ -688,15 +592,6 @@ public class AltosState implements Cloneable, AltosJsonable {  		AltosSpeed() {  			super();  		} - -		AltosSpeed (AltosJson j) { -			super(j); -		} -	} - -	AltosSpeed AltosSpeed_fromJson(AltosJson j, AltosSpeed def) { -		if (j == null) return def; -		return new AltosSpeed(j);  	}  	private AltosSpeed speed; @@ -742,15 +637,6 @@ public class AltosState implements Cloneable, AltosJsonable {  		AltosAccel() {  			super();  		} - -		AltosAccel (AltosJson j) { -			super(j); -		} -	} - -	AltosAccel AltosAccel_fromJson(AltosJson j, AltosAccel def) { -		if (j == null) return def; -		return new AltosAccel(j);  	}  	AltosAccel acceleration; @@ -1668,222 +1554,4 @@ public class AltosState implements Cloneable, AltosJsonable {  	public AltosState () {  		init();  	} - -	public AltosJson json() { -		AltosJson	j = new AltosJson(); - -		j.put("valid", true); -		j.put("set", set); -		j.put("received_time", received_time); -		j.put("time", time); -		j.put("prev_time", prev_time); -		j.put("time_change", time_change); -		j.put("tick", tick); -		j.put("prev_tick", prev_tick); -		j.put("boost_tick", boost_tick); -		j.put("state", state); -		j.put("flight", flight); -		j.put("serial", serial); -		j.put("altitude_32", altitude_32); -		j.put("receiver_serial", receiver_serial); -		j.put("landed", landed); -		j.put("ascent", ascent); -		j.put("boost", boost); -		j.put("rssi", rssi); -		j.put("status", status); -		j.put("device_type", device_type); -		j.put("config_major", config_major); -		j.put("config_minor", config_minor); -		j.put("apogee_delay", apogee_delay); -		j.put("main_deploy", main_deploy); -		j.put("flight_log_max", flight_log_max); -		j.put("ground_altitude", ground_altitude); -		j.put("gps_ground_altitude", gps_ground_altitude); -		j.put("ground_pressure", ground_pressure); -		j.put("altitude", altitude); -		j.put("gps_altitude", gps_altitude); -		j.put("gps_ground_speed", gps_ground_speed); -		j.put("gps_ascent_rate", gps_ascent_rate); -		j.put("gps_course", gps_course); -		j.put("gps_speed", gps_speed); -		j.put("pressure", pressure); -		j.put("speed", speed); -		j.put("acceleration", acceleration); -		j.put("orient", orient); -		j.put("kalman_height", kalman_height); -		j.put("kalman_speed", kalman_speed); -		j.put("kalman_acceleration", kalman_acceleration); - -		j.put("battery_voltage",battery_voltage); -		j.put("pyro_voltage",pyro_voltage); -		j.put("temperature",temperature); -		j.put("apogee_voltage",apogee_voltage); -		j.put("main_voltage",main_voltage); -		j.put("ignitor_voltage",ignitor_voltage); -		j.put("gps", gps); -		j.put("temp_gps", temp_gps); -		j.put("temp_gps_sat_tick", temp_gps_sat_tick); -		j.put("gps_pending", gps_pending); -		j.put("gps_sequence", gps_sequence); -		j.put("imu", imu); -		j.put("mag", mag); - -		j.put("npad", npad); -		j.put("gps_waiting", gps_waiting); -		j.put("gps_ready", gps_ready); -		j.put("ngps", ngps); -		j.put("from_pad", from_pad); -		j.put("elevation", elevation); -		j.put("range", range); -		j.put("gps_height", gps_height); -		j.put("pad_lat", pad_lat); -		j.put("pad_lon", pad_lon); -		j.put("pad_alt", pad_alt); -		j.put("speak_tick", speak_tick); -		j.put("speak_altitude", speak_altitude); -		j.put("callsign", callsign); -		j.put("firmware_version", firmware_version); -		j.put("accel_plus_g", accel_plus_g); -		j.put("accel_minus_g", accel_minus_g); -		j.put("accel", accel); -		j.put("ground_accel", ground_accel); -		j.put("ground_accel_avg", ground_accel_avg); -		j.put("log_format", log_format); -		j.put("log_space", log_space); -		j.put("product", product); -		j.put("baro", baro); -		j.put("companion", companion); -		j.put("pyro_fired", pyro_fired); -		j.put("accel_zero_along", accel_zero_along); -		j.put("accel_zero_across", accel_zero_across); -		j.put("accel_zero_through", accel_zero_through); - -		j.put("rotation", rotation); -		j.put("ground_rotation", ground_rotation); - -		j.put("pad_orientation", pad_orientation); - -		j.put("accel_ground_along", accel_ground_along); -		j.put("accel_ground_across", accel_ground_across); -		j.put("accel_ground_through", accel_ground_through); - -		j.put("gyro_zero_roll", gyro_zero_roll); -		j.put("gyro_zero_pitch", gyro_zero_pitch); -		j.put("gyro_zero_yaw", gyro_zero_yaw); - -		j.put("last_imu_time", last_imu_time); -		return j; -	} - -	public AltosState(AltosJson j) { -		this(); - -		set = j.get_int("set", set); -		received_time = j.get_long("received_time", received_time); -		time = j.get_double("time", time); -		prev_time = j.get_double("prev_time", prev_time); -		time_change = j.get_double("time_change", time_change); -		tick = j.get_int("tick", tick); -		prev_tick = j.get_int("prev_tick", prev_tick); -		boost_tick = j.get_int("boost_tick", boost_tick); -		state = j.get_int("state", state); -		flight = j.get_int("flight", flight); -		serial = j.get_int("serial", serial); -		altitude_32 = j.get_int("altitude_32", altitude_32); -		receiver_serial = j.get_int("receiver_serial", receiver_serial); -		landed = j.get_boolean("landed", landed); -		ascent = j.get_boolean("ascent", ascent); -		boost = j.get_boolean("boost", boost); -		rssi = j.get_int("rssi", rssi); -		status = j.get_int("status", status); -		device_type = j.get_int("device_type", device_type); -		config_major = j.get_int("config_major", config_major); -		config_minor = j.get_int("config_minor", config_minor); -		apogee_delay = j.get_int("apogee_delay", apogee_delay); -		main_deploy = j.get_int("main_deploy", main_deploy); -		flight_log_max = j.get_int("flight_log_max", flight_log_max); -		ground_altitude = AltosCValue_fromJson(j.get("ground_altitude"), ground_altitude); -		gps_ground_altitude = AltosGpsGroundAltitude_fromJson(j.get("gps_ground_altitude"), gps_ground_altitude); -		ground_pressure = AltosGroundPressure_fromJson(j.get("ground_pressure"), ground_pressure); -		altitude = AltosAltitude_fromJson(j.get("altitude"), altitude); -		gps_altitude = AltosGpsAltitude_fromJson(j.get("gps_altitude"), gps_altitude); -		gps_ground_speed = AltosValue_fromJson(j.get("gps_ground_speed"), gps_ground_speed); -		gps_ascent_rate = AltosValue_fromJson(j.get("gps_ascent_rate"), gps_ascent_rate); -		gps_course = AltosValue_fromJson(j.get("gps_course"), gps_course); -		gps_speed = AltosValue_fromJson(j.get("gps_speed"), gps_speed); -		pressure = AltosPressure_fromJson(j.get("pressure"), pressure); -		speed = AltosSpeed_fromJson(j.get("speed"), speed); -		acceleration = AltosAccel_fromJson(j.get("acceleration"), acceleration); -		orient = AltosCValue_fromJson(j.get("orient"), orient); -		kalman_height = AltosValue_fromJson(j.get("kalman_height"), kalman_height); -		kalman_speed = AltosValue_fromJson(j.get("kalman_speed"), kalman_speed); -		kalman_acceleration = AltosValue_fromJson(j.get("kalman_acceleration"), kalman_acceleration); - -		battery_voltage = j.get_double("battery_voltage", battery_voltage); -		pyro_voltage = j.get_double("pyro_voltage", pyro_voltage); -		temperature = j.get_double("temperature", temperature); -		apogee_voltage = j.get_double("apogee_voltage", apogee_voltage); -		main_voltage=  j.get_double("main_voltage", main_voltage); -		ignitor_voltage = j.get_double_array("ignitor_voltage", ignitor_voltage); -		gps = AltosGPS.fromJson(j.get("gps"), gps); -		temp_gps = AltosGPS.fromJson(j.get("temp_gps"), temp_gps); -		temp_gps_sat_tick = j.get_int("temp_gps_sat_tick", temp_gps_sat_tick); -		gps_pending = j.get_boolean("gps_pending", gps_pending); -		gps_sequence = j.get_int("gps_sequence", gps_sequence); -		imu = AltosIMU.fromJson(j.get("imu"), imu); -		mag = AltosMag.fromJson(j.get("mag"), mag); - -		npad = j.get_int("npad", npad); -		gps_waiting = j.get_int("gps_waiting", gps_waiting); -		gps_ready = j.get_boolean("gps_ready", gps_ready); -		ngps = j.get_int("ngps", ngps); -		from_pad = AltosGreatCircle.fromJson(j.get("from_pad"), from_pad); -		elevation = j.get_double("elevation", elevation); -		range = j.get_double("range", range); -		gps_height = j.get_double("gps_height", gps_height); -		pad_lat = j.get_double("pad_lat", pad_lat); -		pad_lon = j.get_double("pad_lon", pad_lon); -		pad_alt = j.get_double("pad_alt", pad_alt); -		speak_tick = j.get_int("speak_tick", speak_tick); -		speak_altitude = j.get_double("speak_altitude", speak_altitude); -		callsign = j.get_string("callsign", callsign); -		firmware_version = j.get_string("firmware_version", firmware_version); -		accel_plus_g = j.get_double("accel_plus_g", accel_plus_g); -		accel_minus_g = j.get_double("accel_minus_g", accel_minus_g); -		accel = j.get_double("accel", accel); -		ground_accel = j.get_double("ground_accel", ground_accel); -		ground_accel_avg = j.get_double("ground_accel_avg", ground_accel_avg); -		log_format = j.get_int("log_format", log_format); -		log_space = j.get_int("log_space", log_space); -		product = j.get_string("product", product); -		baro = AltosMs5607.fromJson(j.get("baro"), baro); -		companion = AltosCompanion.fromJson(j.get("companion"), companion); -		pyro_fired = j.get_int("pyro_fired", pyro_fired); -		accel_zero_along = j.get_double("accel_zero_along", accel_zero_along); -		accel_zero_across = j.get_double("accel_zero_across", accel_zero_across); -		accel_zero_through = j.get_double("accel_zero_through", accel_zero_through); - -		rotation = AltosRotation.fromJson(j.get("rotation"), rotation); -		ground_rotation = AltosRotation.fromJson(j.get("ground_rotation"), ground_rotation); - -		pad_orientation = j.get_int("pad_orientation", pad_orientation); - -		accel_ground_along = j.get_double("accel_ground_along", accel_ground_along); -		accel_ground_across = j.get_double("accel_ground_across", accel_ground_across); -		accel_ground_through = j.get_double("accel_ground_through", accel_ground_through); - -		gyro_zero_roll = j.get_double("gyro_zero_roll", gyro_zero_roll); -		gyro_zero_pitch = j.get_double("gyro_zero_pitch", gyro_zero_pitch); -		gyro_zero_yaw = j.get_double("gyro_zero_yaw", gyro_zero_yaw); - -		last_imu_time = j.get_double("last_imu_time", last_imu_time); -	} - -	public static AltosState fromJson(AltosJson j) { -		if (j == null) -			return null; -		if (!j.get_boolean("valid", false)) -			return null; -		return new AltosState(j); -	}  } diff --git a/altoslib/Makefile.am b/altoslib/Makefile.am index 912976f9..2a9eb9c9 100644 --- a/altoslib/Makefile.am +++ b/altoslib/Makefile.am @@ -162,7 +162,6 @@ altoslib_JAVA = \  	AltosMapLoader.java \  	AltosMapTypeListener.java \  	AltosJson.java \ -	AltosJsonable.java \  	AltosVersion.java  JAR=altoslib_$(ALTOSLIB_VERSION).jar | 
