package org.altusmetrum.AltosLib;
-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_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_telemetry_0_8 = 3;
public static final int ao_telemetry_max = 3;
- public static final String[] ao_telemetry_name = {
+ private static final String[] ao_telemetry_name = {
"Off", "Standard Telemetry", "TeleMetrum v0.9", "TeleMetrum v0.8"
};
public static final int ao_telemetry_0_9_len = 95;
public static final int ao_telemetry_0_8_len = 94;
- public static final int[] ao_telemetry_len = {
+ private static final int[] ao_telemetry_len = {
0, 32, 95, 94
};
- public static HashMap<String,Integer> string_to_state = new HashMap<String,Integer>();
+ private static HashMap<String,Integer> string_to_state = new HashMap<String,Integer>();
- public static boolean map_initialized = false;
+ private static boolean map_initialized = false;
public static void initialize_map()
{
telemetry));
}
- public static String[] state_to_string = {
+ private static String[] state_to_string = {
"startup",
"idle",
"pad",
"invalid",
};
- public static String[] state_to_string_capital = {
+ private static String[] state_to_string_capital = {
"Startup",
"Idle",
"Pad",
return state_to_string[state];
}
+ public static String state_name_capital(int state) {
+ if (state < 0 || state_to_string.length <= state)
+ return "Invalid";
+ return state_to_string_capital[state];
+ }
+
public static final int AO_GPS_VALID = (1 << 4);
public static final int AO_GPS_RUNNING = (1 << 5);
public static final int AO_GPS_DATE_VALID = (1 << 6);
(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)