altoslib: Clean up GPS DOP support in AltosState
[fw/altos] / altoslib / AltosLib.java
index ec32fffc3fcb6b8a8b07269eaced0db4e406a139..eb188d6b5a7c3be8b2585bacf1853dfc5a852951 100644 (file)
@@ -161,6 +161,15 @@ public class AltosLib {
                "Off", "Standard Telemetry", "TeleMetrum v0.9", "TeleMetrum v0.8"
        };
 
+       public static final int ao_telemetry_rate_38400 = 0;
+       public static final int ao_telemetry_rate_9600 = 1;
+       public static final int ao_telemetry_rate_2400 = 2;
+       public static final int ao_telemetry_rate_max = 2;
+
+       public static final Integer[] ao_telemetry_rate_values = {
+               38400, 9600, 2400
+       };
+
        public static final String launch_sites_url = "http://www.altusmetrum.org/AltOS/launch-sites.txt";
 
        public static final int ao_telemetry_standard_len = 32;
@@ -206,6 +215,31 @@ public class AltosLib {
                                                                 telemetry));
        }
 
+       private static int[] split_version(String version) {
+               String[] tokens = version.split("\\.");
+               int[] ret = new int[tokens.length];
+               for (int i = 0; i < tokens.length; i++)
+                       ret[i] = Integer.parseInt(tokens[i]);
+               return ret;
+       }
+
+       public static int compare_version(String version_a, String version_b) {
+               int[] a = split_version(version_a);
+               int[] b = split_version(version_b);
+
+               for (int i = 0; i < Math.min(a.length, b.length); i++) {
+                       if (a[i] < b[i])
+                               return -1;
+                       if (a[i] > b[i])
+                               return 1;
+               }
+               if (a.length < b.length)
+                       return -1;
+               if (a.length > b.length)
+                       return 1;
+               return 0;
+       }
+
        private static String[] state_to_string = {
                "startup",
                "idle",