Merge remote-tracking branch 'mjb/altoslib_mjb'
[fw/altos] / altoslib / AltosLib.java
index 4a779c551731e59bd5224b86497fb9be5dcc1733..192c445e0c42dabe2b9e3c42a209fe8843e9269c 100644 (file)
@@ -17,9 +17,8 @@
 
 package org.altusmetrum.AltosLib;
 
-import java.awt.*;
 import java.util.*;
-import java.text.*;
+import java.io.*;
 import java.nio.charset.Charset;
 
 public class AltosLib {
@@ -110,7 +109,7 @@ public class AltosLib {
        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"
        };
 
@@ -120,13 +119,13 @@ public class AltosLib {
        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()
        {
@@ -158,7 +157,7 @@ public class AltosLib {
                                                                 telemetry));
        }
        
-       public static String[] state_to_string = {
+       private static String[] state_to_string = {
                "startup",
                "idle",
                "pad",
@@ -171,7 +170,7 @@ public class AltosLib {
                "invalid",
        };
 
-       public static String[] state_to_string_capital = {
+       private static String[] state_to_string_capital = {
                "Startup",
                "Idle",
                "Pad",
@@ -198,6 +197,12 @@ public class AltosLib {
                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);
@@ -304,6 +309,10 @@ public class AltosLib {
                        (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) {
@@ -375,6 +384,21 @@ public class AltosLib {
                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)