From 6eb2bbd4717398ac0b9a500fcc771f644dfb2854 Mon Sep 17 00:00:00 2001 From: HSZ_HeSongZhen <210202959@qq.com> Date: Tue, 29 Jul 2025 19:10:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20BLE=5FGAMEPAD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iflytop/handacid/common/enums/Device.java | 2 +- .../command/handlers/BleGamepadHandler.java | 50 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/iflytop/handacid/hardware/command/handlers/BleGamepadHandler.java diff --git a/src/main/java/com/iflytop/handacid/common/enums/Device.java b/src/main/java/com/iflytop/handacid/common/enums/Device.java index 772117b..1bfdf31 100644 --- a/src/main/java/com/iflytop/handacid/common/enums/Device.java +++ b/src/main/java/com/iflytop/handacid/common/enums/Device.java @@ -11,7 +11,7 @@ public enum Device { VALVE_2(HardwareType.IO_DEVICE, "阀 2"), VALVE_3(HardwareType.IO_DEVICE, "阀 3"), VALVE_4(HardwareType.IO_DEVICE, "阀 4"), - BleGamepadDriver(HardwareType.IO_DEVICE, "蓝牙手柄"), + BLE_GAMEPAD(HardwareType.IO_DEVICE, "蓝牙手柄"), ; /** diff --git a/src/main/java/com/iflytop/handacid/hardware/command/handlers/BleGamepadHandler.java b/src/main/java/com/iflytop/handacid/hardware/command/handlers/BleGamepadHandler.java new file mode 100644 index 0000000..411a9f4 --- /dev/null +++ b/src/main/java/com/iflytop/handacid/hardware/command/handlers/BleGamepadHandler.java @@ -0,0 +1,50 @@ +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.hardware.command.CommandHandler; +import com.iflytop.handacid.hardware.drivers.OutputIOCtrlDriver; +import com.iflytop.handacid.hardware.type.BleGamepadMid; +import com.iflytop.handacid.hardware.type.IO.OutputIOMId; +import com.iflytop.handacid.hardware.type.MId; +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; + +// + +@Slf4j +@Component +@RequiredArgsConstructor +public class BleGamepadHandler extends CommandHandler { + private final OutputIOCtrlDriver driver_; + private final Map supportCmdDeviceIOOutputMap = Map.ofEntries( + Map.entry(Device.BLE_GAMEPAD, BleGamepadMid.BleGamePad) + ); + + private final Map supportCmdDeviceMIdMap = supportCmdDeviceIOOutputMap.entrySet().stream() + .collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().mid)); + + private final Set supportActions = Set.of(Action.OPEN, Action.CLOSE); + + @Override + protected Map getSupportCmdDeviceMIdMap() + { + return supportCmdDeviceMIdMap; + } + + @Override + protected Set getSupportActions() { + return supportActions; + } + + @Override + public void handleCommand(DeviceCommand command) throws Exception { + // 发送命令 + } +}