X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosEepromChunk.java;h=4d12f564057bc92e35ed21ec712269e6bb18f55c;hp=6d889723c4f29240a87056be1d152aab4d470a2b;hb=17e894d1b65231d07df009bc4e8ca92864ccf790;hpb=69e6df07976a56b49e07c242cd6e5b2cbd2a578d diff --git a/altoslib/AltosEepromChunk.java b/altoslib/AltosEepromChunk.java index 6d889723..4d12f564 100644 --- a/altoslib/AltosEepromChunk.java +++ b/altoslib/AltosEepromChunk.java @@ -15,10 +15,8 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.AltosLib; +package org.altusmetrum.altoslib_5; -import java.io.*; -import java.util.*; import java.text.*; import java.util.concurrent.*; @@ -64,6 +62,37 @@ 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; + case AltosLib.AO_LOG_FORMAT_TELEGPS: + eeprom = new AltosEepromGPS(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 { @@ -99,4 +128,4 @@ public class AltosEepromChunk { } } } -} \ No newline at end of file +}