diff options
Diffstat (limited to 'altoslib/AltosEepromChunk.java')
| -rw-r--r-- | altoslib/AltosEepromChunk.java | 30 | 
1 files changed, 29 insertions, 1 deletions
diff --git a/altoslib/AltosEepromChunk.java b/altoslib/AltosEepromChunk.java index b1bba3bb..c03fa931 100644 --- a/altoslib/AltosEepromChunk.java +++ b/altoslib/AltosEepromChunk.java @@ -15,7 +15,7 @@   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.   */ -package org.altusmetrum.altoslib_1; +package org.altusmetrum.altoslib_2;  import java.text.*;  import java.util.concurrent.*; @@ -62,6 +62,34 @@ public class AltosEepromChunk {  		return true;  	} +	public AltosEeprom eeprom(int offset, int log_format, AltosState state) throws ParseException { +		AltosEeprom	eeprom = null; +		switch (log_format) { +		case AltosLib.AO_LOG_FORMAT_FULL: +			eeprom = new AltosEepromTM(this, offset); +			break; +		case AltosLib.AO_LOG_FORMAT_TINY: +			eeprom = new AltosEepromTm(this, offset, state); +			break; +		case AltosLib.AO_LOG_FORMAT_TELEMETRY: +		case AltosLib.AO_LOG_FORMAT_TELESCIENCE: +			break; +		case AltosLib.AO_LOG_FORMAT_TELEMEGA: +			eeprom = new AltosEepromMega(this, offset); +			break; +		case AltosLib.AO_LOG_FORMAT_TELEMETRUM: +			eeprom = new AltosEepromMetrum2(this, offset); +			break; +		case AltosLib.AO_LOG_FORMAT_TELEMINI: +		case AltosLib.AO_LOG_FORMAT_EASYMINI: +			eeprom = new AltosEepromMini(this, offset); +			break; +		default: +			throw new ParseException("unknown eeprom format " + log_format, 0); +		} +		return eeprom; +	} +  	public AltosEepromChunk(AltosLink link, int block, boolean flush)  		throws TimeoutException, InterruptedException {  | 
