From 4876bf97a71466987e91a983b18dfc61076e39a0 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Mon, 12 May 2025 11:42:13 +0800 Subject: [PATCH] add quick config page --- .../iflytop/app/hardware/type/StepMotorMId.java | 2 - .../iflytop/app/menu/ExtApiPageGroupCfgMgr.java | 4 +- src/main/java/iflytop/app/page/MotorCtrlPage.java | 2 +- .../app/page/MotorParameterQuickConfigPage.java | 74 ++++++++++++++++++++++ 4 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 src/main/java/iflytop/app/page/MotorParameterQuickConfigPage.java diff --git a/src/main/java/iflytop/app/hardware/type/StepMotorMId.java b/src/main/java/iflytop/app/hardware/type/StepMotorMId.java index c5755b6..689ed13 100644 --- a/src/main/java/iflytop/app/hardware/type/StepMotorMId.java +++ b/src/main/java/iflytop/app/hardware/type/StepMotorMId.java @@ -6,8 +6,6 @@ public enum StepMotorMId { DoorM(MId.DoorM), ShakeM(MId.ShakeM), CapStorageM(MId.CapStorageM), - HBotXM(MId.HBotXM), - HBotYM(MId.HBotYM), HBotZM(MId.HBotZM), Heater1M(MId.Heater1M), Heater2M(MId.Heater2M), diff --git a/src/main/java/iflytop/app/menu/ExtApiPageGroupCfgMgr.java b/src/main/java/iflytop/app/menu/ExtApiPageGroupCfgMgr.java index 8de19a3..11b4a30 100644 --- a/src/main/java/iflytop/app/menu/ExtApiPageGroupCfgMgr.java +++ b/src/main/java/iflytop/app/menu/ExtApiPageGroupCfgMgr.java @@ -70,7 +70,9 @@ public class ExtApiPageGroupCfgMgr { new Menu(MotorCtrlPage.class, "电机驱动"), new Menu(LiquidArmPage.class, "加液臂驱动"), new Menu(LeisaiServoPage.class, "雷赛伺服电机驱动"), - new Menu(OutputIOCtrlPage.class, "输出IO控制") + new Menu(OutputIOCtrlPage.class, "输出IO控制"), + new Menu(MotorParameterQuickConfigPage.class, "电机参数快速配置") + ))); diff --git a/src/main/java/iflytop/app/page/MotorCtrlPage.java b/src/main/java/iflytop/app/page/MotorCtrlPage.java index 32684ab..406c0ef 100644 --- a/src/main/java/iflytop/app/page/MotorCtrlPage.java +++ b/src/main/java/iflytop/app/page/MotorCtrlPage.java @@ -54,7 +54,7 @@ public class MotorCtrlPage { public void stepMotorEasyMoveToZero() throws HardwareException { - stepMotorCtrlDriver.stepMotorEasyMoveToZero(id); + stepMotorCtrlDriver.stepMotorEasyMoveToZeroBlock(id); } public void stepMotorEasyMoveToZeroPointQuickBlock() throws HardwareException { diff --git a/src/main/java/iflytop/app/page/MotorParameterQuickConfigPage.java b/src/main/java/iflytop/app/page/MotorParameterQuickConfigPage.java new file mode 100644 index 0000000..c30c942 --- /dev/null +++ b/src/main/java/iflytop/app/page/MotorParameterQuickConfigPage.java @@ -0,0 +1,74 @@ +package iflytop.app.page; + +import iflytop.app.config.A8kSubModuleInitRegConfig; +import iflytop.app.hardware.channel.A8kCanBusService; +import iflytop.app.hardware.driver.StepMotorCtrlDriver; +import iflytop.app.hardware.type.*; +import iflytop.app.service.appsetup.A8kSubModuleRegInitService; +import iflytop.app.type.exception.HardwareException; +import iflytop.app.utils.ZJsonNode; +import iflytop.extui.mgr.ExtApiPageMgr; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +@Slf4j +public class MotorParameterQuickConfigPage { + @Resource + A8kSubModuleInitRegConfig a8kSubModuleInitRegConfig; + + @Resource + A8kCanBusService a8kCanBusService; + + @Resource + ExtApiPageMgr extApiPageMgr; + + StepMotorMId id = StepMotorMId.DoorM; + Integer dpos = 10; + StepMotorSpeedLevel speedLevel = StepMotorSpeedLevel.DEFAULT; + + + public void cpyHeaterElevatorMRegValFromM1() throws HardwareException { + List reglist = a8kSubModuleInitRegConfig.findRegIndexByModuleType(ModuleType.TMCStepMotor); + for (RegIndex regIndex : reglist) { + Integer regVal = a8kCanBusService.moduleGetReg(MId.Heater1M, regIndex); + log.info("cpyHeaterElevator regIndex: {}, regVal: {}", regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.Heater2M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.Heater3M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.Heater4M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.Heater5M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.Heater6M, regIndex, regVal); + } + } + + public void cpyPumpMRegValFromM1() throws HardwareException { + List reglist = a8kSubModuleInitRegConfig.findRegIndexByModuleType(ModuleType.TMCStepMotor); + for (RegIndex regIndex : reglist) { + Integer regVal = a8kCanBusService.moduleGetReg(MId.AcidPump1M, regIndex); + log.info("cpyPumpReg regIndex: {}, regVal: {}", regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.AcidPump2M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.AcidPump3M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.AcidPump4M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.AcidPump5M, regIndex, regVal); + a8kCanBusService.moduleSetReg(MId.AcidPump6M, regIndex, regVal); + } + } + + + @PostConstruct + void init() { + var page = extApiPageMgr.newPage(this); + page.addFunction("拷贝Heater1M电机参数到其他加热升降电机", this::cpyHeaterElevatorMRegValFromM1); + page.addFunction("拷贝AcidPump1M电机参数到其他泵机", this::cpyPumpMRegValFromM1); + + extApiPageMgr.addPage(page); + + + } +}