import libaltosJNI.*;
-public class Altos {
- /* EEProm command letters */
- static final int AO_LOG_FLIGHT = 'F';
- static final int AO_LOG_SENSOR = 'A';
- static final int AO_LOG_TEMP_VOLT = 'T';
- static final int AO_LOG_DEPLOY = 'D';
- static final int AO_LOG_STATE = 'S';
- static final int AO_LOG_GPS_TIME = 'G';
- static final int AO_LOG_GPS_LAT = 'N';
- static final int AO_LOG_GPS_LON = 'W';
- static final int AO_LOG_GPS_ALT = 'H';
- static final int AO_LOG_GPS_SAT = 'V';
- static final int AO_LOG_GPS_DATE = 'Y';
- static final int AO_LOG_PRESSURE = 'P';
+import org.altusmetrum.AltosLib.*;
+
+public class Altos extends AltosLib {
/* Added for header fields in eeprom files */
static final int AO_LOG_CONFIG_VERSION = 1000;
static final int AO_LOG_PRODUCT = 2001;
static final int AO_LOG_SERIAL_NUMBER = 2002;
static final int AO_LOG_LOG_FORMAT = 2003;
+
+ /* Added for header fields in megametrum files */
+ static final int AO_LOG_BARO_RESERVED = 3000;
+ static final int AO_LOG_BARO_SENS = 3001;
+ static final int AO_LOG_BARO_OFF = 3002;
+ static final int AO_LOG_BARO_TCS = 3004;
+ static final int AO_LOG_BARO_TCO = 3005;
+ static final int AO_LOG_BARO_TREF = 3006;
+ static final int AO_LOG_BARO_TEMPSENS = 3007;
+ static final int AO_LOG_BARO_CRC = 3008;
+
static final int AO_LOG_SOFTWARE_VERSION = 9999;
/* Added to flag invalid records */
static boolean map_initialized = false;
static final int tab_elt_pad = 5;
-
- static final Font label_font = new Font("Dialog", Font.PLAIN, 22);
- static final Font value_font = new Font("Monospaced", Font.PLAIN, 22);
- static final Font status_font = new Font("SansSerif", Font.BOLD, 24);
+ static Font label_font;
+ static Font value_font;
+ static Font status_font;
+ static Font table_label_font;
+ static Font table_value_font;
+
+ final static int font_size_small = 1;
+ final static int font_size_medium = 2;
+ final static int font_size_large = 3;
+
+ static void set_fonts(int size) {
+ int brief_size;
+ int table_size;
+ int status_size;
+
+ switch (size) {
+ case font_size_small:
+ brief_size = 16;
+ status_size = 18;
+ table_size = 11;
+ break;
+ default:
+ case font_size_medium:
+ brief_size = 22;
+ status_size = 24;
+ table_size = 14;
+ break;
+ case font_size_large:
+ brief_size = 26;
+ status_size = 30;
+ table_size = 17;
+ break;
+ }
+ label_font = new Font("Dialog", Font.PLAIN, brief_size);
+ value_font = new Font("Monospaced", Font.PLAIN, brief_size);
+ status_font = new Font("SansSerif", Font.BOLD, status_size);
+ table_label_font = new Font("SansSerif", Font.PLAIN, table_size);
+ table_value_font = new Font("Monospaced", Font.PLAIN, table_size);
+ }
static final int text_width = 20;
string_to_state.put("fast", ao_flight_fast);
string_to_state.put("coast", ao_flight_coast);
string_to_state.put("drogue", ao_flight_drogue);
+ string_to_state.put("apogee", ao_flight_coast);
string_to_state.put("main", ao_flight_main);
string_to_state.put("landed", ao_flight_landed);
string_to_state.put("invalid", ao_flight_invalid);
static final int AO_LOG_FORMAT_TINY = 2;
static final int AO_LOG_FORMAT_TELEMETRY = 3;
static final int AO_LOG_FORMAT_TELESCIENCE = 4;
+ static final int AO_LOG_FORMAT_MEGAMETRUM = 5;
static final int AO_LOG_FORMAT_NONE = 127;
static boolean isspace(int c) {
libaltos.altos_init();
loaded_library = true;
} catch (UnsatisfiedLinkError e) {
- loaded_library = false;
+ try {
+ System.loadLibrary("altos64");
+ libaltos.altos_init();
+ loaded_library = true;
+ } catch (UnsatisfiedLinkError e2) {
+ loaded_library = false;
+ }
}
initialized = true;
}
public final static String bt_product_telebt = bt_product_telebt();
-// public static AltosBTKnown bt_known = new AltosBTKnown();
+ public static AltosBTKnown bt_known = new AltosBTKnown();
}