2016-11-23 4 views
0
private void initFlightController() { 

    DJIAircraft aircraft = DJISimulatorApplication.getAircraftInstance(); 
    if (aircraft == null || !aircraft.isConnected()) { 
     log("initFlightController: aircraft not connected"); 
     showToast("Disconnected"); 
     mFlightController = null; 
     return; 
    } else { 
     log("initFlightController: aircraft CONNECTED"); 
     mFlightController = aircraft.getFlightController(); 
     DJISimulator djiSimulator = mFlightController.getSimulator(); 

     log("initFlightController: djiSimulator has started : "+djiSimulator.hasSimulatorStarted()); 
     djiSimulator.setUpdatedSimulatorStateDataCallback(new DJISimulator.UpdatedSimulatorStateDataCallback() { 
      @Override 
      public void onSimulatorDataUpdated(final DJISimulatorStateData djiSimulatorStateData) { 
       log("onSimulatorDataUpdated: "); 
       new Handler(Looper.getMainLooper()).post(new Runnable() { 
        @Override 
        public void run() { 

         String yaw = String.format("%.2f", djiSimulatorStateData.getYaw()); 
         String pitch = String.format("%.2f", djiSimulatorStateData.getPitch()); 
         String roll = String.format("%.2f", djiSimulatorStateData.getRoll()); 
         String positionX = String.format("%.2f", djiSimulatorStateData.getPositionX()); 
         String positionY = String.format("%.2f", djiSimulatorStateData.getPositionY()); 
         String positionZ = String.format("%.2f", djiSimulatorStateData.getPositionZ()); 

         mTextView.setText("Yaw : " + yaw + ", Pitch : " + pitch + ", Roll : " + roll + "\n" + ", PosX : " + positionX + 
           ", PosY : " + positionY + 
           ", PosZ : " + positionZ); 
        } 
       }); 
      } 
     }); 

    } 
} 

Ich teste den angegebenen Beispielcode für Android in Dji-Developer. Alles geht gut, aber die onSimulatorDataUpdated() wird nicht aufgerufen. es druckt sogar das Protokoll "initFlightController: djiSimulator hat gestartet: true"onSimulatorDataUpdated() wird nicht aufgerufen

Antwort

0

Ich fand die Lösung für das Problem. Der Code hat kein Problem, der RC hat einen Knopf im linken vorderen Bereich, der auf P-Modus eingestellt werden muss.