| | |
| | | }, 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': |
| | |
| | | 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: |