mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-13 08:45:04 +00:00
Different Sensor access, should prevent overheating/wrong measurements.
This commit is contained in:
parent
9422d31f55
commit
3d9633a56c
@ -16,6 +16,14 @@ int32_t BME280Sensor::runOnce() {
|
|||||||
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
|
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
|
||||||
}
|
}
|
||||||
status = bme280.begin(nodeTelemetrySensorsMap[sensorType]);
|
status = bme280.begin(nodeTelemetrySensorsMap[sensorType]);
|
||||||
|
|
||||||
|
bme280.setSampling( Adafruit_BME280::MODE_FORCED,
|
||||||
|
Adafruit_BME280::SAMPLING_X1, // Temp. oversampling
|
||||||
|
Adafruit_BME280::SAMPLING_X1, // Pressure oversampling
|
||||||
|
Adafruit_BME280::SAMPLING_X1, // Humidity oversampling
|
||||||
|
Adafruit_BME280::FILTER_OFF,
|
||||||
|
Adafruit_BME280::STANDBY_MS_1000);
|
||||||
|
|
||||||
return initI2CSensor();
|
return initI2CSensor();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,6 +31,7 @@ void BME280Sensor::setup() { }
|
|||||||
|
|
||||||
bool BME280Sensor::getMetrics(Telemetry *measurement) {
|
bool BME280Sensor::getMetrics(Telemetry *measurement) {
|
||||||
DEBUG_MSG("BME280Sensor::getMetrics\n");
|
DEBUG_MSG("BME280Sensor::getMetrics\n");
|
||||||
|
bme280.takeForcedMeasurement();
|
||||||
measurement->variant.environment_metrics.temperature = bme280.readTemperature();
|
measurement->variant.environment_metrics.temperature = bme280.readTemperature();
|
||||||
measurement->variant.environment_metrics.relative_humidity = bme280.readHumidity();
|
measurement->variant.environment_metrics.relative_humidity = bme280.readHumidity();
|
||||||
measurement->variant.environment_metrics.barometric_pressure = bme280.readPressure() / 100.0F;
|
measurement->variant.environment_metrics.barometric_pressure = bme280.readPressure() / 100.0F;
|
||||||
|
@ -16,6 +16,13 @@ int32_t BMP280Sensor::runOnce() {
|
|||||||
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
|
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
|
||||||
}
|
}
|
||||||
status = bmp280.begin(nodeTelemetrySensorsMap[sensorType]);
|
status = bmp280.begin(nodeTelemetrySensorsMap[sensorType]);
|
||||||
|
|
||||||
|
bmp280.setSampling( Adafruit_BMP280::MODE_FORCED,
|
||||||
|
Adafruit_BMP280::SAMPLING_X1, // Temp. oversampling
|
||||||
|
Adafruit_BMP280::SAMPLING_X1, // Pressure oversampling
|
||||||
|
Adafruit_BMP280::FILTER_OFF,
|
||||||
|
Adafruit_BMP280::STANDBY_MS_1000);
|
||||||
|
|
||||||
return initI2CSensor();
|
return initI2CSensor();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,6 +30,7 @@ void BMP280Sensor::setup() { }
|
|||||||
|
|
||||||
bool BMP280Sensor::getMetrics(Telemetry *measurement) {
|
bool BMP280Sensor::getMetrics(Telemetry *measurement) {
|
||||||
DEBUG_MSG("BMP280Sensor::getMetrics\n");
|
DEBUG_MSG("BMP280Sensor::getMetrics\n");
|
||||||
|
bmp280.takeForcedMeasurement();
|
||||||
measurement->variant.environment_metrics.temperature = bmp280.readTemperature();
|
measurement->variant.environment_metrics.temperature = bmp280.readTemperature();
|
||||||
measurement->variant.environment_metrics.barometric_pressure = bmp280.readPressure() / 100.0F;
|
measurement->variant.environment_metrics.barometric_pressure = bmp280.readPressure() / 100.0F;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user