zhaohe 1 year ago
parent
commit
29f94e4103
  1. 20
      src/main/java/a8k/A8kApplication.java
  2. 33
      src/main/java/a8k/controller/TmpTestController.java
  3. 3
      src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java

20
src/main/java/a8k/A8kApplication.java

@ -0,0 +1,20 @@
package a8k;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@ControllerAdvice
public class A8kApplication {
@ResponseBody
@ExceptionHandler(value=Exception.class)
public Map<String,Object> controllerExceptionHandler(Exception e){
Map<String,Object> map = new HashMap<>();
map.put("success",false);
map.put("message",String.format("%s\n\nStack Trace : \n%s",e.getMessage(), Arrays.toString(e.getStackTrace())));
map.put("data", null);
return map;
}
}

33
src/main/java/a8k/controller/TmpTestController.java

@ -3,14 +3,47 @@ import a8k.a8k_can_protocol.CmdId;
import a8k.a8k_can_protocol.ModuleId;
import a8k.appbean.HardwareException;
import a8k.base_hardware.A8kCanBusService;
import a8k.service.A8kDebugTaskExecutorService;
import a8k.service.hardware.MotorTubeRackMoveCtrlService;
import com.iflytop.uf.util.UfClassHelper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
@Controller
public class TmpTestController {
@Resource
private A8kCanBusService a8kCanBusService;
@Resource
private MotorTubeRackMoveCtrlService motorTubeRackMoveCtrlService;
@Resource
private A8kDebugTaskExecutorService a8kDebugTaskExecutorService;
@PostMapping("/api/tmp-test/execute-service-method")
@ResponseBody
public String executeServiceMethod( @RequestBody Map<String,Object> params ) throws NoSuchMethodException {
Object service = this.motorTubeRackMoveCtrlService;
String methodName = (String)params.get("method");
List<Object> methodArgs = (List<Object>)params.get("params");
Object result = UfClassHelper.invokeMethod(service, methodName, methodArgs);
return "OK";
}
@PostMapping("/api/tmp-test/update-service-params")
@ResponseBody
public String updateServiceParams( @RequestBody Map<String,Object> params ) {
return "OK";
}
@PostMapping("/api/tmp-test/get-service-params")
@ResponseBody
public String getServiceParams() {
return "OK";
}
@GetMapping("/tmp-test/a8k-can-bus-service-call")
@ResponseBody

3
src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java

@ -53,7 +53,8 @@ public class MotorTubeRackMoveCtrlService {
//
public void moveToZeroWhenDeviceSetup() throws HardwareException, InterruptedException {
this.a8kCanBusService.callblockcmd(ModuleId.MotorTubeRackMoveModule, CmdId.kstep_motor_easy_move_to_zero, new Integer[]{}, 30*1000);
var params = this.serviceParameterDao.getParameter();
this.a8kCanBusService.callblockcmd(ModuleId.MotorTubeRackMoveModule, CmdId.kstep_motor_easy_move_to_zero, new Integer[]{}, params.moveToZeroOvertime);
}

Loading…
Cancel
Save