altoslib: Add AltosForce and AltosPressure units
[fw/altos] / altoslib / AltosConvert.java
index 8617a12cea7a5def8d7062cde0f3aea11e4561d6..3489a609fc9eac2156b9c586ee23af0660a09512 100644 (file)
@@ -21,6 +21,8 @@
  */
 package org.altusmetrum.altoslib_11;
 
  */
 package org.altusmetrum.altoslib_11;
 
+import java.util.*;
+
 public class AltosConvert {
        /*
         * Pressure Sensor Model, version 1.1
 public class AltosConvert {
        /*
         * Pressure Sensor Model, version 1.1
@@ -370,12 +372,28 @@ public class AltosConvert {
                return psi * 6894.76;
        }
 
                return psi * 6894.76;
        }
 
+       public static double pa_to_psi(double pa) {
+               return pa / 6894.76;
+       }
+
+       public static double n_to_lb(double n) {
+               return n * 0.22480894;
+       }
+
+       public static double lb_to_n(double lb) {
+               return lb / 0.22480894;
+       }
+
        public static boolean imperial_units = false;
 
        public static AltosDistance distance = new AltosDistance();
 
        public static AltosHeight height = new AltosHeight();
 
        public static boolean imperial_units = false;
 
        public static AltosDistance distance = new AltosDistance();
 
        public static AltosHeight height = new AltosHeight();
 
+       public static AltosPressure pressure = new AltosPressure();
+
+       public static AltosForce force = new AltosForce();
+
        public static AltosSpeed speed = new AltosSpeed();
 
        public static AltosAccel accel = new AltosAccel();
        public static AltosSpeed speed = new AltosSpeed();
 
        public static AltosAccel accel = new AltosAccel();
@@ -407,6 +425,13 @@ public class AltosConvert {
                return csum & 0xff;
        }
 
                return csum & 0xff;
        }
 
+       public static int checksum(List<Byte> data, int start, int length) {
+               int     csum = 0x5a;
+               for (int i = 0; i < length; i++)
+                       csum += data.get(i+start);
+               return csum & 0xff;
+       }
+
        public static double beep_value_to_freq(int value) {
                if (value == 0)
                        return 4000;
        public static double beep_value_to_freq(int value) {
                if (value == 0)
                        return 4000;