首页 > 解决方案 > 将航点任务上传到 Phantom 4 时出错

问题描述

我正在使用下面的功能开始一个航点任务。我正在使用 Phantom 4 测试此代码,但在执行missionOperator.uploadMission时出现错误:

无法在当前模式下执行。对于支持“F”模式的产品和飞控固件版本(如Phantom 3 Professional、Inspire 1、飞控固件版本低于3.2.10.0的A3等),请确保遥控器的模式开关处于“F”模式。其他请确保遥控器的模式开关处于“P”模式。(代码:-5000)

我已将模式更改为 P 模式,但仍然出现相同的错误。我该如何解决这个错误?我的无人机或我的代码有问题吗?

private func startMission(coordinate: CLLocationCoordinate2D) {
        
        let waypoint1 = DJIWaypoint(coordinate: coordinate)
        let action = DJIWaypointAction(actionType: .stay, param: 1000)
        waypoint1.add(action)
        let waypoint2 = DJIWaypoint(coordinate: CLLocationCoordinate2DMake(35, 34))
        waypoint2.add(action)
        waypoint1.altitude = 30
        waypoint2.altitude = 30
        let djiMission = DJIMutableWaypointMission()
        djiMission.addWaypoints([waypoint1, waypoint2])
        djiMission.autoFlightSpeed = 8
        djiMission.maxFlightSpeed = 10
        djiMission.gotoFirstWaypointMode = .pointToPoint
        djiMission.finishedAction = .goHome
        djiMission.headingMode = .auto
        
        
        
        let missionOperator = DJISDKManager.missionControl()!.waypointMissionOperator()
        if let error = djiMission.checkParameters() {
            print("Waypoint Mission parameters are invalid: \(error.localizedDescription)")
            return
        }
        
        
        print(missionOperator.currentState.rawValue)
    
        if let error = missionOperator.load(djiMission) {
            print(missionOperator.currentState.rawValue)
            print(error)
        }
        
        
        missionOperator.uploadMission { error in
            if let err = error {
                print("Mission upload error: \(err)")
                
            } else {
                missionOperator.startMission { error in
                    if let err = error {
                        print("Mission start error: \(err)")
                        
                    } else {
                        print("Mission started")
                    }
                }
            }
            
        }

标签: iosswiftdji-sdk

解决方案


推荐阅读