diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs index 7576a02..85236e6 100644 --- a/.settings/stm32cubeide.project.prefs +++ b/.settings/stm32cubeide.project.prefs @@ -1,5 +1,5 @@ 635E684B79701B039C64EA45C3F84D30=C8B026EBE17C208F17FB66CE4235156C 66BE74F758C12D739921AEA421D593D3=1 -8DF89ED150041C4CBC7CB9A9CAA90856=E8FBF268A8CF0E2CBEA3C6C3E8CF39D0 -DC22A860405A8BF2F2C095E5B6529F12=E8FBF268A8CF0E2CBEA3C6C3E8CF39D0 +8DF89ED150041C4CBC7CB9A9CAA90856=31CD5EEFA9F35C65D8E334D24F421EB1 +DC22A860405A8BF2F2C095E5B6529F12=E957E899AF7563EEB25643F04F5B7D97 eclipse.preferences.version=1 diff --git a/sdk b/sdk index e5b2071..1b8ed02 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit e5b2071e948eae7a72d292abc83094badb699966 +Subproject commit 1b8ed02b9d95727f8a0d32edbf65d1bb4a97ffff diff --git a/usrc/main.cpp b/usrc/main.cpp index 0fd6983..63e7ab7 100644 --- a/usrc/main.cpp +++ b/usrc/main.cpp @@ -22,7 +22,7 @@ static TMC4361A motora; static TMC4361A motorb; static ZCanCmder zcanCmder; static ZCanBasicOrderModule zcanBasicOrderModule; -// static ZCANXYRobotCtrlModule zcanXYRobotCtrlModule; +static ZCANXYRobotCtrlModule zcanXYRobotCtrlModule; static XYRobotCtrlModule xyRobotCtrlModule; void umain() { @@ -96,7 +96,6 @@ void umain() { return 123; }); - /******************************************************************************* * zcanXYRobotCtrlModule * *******************************************************************************/ @@ -110,22 +109,31 @@ void umain() { input[6].initAsInput(ARM_SENSOR7_GPIO, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); input[7].initAsInput(ARM_SENSOR8_GPIO, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - xyRobotCtrlModule.initialize(&motora, &motorb, &input[6], &input[7], 1.0f); - xyRobotCtrlModule.set_speed(1000000); - xyRobotCtrlModule.set_acc(3000000); - xyRobotCtrlModule.set_dec(3000000); - xyRobotCtrlModule.set_zero_robottype(xyRobotCtrlModule.corexy); - xyRobotCtrlModule.set_shaft(false, false); - // zcanXYRobotCtrlModule.initialize(&zcanCmder, 1, &xyRobotCtrlModule); - - // ARM_SENSOR1_GPIO.initAsInput(STM32_GPIO::kInput_risingAndFallingIrq, true); - // ARM_SENSOR2_GPIO.initAsInput(STM32_GPIO::kInput_risingAndFallingIrq, true); - // ARM_SENSOR3_GPIO.initAsInput(); - // ARM_SENSOR4_GPIO.initAsInput(); - // ARM_SENSOR5_GPIO.initAsInput(); - // ARM_SENSOR6_GPIO.initAsInput(); - // ARM_SENSOR7_GPIO.initAsInput(STM32_GPIO::kInput_risingAndFallingIrq, true); - // ARM_SENSOR8_GPIO.initAsInput(STM32_GPIO::kInput_risingAndFallingIrq, true); + { + xyRobotCtrlModule.initialize(&motora, &motorb, &input[6], &input[7], 1.0f); + XYRobotCtrlModule::run_param_t param; + xyRobotCtrlModule.read_run_param(param); + param.robot_type = XYRobotCtrlModule::corexy; + param.distance_scale = 1000; // = 1.0 + param.x_shaft = false; + param.y_shaft = false; + param.ihold = 1; + param.irun = 3; + param.maxspeed = 1000000; + param.acc = 3000000; + param.dec = 3000000; + xyRobotCtrlModule.set_run_param(param); + + XYRobotCtrlModule::run_to_zero_param_t run_to_zero_param; + xyRobotCtrlModule.read_run_to_zero_param(run_to_zero_param); + run_to_zero_param.move_to_zero_max_d = 5120000; + run_to_zero_param.leave_from_zero_max_d = 5120000; + run_to_zero_param.speed = 30000; + run_to_zero_param.dec = 600000; + xyRobotCtrlModule.set_run_to_zero_param(run_to_zero_param); + + zcanXYRobotCtrlModule.initialize(&zcanCmder, 1, &xyRobotCtrlModule); + } while (true) { OSDefaultSchduler::getInstance()->loop();