Browse Source

同步代码

master
白凤吉 3 months ago
parent
commit
49681b3054
  1. 47
      src/main/java/com/iflytop/gd/app/cmd/debug/DebugPumpSet.java
  2. 45
      src/main/java/com/iflytop/gd/app/cmd/debug/DebugPumpStop.java
  3. 20
      src/main/java/com/iflytop/gd/hardware/controller/ServoController.java
  4. 28
      src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java
  5. 25
      src/main/resources/sql/init.sql

47
src/main/java/com/iflytop/gd/app/cmd/debug/DebugPumpSet.java

@ -0,0 +1,47 @@
package com.iflytop.gd.app.cmd.debug;
import com.iflytop.gd.app.core.BaseCommandHandler;
import com.iflytop.gd.app.model.dto.CmdDTO;
import com.iflytop.gd.app.service.DeviceCommandService;
import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommand;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.cmd.CmdDevice;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* 加液泵 设置加液泵
*/
@Slf4j
@Component
@RequiredArgsConstructor
@CommandMapping("debug_pump_set")
public class DebugPumpSet extends BaseCommandHandler {
private final DeviceCommandService deviceCommandService;
@Override
public void handle(CmdDTO cmdDTO) throws Exception {
String pumpId = cmdDTO.getStringParam("pumpId");
Integer current = cmdDTO.getIntegerParam("current");
Double speed = cmdDTO.getDoubleParam("speed");
Double innerDiameter = cmdDTO.getDoubleParam("innerDiameter");
CmdDevice pumpDevice = CmdDevice.valueOf(pumpId);
DeviceCommand deviceCommand;
switch (pumpDevice) {
case CmdDevice.acid_pump_1 -> deviceCommand = DeviceCommandGenerator.acidPump1Set(current, speed);
case CmdDevice.acid_pump_2 -> deviceCommand = DeviceCommandGenerator.acidPump2Set(current, speed);
case CmdDevice.acid_pump_3 -> deviceCommand = DeviceCommandGenerator.acidPump3Set(current, speed);
case CmdDevice.acid_pump_4 -> deviceCommand = DeviceCommandGenerator.acidPump4Set(current, speed);
case CmdDevice.acid_pump_5 -> deviceCommand = DeviceCommandGenerator.acidPump5Set(current, speed);
case CmdDevice.acid_pump_6 -> deviceCommand = DeviceCommandGenerator.acidPump6Set(current, speed);
case CmdDevice.acid_pump_7 -> deviceCommand = DeviceCommandGenerator.acidPump7Set(current, speed);
case CmdDevice.acid_pump_8 -> deviceCommand = DeviceCommandGenerator.acidPump8Set(current, speed);
default -> throw new RuntimeException("pumpId 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);
commandWait(deviceCommandFuture);
}
}

45
src/main/java/com/iflytop/gd/app/cmd/debug/DebugPumpStop.java

@ -0,0 +1,45 @@
package com.iflytop.gd.app.cmd.debug;
import com.iflytop.gd.app.core.BaseCommandHandler;
import com.iflytop.gd.app.model.dto.CmdDTO;
import com.iflytop.gd.app.service.DeviceCommandService;
import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommand;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.cmd.CmdDevice;
import com.iflytop.gd.common.enums.cmd.CmdDirection;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* 加液泵 停止加液泵
*/
@Slf4j
@Component
@RequiredArgsConstructor
@CommandMapping("debug_pump_stop")
public class DebugPumpStop extends BaseCommandHandler {
private final DeviceCommandService deviceCommandService;
@Override
public void handle(CmdDTO cmdDTO) throws Exception {
String pumpId = cmdDTO.getStringParam("pumpId");
CmdDevice pumpDevice = CmdDevice.valueOf(pumpId);
DeviceCommand deviceCommand;
switch (pumpDevice) {
case CmdDevice.acid_pump_1 -> deviceCommand = DeviceCommandGenerator.acidPump1Stop();
case CmdDevice.acid_pump_2 -> deviceCommand = DeviceCommandGenerator.acidPump2Stop();
case CmdDevice.acid_pump_3 -> deviceCommand = DeviceCommandGenerator.acidPump3Stop();
case CmdDevice.acid_pump_4 -> deviceCommand = DeviceCommandGenerator.acidPump4Stop();
case CmdDevice.acid_pump_5 -> deviceCommand = DeviceCommandGenerator.acidPump5Stop();
case CmdDevice.acid_pump_6 -> deviceCommand = DeviceCommandGenerator.acidPump6Stop();
case CmdDevice.acid_pump_7 -> deviceCommand = DeviceCommandGenerator.acidPump7Stop();
case CmdDevice.acid_pump_8 -> deviceCommand = DeviceCommandGenerator.acidPump8Stop();
default -> throw new RuntimeException("pumpId 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);
commandWait(deviceCommandFuture);
}
}

20
src/main/java/com/iflytop/gd/hardware/controller/ServoController.java

@ -39,38 +39,38 @@ public class ServoController {
servoService.stop(deviceId); servoService.stop(deviceId);
} }
@PostMapping("/move_to")
@PostMapping("/move-to")
@Operation(summary = "移动(绝对)") @Operation(summary = "移动(绝对)")
public void moveTo(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException { public void moveTo(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException {
servoService.moveTo(deviceId, pos); servoService.moveTo(deviceId, pos);
} }
@PostMapping("/rotate_forward")
@PostMapping("/rotate-forward")
@Operation(summary = "正转") @Operation(summary = "正转")
public void rotate_forward(@RequestParam DeviceServoId deviceId) throws HardwareException {
public void rotateForward(@RequestParam DeviceServoId deviceId) throws HardwareException {
servoService.rotate(deviceId, 1); servoService.rotate(deviceId, 1);
} }
@PostMapping("/rotate_backward")
@PostMapping("/rotate-backward")
@Operation(summary = "反转") @Operation(summary = "反转")
public void rotate_backward(@RequestParam DeviceServoId deviceId) throws HardwareException {
public void rotateBackward(@RequestParam DeviceServoId deviceId) throws HardwareException {
servoService.rotate(deviceId, 0); servoService.rotate(deviceId, 0);
} }
@PostMapping("/rotate_with_torque")
@PostMapping("/rotate-with-torque")
@Operation(summary = "旋转(力矩)") @Operation(summary = "旋转(力矩)")
public void rotateWithTorque(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException { public void rotateWithTorque(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException {
servoService.rotateWithTorque(deviceId, pos); servoService.rotateWithTorque(deviceId, pos);
} }
@PostMapping("/move_to_zero")
@PostMapping("/move-to-zero")
@Operation(summary = "回Home") @Operation(summary = "回Home")
public void moveToZero(@RequestParam DeviceServoId deviceId) throws HardwareException { public void moveToZero(@RequestParam DeviceServoId deviceId) throws HardwareException {
servoService.moveToZero(deviceId); servoService.moveToZero(deviceId);
} }
// 寄存器操作 // 寄存器操作
@PostMapping("/limit_velocity")
@PostMapping("/limit-velocity")
@Operation(summary = "设置限速") @Operation(summary = "设置限速")
public void setLimitVelocity( public void setLimitVelocity(
@RequestParam DeviceServoId deviceId, @RequestParam DeviceServoId deviceId,
@ -78,7 +78,7 @@ public class ServoController {
servoService.setLimitVelocity(deviceId, val); servoService.setLimitVelocity(deviceId, val);
} }
@PostMapping("/limit_torque")
@PostMapping("/limit-torque")
@Operation(summary = "设置限力矩") @Operation(summary = "设置限力矩")
public void setLimitTorque( public void setLimitTorque(
@RequestParam DeviceServoId deviceId, @RequestParam DeviceServoId deviceId,
@ -86,7 +86,7 @@ public class ServoController {
servoService.setLimitTorque(deviceId, val); servoService.setLimitTorque(deviceId, val);
} }
@PostMapping("/protective_torque")
@PostMapping("/protective-torque")
@Operation(summary = "设置保护力矩") @Operation(summary = "设置保护力矩")
public void setProtectiveTorque( public void setProtectiveTorque(
@RequestParam DeviceServoId deviceId, @RequestParam DeviceServoId deviceId,

28
src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java

@ -13,14 +13,14 @@ import java.util.Map;
@Tag(name = "步进电机控制") @Tag(name = "步进电机控制")
@RestController @RestController
@RequestMapping("/api/step_motor")
@RequestMapping("/api/step-motor")
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class StepMotorController { public class StepMotorController {
private final StepMotorService stepMotorService; private final StepMotorService stepMotorService;
// 基础设置 // 基础设置
@PostMapping("/speed_level")
@PostMapping("/speed-level")
@Operation(summary = "设置速度等级") @Operation(summary = "设置速度等级")
public void setStepMotorSpeedLevel(@RequestParam StepMotorSpeedLevel speedLevel) { public void setStepMotorSpeedLevel(@RequestParam StepMotorSpeedLevel speedLevel) {
stepMotorService.setStepMotorSpeedLevel(speedLevel); stepMotorService.setStepMotorSpeedLevel(speedLevel);
@ -39,13 +39,13 @@ public class StepMotorController {
stepMotorService.disableMotor(deviceId); stepMotorService.disableMotor(deviceId);
} }
@PostMapping("/move_to_zero")
@PostMapping("/move-to-zero")
@Operation(summary = "回Home") @Operation(summary = "回Home")
public void stepMotorEasyMoveToZero(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { public void stepMotorEasyMoveToZero(@RequestParam DeviceStepMotorId deviceId) throws HardwareException {
stepMotorService.stepMotorEasyMoveToZero(deviceId); stepMotorService.stepMotorEasyMoveToZero(deviceId);
} }
@PostMapping("/move_to_zero_quick")
@PostMapping("/move-to-zero-quick")
@Operation(summary = "快速回Home") @Operation(summary = "快速回Home")
public void stepMotorEasyMoveToZeroPointQuickBlock(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { public void stepMotorEasyMoveToZeroPointQuickBlock(@RequestParam DeviceStepMotorId deviceId) throws HardwareException {
stepMotorService.stepMotorEasyMoveToZeroPointQuickBlock(deviceId); stepMotorService.stepMotorEasyMoveToZeroPointQuickBlock(deviceId);
@ -58,7 +58,7 @@ public class StepMotorController {
} }
// 相对移动 // 相对移动
@PostMapping("/move_by_forward")
@PostMapping("/move-by-forward")
@Operation(summary = "正向点动") @Operation(summary = "正向点动")
public void stepMotorEasyMoveByForward( public void stepMotorEasyMoveByForward(
@RequestParam DeviceStepMotorId deviceId, @RequestParam DeviceStepMotorId deviceId,
@ -66,7 +66,7 @@ public class StepMotorController {
stepMotorService.stepMotorEasyMoveByForward(deviceId, dpos); stepMotorService.stepMotorEasyMoveByForward(deviceId, dpos);
} }
@PostMapping("/move_by_backward")
@PostMapping("/move-by-backward")
@Operation(summary = "反向点动") @Operation(summary = "反向点动")
public void stepMotorEasyMoveByBackward( public void stepMotorEasyMoveByBackward(
@RequestParam DeviceStepMotorId deviceId, @RequestParam DeviceStepMotorId deviceId,
@ -75,7 +75,7 @@ public class StepMotorController {
} }
// 绝对移动 // 绝对移动
@PostMapping("/move_to")
@PostMapping("/move-to")
@Operation(summary = "移动(绝对)") @Operation(summary = "移动(绝对)")
public void stepMotorEasyMoveTo( public void stepMotorEasyMoveTo(
@RequestParam DeviceStepMotorId deviceId, @RequestParam DeviceStepMotorId deviceId,
@ -84,13 +84,13 @@ public class StepMotorController {
} }
// 旋转 // 旋转
@PostMapping("/rotate_forward")
@PostMapping("/rotate-forward")
@Operation(summary = "正转") @Operation(summary = "正转")
public void rotateForward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { public void rotateForward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException {
stepMotorService.rotateForward(deviceId); stepMotorService.rotateForward(deviceId);
} }
@PostMapping("/rotate_backward")
@PostMapping("/rotate-backward")
@Operation(summary = "反转") @Operation(summary = "反转")
public void rotateBackward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { public void rotateBackward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException {
stepMotorService.rotateBackward(deviceId); stepMotorService.rotateBackward(deviceId);
@ -121,7 +121,7 @@ public class StepMotorController {
stepMotorService.setIHOLD(deviceId, ihold); stepMotorService.setIHOLD(deviceId, ihold);
} }
@PostMapping("/start_stop_vel")
@PostMapping("/start-stop-vel")
@Operation(summary = "设置起停速度") @Operation(summary = "设置起停速度")
public void setStartAndStopVel( public void setStartAndStopVel(
@RequestParam DeviceStepMotorId deviceId, @RequestParam DeviceStepMotorId deviceId,
@ -145,7 +145,7 @@ public class StepMotorController {
stepMotorService.setA1AndD1(deviceId, acc); stepMotorService.setA1AndD1(deviceId, acc);
} }
@PostMapping("/max_acceleration")
@PostMapping("/max-acceleration")
@Operation(summary = "设置最大加速度") @Operation(summary = "设置最大加速度")
public void setAmaxAndDmax( public void setAmaxAndDmax(
@RequestParam DeviceStepMotorId deviceId, @RequestParam DeviceStepMotorId deviceId,
@ -153,7 +153,7 @@ public class StepMotorController {
stepMotorService.setAmaxAndDmax(deviceId, acc); stepMotorService.setAmaxAndDmax(deviceId, acc);
} }
@PostMapping("/default_velocity")
@PostMapping("/default-velocity")
@Operation(summary = "设置默认速度") @Operation(summary = "设置默认速度")
public void setDefaultVel( public void setDefaultVel(
@RequestParam DeviceStepMotorId deviceId, @RequestParam DeviceStepMotorId deviceId,
@ -171,7 +171,7 @@ public class StepMotorController {
stepMotorService.setSpeed(deviceId, low, mid, high); stepMotorService.setSpeed(deviceId, low, mid, high);
} }
@PostMapping("/one_circle_pulse")
@PostMapping("/one-circle-pulse")
@Operation(summary = "设置一圈脉冲数") @Operation(summary = "设置一圈脉冲数")
public void setOneCirclePulse( public void setOneCirclePulse(
@RequestParam DeviceStepMotorId deviceId, @RequestParam DeviceStepMotorId deviceId,
@ -218,7 +218,7 @@ public class StepMotorController {
return stepMotorService.readPos(deviceId); return stepMotorService.readPos(deviceId);
} }
@GetMapping("/encoder_position")
@GetMapping("/encoder-position")
@Operation(summary = "读取编码器位置") @Operation(summary = "读取编码器位置")
public Integer readEncPos(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { public Integer readEncPos(@RequestParam DeviceStepMotorId deviceId) throws HardwareException {
return stepMotorService.readEncPos(deviceId); return stepMotorService.readEncPos(deviceId);

25
src/main/resources/sql/init.sql

@ -43,8 +43,8 @@ CREATE TABLE IF NOT EXISTS container (
pump_id TEXT, pump_id TEXT,
capacity_total INTEGER, capacity_total INTEGER,
capacity_used INTEGER, capacity_used INTEGER,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
); );
INSERT OR IGNORE INTO container (id, type, solution_id, pump_id, capacity_total, capacity_used) INSERT OR IGNORE INTO container (id, type, solution_id, pump_id, capacity_total, capacity_used)
@ -78,21 +78,22 @@ VALUES
(6, '磷酸', '2025-02-18 02:46:43', '2025-02-18 02:46:43'), (6, '磷酸', '2025-02-18 02:46:43', '2025-02-18 02:46:43'),
(7, '纯水', '2025-02-18 02:46:50', '2025-02-18 02:46:50'); (7, '纯水', '2025-02-18 02:46:50', '2025-02-18 02:46:50');
-- 设备参数配置 表
CREATE TABLE IF NOT EXISTS device_param_config (
id INTEGER PRIMARY KEY AUTOINCREMENT,
mid TEXT,
reg_index TEXT,
reg_val INTEGER,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-- 设备配置 表
CREATE TABLE IF NOT EXISTS device_config (
id INTEGER PRIMARY KEY AUTOINCREMENT,
device TEXT,
regIndex TEXT,
valueType TEXT,
value TEXT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
); );
-- 系统配置 表 -- 系统配置 表
CREATE TABLE IF NOT EXISTS system_config ( CREATE TABLE IF NOT EXISTS system_config (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
key TEXT NOT NULL UNIQUE,
value TEXT,
key TEXT NOT NULL UNIQUE,
value TEXT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
); );
Loading…
Cancel
Save