Browse Source

update

master
zhaohe 1 year ago
parent
commit
bb55eb1c0f
  1. 4
      .settings/language.settings.xml
  2. 6
      Core/Src/usart.c
  3. 8
      dbdb_power_control_mini_board_protocol_v1.ioc
  4. 31
      usrc/base/hardware.cpp
  5. 5
      usrc/base/hardware.hpp
  6. 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="799117230401781405" 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="-859640089190887575" 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="761676726808007950" 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="-897080592784661030" 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>

6
Core/Src/usart.c

@ -76,7 +76,7 @@ void MX_USART2_UART_Init(void)
huart2.Instance = USART2;
huart2.Init.BaudRate = 19200;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.StopBits = UART_STOPBITS_2;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
@ -103,9 +103,9 @@ void MX_USART3_UART_Init(void)
/* USER CODE END USART3_Init 1 */
huart3.Instance = USART3;
huart3.Init.BaudRate = 9600;
huart3.Init.BaudRate = 19200;
huart3.Init.WordLength = UART_WORDLENGTH_8B;
huart3.Init.StopBits = UART_STOPBITS_1;
huart3.Init.StopBits = UART_STOPBITS_2;
huart3.Init.Parity = UART_PARITY_NONE;
huart3.Init.Mode = UART_MODE_TX_RX;
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;

8
dbdb_power_control_mini_board_protocol_v1.ioc

@ -354,10 +354,12 @@ USART1.BaudRate=460800
USART1.IPParameters=VirtualMode,BaudRate
USART1.VirtualMode=VM_ASYNC
USART2.BaudRate=19200
USART2.IPParameters=VirtualMode,BaudRate
USART2.IPParameters=VirtualMode,BaudRate,StopBits
USART2.StopBits=STOPBITS_2
USART2.VirtualMode=VM_ASYNC
USART3.BaudRate=9600
USART3.IPParameters=VirtualMode,BaudRate
USART3.BaudRate=19200
USART3.IPParameters=VirtualMode,BaudRate,StopBits
USART3.StopBits=STOPBITS_2
USART3.VirtualMode=VM_ASYNC
VP_CRC_VS_CRC.Mode=CRC_Activate
VP_CRC_VS_CRC.Signal=CRC_VS_CRC

31
usrc/base/hardware.cpp

@ -41,15 +41,18 @@ HPP272 m_H2o2Sensor_HPP272; // H2O2传感器
int32_t m_h2o2sensor_detectId = -1;
#endif
static void onAdcCaptureThreadId(void const* argument) {
static void onAdcCaptureThreadId(void const* argument) { Hardware::ins().onAdcCaptureThread(); }
static void onH2O2CaptureThreadId(void const* argument) { Hardware::ins().onH2O2CaptureThread(); }
void Hardware::onAdcCaptureThread() {
while (1) {
osDelay(30);
m_Heater_electricCurrentAdc.updateAdcValToCache();
m_Heater_temperatureAdc.updateAdcValToCache();
heater_read_temperature_data(); // 为了调试打印方便
}
}
static void onH2O2CaptureThreadId(void const* argument) {
void Hardware::onH2O2CaptureThread() {
while (1) {
osDelay(1000);
@ -77,16 +80,16 @@ void Hardware::init() {
m_Heater_ctrlGpio.initAsOutput(PC6, kxs_gpio_nopull, true, false);
m_Heater_safeCtrlGpio.initAsOutput(PC7, kxs_gpio_nopull, true, false);
// m_Heater_electricCurrentAdc.initialize(&hadc1, ADC_CHANNEL_0); //暂时注释掉,板子少了一个ADC,该ADC用于H2O2浓度
m_Heater_temperatureAdc.initialize(&hadc1, ADC_CHANNEL_1); // PA0
m_Heater_temperatureAdc.initialize("HeaterTemp", &hadc1, ADC_CHANNEL_1); // PA1
osDelay(2000); // 等待传感器上电
#ifdef H2O2_SENSOR_TYPE_HMP110
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); //
ZASSERT(huart3.Init.BaudRate == 19200);
ZASSERT(huart3.Init.StopBits == UART_STOPBITS_2);
m_H2o2Sensor_ModbusBlockHost.initialize(&huart3);
m_H2o2Sensor_H2O2Adc.initialize("H2O2", &hadc1, ADC_CHANNEL_0); //
m_H2o2Sensor_HMP110.init(&m_H2o2Sensor_ModbusBlockHost);
if (m_H2o2Sensor_HMP110.ping(1)) {
@ -167,7 +170,10 @@ int32_t Hardware::heater_read_temperature_data() {
// 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;
int32_t temp = (ma - 4) / (20 - 4) * (3000 - 0) + 0;
// int32_t temp = (ma - 4) / (20 - 4) * (3000 - 0) + 0;
int32_t temp = (ma - 4) / (20 - 4) * (2500 - 0) + 0;
// ZLOGI(TAG, "tadcv: %d ma:%d temp %d", adcv, ma, temp);
return temp; // C*10
}
@ -217,8 +223,9 @@ int32_t Hardware::h2o2_sensor_read_sub_ic_reg(int32_t add, uint16_t* val, size_t
}
int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
#ifdef H2O2_SENSOR_TYPE_HMP110
int32_t ecode = m_H2o2Sensor_HMP110.read_cache_errorcode();
int32_t h2o2adcVal = m_H2o2Sensor_H2O2Adc.getCacheVal();
int32_t ecode = m_H2o2Sensor_HMP110.read_cache_errorcode();
int32_t h2o2adcVal = m_H2o2Sensor_H2O2Adc.getCacheVal();
HMP110::hmp110_sensordata_t sensordata;
m_H2o2Sensor_HMP110.read_cache_sensor_data(&sensordata);
@ -234,6 +241,8 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
readdata->temp = sensordata.temp;
readdata->saturation = 0;
// ZLOGI(TAG, "h2o2 adc:%d ma:%d ppm:%d", h2o2adcVal, h2o2ma, h2o2ppm);
ZLOGI(TAG, "ecode: %d ppm:%d, rh:%d, temp:%d, df_ptemp:%d, ah:%d, mr:%d, wbt:%d, eh:%d", //
ecode, //
h2o2ppm, //

5
usrc/base/hardware.hpp

@ -12,7 +12,6 @@
#include "zsdk/zadc.hpp"
#include "zsdk/zsdk.hpp"
namespace iflytop {
class Hardware {
public:
@ -36,6 +35,8 @@ class Hardware {
int32_t h2o2_sensor_read_sub_ic_errorcode();
int32_t h2o2_sensor_read_sub_ic_reg(int32_t add, uint16_t* val, size_t len);
int32_t h2o2_sensor_data(report_h2o2_data_t* readdata);
};
void onAdcCaptureThread();
void onH2O2CaptureThread();
};
} // namespace iflytop

2
zsdk

@ -1 +1 @@
Subproject commit 2d0aea4bda82668626ba11d42658eb2f36f48119
Subproject commit 28781e5b4d0910f77bade8f49d8c6925b74b2ecf
Loading…
Cancel
Save