projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altoslib: Allow flight number to be zero
[fw/altos]
/
altoslib
/
AltosMs5607.java
diff --git
a/altoslib/AltosMs5607.java
b/altoslib/AltosMs5607.java
index 5fd997d8ab73f8d64393c7cdc353ba1199a22738..148a9f9252be841c8d4e7eb3479bd14d963586d7 100644
(file)
--- a/
altoslib/AltosMs5607.java
+++ b/
altoslib/AltosMs5607.java
@@
-32,29
+32,37
@@
public class AltosMs5607 {
public int pa;
public int cc;
public int pa;
public int cc;
+ static final boolean ms5611 = false;
+
void convert() {
int dT;
int TEMP;
long OFF;
long SENS;
void convert() {
int dT;
int TEMP;
long OFF;
long SENS;
- int P;
+
//
int P;
dT = raw_temp - ((int) tref << 8);
dT = raw_temp - ((int) tref << 8);
- TEMP = (int) (2000 + (((long) dT * tempsens) >> 23));
+ TEMP = (int) (2000 + (((long) dT * (long) tempsens) >> 23));
+
+ if (ms5611) {
+ OFF = ((long) off << 16) + (((long) tco * (long) dT) >> 7);
- OFF = ((long) off << 17) + (((long) tco * dT) >> 6);
+ SENS = ((long) sens << 15) + (((long) tcs * (long) dT) >> 8);
+ } else {
+ OFF = ((long) off << 17) + (((long) tco * (long) dT) >> 6);
- SENS = ((long) sens << 16) + (((long) tcs * dT) >> 7);
+ SENS = ((long) sens << 16) + (((long) tcs * (long) dT) >> 7);
+ }
if (TEMP < 2000) {
int T2 = (int) (((long) dT * (long) dT) >> 31);
int TEMPM = TEMP - 2000;
if (TEMP < 2000) {
int T2 = (int) (((long) dT * (long) dT) >> 31);
int TEMPM = TEMP - 2000;
- long OFF2 = (61 * (long) TEMPM * (long) TEMPM) >> 4;
- long SENS2 = 2 * (long) TEMPM * (long) TEMPM;
+ long OFF2 = (
(long)
61 * (long) TEMPM * (long) TEMPM) >> 4;
+ long SENS2 =
(long)
2 * (long) TEMPM * (long) TEMPM;
if (TEMP < 1500) {
int TEMPP = TEMP + 1500;
if (TEMP < 1500) {
int TEMPP = TEMP + 1500;
- long TEMPP2 =
TEMPP *
TEMPP;
+ long TEMPP2 =
(long) TEMPP * (long)
TEMPP;
OFF2 = OFF2 + 15 * TEMPP2;
SENS2 = SENS2 + 8 * TEMPP2;
}
OFF2 = OFF2 + 15 * TEMPP2;
SENS2 = SENS2 + 8 * TEMPP2;
}