From aabe7a52c3b60f19903e3c8fb005226556be0780 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 27 Jul 2023 15:08:50 +0800 Subject: [PATCH] update --- .../iflytop_can_slave_v1/iflytop_can_slave.cpp | 3 ++- components/m3078/m3078_code_scaner.cpp | 2 +- components/tmc/ic/ztmc4361A.hpp | 24 +++++++++++----------- hal/gpio.cpp | 16 +++++++-------- hal/gpio.hpp | 15 +++++--------- hal/zuart.cpp | 19 ++++------------- 6 files changed, 31 insertions(+), 48 deletions(-) diff --git a/components/iflytop_can_slave_v1/iflytop_can_slave.cpp b/components/iflytop_can_slave_v1/iflytop_can_slave.cpp index ec425ec..64f62c7 100644 --- a/components/iflytop_can_slave_v1/iflytop_can_slave.cpp +++ b/components/iflytop_can_slave_v1/iflytop_can_slave.cpp @@ -3,6 +3,7 @@ #ifdef HAL_CAN_MODULE_ENABLED #include #include +#include using namespace iflytop; #define TAG "IflytopCanProtocolStackProcesser" @@ -712,4 +713,4 @@ void IflytopCanProtocolStackProcesser::callOnRegisterExtEvent(icps::Reg_t *reg, value = eve.value; } #endif -#endif \ No newline at end of file +#endif diff --git a/components/m3078/m3078_code_scaner.cpp b/components/m3078/m3078_code_scaner.cpp index 4555e30..2f42cd4 100644 --- a/components/m3078/m3078_code_scaner.cpp +++ b/components/m3078/m3078_code_scaner.cpp @@ -12,7 +12,7 @@ void M3078CodeScanner::initialize(UART_HandleTypeDef* huart, Pin_t triggerPin) { m_uart.initialize(&cfg, [this](uint8_t* data, size_t len) { if (m_onidinfo) m_onidinfo((char*)data); }); - m_triggerGpio.initAsOutput(triggerPin, ZGPIO::kOutput_nopull, false, false); + m_triggerGpio.initAsOutput(triggerPin, ZGPIO::kMode_nopull, false, false); m_trigger = false; m_uart.startRxIt(); diff --git a/components/tmc/ic/ztmc4361A.hpp b/components/tmc/ic/ztmc4361A.hpp index fbead25..4e309cf 100644 --- a/components/tmc/ic/ztmc4361A.hpp +++ b/components/tmc/ic/ztmc4361A.hpp @@ -26,13 +26,13 @@ class TMC4361A : public IStepperMotor { typedef struct { SPI_HandleTypeDef *spi; - STM32_GPIO *csgpio; - STM32_GPIO *resetPin; - STM32_GPIO *fREEZEPin; - STM32_GPIO *ennPin; + ZGPIO *csgpio; + ZGPIO *resetPin; + ZGPIO *fREEZEPin; + ZGPIO *ennPin; - STM32_GPIO *driverIC_ennPin; - STM32_GPIO *driverIC_resetPin; + ZGPIO *driverIC_ennPin; + ZGPIO *driverIC_resetPin; } cfg_t; private: @@ -46,13 +46,13 @@ class TMC4361A : public IStepperMotor { SPI_HandleTypeDef *m_spi; - STM32_GPIO *m_csgpio; - STM32_GPIO *m_resetPin; - STM32_GPIO *m_fREEZEPin; - STM32_GPIO *m_ennPin; + ZGPIO *m_csgpio; + ZGPIO *m_resetPin; + ZGPIO *m_fREEZEPin; + ZGPIO *m_ennPin; - STM32_GPIO *m_driverIC_ennPin; - STM32_GPIO *m_driverIC_resetPin; + ZGPIO *m_driverIC_ennPin; + ZGPIO *m_driverIC_resetPin; bool m_reachtarget; diff --git a/hal/gpio.cpp b/hal/gpio.cpp index 0153b52..2cd3b36 100644 --- a/hal/gpio.cpp +++ b/hal/gpio.cpp @@ -136,7 +136,7 @@ void ZGPIO::initAsInput(Pin_t pin, GPIOMode_t mode, GPIOIrqType_t irqtype, bool m_mirror = mirror; m_mode = mode; m_irqtype = irqtype; - m_gpiotype = kInput; + m_gpiotype = kType_Input; m_gpio = chip_get_gpio(pin); m_pinoff = chip_get_pinoff(pin); @@ -178,7 +178,7 @@ void ZGPIO::initAsOutput(Pin_t pin, GPIOMode_t mode, bool mirror, bool initLevel m_mirror = mirror; m_mode = mode; m_irqtype = kIRQ_noIrq; - m_gpiotype = kOutput; + m_gpiotype = kType_Output; m_gpio = chip_get_gpio(pin); m_pinoff = chip_get_pinoff(pin); @@ -189,25 +189,23 @@ void ZGPIO::initAsOutput(Pin_t pin, GPIOMode_t mode, bool mirror, bool initLevel initLevel = m_mirror ? !initLevel : initLevel; GPIO_PinState pinState = initLevel ? GPIO_PIN_SET : GPIO_PIN_RESET; - if (m_mode == kOutput_nopull || m_mode == kOutput_pullup || m_mode == kOutput_pulldown || m_mode == kOutput_od) { - HAL_GPIO_WritePin(m_gpio, m_pinoff, pinState); - } - if (m_mode == kOutput_nopull) { + HAL_GPIO_WritePin(m_gpio, m_pinoff, pinState); + if (m_mode == kMode_nopull) { m_GPIO_InitStruct.Pin = m_pinoff; m_GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; m_GPIO_InitStruct.Pull = GPIO_NOPULL; m_GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - } else if (m_mode == kOutput_pullup) { + } else if (m_mode == kMode_pullup) { m_GPIO_InitStruct.Pin = m_pinoff; m_GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; m_GPIO_InitStruct.Pull = GPIO_PULLUP; m_GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - } else if (m_mode == kOutput_pulldown) { + } else if (m_mode == kMode_pulldown) { m_GPIO_InitStruct.Pin = m_pinoff; m_GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; m_GPIO_InitStruct.Pull = GPIO_PULLDOWN; m_GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - } else if (m_mode == kOutput_od) { + } else if (m_mode == kMode_od) { m_GPIO_InitStruct.Pin = m_pinoff; m_GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; m_GPIO_InitStruct.Pull = 0; diff --git a/hal/gpio.hpp b/hal/gpio.hpp index 714bb82..a91dafd 100644 --- a/hal/gpio.hpp +++ b/hal/gpio.hpp @@ -16,18 +16,13 @@ class ZGPIO { } IrqTypeEvent_t; typedef enum { - kAIN, - kInput_nopull, // - kInput_pullup, // - kInput_pulldown, // - kInput_od, // - kOutput_nopull, // - kOutput_pullup, // - kOutput_pulldown, // - kOutput_od, // + kMode_nopull, // + kMode_pullup, // + kMode_pulldown, // + kMode_od, // } GPIOMode_t; - typedef enum { kAIN, kInput, kOutput } GPIOType_t; + typedef enum { kType_AIN, kType_Input, kType_Output } GPIOType_t; typedef enum { kIRQ_noIrq, diff --git a/hal/zuart.cpp b/hal/zuart.cpp index 358ee66..2da0141 100644 --- a/hal/zuart.cpp +++ b/hal/zuart.cpp @@ -5,6 +5,7 @@ #include "critical_context.hpp" #include "zhal_core.hpp" +#include "malloc.h" using namespace iflytop; static ZUART *s_uart_table[10]; @@ -138,12 +139,12 @@ bool ZUART::startRxIt() { } bool ZUART::dataIsReady() { - CriticalContext criticalContext(); + CriticalContext criticalContext; if (m_dataIsReady) { return true; } if (!m_dataIsReady && m_rxBufferPos != 0) { - if (ifly_has_passedms(m_lastRxTime) > m_rxovertime_ms) { + if (ifly_has_passedms(m_lastRxTime) > (uint32_t)m_rxovertime_ms) { m_dataIsReady = true; return true; } @@ -151,7 +152,7 @@ bool ZUART::dataIsReady() { return false; } void ZUART::clearRxData() { - ZCriticalContext criticalContext(); + ZCriticalContext criticalContext; m_dataIsReady = false; memset(m_rxBuffer, 0, m_rxBufferLen); m_rxBufferPos = 0; @@ -165,18 +166,6 @@ void ZUART::periodicJob() { } } -bool ZUART::startRxIt() { - ZASSERT(m_rxBuffer != NULL); - ZASSERT(NVIC_GetEnableIRQ(getUartIRQType()) != 0); - - if (m_isRxing) return true; - m_isRxing = true; - - HAL_UART_Receive_IT(m_huart, &onebyte, 1); - - return true; -} - /******************************************************************************* * 中断 * *******************************************************************************/