Browse Source

update

master
zhaohe 1 year ago
parent
commit
3ded736046
  1. 1
      Core/Inc/stm32f4xx_it.h
  2. 5
      Core/Src/adc.c
  3. 15
      Core/Src/stm32f4xx_it.c
  4. 2
      iflytop_canbus_protocol
  5. 1
      large_space_disinfection__power_control_board.ioc
  6. 16
      usrc/base/hardware.cpp
  7. 11
      usrc/base/hardware.hpp
  8. 4
      usrc/project_configs.h
  9. 2
      zsdk

1
Core/Inc/stm32f4xx_it.h

@ -56,6 +56,7 @@ void DMA1_Stream1_IRQHandler(void);
void DMA1_Stream3_IRQHandler(void);
void DMA1_Stream5_IRQHandler(void);
void DMA1_Stream6_IRQHandler(void);
void ADC_IRQHandler(void);
void CAN1_TX_IRQHandler(void);
void CAN1_RX0_IRQHandler(void);
void CAN1_RX1_IRQHandler(void);

5
Core/Src/adc.c

@ -106,6 +106,9 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* ADC1 interrupt Init */
HAL_NVIC_SetPriority(ADC_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(ADC_IRQn);
/* USER CODE BEGIN ADC1_MspInit 1 */
/* USER CODE END ADC1_MspInit 1 */
@ -135,6 +138,8 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1);
/* ADC1 interrupt Deinit */
HAL_NVIC_DisableIRQ(ADC_IRQn);
/* USER CODE BEGIN ADC1_MspDeInit 1 */
/* USER CODE END ADC1_MspDeInit 1 */

15
Core/Src/stm32f4xx_it.c

@ -55,6 +55,7 @@
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
extern ADC_HandleTypeDef hadc1;
extern CAN_HandleTypeDef hcan1;
extern TIM_HandleTypeDef htim1;
extern TIM_HandleTypeDef htim6;
@ -230,6 +231,20 @@ void DMA1_Stream6_IRQHandler(void)
}
/**
* @brief This function handles ADC1, ADC2 and ADC3 global interrupts.
*/
void ADC_IRQHandler(void)
{
/* USER CODE BEGIN ADC_IRQn 0 */
/* USER CODE END ADC_IRQn 0 */
HAL_ADC_IRQHandler(&hadc1);
/* USER CODE BEGIN ADC_IRQn 1 */
/* USER CODE END ADC_IRQn 1 */
}
/**
* @brief This function handles CAN1 TX interrupts.
*/
void CAN1_TX_IRQHandler(void)

2
iflytop_canbus_protocol

@ -1 +1 @@
Subproject commit cf9895020ce2ad2ee628dd27ee4d74d633b832e6
Subproject commit 88e011b8a9f9030c4fe382db667606e3a9871796

1
large_space_disinfection__power_control_board.ioc

@ -154,6 +154,7 @@ Mcu.UserConstants=
Mcu.UserName=STM32F407VETx
MxCube.Version=6.11.0
MxDb.Version=DB.6.0.110
NVIC.ADC_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.CAN1_RX0_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
NVIC.CAN1_RX1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true

16
usrc/base/hardware.cpp

@ -2,7 +2,6 @@
#include "adc.h"
#include "tim.h"
#include "zsdk/zcanreceiver/zcanreceiver.hpp"
#define TAG "HARD"
using namespace iflytop;
@ -114,6 +113,9 @@ bool Hardware::h2o2_sensor_is_online() {
return true;
}
int32_t Hardware::h2o2_sensor_read_calibration_date(int32_t* year, int32_t* month, int32_t* day) { //
*year = 1;
*month = 2;
*day = 3;
return 0;
}
int32_t Hardware::h2o2_sensor_read_sub_ic_errorcode() { //
@ -172,7 +174,6 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
HPP272::hpp272_data_t sensordata;
m_H2o2Sensor_HPP272.read_cache_sensor_data(&sensordata);
readdata->subid = 0;
readdata->sensor_error = ecode != 0;
readdata->h2o2 = sensordata.hydrogen_peroxide_volume / 10.0;
readdata->humid = sensordata.relative_humidity / 10.0;
@ -191,11 +192,18 @@ int32_t Hardware::h2o2_sensor_data(report_h2o2_data_t* readdata) {
void Hardware::onAdcCaptureThread() {
while (1) {
osDelay(30);
// osDelay(30);
m_Heater_electricCurrentAdc.updateAdcValToCache();
m_Heater_temperatureAdc.updateAdcValToCache();
m_Blowser_electricCurrentAdc.updateAdcValToCache();
m_AirCompressor_electricCurrentAdc.updateAdcValToCache();
m_Blowser_electricCurrentAdc.updateAdcValToCache();
osDelay(1000);
int32_t adcv1 = m_Blowser_electricCurrentAdc.getCacheVal();
int32_t adcv2 = m_AirCompressor_electricCurrentAdc.getCacheVal();
int32_t adcv3 = m_Heater_electricCurrentAdc.getCacheVal();
ZLOGI(TAG, "b:%d, a:%d, h:%d", adcv1, adcv2, adcv3);
}
}
void Hardware::onH2O2CaptureThread() {

11
usrc/base/hardware.hpp

@ -59,7 +59,8 @@ class Hardware {
void heater_ctrl_safe_valve(int32_t val) { m_Heater_safeCtrlGpio.write(val); }
int32_t heater_read_electric_current() {
int32_t adcv = m_Heater_electricCurrentAdc.getCacheVal();
int32_t ma = (adcv / 4095.0 * 3.3 * 1000) / 150.0;
int32_t ma = (adcv * 0.00167 - 1.25) * 1000;
if (ma < 50) ma = 0;
return ma;
}
int32_t heater_read_temperature_data() {
@ -72,8 +73,9 @@ class Hardware {
void blower_ctrl(int32_t val) { m_Blowser_ctrlGpio.write(val); }
void blower_ctrl_safe_valve(int32_t val) { m_Blowser_safeCtrlGpio.write(val); }
int32_t blower_read_electric_current() {
int32_t adcv = m_Heater_electricCurrentAdc.getCacheVal();
int32_t ma = (adcv / 4095.0 * 3.3 * 1000) / 150.0;
int32_t adcv = m_Blowser_electricCurrentAdc.getCacheVal();
int32_t ma = (adcv * 0.00167 - 1.25) * 1000;
if (ma < 50) ma = 0;
return ma;
}
@ -81,7 +83,8 @@ class Hardware {
void air_compressor_ctrl_safe_valve(int32_t val) { m_AirCompressor_safeCtrlGpio.write(val); }
int32_t air_compressor_read_electric_current() {
int32_t adcv = m_AirCompressor_electricCurrentAdc.getCacheVal();
int32_t ma = (adcv / 4095.0 * 3.3 * 1000) / 150.0;
int32_t ma = (adcv * 0.00167 - 1.25) * 1000;
if (ma < 50) ma = 0;
return ma;
}

4
usrc/project_configs.h

@ -30,7 +30,7 @@
#define HEATER_CTRL_GPIO PC6
#define HEATER_SAFE_CTRL_GPIO PC7
#define HEATER_ELECTRIC_CURRENT_ADC_CH ADC_CHANNEL_0
#define HEATER_ELECTRIC_CURRENT_ADC_CH ADC_CHANNEL_2
#define HEATER_TEMPERATURE_ADC_CH ADC_CHANNEL_8
#define BLOWER_CTRL_GPIO PC4
@ -39,7 +39,7 @@
#define AIRCOMPRESSOR_CTRL_GPIO PC2
#define AIRCOMPRESSOR_SAFE_CTRL_GPIO PC3
#define AIRCOMPRESSOR_ELECTRIC_CURRENT_ADC_CH ADC_CHANNEL_2
#define AIRCOMPRESSOR_ELECTRIC_CURRENT_ADC_CH ADC_CHANNEL_0
#define H2O2_SENSOR_TYPE_HPP272
// #define H2O2_SENSOR_TYPE_HMP110

2
zsdk

@ -1 +1 @@
Subproject commit c88c14bebbce81a3b6e0d461588e958eb0e839d3
Subproject commit 7ed0ffcb69bad9aae8f74d98dcfdf076f04a872a
Loading…
Cancel
Save