| | |
| | | import { DRC_METHOD } from '@/const/drc.js' |
| | | import { useMqtt } from '@/hooks/controlDrone/useMqtt' |
| | | import { ElMessage } from 'element-plus' |
| | | import { postPayloadCommands } from '@/api/payload' |
| | | |
| | | let myInterval |
| | | |
| | | export const KeyCode = { |
| | | KEY_W: 'KeyW', |
| | | KEY_A: 'KeyA', |
| | | KEY_S: 'KeyS', |
| | | KEY_D: 'KeyD', |
| | | KEY_Q: 'KeyQ', |
| | | KEY_E: 'KeyE', |
| | | ARROW_UP: 'ArrowUp', |
| | | ARROW_DOWN: 'ArrowDown', |
| | | } |
| | | export const KeyCode = { |
| | | KEY_W: 'KeyW', |
| | | KEY_A: 'KeyA', |
| | | KEY_S: 'KeyS', |
| | | KEY_D: 'KeyD', |
| | | KEY_Q: 'KeyQ', |
| | | KEY_E: 'KeyE', |
| | | KEY_J: 'KeyJ', |
| | | KEY_K: 'KeyK', |
| | | KEY_L: 'KeyL', |
| | | KEY_X: 'KeyX', |
| | | KEY_Z: 'KeyZ', |
| | | KEY_C: 'KeyC', |
| | | KEY_I: 'KeyI', |
| | | KEY_O: 'KeyO', |
| | | ARROW_UP: 'ArrowUp', |
| | | ARROW_DOWN: 'ArrowDown', |
| | | ARROW_LEFT: 'ArrowLeft', |
| | | ARROW_RIGHT: 'ArrowRight', |
| | | NUMPAD_SUBTRACT: 'NumpadSubtract', |
| | | NUMPAD_ADD: 'NumpadAdd', |
| | | // 提升速度 |
| | | KEY_EQUAL: 'Equal', |
| | | KEY_MINUS: 'Minus', |
| | | // 录音 |
| | | KEY_N: 'KeyN', |
| | | KEY_M: 'KeyM', |
| | | } |
| | | |
| | | export function useManualControl(mqttState,deviceTopicInfo, isCurrentFlightController) { |
| | | const activeCodeKey = ref(null) |
| | |
| | | handlePublish({ h: -HEIGHT }) |
| | | activeCodeKey.value = keyCode |
| | | break |
| | | |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | |
| | | const handlePayloadTurn = (params) => { |
| | | handleClearInterval() |
| | | if (!this.myInterval) { |
| | | postPayloadCommands(this.sn, params) |
| | | } |
| | | this.myInterval = setInterval(() => { |
| | | postPayloadCommands(this.sn, params) |
| | | }, 500) |
| | | } |
| | | |
| | | |
| | | function handleClearInterval() { |
| | | clearInterval(myInterval) |
| | | myInterval = undefined |