diff options
Diffstat (limited to 'altosui/AltosEepromIterable.java')
| -rw-r--r-- | altosui/AltosEepromIterable.java | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/altosui/AltosEepromIterable.java b/altosui/AltosEepromIterable.java index a7fd742f..624e1dd3 100644 --- a/altosui/AltosEepromIterable.java +++ b/altosui/AltosEepromIterable.java @@ -57,6 +57,11 @@ class AltosOrderedRecord extends AltosEepromRecord implements Comparable<AltosOr  		index = in_index;  	} +	public String toString() { +		return String.format("%d.%d %04x %04x %04x", +				     cmd, index, tick, a, b); +	} +  	public int compareTo(AltosOrderedRecord o) {  		int	tick_diff = tick - o.tick;  		if (tick_diff != 0) @@ -75,7 +80,11 @@ public class AltosEepromIterable extends AltosRecordIterable {  	static final int	seen_gps_lat = 32;  	static final int	seen_gps_lon = 64; -	static final int	seen_basic = seen_flight|seen_sensor|seen_temp_volt|seen_deploy; +	static final int	seen_basic = seen_flight|seen_sensor; + +	boolean			has_accel; +	boolean			has_gps; +	boolean			has_ignite;  	AltosEepromRecord	flight_record;  	AltosEepromRecord	gps_date_record; @@ -123,9 +132,10 @@ public class AltosEepromIterable extends AltosRecordIterable {  				state.flight_vel += (state.accel_plus_g - state.accel);  			}  			eeprom.seen |= seen_sensor; +			has_accel = true;  			break;  		case Altos.AO_LOG_HEIGHT: -			state.height = record.a; +			state.height = (short) record.a;  			eeprom.seen |= seen_sensor;  			break;  		case Altos.AO_LOG_TEMP_VOLT: @@ -137,6 +147,7 @@ public class AltosEepromIterable extends AltosRecordIterable {  			state.drogue = record.a;  			state.main = record.b;  			eeprom.seen |= seen_deploy; +			has_ignite = true;  			break;  		case Altos.AO_LOG_STATE:  			state.state = record.a; @@ -161,6 +172,7 @@ public class AltosEepromIterable extends AltosRecordIterable {  			state.gps.locked = (flags & Altos.AO_GPS_VALID) != 0;  			state.gps.nsat = (flags & Altos.AO_GPS_NUM_SAT_MASK) >>  				Altos.AO_GPS_NUM_SAT_SHIFT; +			has_gps = true;  			break;  		case Altos.AO_LOG_GPS_LAT:  			int lat32 = record.a | (record.b << 16); @@ -254,6 +266,10 @@ public class AltosEepromIterable extends AltosRecordIterable {  		return list.iterator();  	} +	public boolean has_gps() { return has_gps; } +	public boolean has_accel() { return has_accel; } +	public boolean has_ignite() { return has_ignite; } +  	public void write_comments(PrintStream out) {  		Iterator<AltosOrderedRecord>	iterator = records.iterator();  		out.printf("# Comments\n"); | 
