From 50f5314c9ea4c65124205f433b653de37869312f Mon Sep 17 00:00:00 2001 From: HSZ_HeSongZhen <210202959@qq.com> Date: Tue, 29 Jul 2025 19:04:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E9=85=B8=E4=BB=AA=20V2=20=E7=A1=AC?= =?UTF-8?q?=E4=BB=B6=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/handlers/CeramicPumpHandler.java | 170 ++++++++++----------- .../hardware/command/handlers/IOCtrlHandler.java | 4 + .../hardware/command/handlers/MotorHandler.java | 8 +- .../hardware/service/BleGamepadService.java | 62 ++++++++ .../handacid/hardware/type/BleGamepadMid.java | 15 ++ .../com/iflytop/handacid/hardware/type/CmdId.java | 6 + .../handacid/hardware/type/IO/OutputIOMId.java | 9 +- .../com/iflytop/handacid/hardware/type/MId.java | 44 ++---- .../iflytop/handacid/hardware/type/ModuleType.java | 5 + .../handacid/hardware/type/Servo/MiniServoId.java | 2 +- .../handacid/hardware/type/Servo/MiniServoMId.java | 2 +- .../hardware/type/StepMotor/StepMotorMId.java | 24 +-- .../handacid/hardware/type/TecHeaterRodMId.java | 4 +- .../hardware/type/appevent/A8kHardwareReport.java | 24 +++ 14 files changed, 226 insertions(+), 153 deletions(-) create mode 100644 src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java create mode 100644 src/main/java/com/iflytop/handacid/hardware/type/BleGamepadMid.java create mode 100644 src/main/java/com/iflytop/handacid/hardware/type/appevent/A8kHardwareReport.java diff --git a/src/main/java/com/iflytop/handacid/hardware/command/handlers/CeramicPumpHandler.java b/src/main/java/com/iflytop/handacid/hardware/command/handlers/CeramicPumpHandler.java index 82693f5..add9336 100644 --- a/src/main/java/com/iflytop/handacid/hardware/command/handlers/CeramicPumpHandler.java +++ b/src/main/java/com/iflytop/handacid/hardware/command/handlers/CeramicPumpHandler.java @@ -1,85 +1,85 @@ -package com.iflytop.handacid.hardware.command.handlers; - -import com.iflytop.handacid.app.core.command.DeviceCommand; -import com.iflytop.handacid.common.enums.Action; -import com.iflytop.handacid.common.enums.Device; -import com.iflytop.handacid.common.enums.MotorDirection; -import com.iflytop.handacid.hardware.command.CommandHandler; -import com.iflytop.handacid.hardware.drivers.CeramicPumpDriver; -import com.iflytop.handacid.hardware.type.CeramicPumpDriverSlaveId; -import com.iflytop.handacid.hardware.type.MId; -import com.iflytop.handacid.hardware.type.StepMotor.MotorDirect; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import static java.lang.Math.abs; - -@Slf4j -@Component -@RequiredArgsConstructor -public class CeramicPumpHandler extends CommandHandler { - private final CeramicPumpDriver driver_; - - private final Map stepMotorMIdMap_ = Map.ofEntries( - Map.entry(Device.PUMP_1, CeramicPumpDriverSlaveId.CERAMIC_PUMP1_ID), - Map.entry(Device.PUMP_2, CeramicPumpDriverSlaveId.CERAMIC_PUMP2_ID) - ); - private final Map supportCmdDeviceMIdMap = stepMotorMIdMap_.entrySet().stream(). - collect(Collectors.toMap(Map.Entry::getKey, entry -> MId.NotSet)); - - private final Set supportActions = Set.of( - Action.SET, Action.CLOSE_CLAMP, - Action.MOVE_BY, - Action.STOP); - - @Override - protected Map getSupportCmdDeviceMIdMap() { - return supportCmdDeviceMIdMap; - } - - @Override - protected Set getSupportActions() { - return supportActions; - } - - public MotorDirect getMotorDirect(MotorDirection cmdDirection) - { - return switch (cmdDirection) { - case FORWARD -> MotorDirect.FORWARD; - case BACKWARD -> MotorDirect.BACKWARD; - }; - } - - @Override - public void handleCommand(DeviceCommand command) throws Exception { - // 发送命令 - CeramicPumpDriverSlaveId slaveId = stepMotorMIdMap_.get(command.getDevice()); - - switch (command.getAction()) { - case MOVE_BY -> { - double distance = command.getParam().getPosition(); - log.info("Motor {} Move By Distance {}", slaveId, distance); - CeramicPumpDriver.Direction direction = distance < 0 ? - CeramicPumpDriver.Direction.BACKWARD : CeramicPumpDriver.Direction.FORWARD; - driver_.moveByBlock(slaveId, direction, abs((int)(distance))); - } - case STOP -> { - log.info("Motor {} Stop", slaveId); - driver_.stopBlock(slaveId); - } - case SET -> { - Double speed = command.getParam().getSpeed(); - if (speed != null) { - double d_speed = speed; - log.info("Motor {} Set Speed {}", slaveId, speed); - driver_.setSpeed(slaveId, (int)d_speed); - } - } - } - } -} \ No newline at end of file +//package com.iflytop.handacid.hardware.command.handlers; +// +//import com.iflytop.handacid.app.core.command.DeviceCommand; +//import com.iflytop.handacid.common.enums.Action; +//import com.iflytop.handacid.common.enums.Device; +//import com.iflytop.handacid.common.enums.MotorDirection; +//import com.iflytop.handacid.hardware.command.CommandHandler; +//import com.iflytop.handacid.hardware.drivers.CeramicPumpDriver; +//import com.iflytop.handacid.hardware.type.CeramicPumpDriverSlaveId; +//import com.iflytop.handacid.hardware.type.MId; +//import com.iflytop.handacid.hardware.type.StepMotor.MotorDirect; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.stereotype.Component; +// +//import java.util.Map; +//import java.util.Set; +//import java.util.stream.Collectors; +// +//import static java.lang.Math.abs; +// +//@Slf4j +//@Component +//@RequiredArgsConstructor +//public class CeramicPumpHandler extends CommandHandler { +// private final CeramicPumpDriver driver_; +// +// private final Map stepMotorMIdMap_ = Map.ofEntries( +// Map.entry(Device.PUMP_1, CeramicPumpDriverSlaveId.CERAMIC_PUMP1_ID), +// Map.entry(Device.PUMP_2, CeramicPumpDriverSlaveId.CERAMIC_PUMP2_ID) +// ); +// private final Map supportCmdDeviceMIdMap = stepMotorMIdMap_.entrySet().stream(). +// collect(Collectors.toMap(Map.Entry::getKey, entry -> MId.NotSet)); +// +// private final Set supportActions = Set.of( +// Action.SET, Action.CLOSE_CLAMP, +// Action.MOVE_BY, +// Action.STOP); +// +// @Override +// protected Map getSupportCmdDeviceMIdMap() { +// return supportCmdDeviceMIdMap; +// } +// +// @Override +// protected Set getSupportActions() { +// return supportActions; +// } +// +// public MotorDirect getMotorDirect(MotorDirection cmdDirection) +// { +// return switch (cmdDirection) { +// case FORWARD -> MotorDirect.FORWARD; +// case BACKWARD -> MotorDirect.BACKWARD; +// }; +// } +// +// @Override +// public void handleCommand(DeviceCommand command) throws Exception { +// // 发送命令 +// CeramicPumpDriverSlaveId slaveId = stepMotorMIdMap_.get(command.getDevice()); +// +// switch (command.getAction()) { +// case MOVE_BY -> { +// double distance = command.getParam().getPosition(); +// log.info("Motor {} Move By Distance {}", slaveId, distance); +// CeramicPumpDriver.Direction direction = distance < 0 ? +// CeramicPumpDriver.Direction.BACKWARD : CeramicPumpDriver.Direction.FORWARD; +// driver_.moveByBlock(slaveId, direction, abs((int)(distance))); +// } +// case STOP -> { +// log.info("Motor {} Stop", slaveId); +// driver_.stopBlock(slaveId); +// } +// case SET -> { +// Double speed = command.getParam().getSpeed(); +// if (speed != null) { +// double d_speed = speed; +// log.info("Motor {} Set Speed {}", slaveId, speed); +// driver_.setSpeed(slaveId, (int)d_speed); +// } +// } +// } +// } +//} \ No newline at end of file diff --git a/src/main/java/com/iflytop/handacid/hardware/command/handlers/IOCtrlHandler.java b/src/main/java/com/iflytop/handacid/hardware/command/handlers/IOCtrlHandler.java index 40949d5..a478e14 100644 --- a/src/main/java/com/iflytop/handacid/hardware/command/handlers/IOCtrlHandler.java +++ b/src/main/java/com/iflytop/handacid/hardware/command/handlers/IOCtrlHandler.java @@ -23,6 +23,10 @@ import java.util.stream.Collectors; public class IOCtrlHandler extends CommandHandler { private final OutputIOCtrlDriver driver_; private final Map supportCmdDeviceIOOutputMap = Map.ofEntries( + Map.entry(Device.VALVE_1, OutputIOMId.DO_VALVE1), + Map.entry(Device.VALVE_2, OutputIOMId.DO_VALVE2), + Map.entry(Device.VALVE_3, OutputIOMId.DO_VALVE3), + Map.entry(Device.VALVE_4, OutputIOMId.DO_VALVE4) ); private final Map supportCmdDeviceMIdMap = supportCmdDeviceIOOutputMap.entrySet().stream() diff --git a/src/main/java/com/iflytop/handacid/hardware/command/handlers/MotorHandler.java b/src/main/java/com/iflytop/handacid/hardware/command/handlers/MotorHandler.java index 17a526b..1b5757d 100644 --- a/src/main/java/com/iflytop/handacid/hardware/command/handlers/MotorHandler.java +++ b/src/main/java/com/iflytop/handacid/hardware/command/handlers/MotorHandler.java @@ -25,10 +25,10 @@ public class MotorHandler extends CommandHandler { private final MotorWrapperDriver driver_; private final Map stepMotorMIdMap_ = Map.ofEntries( - Map.entry(Device.PUMP_1, StepMotorMId.BrushlessPump1M), - Map.entry(Device.PUMP_2, StepMotorMId.BrushlessPump2M), - Map.entry(Device.PUMP_3, StepMotorMId.BrushlessPump3M), - Map.entry(Device.PUMP_4, StepMotorMId.BrushlessPump4M) + Map.entry(Device.PUMP_1, StepMotorMId.HandAcid1M), + Map.entry(Device.PUMP_2, StepMotorMId.HandAcid2M), + Map.entry(Device.PUMP_3, StepMotorMId.HandAcid3M), + Map.entry(Device.PUMP_4, StepMotorMId.HandAcid4M) ); private final Map supportCmdDeviceMIdMap = stepMotorMIdMap_.entrySet().stream(). collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().mid)); diff --git a/src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java b/src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java new file mode 100644 index 0000000..164463a --- /dev/null +++ b/src/main/java/com/iflytop/handacid/hardware/service/BleGamepadService.java @@ -0,0 +1,62 @@ +package com.iflytop.handacid.hardware.service; + +import com.iflytop.handacid.hardware.comm.can.A8kCanBusService; +import com.iflytop.handacid.hardware.type.A8kPacket; +import com.iflytop.handacid.hardware.type.CmdId; +import com.iflytop.handacid.hardware.type.appevent.A8kCanBusOnConnectEvent; +import com.iflytop.handacid.hardware.type.appevent.A8kHardwareReport; +import com.iflytop.handacid.hardware.type.appevent.AppEvent; +import jakarta.annotation.PostConstruct; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import jakarta.annotation.PostConstruct; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 蓝牙手柄服务管理 + * + */ + +@Component +@Slf4j +@RequiredArgsConstructor +public class BleGamepadService { + private final A8kCanBusService canBus; + private final AppEventBusService eventBus; + + @PostConstruct + synchronized public void init() { + eventBus.regListener(this::onAppEvent); + } + + + /** + * 事件总线事件处理 + * @param event e + */ + private void onAppEvent(AppEvent event) { + if (event instanceof A8kHardwareReport canPacket) { + A8kPacket packet = canPacket.getReportPacket(); + CmdId cmdId = CmdId.valueOf(packet.getCmdId()); + if (CmdId.event_ble_gamepad_liquid_acid.equals(cmdId)) { + log.info("蓝牙手柄 加酸按钮 按下"); + } else if (CmdId.event_ble_gamepad_liquid_acid_prefilling.equals(cmdId)) { + log.info("蓝牙手柄 预充按钮 按下"); + } + else if (CmdId.event_ble_gamepad_connected.equals(cmdId)) { + log.info("蓝牙手柄 连接成功"); + } + else if (CmdId.event_ble_gamepad_disconnected.equals(cmdId)) { + log.info("蓝牙手柄 连接断开"); + } + + } else if (event instanceof A8kCanBusOnConnectEvent canPacket) { + log.info("a8k canbus connect sucess"); + } + } + +} + diff --git a/src/main/java/com/iflytop/handacid/hardware/type/BleGamepadMid.java b/src/main/java/com/iflytop/handacid/hardware/type/BleGamepadMid.java new file mode 100644 index 0000000..2d38c02 --- /dev/null +++ b/src/main/java/com/iflytop/handacid/hardware/type/BleGamepadMid.java @@ -0,0 +1,15 @@ +package com.iflytop.handacid.hardware.type; + +import org.springframework.util.Assert; +public enum BleGamepadMid { + BleGamePad(MId.BleGamePad), + ; + + final public MId mid; + + BleGamepadMid(MId mid) { + Assert.isTrue(this.name().equals(mid.name()), "BleGamepadMid Init fail"); + this.mid = mid; + } + +} diff --git a/src/main/java/com/iflytop/handacid/hardware/type/CmdId.java b/src/main/java/com/iflytop/handacid/hardware/type/CmdId.java index af64f4e..e3ae72c 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/CmdId.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/CmdId.java @@ -117,6 +117,12 @@ public enum CmdId { tec103_heater_set_target_temperature(0x5803, "TEC103_HEATER_SET_TARGET_TEMPERATURE"), tec103_heater_read_temperature(0x5804, "TEC103_HEATER_READ_TEMPERATURE"), tec103_heater_factory_reset(0x5805, "TEC103_HEATER_FACTORY_RESET"), + + event_ble_gamepad_liquid_acid(0x5901, "EVENT_BLE_GAMEPAD_LIQUID_ACID"), + event_ble_gamepad_liquid_acid_prefilling(0x5902, "EVENT_BLE_GAMEPAD_LIQUID_ACID_PREFILLING"), + event_ble_gamepad_connected(0x5903, "EVENT_BLE_GAMEPAD_CONNECTED"), + event_ble_gamepad_disconnected(0x5904, "EVENT_BLE_GAMEPAD_DISCONNECTED"), + ble_gamepad_is_connected(0x5905, "BLE_GAMEPAD_IS_CONNECTED"), ; public final static int ATTACH_IS_BYTES = 1; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/IO/OutputIOMId.java b/src/main/java/com/iflytop/handacid/hardware/type/IO/OutputIOMId.java index 10d8500..3def361 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/IO/OutputIOMId.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/IO/OutputIOMId.java @@ -4,11 +4,10 @@ import com.iflytop.handacid.hardware.type.MId; public enum OutputIOMId { - 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), - SYSTEM_POWER("SYSTEM_POWER", MId.IO1_IO, 4, false), + DO_VALVE1("电磁阀1", MId.IO1_IO, 0, false), + DO_VALVE2("电磁阀2", MId.IO1_IO, 1, false), + DO_VALVE3("电磁阀3", MId.IO1_IO, 2, false), + DO_VALVE4("电磁阀4", MId.IO1_IO, 3, false), ; final public String description; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/MId.java b/src/main/java/com/iflytop/handacid/hardware/type/MId.java index f460cd4..a77ad79 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/MId.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/MId.java @@ -7,41 +7,15 @@ public enum MId { NotSet(0, "未设置"), IO1Board(5, "台面 IO 板模块"), IO1_IO(6, "台面 IO 板模块"), - IO1_TriColorLight(7, "三色灯"), - IO1_ADC(9, "台面 ADC 板模块"), - - RobotArmBoard(40, "机械臂控制板"), - DualRobot1M(41, "机械臂X轴电机"), - DualRobot2M(42, "机械臂Y轴电机"), - RobotArmZM(43, "机械臂Z轴电机"), - RobotArmClawSV(44, "机械臂夹爪伺服"), - - BrushlessPumpBoard(50, "无刷泵控制板"), - BrushlessPump1M(51, "无刷泵1号电机"), - BrushlessPump2M(52, "无刷泵2号电机"), - BrushlessPump3M(53, "无刷泵3号电机"), - BrushlessPump4M(54, "无刷泵4号电机"), - BrushlessPump5M(55, "无刷泵5号电机"), - BrushlessPump6M(56, "无刷泵6号电机"), - BrushlessPump7M(57, "无刷泵7号电机"), - BrushlessPump8M(58, "无刷泵8号电机"), - BrushlessPump9M(59, "无刷泵9号电机"), - BrushlessPump10M(60, "无刷泵10号电机"), - - - StepPumpBoard(65, "步进泵控制板"), - StepPump1M(66, "步进泵1号"), - StepPump2M(67, "步进泵2号"), - StepPump3M(68, "步进泵3号"), - - - TitratorBoard(75, "滴定仪控制板"), - TitratorStir1M(76, "滴定仪搅拌1泵"), - TitratorStir2M(77, "滴定仪搅拌2泵"), - Titrator1M(78, "滴定仪1泵"), - Titrator2M(79, "滴定仪2泵"), - HeaterRod1(80, "加热棒1"), - HeaterRod2(81, "加热棒2"), +// IO1_TriColorLight(7, "三色灯"), +// IO1_ADC(9, "台面 ADC 板模块"), + + HandAcidBoard(40, "加酸控制模块"), + HandAcid1M(41, "加酸泵1"), + HandAcid2M(42, "加酸泵2"), + HandAcid3M(43, "加酸泵3"), + HandAcid4M(44, "加酸泵4"), + BleGamePad(45, "蓝牙手柄模块"), ; final public String description; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/ModuleType.java b/src/main/java/com/iflytop/handacid/hardware/type/ModuleType.java index b65be80..78fa936 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/ModuleType.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/ModuleType.java @@ -12,6 +12,11 @@ public enum ModuleType { ADC(103), // ADC扩展 LeiSaiServo(104), // 雷赛伺服 LiquidDistributionArm(105), // 液体分配机械臂控制 + ChimeBuzzer(106), // 和弦蜂鸣器 + LiquidValve(107), // 加液四通阀 + Tec103Heater(108), // TEC 103加热头 + BleGamePad(109), // 蓝牙游戏手柄 + CodeScanner(201), // 条形码扫描器 UNKNOWN(999); // 未知类型 public final int code; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoId.java b/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoId.java index 254a303..836c247 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoId.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoId.java @@ -1,7 +1,7 @@ package com.iflytop.handacid.hardware.type.Servo; public enum MiniServoId { - claw(MiniServoMId.RobotArmClawSV, "夹爪"), +// claw(MiniServoMId.RobotArmClawSV, "夹爪"), ; private MiniServoMId servoMId; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoMId.java b/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoMId.java index 827d692..aeb9fee 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoMId.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/Servo/MiniServoMId.java @@ -4,7 +4,7 @@ import com.iflytop.handacid.hardware.type.MId; public enum MiniServoMId { NotSet(MId.NotSet),// - RobotArmClawSV(MId.RobotArmClawSV), +// RobotArmClawSV(MId.RobotArmClawSV), ; final public MId mid; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/StepMotor/StepMotorMId.java b/src/main/java/com/iflytop/handacid/hardware/type/StepMotor/StepMotorMId.java index 23b7f7c..baaeb39 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/StepMotor/StepMotorMId.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/StepMotor/StepMotorMId.java @@ -3,26 +3,10 @@ package com.iflytop.handacid.hardware.type.StepMotor; import com.iflytop.handacid.hardware.type.MId; public enum StepMotorMId { - DualRobot1M(MId.DualRobot1M), - DualRobot2M(MId.DualRobot2M), - RobotArmZM(MId.RobotArmZM), - BrushlessPump1M(MId.BrushlessPump1M), - BrushlessPump2M(MId.BrushlessPump2M), - BrushlessPump3M(MId.BrushlessPump3M), - BrushlessPump4M(MId.BrushlessPump4M), - BrushlessPump5M(MId.BrushlessPump5M), - BrushlessPump6M(MId.BrushlessPump6M), - BrushlessPump7M(MId.BrushlessPump7M), - BrushlessPump8M(MId.BrushlessPump8M), - BrushlessPump9M(MId.BrushlessPump9M), - BrushlessPump10M(MId.BrushlessPump10M), - StepPump1M(MId.StepPump1M), - StepPump2M(MId.StepPump2M), - StepPump3M(MId.StepPump3M), - TitratorStir1M(MId.TitratorStir1M), - TitratorStir2M(MId.TitratorStir2M), - Titrator1M(MId.Titrator1M), - Titrator2M(MId.Titrator2M) + HandAcid1M(MId.HandAcid1M), + HandAcid2M(MId.HandAcid2M), + HandAcid3M(MId.HandAcid3M), + HandAcid4M(MId.HandAcid4M), ; final public MId mid; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/TecHeaterRodMId.java b/src/main/java/com/iflytop/handacid/hardware/type/TecHeaterRodMId.java index 52f27cb..7490613 100644 --- a/src/main/java/com/iflytop/handacid/hardware/type/TecHeaterRodMId.java +++ b/src/main/java/com/iflytop/handacid/hardware/type/TecHeaterRodMId.java @@ -3,8 +3,8 @@ package com.iflytop.handacid.hardware.type; import org.springframework.util.Assert; public enum TecHeaterRodMId { - HeaterRod1(MId.HeaterRod1), - HeaterRod2(MId.HeaterRod2), +// HeaterRod1(MId.HeaterRod1), +// HeaterRod2(MId.HeaterRod2), ; final public MId mid; diff --git a/src/main/java/com/iflytop/handacid/hardware/type/appevent/A8kHardwareReport.java b/src/main/java/com/iflytop/handacid/hardware/type/appevent/A8kHardwareReport.java new file mode 100644 index 0000000..f3ea21d --- /dev/null +++ b/src/main/java/com/iflytop/handacid/hardware/type/appevent/A8kHardwareReport.java @@ -0,0 +1,24 @@ +package com.iflytop.handacid.hardware.type.appevent; + +import com.iflytop.handacid.hardware.type.A8kPacket; +import org.springframework.lang.NonNull; + +/** + * A8k底层硬件上报事件 + */ +public class A8kHardwareReport extends AppEvent{ + A8kPacket reportPacket; + public A8kHardwareReport(@NonNull A8kPacket packet) { + super(A8kHardwareReport.class.getSimpleName()); + this.reportPacket = packet; + } + + public A8kPacket getReportPacket(){ + return reportPacket; + } + + public String toString(){ + return String.format("|Event A8kHardwareReport :%s|", reportPacket.toString()); + } +} +