File tree Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Original file line number Diff line number Diff line change 2
2
#include " i2c.h"
3
3
#include < iostream>
4
4
#include < unistd.h>
5
+ #include < math.h>
5
6
6
7
using namespace std ;
7
8
@@ -92,11 +93,11 @@ double BMP180::readTemperature()
92
93
return temp;
93
94
}
94
95
95
- double BMP180::readPressure ()
96
+ UINT16 BMP180::readPressure ()
96
97
{
97
98
UINT16 UT = _readRawTemperature ();
98
99
UINT16 UP = _readRawPressure ();
99
- double p = 0 ;
100
+ UINT16 p = 0x00 ;
100
101
101
102
// temperature
102
103
int X1 = ((UT - _cal_AC6) * _cal_AC5) >> 15 ;
@@ -114,7 +115,7 @@ double BMP180::readPressure()
114
115
X2 = (_cal_B1 * ((B6 * B6) >> 12 )) >> 16 ;
115
116
X3 = ((X1 + X2) + 2 ) >> 2 ;
116
117
int B4 = (_cal_AC4 * (X3 + 32768 )) >> 15 ;
117
- int B7 = (UP - B3) * (50000 >> _mode);
118
+ UINT16 B7 = (UP - B3) * (50000 >> _mode);
118
119
119
120
if (B7 < 0x80000000 )
120
121
p = (B7 * 2 ) / B4;
@@ -126,7 +127,9 @@ double BMP180::readPressure()
126
127
X2 = (-7357 * p) >> 16 ;
127
128
128
129
p = p + ((X1 + X2 + 3791 ) >> 4 );
129
-
130
+ #ifdef DEBUG
131
+ cout << " pressure: " << std::dec << p << endl;
132
+ #endif
130
133
return p;
131
134
}
132
135
@@ -135,6 +138,9 @@ double BMP180::readAltitude(UINT16 seaLevelPressure)
135
138
double altitude = 0 ;
136
139
float pressure = readPressure ();
137
140
altitude = 44330.0 * (1.0 - pow (pressure / seaLevelPressure, 0.1903 ));
141
+ #ifdef DEBUG
142
+ cout << " altitude: " << std::dec << altitude << endl;
143
+ #endif
138
144
return altitude;
139
145
}
140
146
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ class BMP180
36
36
~BMP180 ();
37
37
38
38
double readTemperature ();
39
- double readPressure ();
39
+ UINT16 readPressure ();
40
40
double readAltitude (UINT16 seaLevelPressure=101325 );
41
41
double readSeaLevelPressure ();
42
42
You can’t perform that action at this time.
0 commit comments