X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=micropeak%2FMicroData.java;h=6c9447aa6d9ee79cf2ae24ec2e530050a282031d;hp=26e3c07dc41851e75efd886a6ac900655633cab8;hb=c8078d352a7f54a4a97d25af080155d3f875536a;hpb=ab9caa22ea905844a99e08b5f6d3b072f094283e diff --git a/micropeak/MicroData.java b/micropeak/MicroData.java index 26e3c07d..6c9447aa 100644 --- a/micropeak/MicroData.java +++ b/micropeak/MicroData.java @@ -20,8 +20,8 @@ package org.altusmetrum.micropeak; import java.lang.*; import java.io.*; import java.util.*; -import org.altusmetrum.altoslib_1.*; -import org.altusmetrum.altosuilib_1.*; +import org.altusmetrum.altoslib_5.*; +import org.altusmetrum.altosuilib_3.*; class MicroIterator implements Iterator { int i; @@ -98,14 +98,15 @@ public class MicroData implements AltosUIDataSet { private double ground_altitude; private ArrayList bytes; String name; + MicroStats stats; - class FileEndedException extends Exception { + public class FileEndedException extends Exception { } - class NonHexcharException extends Exception { + public class NonHexcharException extends Exception { } - class InvalidCrcException extends Exception { + public class InvalidCrcException extends Exception { } private int getc(InputStream f) throws IOException, FileEndedException { @@ -166,14 +167,10 @@ public class MicroData implements AltosUIDataSet { return h; } - private boolean find_header(InputStream f) throws IOException { - try { - for (;;) { - if (get_nonwhite(f) == 'M' && get_nonwhite(f) == 'P') - return true; - } - } catch (FileEndedException fe) { - return false; + private boolean find_header(InputStream f) throws IOException, FileEndedException { + for (;;) { + if (get_nonwhite(f) == 'M' && get_nonwhite(f) == 'P') + return true; } } @@ -338,7 +335,7 @@ public class MicroData implements AltosUIDataSet { this.name = name; } - public MicroData (InputStream f, String name) throws IOException, InterruptedException { + public MicroData (InputStream f, String name) throws IOException, InterruptedException, NonHexcharException, FileEndedException { this.name = name; bytes = new ArrayList(); if (!find_header(f)) @@ -380,10 +377,9 @@ public class MicroData implements AltosUIDataSet { 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) { - throw new IOException("Non hexadecimal character found"); } }