File tree Expand file tree Collapse file tree 3 files changed +18
-4
lines changed
examples/Example2_SetOptions Expand file tree Collapse file tree 3 files changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -42,18 +42,25 @@ void setup()
42
42
43
43
airSensor.setMeasurementInterval (4 ); // Change number of seconds between measurements: 2 to 1800 (30 minutes)
44
44
45
+ // Read altitude compensation value
46
+ unsigned int altitude = airSensor.getAltitudeCompensation ();
47
+ Serial.print (" Current altitude: " );
48
+ Serial.print (altitude);
49
+ Serial.println (" m" );
50
+
45
51
// My desk is ~1600m above sealevel
46
- airSensor.setAltitudeCompensation (1600 ); // Set altitude of the sensor in m
52
+ airSensor.setAltitudeCompensation (1600 ); // Set altitude of the sensor in m, stored in non-volatile memory of SCD30
47
53
48
54
// Pressure in Boulder, CO is 24.65inHg or 834.74mBar
49
- airSensor.setAmbientPressure (835 ); // Current ambient pressure in mBar: 700 to 1200
55
+ airSensor.setAmbientPressure (835 ); // Current ambient pressure in mBar: 700 to 1200, will overwrite altitude compensation
50
56
57
+ // Read temperature offset
51
58
float offset = airSensor.getTemperatureOffset ();
52
59
Serial.print (" Current temp offset: " );
53
60
Serial.print (offset, 2 );
54
61
Serial.println (" C" );
55
62
56
- // airSensor.setTemperatureOffset(5); //Optionally we can set temperature offset to 5°C
63
+ // airSensor.setTemperatureOffset(5); //Optionally we can set temperature offset to 5°C, stored in non-volatile memory of SCD30
57
64
}
58
65
59
66
void loop ()
Original file line number Diff line number Diff line change @@ -123,7 +123,7 @@ bool SCD30::setForcedRecalibrationFactor(uint16_t concentration)
123
123
}
124
124
125
125
// Get the temperature offset. See 1.3.8.
126
- float SCD30::getTemperatureOffset ()
126
+ float SCD30::getTemperatureOffset (void )
127
127
{
128
128
uint16_t response = readRegister (COMMAND_SET_TEMPERATURE_OFFSET);
129
129
return (float )response / 100 ;
@@ -136,6 +136,12 @@ bool SCD30::setTemperatureOffset(float tempOffset)
136
136
return sendCommand (COMMAND_SET_TEMPERATURE_OFFSET, tickOffset);
137
137
}
138
138
139
+ // Get the altitude compenstation. See 1.3.9.
140
+ uint16_t SCD30::getAltitudeCompensation (void )
141
+ {
142
+ return readRegister (COMMAND_SET_ALTITUDE_COMPENSATION);
143
+ }
144
+
139
145
// Set the altitude compenstation. See 1.3.9.
140
146
bool SCD30::setAltitudeCompensation (uint16_t altitude)
141
147
{
Original file line number Diff line number Diff line change @@ -61,6 +61,7 @@ class SCD30
61
61
float getHumidity (void );
62
62
float getTemperature (void );
63
63
float getTemperatureOffset (void );
64
+ uint16_t getAltitudeCompensation (void );
64
65
65
66
bool setMeasurementInterval (uint16_t interval);
66
67
bool setAmbientPressure (uint16_t pressure_mbar);
You can’t perform that action at this time.
0 commit comments