diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 7b365a4..411f6f3 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs index 21d655b..6169284 100644 --- a/.settings/stm32cubeide.project.prefs +++ b/.settings/stm32cubeide.project.prefs @@ -1,5 +1,5 @@ 635E684B79701B039C64EA45C3F84D30=6180EFBD1DA04EB1319C95830D4DB159 66BE74F758C12D739921AEA421D593D3=5 -8DF89ED150041C4CBC7CB9A9CAA90856=9FE8B57A80F4C5C9B24FE12120255044 -DC22A860405A8BF2F2C095E5B6529F12=9FE8B57A80F4C5C9B24FE12120255044 +8DF89ED150041C4CBC7CB9A9CAA90856=B8F564F3DE821C1660C221EB6DA11AB4 +DC22A860405A8BF2F2C095E5B6529F12=B8F564F3DE821C1660C221EB6DA11AB4 eclipse.preferences.version=1 diff --git a/Intelligent_winding_robot_main_board.ioc b/Intelligent_winding_robot_main_board.ioc index eb6a311..c8dae15 100644 --- a/Intelligent_winding_robot_main_board.ioc +++ b/Intelligent_winding_robot_main_board.ioc @@ -212,7 +212,7 @@ ProjectManager.DeviceId=STM32F407ZGTx ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.27.1 ProjectManager.FreePins=false ProjectManager.HalAssertFull=false -ProjectManager.HeapSize=0x2000 +ProjectManager.HeapSize=0x4000 ProjectManager.KeepUserCode=true ProjectManager.LastFirmware=true ProjectManager.LibraryCopy=1 diff --git a/STM32F407ZGTX_FLASH.ld b/STM32F407ZGTX_FLASH.ld index c59dca4..03b408c 100644 --- a/STM32F407ZGTX_FLASH.ld +++ b/STM32F407ZGTX_FLASH.ld @@ -39,7 +39,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */ -_Min_Heap_Size = 0x2000; /* required amount of heap */ +_Min_Heap_Size = 0x4000; /* required amount of heap */ _Min_Stack_Size = 0x1000; /* required amount of stack */ /* Memories definition */ diff --git a/sdk b/sdk index 85b8278..c754d77 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 85b827815841cd0ad95352d5ee5917a6034c45e3 +Subproject commit c754d770814e82b81340d943a3383fb81719a6fa diff --git a/usrc/device.cpp b/usrc/device.cpp index ed1d90b..44075e5 100644 --- a/usrc/device.cpp +++ b/usrc/device.cpp @@ -1,5 +1,7 @@ #include "device.hpp" +#include + #include "sdk\components\eq_20_asb_motor\eq20_servomotor.hpp" #include "sdk\components\mini_servo_motor\mini_servo_motor_ctrl_module.hpp" @@ -82,7 +84,7 @@ void Device::init_bus() { /******************************************************************************* * 初始化MODBUS总线 * *******************************************************************************/ - m_modbus.initialize(&huart2, &hdma_usart2_rx, &hdma_usart2_tx); + m_modbus.initialize(&huart2, &hdma_usart2_tx, &hdma_usart2_rx); } #define REG_SUB_MODULE(table) \ @@ -110,8 +112,10 @@ void Device::sub_module_init() { /** * @brief 初始化主轴电机 */ + static Eq20ServoMotor::servo_config_t default_servo_cfg = // + {.default_acc_time_ms = 1000, .default_velocity = 800, .find_zero_velocity = 100}; static Eq20ServoMotor eq20_motor; - eq20_motor.init(1, &m_modbus, 1); + eq20_motor.init(1, &m_modbus, 1, default_servo_cfg); m_device_manager.registerModule(&eq20_motor); /** @@ -150,6 +154,10 @@ void Device::sub_module_init() { can_step_motor_proxy[i++].initialize(61, &m_zcanbus); can_step_motor_proxy[i++].initialize(62, &m_zcanbus); REG_SUB_MODULE(can_step_motor_proxy); + + m_device_manager.module_set_reg(42, kreg_stepmotor_ihold, 4); + m_device_manager.module_set_reg(42, kreg_stepmotor_irun, 28); + m_device_manager.module_active_cfg(42); } void Device::line_locking_solenoid_valve_init() {}