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