From 987cb959286674aea227210070934492346bdd95 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 16 Apr 2025 16:55:39 +0800
Subject: [PATCH] feat: 当前任务详情50%

---
 src/hooks/controlDrone/useManualControl.js |   65 +++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 23 deletions(-)

diff --git a/src/hooks/controlDrone/useManualControl.js b/src/hooks/controlDrone/useManualControl.js
index 91417c9..a2cf0f0 100644
--- a/src/hooks/controlDrone/useManualControl.js
+++ b/src/hooks/controlDrone/useManualControl.js
@@ -35,34 +35,63 @@
 		}, 50)
 	}
 
-	function handleKeyup(keyCode) {
+	function handleKeyup(keyCode,params) {
+		const {sn,speed} = params
+		let genPortOne = false //是一代机场
 		if (!deviceTopicInfo.pubTopic) {
 			ElMessage.error('请确保已经建立DRC链路')
 			return
 		}
-		const SPEED = 5 //  check
-		const HEIGHT = 5 //  check
-		const W_SPEED = 20 // 机头角速度
+		if (sn === '4TADKCM0010016' || sn === 'BA0BA1C3D38157A49E1B16574FA474F7') {
+			genPortOne = true
+		}
+
+		const SPEED = genPortOne ? (speed || 5) : 500 //  check
+		const HEIGHT = genPortOne ? 5 : 500; //  check
+		const W_SPEED = genPortOne ? 20 : 500 // 机头角速度
+
 		seq = 0
 		switch (keyCode) {
-			case 'KeyA':
-				if (activeCodeKey.value === keyCode) return
-				handlePublish({ y: -SPEED })
+			case 'KeyQ':
+				if (activeCodeKey === keyCode) return
+				let objQ = { yaw: 1024-W_SPEED }
+				if (genPortOne) {objQ = {w: -W_SPEED}}
+				handlePublish(objQ)
 				activeCodeKey.value = keyCode
 				break
 			case 'KeyW':
-				if (activeCodeKey.value === keyCode) return
-				handlePublish({ x: SPEED })
+				if (activeCodeKey === keyCode) return
+				let objW = { pitch: 1024+SPEED }
+				if (genPortOne) {objW = {x: SPEED}}
+				handlePublish(objW)
+				activeCodeKey.value = keyCode
+				break
+			case 'KeyE':
+				if (activeCodeKey === keyCode) return
+				let objE = { yaw: 1024+W_SPEED }
+				if (genPortOne) {objE = {w: W_SPEED}}
+				handlePublish(objE)
+				activeCodeKey.value = keyCode
+				break
+			case 'KeyA':
+				if (activeCodeKey === keyCode) return
+				let objA = { roll: 1024-SPEED }
+				if (genPortOne) {objA = {y: -SPEED}}
+				handlePublish(objA)
 				activeCodeKey.value = keyCode
 				break
 			case 'KeyS':
-				if (activeCodeKey.value === keyCode) return
-				handlePublish({ x: -SPEED })
+				if (activeCodeKey === keyCode) return
+				let objS = { pitch: 1024-SPEED }
+				if (genPortOne) {objS = {x: -SPEED}}
+				handlePublish(objS)
 				activeCodeKey.value = keyCode
 				break
 			case 'KeyD':
-				if (activeCodeKey.value === keyCode) return
-				handlePublish({ y: SPEED })
+				if (activeCodeKey === keyCode) return
+				let objD = { roll: 1024+SPEED }
+				if (genPortOne) {objD = {y: SPEED}}
+				handlePublish(objD)
 				activeCodeKey.value = keyCode
 				break
 			case 'ArrowUp':
@@ -73,16 +102,6 @@
 			case 'ArrowDown':
 				if (activeCodeKey.value === keyCode) return
 				handlePublish({ h: -HEIGHT })
-				activeCodeKey.value = keyCode
-				break
-			case 'KeyQ':
-				if (activeCodeKey.value === keyCode) return
-				handlePublish({ w: -W_SPEED })
-				activeCodeKey.value = keyCode
-				break
-			case 'KeyE':
-				if (activeCodeKey.value === keyCode) return
-				handlePublish({ w: W_SPEED })
 				activeCodeKey.value = keyCode
 				break
 			default:

--
Gitblit v1.9.3