diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index c699a89..48cb063 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/Core/Inc/stm32f4xx_it.h b/Core/Inc/stm32f4xx_it.h index 33e932d..dc281f4 100644 --- a/Core/Inc/stm32f4xx_it.h +++ b/Core/Inc/stm32f4xx_it.h @@ -63,6 +63,8 @@ void USART2_IRQHandler(void); void USART3_IRQHandler(void); void TIM6_DAC_IRQHandler(void); void TIM7_IRQHandler(void); +void DMA2_Stream2_IRQHandler(void); +void DMA2_Stream7_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/Core/Inc/usart.h b/Core/Inc/usart.h index 600bc69..4d94598 100644 --- a/Core/Inc/usart.h +++ b/Core/Inc/usart.h @@ -29,7 +29,8 @@ extern "C" { #include "main.h" /* USER CODE BEGIN Includes */ - +extern DMA_HandleTypeDef hdma_usart2_rx; +extern DMA_HandleTypeDef hdma_usart2_tx; /* USER CODE END Includes */ extern UART_HandleTypeDef huart1; diff --git a/Core/Src/dma.c b/Core/Src/dma.c index a942cde..37461b8 100644 --- a/Core/Src/dma.c +++ b/Core/Src/dma.c @@ -41,6 +41,7 @@ void MX_DMA_Init(void) /* DMA controller clock enable */ __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); /* DMA interrupt init */ /* DMA1_Stream5_IRQn interrupt configuration */ @@ -49,6 +50,12 @@ void MX_DMA_Init(void) /* DMA1_Stream6_IRQn interrupt configuration */ HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 5, 0); HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn); + /* DMA2_Stream2_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); + /* DMA2_Stream7_IRQn interrupt configuration */ + HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); } diff --git a/Core/Src/main.c b/Core/Src/main.c index af75621..6a3d354 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -226,7 +226,6 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) /* USER CODE END Callback 1 */ } #endif - /** * @brief This function is executed in case of error occurrence. * @retval None diff --git a/Core/Src/stm32f4xx_it.c b/Core/Src/stm32f4xx_it.c index 434e434..63e3aae 100644 --- a/Core/Src/stm32f4xx_it.c +++ b/Core/Src/stm32f4xx_it.c @@ -59,6 +59,8 @@ extern CAN_HandleTypeDef hcan1; extern TIM_HandleTypeDef htim1; extern TIM_HandleTypeDef htim6; extern TIM_HandleTypeDef htim7; +extern DMA_HandleTypeDef hdma_usart1_rx; +extern DMA_HandleTypeDef hdma_usart1_tx; extern DMA_HandleTypeDef hdma_usart2_rx; extern DMA_HandleTypeDef hdma_usart2_tx; extern UART_HandleTypeDef huart2; @@ -322,6 +324,34 @@ void TIM7_IRQHandler(void) /* USER CODE END TIM7_IRQn 1 */ } +/** + * @brief This function handles DMA2 stream2 global interrupt. + */ +void DMA2_Stream2_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream2_IRQn 0 */ + + /* USER CODE END DMA2_Stream2_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart1_rx); + /* USER CODE BEGIN DMA2_Stream2_IRQn 1 */ + + /* USER CODE END DMA2_Stream2_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream7 global interrupt. + */ +void DMA2_Stream7_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream7_IRQn 0 */ + + /* USER CODE END DMA2_Stream7_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart1_tx); + /* USER CODE BEGIN DMA2_Stream7_IRQn 1 */ + + /* USER CODE END DMA2_Stream7_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/Core/Src/usart.c b/Core/Src/usart.c index 58c311d..ff5092b 100644 --- a/Core/Src/usart.c +++ b/Core/Src/usart.c @@ -27,6 +27,8 @@ UART_HandleTypeDef huart1; UART_HandleTypeDef huart2; UART_HandleTypeDef huart3; +DMA_HandleTypeDef hdma_usart1_rx; +DMA_HandleTypeDef hdma_usart1_tx; DMA_HandleTypeDef hdma_usart2_rx; DMA_HandleTypeDef hdma_usart2_tx; @@ -43,7 +45,7 @@ void MX_USART1_UART_Init(void) /* USER CODE END USART1_Init 1 */ huart1.Instance = USART1; - huart1.Init.BaudRate = 1000000; + huart1.Init.BaudRate = 961200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; @@ -142,6 +144,43 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) GPIO_InitStruct.Alternate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /* USART1 DMA Init */ + /* USART1_RX Init */ + hdma_usart1_rx.Instance = DMA2_Stream2; + hdma_usart1_rx.Init.Channel = DMA_CHANNEL_4; + hdma_usart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_usart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart1_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart1_rx.Init.Mode = DMA_NORMAL; + hdma_usart1_rx.Init.Priority = DMA_PRIORITY_LOW; + hdma_usart1_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + if (HAL_DMA_Init(&hdma_usart1_rx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(uartHandle,hdmarx,hdma_usart1_rx); + + /* USART1_TX Init */ + hdma_usart1_tx.Instance = DMA2_Stream7; + hdma_usart1_tx.Init.Channel = DMA_CHANNEL_4; + hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; + hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE; + hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_usart1_tx.Init.Mode = DMA_NORMAL; + hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW; + hdma_usart1_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx); + /* USER CODE BEGIN USART1_MspInit 1 */ /* USER CODE END USART1_MspInit 1 */ @@ -256,6 +295,9 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); + /* USART1 DMA DeInit */ + HAL_DMA_DeInit(uartHandle->hdmarx); + HAL_DMA_DeInit(uartHandle->hdmatx); /* USER CODE BEGIN USART1_MspDeInit 1 */ /* USER CODE END USART1_MspDeInit 1 */ diff --git a/a8000_cliptip_module.ioc b/a8000_cliptip_module.ioc index 874efda..50782d4 100644 --- a/a8000_cliptip_module.ioc +++ b/a8000_cliptip_module.ioc @@ -23,7 +23,29 @@ CAN1.TTCM=ENABLE CAN1.TXFP=DISABLE Dma.Request0=USART2_RX Dma.Request1=USART2_TX -Dma.RequestsNb=2 +Dma.Request2=USART1_RX +Dma.Request3=USART1_TX +Dma.RequestsNb=4 +Dma.USART1_RX.2.Direction=DMA_PERIPH_TO_MEMORY +Dma.USART1_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE +Dma.USART1_RX.2.Instance=DMA2_Stream2 +Dma.USART1_RX.2.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART1_RX.2.MemInc=DMA_MINC_ENABLE +Dma.USART1_RX.2.Mode=DMA_NORMAL +Dma.USART1_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.USART1_RX.2.PeriphInc=DMA_PINC_DISABLE +Dma.USART1_RX.2.Priority=DMA_PRIORITY_LOW +Dma.USART1_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode +Dma.USART1_TX.3.Direction=DMA_MEMORY_TO_PERIPH +Dma.USART1_TX.3.FIFOMode=DMA_FIFOMODE_DISABLE +Dma.USART1_TX.3.Instance=DMA2_Stream7 +Dma.USART1_TX.3.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.USART1_TX.3.MemInc=DMA_MINC_ENABLE +Dma.USART1_TX.3.Mode=DMA_NORMAL +Dma.USART1_TX.3.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.USART1_TX.3.PeriphInc=DMA_PINC_DISABLE +Dma.USART1_TX.3.Priority=DMA_PRIORITY_LOW +Dma.USART1_TX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode Dma.USART2_RX.0.Direction=DMA_PERIPH_TO_MEMORY Dma.USART2_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE Dma.USART2_RX.0.Instance=DMA1_Stream5 @@ -129,6 +151,8 @@ NVIC.CAN1_SCE_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.CAN1_TX_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.DMA1_Stream5_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DMA1_Stream6_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true +NVIC.DMA2_Stream2_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true +NVIC.DMA2_Stream7_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false @@ -318,7 +342,7 @@ TIM6.IPParameters=Prescaler TIM6.Prescaler=71 TIM7.IPParameters=Prescaler TIM7.Prescaler=81 -USART1.BaudRate=1000000 +USART1.BaudRate=961200 USART1.IPParameters=VirtualMode,BaudRate USART1.VirtualMode=VM_ASYNC USART2.IPParameters=VirtualMode diff --git a/sdk b/sdk index af685a1..fbe10ee 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit af685a17a8fd229ca4773a9c62949db89369c55f +Subproject commit fbe10eeb6c72a4419f1e05c745bca2b7518e54e8 diff --git a/usrc/board.h b/usrc/board.h new file mode 100644 index 0000000..ae0d35b --- /dev/null +++ b/usrc/board.h @@ -0,0 +1,12 @@ +#pragma once + +// MOTOR1 +#define TMC_MOTOR_SPI hspi1 +#define TMC5130_MOTOR_NUM 1 +#define MOTOR0_CSN PA4 +#define MOTOR0_ENN PD0 +#define MOTOR1_SPI_MODE_SELECT PinNull + +#define MOTOR_CFG_FLASH_MARK "MOTOR_CFG_FLASH_MARK" + +#define BOARD_ID 2 diff --git a/usrc/main.cpp b/usrc/main.cpp index 33dca7b..a11a563 100644 --- a/usrc/main.cpp +++ b/usrc/main.cpp @@ -1,142 +1,121 @@ #include #include -#include "sdk/os/zos.hpp" -#include "sdk\components\flash\zsimple_flash.hpp" -#include "sdk\components\zcancmder\zcanreceiver.hpp" -#include "sdk\components\zcancmder_module\zcan_basic_order_module.hpp" -#include "sdk\components\zprotocols\zcancmder_v2\protocol_parser.hpp" -// -#include "sdk\components\flash\znvs.hpp" -// +#include "board.h" +#include "sdk\components\subcanmodule\zcancmder_subboard_initer.hpp" +/******************************************************************************* + * PROJECT_INCLUDE * + *******************************************************************************/ #include "sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.hpp" +#include "sdk\components\mini_servo_motor\feite_servo_motor.hpp" +#include "sdk\components\mini_servo_motor\mini_servo_motor_ctrl_module.hpp" #include "sdk\components\pipette_module\pipette_ctrl_module_v2.hpp" #include "sdk\components\sensors\m3078\m3078_code_scaner.hpp" -#include "sdk\components\sensors\tmp117\tmp117.hpp" -#include "sdk\components\ti\drv8710.hpp" +#include "sdk\components\tmc\ic\ztmc4361A.hpp" #include "sdk\components\tmc\ic\ztmc5130.hpp" -#include "sdk\components\water_cooling_temperature_control_module\pwm_ctrl_module.hpp" -#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module.hpp" -#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module_factory.cpp" -#include "sdk\components\water_cooling_temperature_control_module\water_cooling_temperature_control_module_factory.hpp" -// #include "M3078CodeScanner" #define TAG "main" using namespace iflytop; using namespace std; +static ZCancmderSubboardIniter initer; + extern void umain(); extern "C" { void StartDefaultTask(void const* argument) { umain(); } } -extern "C" { -extern DMA_HandleTypeDef hdma_usart2_rx; -extern DMA_HandleTypeDef hdma_usart2_tx; -} -static ZCanCmder g_zcanCmder; -static ZIProtocolParser g_ziProtocolParser; -// -static TMC5130 g_motor; -static StepMotorCtrlModule g_stepMotorCtrlModule; -// -static PipetteModule g_pipetteModule; -// USART4_TX - -void init_and_reg_motor() { +/******************************************************************************* + * GET_DEVICE_ID * + *******************************************************************************/ +static int32_t getDeviceId() { return BOARD_ID; } +/******************************************************************************* + * INIT_SUBMODULE * + *******************************************************************************/ +void nvs_init_cb() {} +static void initsubmodule() { osDelay(1000); { - TMC5130::cfg_t cfg = { - .spi = &TMC_MOTOR_SPI, // - .csgpio = MOTOR0_CSN, // - .ennPin = MOTOR0_ENN, // - .spi_mode_select = MOTOR1_SPI_MODE_SELECT, // + static TMC5130 g_motor; + static StepMotorCtrlModule g_stepMotorCtrlModule; + TMC5130::cfg_t cfg = { + .spi = &TMC_MOTOR_SPI, // + .csgpio = MOTOR0_CSN, // + .ennPin = MOTOR0_ENN, // + .spi_mode_select = MOTOR1_SPI_MODE_SELECT, // }; g_motor.initialize(&cfg); - g_motor.setMotorShaft(false); ZLOGI(TAG, "motora initialize 5160:%x ", g_motor.readICVersion()); - } - - g_motor.setAcceleration(100); - g_motor.setDeceleration(100); - g_motor.setIHOLD_IRUN(0, 8, 10); - - static ZGPIO input[10]; - input[0].initAsInput(PD1 /*REFL*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); - input[1].initAsInput(PD2 /*REFR*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); - input[2].initAsInput(PD3 /*DIAG0*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); - input[3].initAsInput(PD4 /*DIAG1*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); - - g_stepMotorCtrlModule.initialize(BOARD_ID * 10 + 1, &g_motor, input, ZARRAY_SIZE(input), MOTOR_CFG_FLASH_MARK); - g_ziProtocolParser.registerModule(&g_stepMotorCtrlModule); -} - -void init_and_reg_cliptip_module() { - // # RS232输出压力流 - // /1U2!0R\r - // # 设置移液枪最大行程100,防止设备误操作导致吸入液体到设备中 - // /1u1,100R\r - PipetteModule::config_t cfg = { - .limit_ul = 100, - }; - - PipetteModule::hardward_config_t hardwarecfg = { - .uart = &huart2, - .hdma_rx = &hdma_usart2_rx, - .hdma_tx = &hdma_usart2_tx, - }; - g_pipetteModule.initialize(BOARD_ID * 10 + 2, &cfg, &hardwarecfg); - g_ziProtocolParser.registerModule(&g_pipetteModule); -} - -void init_and_reg_m3078() { // - static M3078CodeScanner codescanner; - static M3078CodeScanner::hardware_config_t cfg = { - .uart = &huart2, - .hdma_rx = nullptr, - .hdma_tx = nullptr, - - .codeReadOkPin = PinNull, - .rstPin = PinNull, - .triggerPin = PD15, - }; - codescanner.initialize(BOARD_ID * 10 + 3, &cfg); - g_ziProtocolParser.registerModule(&codescanner); -} - -void umain() { - chip_cfg_t chipcfg; - chipcfg.us_dleay_tim = &DELAY_US_TIMER; - chipcfg.tim_irq_scheduler_tim = &TIM_IRQ_SCHEDULER_TIMER; - chipcfg.huart = &DEBUG_UART; - chipcfg.debuglight = DEBUG_LIGHT_GPIO; - chip_init(&chipcfg); + g_motor.setMotorShaft(false); + g_motor.setAcceleration(100); + g_motor.setDeceleration(100); + g_motor.setIHOLD_IRUN(0, 8, 10); + + static ZGPIO input[10]; + input[0].initAsInput(PD1 /*REFL*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[1].initAsInput(PD2 /*REFR*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[2].initAsInput(PD3 /*DIAG0*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[3].initAsInput(PD4 /*DIAG1*/, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + + I_StepMotorCtrlModule::flash_config_t smcm_cfg = {0}; + StepMotorCtrlModule::create_default_cfg(smcm_cfg); + smcm_cfg.base_param.distance_scale = 100; + smcm_cfg.base_param.distance_scale_denominator = 1; + smcm_cfg.base_param.ihold = 1; + smcm_cfg.base_param.irun = 8; + smcm_cfg.base_param.x_shaft = true; + smcm_cfg.base_param.maxspeed = 300; + smcm_cfg.base_param.run_to_zero_speed = 50; + smcm_cfg.base_param.max_x = 0; + smcm_cfg.base_param.min_x = 0; + + g_stepMotorCtrlModule.initialize(initer.get_module_id(1), &g_motor, input, ZARRAY_SIZE(input), nullptr, &smcm_cfg); + initer.register_module(&g_stepMotorCtrlModule); + } - zos_cfg_t zoscfg; - zos_init(&zoscfg); + { + static PipetteModule g_pipetteModule; + PipetteModule::config_t cfg = { + .limit_ul = 100, + }; - ZLOGI(TAG, "boardId:%d", BOARD_ID); + PipetteModule::hardward_config_t hardwarecfg = { + .uart = &huart2, + .hdma_rx = &hdma_usart2_rx, + .hdma_tx = &hdma_usart2_tx, + }; + g_pipetteModule.initialize(initer.get_module_id(2), &cfg, &hardwarecfg); + initer.register_module(&g_pipetteModule); + } - /******************************************************************************* - * NVSINIT * - *******************************************************************************/ - ZNVS::ins().initialize(IFLYTOP_NVS_CONFIG_FLASH_SECTOR); { - static I_StepMotorCtrlModule::flash_config_t cfg; - StepMotorCtrlModule::create_default_cfg(cfg); - ZNVS::ins().alloc_config(MOTOR_CFG_FLASH_MARK, (uint8_t*)&cfg, sizeof(cfg)); + // + static M3078CodeScanner codescanner; + static M3078CodeScanner::hardware_config_t cfg = { + .uart = &huart2, + .hdma_rx = nullptr, + .hdma_tx = nullptr, + + .codeReadOkPin = PinNull, + .rstPin = PinNull, + .triggerPin = PD15, + }; + codescanner.initialize(initer.get_module_id(3), &cfg); + initer.register_module(&codescanner); } - ZNVS::ins().init_config(); - auto zcanCmder_cfg = g_zcanCmder.createCFG(BOARD_ID); - g_zcanCmder.init(zcanCmder_cfg); - g_ziProtocolParser.initialize(&g_zcanCmder); - - init_and_reg_motor(); - init_and_reg_cliptip_module(); - init_and_reg_m3078(); +} - while (true) { - OSDefaultSchduler::getInstance()->loop(); - g_zcanCmder.loop(); - } -}; +/******************************************************************************* + * MAIN * + *******************************************************************************/ +void umain() { + ZCancmderSubboardIniter::cfg_t cfg = // + { + .deviceId = getDeviceId(), + .input_gpio = {}, + .output_gpio = {}, + }; + initer.init(&cfg); + initsubmodule(); + initer.loop(); +} diff --git a/usrc/project_configs.h b/usrc/project_configs.h index ade27e7..1808110 100644 --- a/usrc/project_configs.h +++ b/usrc/project_configs.h @@ -1,43 +1,21 @@ #pragma once +#define PC_VERSION "v1.0.1" +#define PC_MANUFACTURER "http://www.iflytop.com/" +#define PC_PROJECT_NAME "a8000_cliptip_module" +#define PC_IFLYTOP_ENABLE_OS 1 -#define VERSION "v1.0.0" -#define MANUFACTURER "http://www.iflytop.com/" -#define PROJECT_NAME "a8000_cliptip_module" -#define DEBUG_UART huart1 -#define DEBUG_LIGHT_GPIO PE2 +#define PC_DEBUG_UART huart1 +#define PC_DEBUG_UART_DMA_HANDLER hdma_usart1_rx +#define PC_DEBUG_UART_RX_BUF_SIZE 1024 +#define PC_DEBUG_LIGHT_GPIO PE2 -#define DELAY_US_TIMER htim6 // US延时定时器 -#define TIM_IRQ_SCHEDULER_TIMER htim7 // 中断定时器中断调度器 -#define IFLTYOP_ZTICKET_TIMER TIM11 // 系统ticket定时器 +#define PC_SYS_DELAY_US_TIMER htim6 // US延时定时器 +#define PC_SYS_ZTICKET_TIMER TIM11 // 系统ticket定时器 +#define PC_SYS_TIM_IRQ_SCHEDULER_TIMER htim7 // 中断定时器中断调度器 -#define IFLYTOP_ENABLE_OS 1 -#define IFLYTOP_PREEMPTPRIORITY_DEFAULT 5 +#define PC_IRQ_PREEMPTPRIORITY_DEFAULT 5 +#define PC_NVS_ENABLE 1 +#define PC_NVS_CONFIG_FLASH_SECTOR 8 -/****************************************FLASH***************************************/ -#define IFLYTOP_NVS_CONFIG_FLASH_SECTOR 8 -/*********************************************************************************/ - -// MOTOR1 -#define TMC_MOTOR_SPI hspi1 -#define TMC5130_MOTOR_NUM 1 -#define MOTOR0_CSN PA4 -#define MOTOR0_ENN PD0 -#define MOTOR1_SPI_MODE_SELECT PinNull - -#define MOTOR_CFG_FLASH_MARK "MOTOR_CFG_FLASH_MARK" - -#define BOARD_ID 2 - -#if 0 -#define STEPPER_MOTOR_ZERO_SENSOR SENSOR_INT0 -#define STEPPER_MOTOR_FORWARD_SENSOR SENSOR_INT8 -#define STEPPER_MOTOR_BACKWARD_SENSOR SENSOR_INT9 -#endif - -#define ID0_IO PD11 -#define ID1_IO PD12 -#define ID2_IO PD13 -#define ID3_IO PD14 -#define ID4_IO PD15 - +#define BOARD_ID 8