4 changed files with 89 additions and 13 deletions
-
26src/main/java/iflytop/app/hardware/driver/OutputIOCtrlDriver.java
-
35src/main/java/iflytop/app/hardware/type/OutputIOId.java
-
3src/main/java/iflytop/app/menu/ExtApiPageGroupCfgMgr.java
-
38src/main/java/iflytop/app/page/OutputIOCtrlPage.java
@ -0,0 +1,26 @@ |
|||
package iflytop.app.hardware.driver; |
|||
|
|||
import iflytop.app.hardware.channel.A8kCanBusService; |
|||
import iflytop.app.hardware.type.CmdId; |
|||
import iflytop.app.hardware.type.OutputIOId; |
|||
import iflytop.app.type.exception.HardwareException; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@RequiredArgsConstructor |
|||
public class OutputIOCtrlDriver { |
|||
private final A8kCanBusService canBus; |
|||
|
|||
public void setIOState(OutputIOId IOOutput, Boolean state) throws HardwareException { |
|||
canBus.callcmd(IOOutput.mid, CmdId.write_out_io, IOOutput.ioIndex, state ? 1 : 0); |
|||
} |
|||
|
|||
public void open(OutputIOId IOOutput) throws HardwareException { |
|||
this.setIOState(IOOutput, true); |
|||
} |
|||
|
|||
public void close(OutputIOId IOOutput) throws HardwareException { |
|||
this.setIOState(IOOutput, false); |
|||
} |
|||
} |
@ -1,21 +1,32 @@ |
|||
package iflytop.app.hardware.type; |
|||
|
|||
public enum OutputIOId { |
|||
// RecycleBinOverflowPPSPowerCtrl("废料仓-光栅电源",ModuleType.Board, MId.PlatesBoxTCMBoard, 0,false),//废料桶光栅电源 |
|||
// RecycleBinOverflowPPSPowerCtrl("废料仓-光栅电源",ModuleType.Board, MId.PlatesBoxTCMBoard, 0,false),//废料桶光栅电源 |
|||
DO_FAN1("FAN1", MId.IO1_IO, 0, false), |
|||
DO_FAN2("FAN2", MId.IO1_IO, 1, false), |
|||
DO_FAN3("FAN3", MId.IO1_IO, 2, false), |
|||
DO_FAN4("FAN4", MId.IO1_IO, 3, false), |
|||
DO_FAN5("FAN5", MId.IO1_IO, 4, false), |
|||
DO_FAN6("FAN6", MId.IO1_IO, 5, false), |
|||
DO_TRAY_MOTOR_CLAMP("TRAY_MOTOR_CLAMP [ 托盘电机 ] ", MId.IO1_IO, 6, false), |
|||
DO_HBOTZ_MOTOR_CLAMP("HBOTZ_MOTOR_CLAMP [ 龙门架Z轴 ] ", MId.IO1_IO, 7, false), |
|||
DO_WATER_PUMP("WATER_PUMP [ 水泵 ] ", MId.IO1_IO, 12, false), |
|||
DO_VENTILATOR("VENTILATOR [ 风机电源 ]", MId.IO1_IO, 13, false), |
|||
DO_COLD_TRAP_POWER("COLD_TRAP_POWER[ 冷阱 电源 ]", MId.IO1_IO, 14, false), |
|||
DO_BEEP("DO_BEEP [ 蜂鸣器 ]", MId.IO1_IO, 16, false), |
|||
DO_OUT17("DO_OUT17", MId.IO1_IO, 17, false), |
|||
; |
|||
|
|||
final public String chname; |
|||
final public ModuleType mtype; |
|||
final public MId mid; |
|||
final public int ioIndex; |
|||
final public boolean mirror; |
|||
final public String description; |
|||
final public MId mid; |
|||
final public int ioIndex; |
|||
final public boolean mirror; |
|||
|
|||
OutputIOId(String chname, ModuleType mtype, MId mid, int ioIndex, boolean mirror) { |
|||
this.chname = chname; |
|||
this.mtype = mtype; |
|||
this.mid = mid; |
|||
this.ioIndex = ioIndex; |
|||
this.mirror = mirror; |
|||
OutputIOId(String description, MId mid, int ioIndex, boolean mirror) { |
|||
this.description = description; |
|||
this.mid = mid; |
|||
this.ioIndex = ioIndex; |
|||
this.mirror = mirror; |
|||
|
|||
} |
|||
|
|||
|
@ -0,0 +1,38 @@ |
|||
package iflytop.app.page; |
|||
|
|||
import iflytop.app.hardware.driver.OutputIOCtrlDriver; |
|||
import iflytop.app.hardware.driver.StepMotorCtrlDriver; |
|||
import iflytop.app.hardware.type.*; |
|||
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 org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
public class OutputIOCtrlPage { |
|||
private static final Logger log = LoggerFactory.getLogger(OutputIOCtrlPage.class); |
|||
@Resource |
|||
OutputIOCtrlDriver outputIOCtrlDriver; |
|||
|
|||
@Resource |
|||
ExtApiPageMgr extApiPageMgr; |
|||
|
|||
public void setIOState(OutputIOId IOOutput, Boolean state) throws HardwareException { |
|||
outputIOCtrlDriver.setIOState(IOOutput, state); |
|||
} |
|||
|
|||
|
|||
@PostConstruct |
|||
void init() { |
|||
var page = extApiPageMgr.newPage(this); |
|||
page.addFunction("设置IO状态", this::setIOState); |
|||
|
|||
extApiPageMgr.addPage(page); |
|||
|
|||
|
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue