diff --git a/chip/basic/chip_helper.cpp b/chip/basic/chip_helper.cpp index 2231675..1aff0f6 100644 --- a/chip/basic/chip_helper.cpp +++ b/chip/basic/chip_helper.cpp @@ -1,5 +1,6 @@ #include "chip_helper.hpp" +#include "sdk\chip\basic\logger.hpp" extern "C" { static uint8_t g_port_exit_critical_count; @@ -285,10 +286,17 @@ uint32_t chip_get_timer_clock_sorce_freq(TIM_HandleTypeDef* tim) { } } +static float zfeq(float val0, float val1, float eps = 0.0001) { + float dv = val0 - val1; + if (dv < 0) dv = -dv; + if (dv < eps) return true; +} + bool chip_calculate_prescaler_and_autoreload_by_expect_freq(uint32_t timerInClk, float infreqhz, uint32_t* prescaler, uint32_t* autoreload) { /** * @brief ¼ÆËã¼Ä´æÆ÷ÊýÖµ */ + ZEARLY_ASSERT(!zfeq(infreqhz, 0, 0.01)); float psc_x_arr = timerInClk / infreqhz; uint32_t psc = 0; uint32_t arr = 65534; diff --git a/components/ti/drv8710.cpp b/components/ti/drv8710.cpp index 82d31d5..7f42411 100644 --- a/components/ti/drv8710.cpp +++ b/components/ti/drv8710.cpp @@ -3,7 +3,7 @@ using namespace iflytop; void DRV8710::initialize(config_t* cfg) { // m_cfg = *cfg; - m_pwmCtrl.initialize(cfg->tim, 10 * 000, false); + m_pwmCtrl.initialize(cfg->tim, 10 * 1000, false); m_nsleep.initAsOutput(cfg->nsleep, ZGPIO::kMode_nopull, false, false); m_nfault.initAsInput(cfg->nfault, ZGPIO::kMode_pullup, ZGPIO::kIRQ_noIrq, false); diff --git a/components/water_cooling_temperature_control_module/pwm_ctrl_module.cpp b/components/water_cooling_temperature_control_module/pwm_ctrl_module.cpp index f10c78f..3ec6b78 100644 --- a/components/water_cooling_temperature_control_module/pwm_ctrl_module.cpp +++ b/components/water_cooling_temperature_control_module/pwm_ctrl_module.cpp @@ -20,6 +20,7 @@ void PWMSpeedCtrlModule::initialize(config_t* pcfg) { m_nfanFBGpio++; } } + ZASSERT(pcfg->nfan == m_nfanFBGpio); } for (int32_t i = 0; i < ZARRAY_SIZE(cfg.fanPowerGpioCfg); i++) { @@ -32,7 +33,6 @@ void PWMSpeedCtrlModule::initialize(config_t* pcfg) { } } m_fanCtrlPwm.initialize(cfg.fanCtrlTim, 1000, false); - ZASSERT(pcfg->nfan == m_nfanFBGpio); } void PWMSpeedCtrlModule::onfbgpioirq(int32_t fanindex) {