Browse Source

注册执行器组件

master
sige 2 years ago
parent
commit
64b34b5b5d
  1. 4
      src/src/main/java/com/my/graphiteDigesterBg/MyApplication.java
  2. 49
      src/src/main/java/com/my/graphiteDigesterBg/MyApplicationRunner.java
  3. 12
      src/src/main/java/com/my/graphiteDigesterBg/MyDevice.java
  4. 19
      src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java
  5. 26
      src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceActuatorManager.java
  6. 8
      src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActMotor.java
  7. 3
      src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActPeristalticPump.java
  8. 3
      src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActServo.java
  9. 5
      src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java

4
src/src/main/java/com/my/graphiteDigesterBg/GraphiteDigesterBgApplication.java → src/src/main/java/com/my/graphiteDigesterBg/MyApplication.java

@ -2,8 +2,8 @@ package com.my.graphiteDigesterBg;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GraphiteDigesterBgApplication {
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(GraphiteDigesterBgApplication.class, args);
SpringApplication.run(MyApplication.class, args);
}
}

49
src/src/main/java/com/my/graphiteDigesterBg/MyApplicationRunner.java

@ -0,0 +1,49 @@
package com.my.graphiteDigesterBg;
import com.my.graphiteDigesterBg.diframe.DiDevice;
import com.my.graphiteDigesterBg.diframe.DiDeviceActuatorManager;
import com.my.graphiteDigesterBg.diframe.actuator.DiActMotor;
import jakarta.annotation.Resource;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Order(1)
@Component
public class MyApplicationRunner implements ApplicationRunner {
@Resource
private DiDevice device;
@Override
public void run(ApplicationArguments args) throws Exception {
this.setupActuators();
}
// setup actuators
private void setupActuators() {
DiDeviceActuatorManager actuators = this.device.getActuators();
actuators.register(MyDevice.ACT_HEAT_PLATE_MOTOR, new DiActMotor(){{
id = 11;
}});
actuators.register(MyDevice.ACT_HEAT_SLOT_01_COVER_SERVO, new DiActMotor(){{
id = 12;
}});
actuators.register(MyDevice.ACT_TRANSFER_UD_MOTOR, new DiActMotor(){{
id = 21;
}});
actuators.register(MyDevice.ACT_TRANSFER_CLIP_SERVO, new DiActMotor(){{
id = 22;
}});
actuators.register(MyDevice.ACT_TRANSFER_LR_MOTOR, new DiActMotor(){{
id = 31;
}});
actuators.register(MyDevice.ACT_LIQUID_MOTOR, new DiActMotor(){{
id = 41;
}});
actuators.register(MyDevice.ACT_LIQUID_PLATE_MOTOR, new DiActMotor(){{
id = 51;
}});
actuators.register(MyDevice.ACT_LIQUID_PERISTALTIC_PUMP, new DiActMotor(){{
id = 61;
}});
}
}

12
src/src/main/java/com/my/graphiteDigesterBg/MyDevice.java

@ -0,0 +1,12 @@
package com.my.graphiteDigesterBg;
import com.my.graphiteDigesterBg.diframe.DiDevice;
public class MyDevice extends DiDevice {
public static String ACT_HEAT_PLATE_MOTOR = "heatPlateMotor";
public static String ACT_HEAT_SLOT_01_COVER_SERVO = "heatSlot01CoverServo";
public static String ACT_TRANSFER_LR_MOTOR = "transferLeftRightMotor";
public static String ACT_TRANSFER_UD_MOTOR = "transferUpDownMotor";
public static String ACT_TRANSFER_CLIP_SERVO = "transferClipServo";
public static String ACT_LIQUID_MOTOR = "liquidMotor";
public static String ACT_LIQUID_PLATE_MOTOR = "liquidPlateMotor";
public static String ACT_LIQUID_PERISTALTIC_PUMP = "liquidPeristalticPump";
}

19
src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java

@ -0,0 +1,19 @@
package com.my.graphiteDigesterBg.diframe;
import jakarta.annotation.PostConstruct;
import org.springframework.stereotype.Component;
@Component
public class DiDevice {
// actuator manager
private DiDeviceActuatorManager actuators;
@PostConstruct
public void init() {
this.actuators = new DiDeviceActuatorManager(this);
}
// get actuator manager
public DiDeviceActuatorManager getActuators() {
return this.actuators;
}
}

26
src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceActuatorManager.java

@ -0,0 +1,26 @@
package com.my.graphiteDigesterBg.diframe;
import com.my.graphiteDigesterBg.diframe.actuator.DiActuator;
import java.util.HashMap;
import java.util.Map;
public class DiDeviceActuatorManager {
// device instance
private final DiDevice device;
// id => actuator
private final Map<String, DiActuator> actuators;
// constructor
public DiDeviceActuatorManager(DiDevice device ) {
this.device = device;
this.actuators = new HashMap<String, DiActuator>();
}
// register actuator
public void register( String id, DiActuator actuator ) {
this.actuators.put( id, actuator );
}
// get actuator
public void get( String id ) {
this.actuators.get( id );
}
}

8
src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActMotor.java

@ -1,4 +1,8 @@
package com.my.graphiteDigesterBg.diframe.actuator;
public class DiActMotor {
public class DiActMotor extends DiActuatorBase {
public void moveTo( Integer pos ) {}
public void moveBy( Integer delta ) {}
public void rotate( Integer direction ) {}
public void stop() {}
public void reset() {}
}

3
src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActPeristalticPump.java

@ -0,0 +1,3 @@
package com.my.graphiteDigesterBg.diframe.actuator;
public class DiActPeristalticPump extends DiActuatorBase {
}

3
src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActServo.java

@ -0,0 +1,3 @@
package com.my.graphiteDigesterBg.diframe.actuator;
public class DiActServo extends DiActuatorBase {
}

5
src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java

@ -1,4 +1,5 @@
package com.my.graphiteDigesterBg.diframe.actuator;
public class DiActuatorBase {
abstract public class DiActuatorBase implements DiActuator {
// id
protected Integer id;
}
Loading…
Cancel
Save