import java.awt.*;
import java.util.*;
import java.text.*;
+import java.io.*;
import java.nio.charset.Charset;
public class AltosLib {
public static final int AO_LOG_PRODUCT = 2001;
public static final int AO_LOG_SERIAL_NUMBER = 2002;
public static final int AO_LOG_LOG_FORMAT = 2003;
+
+ /* Added for header fields in megametrum files */
+ public static final int AO_LOG_BARO_RESERVED = 3000;
+ public static final int AO_LOG_BARO_SENS = 3001;
+ public static final int AO_LOG_BARO_OFF = 3002;
+ public static final int AO_LOG_BARO_TCS = 3004;
+ public static final int AO_LOG_BARO_TCO = 3005;
+ public static final int AO_LOG_BARO_TREF = 3006;
+ public static final int AO_LOG_BARO_TEMPSENS = 3007;
+ public static final int AO_LOG_BARO_CRC = 3008;
+
public static final int AO_LOG_SOFTWARE_VERSION = 9999;
/* Added to flag invalid records */
public static final int ao_flight_landed = 8;
public static final int ao_flight_invalid = 9;
+ /* USB product IDs */
+ public final static int vendor_altusmetrum = 0xfffe;
+
+ public final static int product_altusmetrum = 0x000a;
+ public final static int product_telemetrum = 0x000b;
+ public final static int product_teledongle = 0x000c;
+ public final static int product_teleterra = 0x000d;
+ public final static int product_telebt = 0x000e;
+ public final static int product_telelaunch = 0x000f;
+ public final static int product_telelco = 0x0010;
+ public final static int product_telescience = 0x0011;
+ public final static int product_telepyro =0x0012;
+ public final static int product_megametrum = 0x0023;
+ public final static int product_megadongle = 0x0024;
+ public final static int product_altusmetrum_min = 0x000a;
+ public final static int product_altusmetrum_max = 0x0024;
+
+ public final static int product_any = 0x10000;
+ public final static int product_basestation = 0x10000 + 1;
+ public final static int product_altimeter = 0x10000 + 2;
+
+ /* Bluetooth "identifier" (bluetooth sucks) */
+ public final static String bt_product_telebt = "TeleBT";
+
/* Telemetry modes */
public static final int ao_telemetry_off = 0;
public static final int ao_telemetry_min = 1;
public static final int AO_LOG_FORMAT_TINY = 2;
public static final int AO_LOG_FORMAT_TELEMETRY = 3;
public static final int AO_LOG_FORMAT_TELESCIENCE = 4;
+ public static final int AO_LOG_FORMAT_MEGAMETRUM = 5;
public static final int AO_LOG_FORMAT_NONE = 127;
public static boolean isspace(int c) {
(bytes[i+3] << 24);
}
+ public static int int32(int[] bytes, int i) {
+ return (int) uint32(bytes, i);
+ }
+
public static final Charset unicode_set = Charset.forName("UTF-8");
public static String string(int[] bytes, int s, int l) {
return v * sign;
}
+ public static String gets(FileInputStream s) throws IOException {
+ int c;
+ String line = "";
+
+ while ((c = s.read()) != -1) {
+ if (c == '\r')
+ continue;
+ if (c == '\n') {
+ return line;
+ }
+ line = line + (char) c;
+ }
+ return null;
+ }
+
public static String replace_extension(String input, String extension) {
int dot = input.lastIndexOf(".");
if (dot > 0)