* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.AltosLib;
+package org.altusmetrum.altoslib_1;
-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_SERIAL_NUMBER = 2002;
public static final int AO_LOG_LOG_FORMAT = 2003;
- /* Added for header fields in megametrum files */
+ /* Added for header fields in telemega 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_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_telemega = 0x0023;
+ public final static int product_megadongle = 0x0024;
+ public final static int product_telegps = 0x0025;
+ public final static int product_altusmetrum_min = 0x000a;
+ public final static int product_altusmetrum_max = 0x0025;
+
+ 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);
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_TELEMEGA = 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)
input = input.substring(0,dot);
return input.concat(extension);
}
+
+ public static File replace_extension(File input, String extension) {
+ return new File(replace_extension(input.getPath(), extension));
+ }
}