File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -74,8 +74,10 @@ uint32_t GroveTempHumiBaroBME280::ReadReg24(uint8_t reg)
7474 return (uint32_t )data[0 ] << 16 | (uint32_t )data[1 ] << 8 | data[2 ];
7575}
7676
77- void GroveTempHumiBaroBME280::Init ()
77+ bool GroveTempHumiBaroBME280::Init ()
7878{
79+ if (!_Device->IsExist ()) return false ;
80+
7981 if (ReadReg8 (BME280_REG_CHIPID) != 0x60 ) HalSystem::Abort ();
8082
8183 dig_T1 = ReadReg16LE (BME280_REG_DIG_T1);
@@ -101,10 +103,21 @@ void GroveTempHumiBaroBME280::Init()
101103
102104 _Device->WriteReg8 (BME280_REG_CONTROLHUMID, 0x05 );
103105 _Device->WriteReg8 (BME280_REG_CONTROL, 0xB7 );
106+
107+ _IsExist = true ;
108+ return true ;
104109}
105110
106111void GroveTempHumiBaroBME280::Read ()
107112{
113+ if (!_IsExist)
114+ {
115+ Temperature = NAN;
116+ Humidity = NAN;
117+ Pressure = NAN;
118+ return ;
119+ }
120+
108121 // Temperature
109122
110123 int32_t t_fine;
Original file line number Diff line number Diff line change 44
55#pragma once
66
7- #include " Abstract/GroveModule .h"
7+ #include " Abstract/GroveModule2 .h"
88#include " ../Connector/GroveConnectorI2C.h"
99
10- class GroveTempHumiBaroBME280 : public GroveModule
10+ class GroveTempHumiBaroBME280 : public GroveModule2
1111{
1212private:
1313 HalI2CDevice * _Device;
@@ -51,7 +51,7 @@ class GroveTempHumiBaroBME280 : public GroveModule
5151 _Device = connector->NewDevice (0x76 ); // I2C_ADDRESS
5252 }
5353
54- void Init ();
54+ bool Init ();
5555 void Read ();
5656
5757};
You can’t perform that action at this time.
0 commit comments