Skip to content

Commit df9084b

Browse files
committed
Change GroveTempHumiBaroBME280.Init()
1 parent 21a2b56 commit df9084b

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

src/Module/GroveTempHumiBaroBME280.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff 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

106111
void 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;

src/Module/GroveTempHumiBaroBME280.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
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
{
1212
private:
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
};

0 commit comments

Comments
 (0)