55namespace sensirion ::upt::i2c_autodetect{
66
77Scd30::Scd30 (TwoWire& wire, const uint16_t address) :
8- _wire (wire), _address {address}, _metaData {core::SCD30 ()}{};
8+ mWire (wire), mAddress {address}, mMetadata {core::SCD30 ()}{};
99
1010uint16_t Scd30::start () {
11- _driver .begin (_wire, _address );
11+ mDriver .begin (mWire , mAddress );
1212 return 0 ;
1313}
1414
1515uint16_t Scd30::measureAndWrite (MeasurementList& measurements,
1616 const unsigned long timeStamp) {
1717 // Check data ready
1818 uint16_t dataReadyFlag = 0 ;
19- uint16_t error = _driver .getDataReady (dataReadyFlag);
19+ uint16_t error = mDriver .getDataReady (dataReadyFlag);
2020 if (error) {
2121 return error;
2222 }
@@ -29,20 +29,20 @@ uint16_t Scd30::measureAndWrite(MeasurementList& measurements,
2929 float temperature;
3030 float humidity;
3131 error =
32- _driver .readMeasurementData (co2Concentration, temperature, humidity);
32+ mDriver .readMeasurementData (co2Concentration, temperature, humidity);
3333 if (error) {
3434 return error;
3535 }
3636
37- measurements.emplace_back (_metaData ,
37+ measurements.emplace_back (mMetadata ,
3838 core::SignalType::CO2_PARTS_PER_MILLION,
3939 core::DataPoint{timeStamp, co2Concentration});
4040
41- measurements.emplace_back (_metaData ,
41+ measurements.emplace_back (mMetadata ,
4242 core::SignalType::TEMPERATURE_DEGREES_CELSIUS,
4343 core::DataPoint{timeStamp, temperature});
4444
45- measurements.emplace_back (_metaData ,
45+ measurements.emplace_back (mMetadata ,
4646 core::SignalType::RELATIVE_HUMIDITY_PERCENTAGE,
4747 core::DataPoint{timeStamp, humidity});
4848
@@ -53,7 +53,7 @@ uint16_t Scd30::measureAndWrite(MeasurementList& measurements,
5353 * call of this function as it then is not required to enter a wait loop
5454 * (see SensirionI2cScd30::blockingReadMeasurementData()). This procedure is
5555 * only required for SCD30. */
56- error = _driver .getDataReady (dataReadyFlag);
56+ error = mDriver .getDataReady (dataReadyFlag);
5757 if (error) {
5858 return error;
5959 }
@@ -62,9 +62,9 @@ uint16_t Scd30::measureAndWrite(MeasurementList& measurements,
6262
6363uint16_t Scd30::initializationStep () {
6464 // stop potentially previously started measurement
65- _driver .stopPeriodicMeasurement ();
65+ mDriver .stopPeriodicMeasurement ();
6666 // Start Measurement
67- uint16_t error = _driver .startPeriodicMeasurement (0 );
67+ uint16_t error = mDriver .startPeriodicMeasurement (0 );
6868 if (error) {
6969 return error;
7070 }
@@ -74,32 +74,36 @@ uint16_t Scd30::initializationStep() {
7474 for (size_t i = 0 ; i < 64 ; i++) {
7575 sensorID |= (random (2 ) << i);
7676 }
77- _metaData .deviceID = sensorID;
77+ mMetadata .deviceID = sensorID;
7878
7979 /* See explanatory comment for measureAndWrite() */
8080 uint16_t dataReadyFlag;
81- error = _driver .getDataReady (dataReadyFlag);
81+ error = mDriver .getDataReady (dataReadyFlag);
8282 return error;
8383}
8484
8585core::DeviceType Scd30::getDeviceType () const {
86- return _metaData .deviceType ;
86+ return mMetadata .deviceType ;
8787 ;
8888}
8989
9090core::MetaData Scd30::getMetaData () const {
91- return _metaData ;
91+ return mMetadata ;
9292}
9393
9494size_t Scd30::getNumberOfDataPoints () const {
9595 return 3 ;
9696}
9797
98+ uint8_t Scd30::getI2CAddress () const {
99+ return mAddress ;
100+ };
101+
98102unsigned long Scd30::getMinimumMeasurementIntervalMs () const {
99103 return 2000 ;
100104}
101105
102106void * Scd30::getDriver () {
103- return reinterpret_cast <void *>(&_driver );
107+ return reinterpret_cast <void *>(&mDriver );
104108}
105109} // namespace sensirion::upt::i2c_autodetect
0 commit comments