Browse Source

修复温度读取错误的BUG

master
zhaohe 1 year ago
parent
commit
7973a40b75
  1. 18
      usrc/base/hardware.cpp
  2. 2
      zsdk

18
usrc/base/hardware.cpp

@ -168,13 +168,13 @@ int32_t Hardware::heater_read_temperature_data() {
// float mv = adcv / 4095.0 * 3.3 * 1000;
// float ma = mv / 150.0;
// float ppm = (ma - 4) / (20 - 4) * 2000;
int32_t adcv = m_Heater_temperatureAdc.getCacheVal();
int32_t ma = (adcv / 4095.0 * 3.3 * 1000) / 150.0;
double adcv = m_Heater_temperatureAdc.getCacheVal();
double ma = (adcv / 4095.0 * 3.3 * 1000) / 150.0;
// int32_t temp = (ma - 4) / (20 - 4) * (3000 - 0) + 0;
int32_t temp = (ma - 4) * 1.0 / (20 - 4) * (3000 - 0) + 0;
temp = temp / 10.0;
double temp = (ma - 4) * 1.0 / (20 - 4) * (2500 - 0) + 0;
temp = temp / 10.0;
if (temp < 0) temp = 0;
// ZLOGI(TAG, "tadcv: %d ma:%d temp %d", adcv, ma, temp);
// ZLOGI(TAG, "tadcv: %f ma:%f temp %f", adcv, ma, temp);
return temp; // C*10
}
@ -230,10 +230,10 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
HMP110::hmp110_sensordata_t sensordata;
m_H2o2Sensor_HMP110.read_cache_sensor_data(&sensordata);
// float mv = adcv / 4095.0 * 3.3 * 1000;
// float ma = mv / 150.0;
// float ppm = (ma - 4) / (20 - 4) * 2000;
int32_t h2o2ma = (h2o2adcVal / 4095.0 * 3.3 * 1000) / 150.0;
// double mv = adcv / 4095.0 * 3.3 * 1000;
// double ma = mv / 150.0;
// double ppm = (ma - 4) / (20 - 4) * 2000;
double h2o2ma = (h2o2adcVal / 4095.0 * 3.3 * 1000) / 150.0;
int32_t h2o2ppm = (h2o2ma - 4) * 1.0 / (20 - 4) * 2000;
readdata->sensor_error = ecode != 0;

2
zsdk

@ -1 +1 @@
Subproject commit cfc9142c9578dbea728bfb93a07d8a85b5cc89eb
Subproject commit 897203c3911a41d84f49f420d1d647ca3a04c2e5
Loading…
Cancel
Save