getProfileDuration method
Returns the total measurement duration im ms.
Implementation
int getProfileDuration() {
var cycles = oversampMulti2int(_sensorSettings.oversamplingTemperature);
cycles += oversampMulti2int(_sensorSettings.oversamplingPressure);
cycles += oversampMulti2int(_sensorSettings.oversamplingHumidity);
/// Temperature, pressure and humidity measurement duration calculated in
/// microseconds [us]
var duration = cycles * 1963;
duration +=
(477 * 4); // Temperature, pressure and humidity switching duration
duration += (477 * 5); // Gas measurement duration
duration += 500; // Get it to the closest whole number
duration ~/= 1000; // Convert to millisecond [ms]
duration += 1; // Wake up duration of 1ms
// Get the gas duration only when gas measurements are enabled
if (_gasSettings.gasMeasurementsEnabled) {
// The remaining time should be used for heating
duration += _gasSettings.heaterDuration;
}
return duration;
}