diff options
Diffstat (limited to 'micropeak/MicroData.java')
| -rw-r--r-- | micropeak/MicroData.java | 49 | 
1 files changed, 46 insertions, 3 deletions
| diff --git a/micropeak/MicroData.java b/micropeak/MicroData.java index 71919ddb..4c0ed4c3 100644 --- a/micropeak/MicroData.java +++ b/micropeak/MicroData.java @@ -20,7 +20,8 @@ package org.altusmetrum.micropeak;  import java.lang.*;  import java.io.*;  import java.util.*; -import org.altusmetrum.AltosLib.*; +import org.altusmetrum.altoslib_1.*; +import org.altusmetrum.altosuilib_1.*;  class MicroIterator implements Iterator<MicroDataPoint> {  	int		i; @@ -56,7 +57,40 @@ class MicroIterable implements Iterable<MicroDataPoint> {  	}  } -public class MicroData { +class MicroUIIterator implements Iterator<AltosUIDataPoint> { +	int		i; +	MicroData	data; + +	public boolean hasNext() { +		return i < data.pressures.length; +	} + +	public AltosUIDataPoint next() { +		return new MicroDataPoint(data, i++); +	} + +	public MicroUIIterator (MicroData data) { +		this.data = data; +		i = 0; +	} + +	public void remove() { +	} +} + +class MicroUIIterable implements Iterable<AltosUIDataPoint> { +	MicroData	data; + +	public Iterator<AltosUIDataPoint> iterator() { +		return new MicroUIIterator(data); +	} + +	public MicroUIIterable(MicroData data) { +		this.data = data; +	} +} + +public class MicroData implements AltosUIDataSet {  	public int		ground_pressure;  	public int		min_pressure;  	public int[]		pressures; @@ -64,8 +98,8 @@ public class MicroData {  	private double		ground_altitude;  	private ArrayList<Integer>	bytes;  	String			name; +	MicroStats		stats; -  	class FileEndedException extends Exception {  	} @@ -178,6 +212,14 @@ public class MicroData {  		return AltosConvert.pressure_to_altitude(pressures[i]);  	} +	public String name() { +		return name; +	} + +	public Iterable<AltosUIDataPoint> dataPoints() { +		return new MicroUIIterable(this); +	} +  	public Iterable<MicroDataPoint> points() {  		return new MicroIterable(this);  	} @@ -339,6 +381,7 @@ public class MicroData {  			crc_valid = crc == current_crc;  			time_step = 0.192; +			stats = new MicroStats(this);  		} catch (FileEndedException fe) {  			throw new IOException("File Ended Unexpectedly");  		} catch (NonHexcharException ne) { | 
