7 changed files with 112 additions and 112 deletions
-
72src/main/java/com/iflytop/gd/common/cmd/DeviceCommandGenerator.java
-
28src/main/java/com/iflytop/gd/common/enums/cmd/CmdDevice.java
-
16src/main/java/com/iflytop/gd/hardware/command/handlers/AcidPumpHandler.java
-
2src/main/java/com/iflytop/gd/hardware/command/handlers/DoorHandler.java
-
12src/main/java/com/iflytop/gd/hardware/command/handlers/FanHandler.java
-
6src/main/java/com/iflytop/gd/hardware/command/handlers/HBotHandler.java
-
88src/main/java/com/iflytop/gd/hardware/drivers/DIDriver/InputDetectDriver.java
@ -1,44 +1,44 @@ |
|||
package com.iflytop.gd.hardware.drivers.DIDriver; |
|||
|
|||
import com.iflytop.gd.hardware.comm.can.A8kCanBusService; |
|||
import com.iflytop.gd.hardware.exception.HardwareException; |
|||
import com.iflytop.gd.hardware.type.ModuleType; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Slf4j |
|||
@Component |
|||
@RequiredArgsConstructor |
|||
public class InputDetectDriver { |
|||
|
|||
private final A8kCanBusService a8kCanBusService; |
|||
|
|||
public Boolean getIOState(InputIOId ioid) throws HardwareException { |
|||
while (true) { |
|||
Boolean firstReadIO = priGetIOState(ioid); |
|||
Boolean secondReadIO = priGetIOState(ioid); |
|||
if (firstReadIO == secondReadIO) { |
|||
if (ioid.mirror) { |
|||
return !firstReadIO; |
|||
} |
|||
return firstReadIO; |
|||
} else { |
|||
log.warn("getIOState {} not match, retry", ioid); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
private Boolean priGetIOState(InputIOId ioid) throws HardwareException { |
|||
if (ioid.mtype == ModuleType.Board) { |
|||
return a8kCanBusService.callcmd(ioid.mid, CmdId.extboard_read_inio, ioid.ioIndex).getContentI32(0) != 0; |
|||
} else if (ioid.mtype == ModuleType.TMCStepMotor) { |
|||
return a8kCanBusService.callcmd(ioid.mid, CmdId.step_motor_read_io_state, ioid.ioIndex).getContentI32(0) != 0; |
|||
} else if (ioid.mtype == ModuleType.MiniServo) { |
|||
return a8kCanBusService.callcmd(ioid.mid, CmdId.mini_servo_read_io_state, ioid.ioIndex).getContentI32(0) != 0; |
|||
} else { |
|||
throw new HardwareException(new AECodeError(String.format("IOID MODULE TYPE %s NOT SUPPORT", ioid.mtype))); |
|||
} |
|||
} |
|||
} |
|||
//package com.iflytop.gd.hardware.drivers.DIDriver; |
|||
// |
|||
//import com.iflytop.gd.hardware.comm.can.A8kCanBusService; |
|||
//import com.iflytop.gd.hardware.exception.HardwareException; |
|||
//import com.iflytop.gd.hardware.type.ModuleType; |
|||
//import lombok.RequiredArgsConstructor; |
|||
//import lombok.extern.slf4j.Slf4j; |
|||
//import org.springframework.stereotype.Component; |
|||
// |
|||
//@Slf4j |
|||
//@Component |
|||
//@RequiredArgsConstructor |
|||
//public class InputDetectDriver { |
|||
// |
|||
// private final A8kCanBusService a8kCanBusService; |
|||
// |
|||
// public Boolean getIOState(InputIOId ioid) throws HardwareException { |
|||
// while (true) { |
|||
// Boolean firstReadIO = priGetIOState(ioid); |
|||
// Boolean secondReadIO = priGetIOState(ioid); |
|||
// if (firstReadIO == secondReadIO) { |
|||
// if (ioid.mirror) { |
|||
// return !firstReadIO; |
|||
// } |
|||
// return firstReadIO; |
|||
// } else { |
|||
// log.warn("getIOState {} not match, retry", ioid); |
|||
// } |
|||
// } |
|||
// } |
|||
// |
|||
// |
|||
// private Boolean priGetIOState(InputIOId ioid) throws HardwareException { |
|||
// if (ioid.mtype == ModuleType.Board) { |
|||
// return a8kCanBusService.callcmd(ioid.mid, CmdId.extboard_read_inio, ioid.ioIndex).getContentI32(0) != 0; |
|||
// } else if (ioid.mtype == ModuleType.TMCStepMotor) { |
|||
// return a8kCanBusService.callcmd(ioid.mid, CmdId.step_motor_read_io_state, ioid.ioIndex).getContentI32(0) != 0; |
|||
// } else if (ioid.mtype == ModuleType.MiniServo) { |
|||
// return a8kCanBusService.callcmd(ioid.mid, CmdId.mini_servo_read_io_state, ioid.ioIndex).getContentI32(0) != 0; |
|||
// } else { |
|||
// throw new HardwareException(new AECodeError(String.format("IOID MODULE TYPE %s NOT SUPPORT", ioid.mtype))); |
|||
// } |
|||
// } |
|||
//} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue