From 434b9e9aed50fccd7adb1f907be48f10b968d838 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sat, 3 Feb 2024 14:51:11 +0800 Subject: [PATCH] update --- Core/Inc/tim.h | 5 ++ Core/Src/gpio.c | 12 ++--- Core/Src/main.c | 1 + Core/Src/tim.c | 104 ++++++++++++++++++++++++++++++++++++++ graphite_digester_io_board_v2.ioc | 59 ++++++++++++--------- sdk | 2 +- usrc/main.cpp | 85 +++++++++++++++++++++++-------- usrc/temperature_sensor.cpp | 25 --------- usrc/temperature_sensor.hpp | 53 ------------------- 9 files changed, 215 insertions(+), 131 deletions(-) delete mode 100644 usrc/temperature_sensor.cpp delete mode 100644 usrc/temperature_sensor.hpp diff --git a/Core/Inc/tim.h b/Core/Inc/tim.h index 45f5888..2766260 100644 --- a/Core/Inc/tim.h +++ b/Core/Inc/tim.h @@ -34,6 +34,8 @@ extern "C" { extern TIM_HandleTypeDef htim1; +extern TIM_HandleTypeDef htim2; + extern TIM_HandleTypeDef htim3; extern TIM_HandleTypeDef htim6; @@ -45,10 +47,13 @@ extern TIM_HandleTypeDef htim7; /* USER CODE END Private defines */ void MX_TIM1_Init(void); +void MX_TIM2_Init(void); void MX_TIM3_Init(void); void MX_TIM6_Init(void); void MX_TIM7_Init(void); +void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); + /* USER CODE BEGIN Prototypes */ /* USER CODE END Prototypes */ diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 432c7de..c62f447 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -76,12 +76,12 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - /*Configure GPIO pins : PA0 PA1 PA2 PA3 - PA4 PA5 PA6 PA7 - PA8 PA15 */ - GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 - |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 - |GPIO_PIN_8|GPIO_PIN_15; + /*Configure GPIO pins : PA0 PA2 PA3 PA4 + PA5 PA6 PA7 PA8 + PA15 */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4 + |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8 + |GPIO_PIN_15; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); diff --git a/Core/Src/main.c b/Core/Src/main.c index 1942b87..f09d0c1 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -104,6 +104,7 @@ int main(void) MX_CAN1_Init(); MX_USART3_UART_Init(); MX_ADC1_Init(); + MX_TIM2_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ diff --git a/Core/Src/tim.c b/Core/Src/tim.c index 0c78b2d..9a2c1df 100644 --- a/Core/Src/tim.c +++ b/Core/Src/tim.c @@ -25,6 +25,7 @@ /* USER CODE END 0 */ TIM_HandleTypeDef htim1; +TIM_HandleTypeDef htim2; TIM_HandleTypeDef htim3; TIM_HandleTypeDef htim6; TIM_HandleTypeDef htim7; @@ -70,6 +71,50 @@ void MX_TIM1_Init(void) /* USER CODE END TIM1_Init 2 */ } +/* TIM2 init function */ +void MX_TIM2_Init(void) +{ + + /* USER CODE BEGIN TIM2_Init 0 */ + + /* USER CODE END TIM2_Init 0 */ + + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + + /* USER CODE BEGIN TIM2_Init 1 */ + + /* USER CODE END TIM2_Init 1 */ + htim2.Instance = TIM2; + htim2.Init.Prescaler = 0; + htim2.Init.CounterMode = TIM_COUNTERMODE_UP; + htim2.Init.Period = 4294967295; + htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.Pulse = 0; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM2_Init 2 */ + + /* USER CODE END TIM2_Init 2 */ + HAL_TIM_MspPostInit(&htim2); + +} /* TIM3 init function */ void MX_TIM3_Init(void) { @@ -238,6 +283,49 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) } } +void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle) +{ + + if(tim_pwmHandle->Instance==TIM2) + { + /* USER CODE BEGIN TIM2_MspInit 0 */ + + /* USER CODE END TIM2_MspInit 0 */ + /* TIM2 clock enable */ + __HAL_RCC_TIM2_CLK_ENABLE(); + /* USER CODE BEGIN TIM2_MspInit 1 */ + + /* USER CODE END TIM2_MspInit 1 */ + } +} +void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) +{ + + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(timHandle->Instance==TIM2) + { + /* USER CODE BEGIN TIM2_MspPostInit 0 */ + + /* USER CODE END TIM2_MspPostInit 0 */ + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**TIM2 GPIO Configuration + PA1 ------> TIM2_CH2 + */ + GPIO_InitStruct.Pin = GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USER CODE BEGIN TIM2_MspPostInit 1 */ + + /* USER CODE END TIM2_MspPostInit 1 */ + } + +} + void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) { @@ -296,6 +384,22 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) } } +void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* tim_pwmHandle) +{ + + if(tim_pwmHandle->Instance==TIM2) + { + /* USER CODE BEGIN TIM2_MspDeInit 0 */ + + /* USER CODE END TIM2_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM2_CLK_DISABLE(); + /* USER CODE BEGIN TIM2_MspDeInit 1 */ + + /* USER CODE END TIM2_MspDeInit 1 */ + } +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/graphite_digester_io_board_v2.ioc b/graphite_digester_io_board_v2.ioc index 0f1fb87..e414b1e 100644 --- a/graphite_digester_io_board_v2.ioc +++ b/graphite_digester_io_board_v2.ioc @@ -81,11 +81,12 @@ Mcu.CPN=STM32F407VET6 Mcu.Family=STM32F4 Mcu.IP0=ADC1 Mcu.IP1=CAN1 -Mcu.IP10=TIM3 -Mcu.IP11=TIM6 -Mcu.IP12=TIM7 -Mcu.IP13=USART1 -Mcu.IP14=USART3 +Mcu.IP10=TIM2 +Mcu.IP11=TIM3 +Mcu.IP12=TIM6 +Mcu.IP13=TIM7 +Mcu.IP14=USART1 +Mcu.IP15=USART3 Mcu.IP2=CRC Mcu.IP3=DMA Mcu.IP4=FREERTOS @@ -94,33 +95,34 @@ Mcu.IP6=RCC Mcu.IP7=RNG Mcu.IP8=SYS Mcu.IP9=TIM1 -Mcu.IPNb=15 +Mcu.IPNb=16 Mcu.Name=STM32F407V(E-G)Tx Mcu.Package=LQFP100 Mcu.Pin0=PH0-OSC_IN Mcu.Pin1=PH1-OSC_OUT -Mcu.Pin10=PA10 -Mcu.Pin11=PA11 -Mcu.Pin12=PA12 -Mcu.Pin13=PA13 -Mcu.Pin14=PA14 -Mcu.Pin15=VP_CRC_VS_CRC -Mcu.Pin16=VP_FREERTOS_VS_CMSIS_V1 -Mcu.Pin17=VP_RNG_VS_RNG -Mcu.Pin18=VP_SYS_VS_tim11 -Mcu.Pin19=VP_TIM1_VS_ClockSourceINT +Mcu.Pin10=PA9 +Mcu.Pin11=PA10 +Mcu.Pin12=PA11 +Mcu.Pin13=PA12 +Mcu.Pin14=PA13 +Mcu.Pin15=PA14 +Mcu.Pin16=VP_CRC_VS_CRC +Mcu.Pin17=VP_FREERTOS_VS_CMSIS_V1 +Mcu.Pin18=VP_RNG_VS_RNG +Mcu.Pin19=VP_SYS_VS_tim11 Mcu.Pin2=PC0 -Mcu.Pin20=VP_TIM3_VS_ClockSourceINT -Mcu.Pin21=VP_TIM6_VS_ClockSourceINT -Mcu.Pin22=VP_TIM7_VS_ClockSourceINT +Mcu.Pin20=VP_TIM1_VS_ClockSourceINT +Mcu.Pin21=VP_TIM3_VS_ClockSourceINT +Mcu.Pin22=VP_TIM6_VS_ClockSourceINT +Mcu.Pin23=VP_TIM7_VS_ClockSourceINT Mcu.Pin3=PC1 Mcu.Pin4=PC2 Mcu.Pin5=PC3 -Mcu.Pin6=PC5 -Mcu.Pin7=PB10 -Mcu.Pin8=PB11 -Mcu.Pin9=PA9 -Mcu.PinsNb=23 +Mcu.Pin6=PA1 +Mcu.Pin7=PC5 +Mcu.Pin8=PB10 +Mcu.Pin9=PB11 +Mcu.PinsNb=24 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F407VETx @@ -155,6 +157,8 @@ NVIC.TimeBaseIP=TIM11 NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +PA1.Locked=true +PA1.Signal=S_TIM2_CH2 PA10.Locked=true PA10.Mode=Asynchronous PA10.Signal=USART1_RX @@ -219,7 +223,7 @@ ProjectManager.ToolChainLocation= ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptBeforePath= ProjectManager.UnderRoot=true -ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_RNG_Init-RNG-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_TIM6_Init-TIM6-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true,11-MX_CAN1_Init-CAN1-false-HAL-true,12-MX_USART3_UART_Init-USART3-false-HAL-true +ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_RNG_Init-RNG-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_TIM6_Init-TIM6-false-HAL-true,10-MX_TIM1_Init-TIM1-false-HAL-true,11-MX_CAN1_Init-CAN1-false-HAL-true,12-MX_USART3_UART_Init-USART3-false-HAL-true,13-MX_ADC1_Init-ADC1-false-HAL-true RCC.48MHZClocksFreq_Value=48000000 RCC.AHBFreq_Value=144000000 RCC.APB1CLKDivider=RCC_HCLK_DIV4 @@ -270,9 +274,14 @@ SH.ADCx_IN13.0=ADC1_IN13,IN13 SH.ADCx_IN13.ConfNb=1 SH.ADCx_IN15.0=ADC1_IN15,IN15 SH.ADCx_IN15.ConfNb=1 +SH.S_TIM2_CH2.0=TIM2_CH2,PWM Generation2 CH2 +SH.S_TIM2_CH2.ConfNb=1 TIM1.IPParameters=Period,Prescaler TIM1.Period=9999 TIM1.Prescaler=143 +TIM2.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE +TIM2.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 +TIM2.IPParameters=Channel-PWM Generation2 CH2,AutoReloadPreload TIM3.IPParameters=Prescaler,Period TIM3.Period=9999 TIM3.Prescaler=71 diff --git a/sdk b/sdk index cc8a5b4..57cf05c 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit cc8a5b4f9af4e1111cd51e0242dbf9172298db3a +Subproject commit 57cf05c056145c69697f94f5320581ad1dcb8cc3 diff --git a/usrc/main.cpp b/usrc/main.cpp index ef22b52..d44a525 100644 --- a/usrc/main.cpp +++ b/usrc/main.cpp @@ -13,7 +13,6 @@ #include "sdk\components\sensors\m3078\m3078_code_scaner.hpp" #include "sdk\components\tmc\ic\ztmc4361A.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" -#include "temperature_sensor.hpp" #define TAG "main" using namespace iflytop; @@ -52,38 +51,82 @@ static int32_t getDeviceId() { /******************************************************************************* * INIT_SUBMODULE * *******************************************************************************/ -void nvs_init_cb() {} -TemperatureSensor m_temperature_sensor[8]; -static void initsubmodule() { - osDelay(1000); - { - m_temperature_sensor[0].initialize(&hadc1, ADC_CHANNEL_10); - m_temperature_sensor[1].initialize(&hadc1, ADC_CHANNEL_11); - m_temperature_sensor[2].initialize(&hadc1, ADC_CHANNEL_12); - m_temperature_sensor[3].initialize(&hadc1, ADC_CHANNEL_13); - m_temperature_sensor[4].initialize(&hadc1, ADC_CHANNEL_14); +class PWMCtrler : public ZIPWMCtrl { + ZPWMGenerator pwm; + int32_t freq; + int32_t duty; + int32_t state; + + public: + void initialize() { pwm.initialize(&htim2, TIM_CHANNEL_2, 25000, 1); } + virtual int32_t set_pwm_duty(int32_t duty) { + pwm.startPWM(duty); + return 0; } + virtual int32_t set_pwm_freq(int32_t freq) {} + virtual int32_t get_pwm_duty() {} + virtual int32_t get_pwm_freq() {} +}; +PWMCtrler pwmCtrler; + +void nvs_init_cb() {} +static void initsubmodule() { + osDelay(1000); + { pwmCtrler.initialize(); } {} } - /******************************************************************************* * MAIN * *******************************************************************************/ void umain() { ZCancmderSubboardIniter::cfg_t cfg = // { - .deviceId = getDeviceId(), - .input_gpio = {}, - .output_gpio = {}, - .temperature_sensor = + .deviceId = getDeviceId(), + .input_gpio = + { + {.pin = PD0, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD1, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD2, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD3, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD4, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD5, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD6, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD7, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD8, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD9, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD10, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD11, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD12, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD13, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD14, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + {.pin = PD15, .mode = ZGPIO::kMode_nopull, .irqtype = ZGPIO::kIRQ_noIrq, .mirror = false}, + + }, + .output_gpio = { - &m_temperature_sensor[0], - &m_temperature_sensor[1], - &m_temperature_sensor[2], - &m_temperature_sensor[3], - &m_temperature_sensor[4], + {.pin = PE7, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE8, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE9, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE10, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE11, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE12, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE13, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE14, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PE15, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PB0, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PB1, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PB2, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PB3, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PB4, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PB5, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + {.pin = PB6, .mode = ZGPIO::kMode_nopull, .mirror = true, .initLevel = false, .log_when_setstate = false}, + // + {.pin = PC6, .mode = ZGPIO::kMode_pulldown, .mirror = false, .initLevel = false, .log_when_setstate = false}, + {.pin = PC7, .mode = ZGPIO::kMode_pulldown, .mirror = false, .initLevel = false, .log_when_setstate = false}, + {.pin = PC8, .mode = ZGPIO::kMode_pulldown, .mirror = false, .initLevel = false, .log_when_setstate = false}, }, + .pwmctrl = &pwmCtrler, }; initer.init(&cfg); initsubmodule(); diff --git a/usrc/temperature_sensor.cpp b/usrc/temperature_sensor.cpp deleted file mode 100644 index 8e6343f..0000000 --- a/usrc/temperature_sensor.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "temperature_sensor.hpp" - -using namespace iflytop; - -void TemperatureSensor::initialize(ADC_HandleTypeDef* hadc1, int32_t channel) { // - m_adc.initialize(hadc1, channel); -} - -int32_t TemperatureSensor::getTemperature(int32_t& sensorval) { - // 4000ma->20ma ==> 0->350 - // V=150*I - // I=V/150 - int32_t adcval = 0; - - int ret = m_adc.get_adc_value(adcval); - float v = adcval * 3.3 / 4096; - float I = v / 150.0 * 1000; - int32_t temperature001 = (I - 20) * (4000 - 20) * 350 * 100; // 0.01ΆΘ - if (temperature001 < 0) { - temperature001 = 0; - } - - sensorval = temperature001; - return ret; -} diff --git a/usrc/temperature_sensor.hpp b/usrc/temperature_sensor.hpp deleted file mode 100644 index 2f828cd..0000000 --- a/usrc/temperature_sensor.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// -// Created by zwsd -// - -#pragma once -#include "sdk/os/zos.hpp" -// -#include "sdk/chip/api/zi_temperature.hpp" -#include "sdk\chip\api\zi_adc.hpp" -#include "sdk\components\hardware\adc\z_simple_adc.hpp" -#include "sdk\components\zprotocols\zcancmder_v2\api\api.hpp" - -namespace iflytop { -using namespace std; - -class TemperatureSensor : public ZITemperatureSensor { - public: - ZADC m_adc; - - ADC_HandleTypeDef* hadc1; - int32_t channel; - - /** - * @brief - * - * @param hadc1 adc handle - * @param channel - * ADC_CHANNEL_0 - * ADC_CHANNEL_1 - * ADC_CHANNEL_2 - * ADC_CHANNEL_3 - * ADC_CHANNEL_4 - * ADC_CHANNEL_5 - * ADC_CHANNEL_6 - * ADC_CHANNEL_7 - * ADC_CHANNEL_8 - * ADC_CHANNEL_9 - * ADC_CHANNEL_10 - * ADC_CHANNEL_11 - * ADC_CHANNEL_12 - * ADC_CHANNEL_13 - * ADC_CHANNEL_14 - * ADC_CHANNEL_15 - * ADC_CHANNEL_16 - * ADC_CHANNEL_17 - * ADC_CHANNEL_18 - */ - void initialize(ADC_HandleTypeDef* hadc1, int32_t channel); - - virtual int32_t getTemperature(int32_t& sensorval); -}; - -} // namespace iflytop \ No newline at end of file