Browse Source

修复过氧化氢浓度计算错误的BUG

master
zhaohe 1 year ago
parent
commit
d866b9a43f
  1. 4
      .settings/language.settings.xml
  2. 24
      usrc/base/hardware.cpp
  3. 2
      usrc/project_configs.h
  4. 2
      zsdk

4
.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1415462115871698035" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1380098844774403941" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1378021612277924580" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1342658341180630486" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

24
usrc/base/hardware.cpp

@ -65,7 +65,7 @@ void Hardware::init() {
ZASSERT(huart2.Init.BaudRate == 19200);
ZASSERT(huart2.Init.StopBits == UART_STOPBITS_2);
m_H2o2Sensor_ModbusBlockHost.initialize(&huart2);
m_H2o2Sensor_H2O2Adc.initialize(&hadc1, ADC_CHANNEL_10); //
m_H2o2Sensor_H2O2Adc.initialize("h2o2adc", &hadc1, ADC_CHANNEL_10); //
m_H2o2Sensor_HMP110.init(&m_H2o2Sensor_ModbusBlockHost);
if (m_H2o2Sensor_HMP110.ping(1)) {
@ -163,8 +163,9 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
// 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 h2o2ma = (h2o2adcVal / 4095.0 * 3.3 * 1000) / 150.0;
int32_t h2o2ppm = (h2o2ma - 4) * 1.0 / (20 - 4) * 2000;
if (h2o2ppm < 0) h2o2ppm = 0;
readdata->sensor_error = ecode != 0;
readdata->h2o2 = h2o2ppm;
@ -172,15 +173,16 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
readdata->temp = sensordata.temp;
readdata->saturation = 0;
ZLOGI(TAG, "ecode: %d ppm:%d, rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", //
ecode, //
h2o2ppm, //
sensordata.rh, //
sensordata.temp, //
sensordata.df_ptemp, //
sensordata.ah, //
sensordata.mr, //
sensordata.wet_bulb_temp, //
ZLOGI(TAG, "ecode: %d ppm:%d %.2f(ma), rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", //
ecode, //
h2o2ppm, //
h2o2ma, //
sensordata.rh, //
sensordata.temp, //
sensordata.df_ptemp, //
sensordata.ah, //
sensordata.mr, //
sensordata.wet_bulb_temp, //
sensordata.enthalpy);
return 0;

2
usrc/project_configs.h

@ -17,7 +17,7 @@
* @brief
*
*/
#define SOFTWARE_VERSION 1 // 软件版本
#define SOFTWARE_VERSION 2 // 软件版本
#define HARDWARE_VERSION 1 // 硬件版本
#define PROJECT "h2o2_ext_sensor_pv1" // 工程名称
#define SN_HEADER "SN" // SN号前缀

2
zsdk

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