Fixes to temp & rec

This commit is contained in:
2022-07-11 10:07:35 +02:00
parent 9f9bb7856d
commit 0708beb49f
4 changed files with 13 additions and 15 deletions

View File

@@ -40,16 +40,9 @@ bool BME280::ReadChipID() {
/****************************************************************/
void BME280::WriteSettings() {
// ctrl_hum register. (ctrl_hum[2:0] = Humidity oversampling rate.)
uint8_t ctrlHum = (uint8_t)OSR_X1;
// ctrl_meas register. (ctrl_meas[7:5] = temperature oversampling rate, ctrl_meas[4:2] = pressure oversampling rate, ctrl_meas[1:0] = mode.)
uint8_t ctrlMeas = ((uint8_t)OSR_X1 << 5) | ((uint8_t)OSR_X1 << 2) | (uint8_t)Mode_Forced;
// config register. (config[7:5] = standby time, config[4:2] = filter, ctrl_meas[0] = spi enable.)
uint8_t config = ((uint8_t)StandbyTime_1000ms << 5) | ((uint8_t)Filter_Off << 2) | 0;
WriteRegister(CTRL_HUM_ADDR, ctrlHum);
WriteRegister(CTRL_MEAS_ADDR, ctrlMeas);
WriteRegister(CONFIG_ADDR, config);
WriteRegister(CTRL_HUM_ADDR, OSR_X1);
WriteRegister(CTRL_MEAS_ADDR, (OSR_X1 << 5) | (OSR_X1 << 2) | (Mode_Forced));
WriteRegister(CONFIG_ADDR, StandbyTime_1000ms << 5) | (Filter_Off << 2);
}

View File

@@ -31,8 +31,13 @@ void Sensor::PMS_init(void) {
void Sensor::BME_measure() {
bme->read(pres, temp, hum);
float t_temp = 0;
float t_pres = 0;
bme->read(t_pres, t_temp, hum);
temp = t_temp - 5.0; // Correct heating offset
heatidx = EnvironmentCalculations::HeatIndex(temp,hum);
pres = EnvironmentCalculations::EquivalentSeaLevelPressure(100,temp, t_pres);
}
void Sensor::LTR_measure() {
ltr->read(uv, uvi);