DJI Mobile SDK - Ошибка при вызове sendVirtualStickFlightControlData - PullRequest
0 голосов
/ 18 июня 2020

Я программирую приложение для DJI Mavi c Pro и пытаюсь управлять им с помощью следующего кода:

flightController = ((Aircraft) DJISDKManager.getInstance().getProduct()).getFlightController();

...

case "turn_right":
      new FlightControlData(0,0,90,0);
      break;
case "turn_left":
      new FlightControlData(0,0,-90,0);
      break;

...

if(flightController!=null)
                if(flightController.isVirtualStickControlModeAvailable())
                    flightController.sendVirtualStickFlightControlData(Data, djiError -> {
                        if(djiError!=null)
                            showToast((djiError.toString()));
                    });

Я ожидал, что это сработает, но по какой-то причине я получаю следующее сообщение об ошибке и код ошибки 255:

The key does not match the format: component/index/key with index being a number or *.

Я искал, но не могу понять, что это означает, это должно быть связано с ключами SDK, поскольку ошибка называется INVALID_KEY_FORMAT, но я не Я не знаю, что такое ключ и что с ним может быть не так.

1 Ответ

0 голосов
/ 18 июня 2020

РЕДАКТИРОВАТЬ: Я исправил проблему, я очень тупой и забыл привязать новый созданный объект к переменной данных управления полетом, которую я пытался передать


case "turn_right":
      Data=new FlightControlData(0,0,90,0);
      break;
case "turn_left":
      Data=new FlightControlData(0,0,-90,0);
      break;

устраняет проблему, однако данный ошибка вроде бы плохая, должна быть более ясной, поскольку это был буквально нулевой ввод

...