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); 
        } 
       }); 
      } 
     }); 

    } 
} 

Dji-Developer에서 android 용 샘플 코드를 테스트하고 있습니다. 모든 일이 잘되지만 onSimulatorDataUpdated()는 호출되지 않습니다. 심지어 로그를 인쇄합니다. "initFlightController : djiSimulator has started : true"onSimulatorDataUpdated()가 호출되지 않습니다.

답변

0

문제의 해결책을 찾았습니다. 코드에는 아무런 문제가 없습니다. RC는 왼쪽 앞 영역에 P 모드로 설정해야하는 버튼이 있습니다.