Adafruit Library
WipperSnapper_I2C_Driver_MS8607.h
Go to the documentation of this file.
1 
16 #ifndef WipperSnapper_I2C_Driver_MS8607_H
17 #define WipperSnapper_I2C_Driver_MS8607_H
18 
20 #include <Adafruit_MS8607.h>
21 
22 /**************************************************************************/
26 /**************************************************************************/
28 
29 public:
30  /*******************************************************************************/
38  /*******************************************************************************/
39  WipperSnapper_I2C_Driver_MS8607(TwoWire *i2c, uint16_t sensorAddress)
40  : WipperSnapper_I2C_Driver(i2c, sensorAddress) {
41  _i2c = i2c;
42  _sensorAddress = sensorAddress;
43  }
44 
45  /*******************************************************************************/
49  /*******************************************************************************/
51 
52  /*******************************************************************************/
57  /*******************************************************************************/
58  bool begin() {
59  _ms8607 = new Adafruit_MS8607();
60  // attempt to initialize MS8607
61  if (!_ms8607->begin(_i2c))
62  return false;
63 
64  _ms8607_temp = _ms8607->getTemperatureSensor();
65  _ms8607_humidity = _ms8607->getHumiditySensor();
66  _ms8607_pressure = _ms8607->getPressureSensor();
67  return true;
68  }
69 
70  /*******************************************************************************/
78  /*******************************************************************************/
79  bool getEventAmbientTemp(sensors_event_t *tempEvent) {
80  if (_ms8607_temp == NULL)
81  return false;
82  _ms8607_temp->getEvent(tempEvent);
83  return true;
84  }
85 
86  /*******************************************************************************/
94  /*******************************************************************************/
95  bool getEventRelativeHumidity(sensors_event_t *humidEvent) {
96  if (_ms8607_humidity == NULL)
97  return false;
98  _ms8607_humidity->getEvent(humidEvent);
99  return true;
100  }
101 
102  /*******************************************************************************/
111  /*******************************************************************************/
112  bool getEventPressure(sensors_event_t *pressureEvent) {
113  if (_ms8607_pressure == NULL)
114  return false;
115  _ms8607_pressure->getEvent(pressureEvent);
116  return true;
117  }
118 
119 protected:
120  Adafruit_MS8607 *_ms8607;
121  Adafruit_Sensor *_ms8607_temp =
122  NULL;
123  Adafruit_Sensor *_ms8607_pressure =
124  NULL;
125  Adafruit_Sensor *_ms8607_humidity =
126  NULL;
127 };
128 
129 #endif // WipperSnapper_I2C_Driver_MS8607
Adafruit_Sensor * _ms8607_pressure
Ptr to an adafruit_sensor representing the pressure.
Definition: WipperSnapper_I2C_Driver_MS8607.h:123
Class that provides a sensor driver for the MS8607 PHT sensor.
Definition: WipperSnapper_I2C_Driver_MS8607.h:27
WipperSnapper_I2C_Driver_MS8607(TwoWire *i2c, uint16_t sensorAddress)
Constructor for an MS8607 sensor.
Definition: WipperSnapper_I2C_Driver_MS8607.h:39
Adafruit_MS8607 * _ms8607
MS8607 object.
Definition: WipperSnapper_I2C_Driver_MS8607.h:120
bool getEventRelativeHumidity(sensors_event_t *humidEvent)
Gets the MS8607&#39;s current relative humidity reading.
Definition: WipperSnapper_I2C_Driver_MS8607.h:95
bool begin()
Initializes the MS8607 sensor and begins I2C.
Definition: WipperSnapper_I2C_Driver_MS8607.h:58
Adafruit_Sensor * _ms8607_humidity
Ptr to an adafruit_sensor representing the humidity.
Definition: WipperSnapper_I2C_Driver_MS8607.h:125
Base class for I2C Drivers.
Definition: WipperSnapper_I2C_Driver.h:30
bool getEventPressure(sensors_event_t *pressureEvent)
Reads a pressure sensor and converts the reading into the expected SI unit.
Definition: WipperSnapper_I2C_Driver_MS8607.h:112
uint16_t _sensorAddress
The I2C driver&#39;s unique I2C address.
Definition: WipperSnapper_I2C_Driver.h:1322
Adafruit_Sensor * _ms8607_temp
Ptr to an adafruit_sensor representing the temperature.
Definition: WipperSnapper_I2C_Driver_MS8607.h:121
~WipperSnapper_I2C_Driver_MS8607()
Destructor for an MS8607 sensor.
Definition: WipperSnapper_I2C_Driver_MS8607.h:50
bool getEventAmbientTemp(sensors_event_t *tempEvent)
Gets the MS8607&#39;s current temperature.
Definition: WipperSnapper_I2C_Driver_MS8607.h:79
TwoWire * _i2c
Pointer to the I2C driver&#39;s Wire object.
Definition: WipperSnapper_I2C_Driver.h:1321