summaryrefslogtreecommitdiff
path: root/altoslib/AltosConvert.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-05-09 00:14:33 -0700
committerKeith Packard <keithp@keithp.com>2017-05-09 00:14:33 -0700
commitd97c4d2f6de2981c2efd7bfbc9f5f9649987b854 (patch)
treed61622a0b15f420d6aec3cddd750a8942dbc70ea /altoslib/AltosConvert.java
parent975751b604784e86b2ddb944a72b55ca3f14cf63 (diff)
altoslib: Add AltosForce and AltosPressure units
Useful for TeleFireTwo. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosConvert.java')
-rw-r--r--altoslib/AltosConvert.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/altoslib/AltosConvert.java b/altoslib/AltosConvert.java
index 8617a12c..3489a609 100644
--- a/altoslib/AltosConvert.java
+++ b/altoslib/AltosConvert.java
@@ -21,6 +21,8 @@
*/
package org.altusmetrum.altoslib_11;
+import java.util.*;
+
public class AltosConvert {
/*
* Pressure Sensor Model, version 1.1
@@ -370,12 +372,28 @@ public class AltosConvert {
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 AltosPressure pressure = new AltosPressure();
+
+ public static AltosForce force = new AltosForce();
+
public static AltosSpeed speed = new AltosSpeed();
public static AltosAccel accel = new AltosAccel();
@@ -407,6 +425,13 @@ public class AltosConvert {
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;