diff options
| author | Keith Packard <keithp@keithp.com> | 2012-11-17 17:34:01 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-11-18 07:46:42 -0800 | 
| commit | e037fbc004e1aa7d631ae999e587bdde2f6b71c9 (patch) | |
| tree | 93b57ba60a075e6a1b703ad23002abcc7c340a28 /altoslib/AltosMs5607.java | |
| parent | 0606dc013d8b89fd5de0548af0de20fdab5c27d4 (diff) | |
altoslib: Add (disabled) conversion for MS5611
In case we actually end up shipping an MS5611-based board at some
point, it will be nice to have the java code on hand
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosMs5607.java')
| -rw-r--r-- | altoslib/AltosMs5607.java | 20 | 
1 files changed, 14 insertions, 6 deletions
diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java index 268e89f6..148a9f92 100644 --- a/altoslib/AltosMs5607.java +++ b/altoslib/AltosMs5607.java @@ -32,6 +32,8 @@ public class AltosMs5607 {  	public int	pa;  	public int	cc; +	static final boolean	ms5611 = false; +  	void convert() {  		int	dT;  		int TEMP; @@ -41,20 +43,26 @@ public class AltosMs5607 {  		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; -			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; -				long TEMPP2 = TEMPP * TEMPP; +				long TEMPP2 = (long) TEMPP * (long) TEMPP;  				OFF2 = OFF2 + 15 * TEMPP2;  				SENS2 = SENS2 + 8 * TEMPP2;  			}  | 
