@@ -61,18 +61,6 @@ public abstract class BMP280Device implements BMP280Interface {
6161 public static final String ID = "BMP280" ;
6262
6363
64- private static final int t1 = 0 ;
65- private static final int t2 = 1 ;
66- private static final int t3 = 2 ;
67- private static final int p1 = 3 ;
68- private static final int p2 = 4 ;
69- private static final int p3 = 5 ;
70- private static final int p4 = 6 ;
71- private static final int p5 = 7 ;
72- private static final int p6 = 8 ;
73- private static final int p7 = 9 ;
74- private static final int p8 = 10 ;
75- private static final int p9 = 11 ;
7664
7765
7866 protected Logger logger ;
@@ -167,7 +155,11 @@ public double[] readBMP280() {
167155
168156 this .writeRegister (BMP280Declares .ctrl_meas , ctlVal [0 ]);
169157
170- // this.writeRegister(BMP280Declares.ctrl_meas, ctlReg);
158+
159+ byte [] writeBuffer = new byte []{(byte ) (0b01111111 & BMP280Declares .ctrl_meas ),
160+ (byte ) ctlVal [0 ], (byte ) (0b10000000 | BMP280Declares .reg_dig_t1 ) } ;
161+ byte [] readBuffer = new byte [24 ];
162+
171163
172164
173165 // Next delay for 100 ms to provide chip time to perform measurements
@@ -182,56 +174,49 @@ public double[] readBMP280() {
182174 byte [] compVal = new byte [2 ];
183175
184176
185- this .readRegister ( BMP280Declares . reg_dig_t1 , compVal ) ;
177+ this .writeDelayRead ( writeBuffer , ( short ) 100 , readBuffer ) ;
186178
187- long dig_t1 = castOffSignInt (compVal );
188179
180+ long dig_t1 = castOffSignInt (new byte []{readBuffer [0 ],readBuffer [1 ]}) ;
189181 this .readRegister (BMP280Declares .reg_dig_t2 , compVal );
190- int dig_t2 = signedInt (compVal );
182+ int dig_t2 = signedInt (new byte []{ readBuffer [ 2 ], readBuffer [ 3 ]} );
191183
192184 this .readRegister (BMP280Declares .reg_dig_t3 , compVal );
193- int dig_t3 = signedInt (compVal );
185+ int dig_t3 = signedInt (new byte []{ readBuffer [ 4 ], readBuffer [ 5 ]} );
194186
195187 this .readRegister (BMP280Declares .reg_dig_p1 , compVal );
196- long dig_p1 = castOffSignInt (compVal );
188+ long dig_p1 = castOffSignInt (new byte []{ readBuffer [ 6 ], readBuffer [ 7 ]} );
197189
198190 this .readRegister (BMP280Declares .reg_dig_p2 , compVal );
199- int dig_p2 = signedInt (compVal );
191+ int dig_p2 = signedInt (new byte []{ readBuffer [ 8 ], readBuffer [ 9 ]} );
200192
201193 this .readRegister (BMP280Declares .reg_dig_p3 , compVal );
202- int dig_p3 = signedInt (compVal );
194+ int dig_p3 = signedInt (new byte []{ readBuffer [ 10 ], readBuffer [ 11 ]} );
203195
204196 this .readRegister (BMP280Declares .reg_dig_p4 , compVal );
205- int dig_p4 = signedInt (compVal );
197+ int dig_p4 = signedInt (new byte []{ readBuffer [ 12 ], readBuffer [ 13 ]} );
206198
207199 this .readRegister (BMP280Declares .reg_dig_p5 , compVal );
208- int dig_p5 = signedInt (compVal );
200+ int dig_p5 = signedInt (new byte []{ readBuffer [ 14 ], readBuffer [ 15 ]} );
209201
210202 this .readRegister (BMP280Declares .reg_dig_p6 , compVal );
211- int dig_p6 = signedInt (compVal );
203+ int dig_p6 = signedInt (new byte []{ readBuffer [ 16 ], readBuffer [ 17 ]} );
212204
213205 this .readRegister (BMP280Declares .reg_dig_p7 , compVal );
214- int dig_p7 = signedInt (compVal );
206+ int dig_p7 = signedInt (new byte []{ readBuffer [ 18 ], readBuffer [ 19 ]} );
215207
216208 this .readRegister (BMP280Declares .reg_dig_p8 , compVal );
217- int dig_p8 = signedInt (compVal );
209+ int dig_p8 = signedInt (new byte []{ readBuffer [ 20 ], readBuffer [ 21 ]} );
218210
219211 this .readRegister (BMP280Declares .reg_dig_p9 , compVal );
220- int dig_p9 = signedInt (compVal );
212+ int dig_p9 = signedInt (new byte []{ readBuffer [ 22 ], readBuffer [ 23 ]} );
221213
222214
223215 byte [] buff = new byte [6 ];
224216
225217 this .readRegister (BMP280Declares .press_msb , buff );
226218
227219
228- int p_msb = castOffSignByte (buff [0 ]);
229- int p_lsb = castOffSignByte (buff [1 ]);
230- int p_xlsb = castOffSignByte (buff [2 ]);
231-
232- int t_msb = castOffSignByte (buff [3 ]);
233- int t_lsb = castOffSignByte (buff [4 ]);
234- int t_xlsb = castOffSignByte (buff [5 ]);
235220
236221
237222 long adc_T = (long ) ((buff [3 ] & 0xFF ) << 12 ) + (long ) ((buff [4 ] & 0xFF ) << 4 ) + (long ) (buff [5 ] & 0xFF );
0 commit comments