PanoramaMissionOperator compatibility with DJI Mavic Pro and Phantom 4 Pro - dji-sdk

Has anyone used PanoramaMissionOperator on the mobile SDK for android or iOS? I can't see any example code online. Also it seems to be unclear which products support the use of PanoramaMissionOperator from the documentation. When I attempt to get the state of the PanoramaMissionOperator with a Mavic Pro and Phantom 4 Pro, I get a PanoramaMissionState of DISCONNECTED.
I know the DJI documentation describes how to achieve the same with a Waypoint Mission but some drones miss photos during waypoint missions.
PanoramaMissionOperator operator = MissionControl.getInstance().getPanoramaMissionOperator();
PanoramaMissionState missionState = operator.getCurrentState();

The PanoramaMissions are only supported for OSMO devices, source:
https://developer.dji.com/mobile-sdk/documentation/introduction/component-guide-missions.html -> scroll to the bottom.
Unfortunately the SDK documentation doesn't mention this and the only hint I got there is the description of the DISCONNECTED state: "The connection between the mobile device and Osmo is broken."
https://developer.dji.com/api-reference/android-api/Components/Missions/DJIPanoramaMissionState.html#djipanoramamissionstate_disconnected_inline

Related

Is DJI Windows SDK compatible with RC1B remote controller and Mavic 2 Pro?

I'm trying to run the FPV demo application of the DJI Windows SDK tutorials, as shown here, I'm able to launch it but it doesn't show the image of the mavic's camera, I'm using the mavic 2 pro with a controller model RC1B. I followed the guidelines described here but it still doesn't work.
I have read in some posts that this kind of controller is not compatible with DJI Mobile SDK, does anyone know if it is the same for the DJI Windows SDK? If so, is there a way to develop an application to control the mavic 2 pro programmatically?
Thanks in advance.

DJI Mavic Air 2 Camera can't set mode?

I'm trying to see why our DJI-enabled app isn't working correctly with the Mavic Air 2 on iOS or Android. Here I'm debugging with iOS but I've seen the same failures when briefly testing on our Android app.
When calling setMode:completion: on the single camera belonging to the Mavic Air 2, I consistently get "Current product does not support this feature.(code:-1013)"
isMediaDownloadModeSupported returns true for the camera, and yet I can't set the camera mode to media download mode at all (or any other mode).
I've found that setFlatMode:completion: seems to work ok to set photo and video modes as a sort of alternative, however this is only for photo/video modes, and won't help me with downloading media from the SD card. (right?)
Any help out there?
From my DJI Developer Support ticket for the same issue:
For the Mavic Air 2 drone, should use the setFlatMode to switch the photo, video mode, and use the enterPlayback, exitPlayback to enter/ exit the download mode.

How to control the Mavic 2 pro using the Virtual Controller from Windows SDK

I developed an application using DJI Windows SDK to control a Mavic 2 Pro. I manged to get all the data from the drone but when I tried to send commands to the drone through the VirtualRemoteController nothing happens
The set up is the following. I first send the command to auto-take off from my Windows app, which does it without out problems. Then, I give a position to move on my app. All the calculations are done as I expected but the drone continues hovering despite the values that I am sending are different of 0 and are on the range [-1,1].
I am getting an instance of the virtual remote controller as it follows:
VirtualRemoteController virtualController = DJISDKManager.Instance.VirtualRemoteController;
Then, I use the following command to send the movement that I want to execute:
virtualController.UpdateJoystickValue(throttle,roll,pitch,yaw);
throttle, roll, pitch and yaw are values between [-1,1]
This API is only supported for DJI aircraft that have a "WIFI-only" capability.
It is available for the Mavic Air for the Windows SDK.
The Mavic Pro supports Wifi but the Windows SDK does not support the Mavic Pro.
None of the Mavic 2 models support wifi.

which devices support the DJI mobile SDK?

https://developer.dji.com/mobile-sdk/documentation/introduction/product_introduction.html#Supported-Products
what does the "-" mean?
Does it mean that spark, mavic can not be accessed and controlled by mobile SDK?
The "-" is for the accessories list (not applicable on the specified products).
Spark and Mavic are definitely supported by the mobile SDK.
You can control drone directly with mobile SDK.
You can use virtual stick input for this. It allows to send 4 axis valus to copter: pitch, roll, yaw, throttle.
You can find some information about this in Simulator tutorial.
Virtual sticks documentation
obstacle avoidance can be turned on and off throug SDK calls. (look at Flight Assistant)

Is there a Sony SmartWatch 3 emulator/AVD/skin with GPS?

This code return false in Wear API 22:
PackageManager pm = getPackageManager();
boolean hasGps = pm.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);
Per default in Android Studio AVD Manager for Wear AVD there is no GPS option. However if I "Clone Device..." (guess same as "New Hardware Profile") an existing one and then edit it, there is an GPS option. Still the AVD does not return true (code above).
There is an option "Import Hardware Profiles".
Does Sony have a "Hardware Profile" which I can import?
How can I test my local Wear GPS (without buying Sony SmartWatch 3 hardware)?
Is there a Sony Smartwatch 3 emulator/AVD/skin?
Not all Android Wear devices provide a GPS unit. Instead, you should use the FusedLocationProviderApi from Google Play Services to request location updates. The nice part about this API is that if your phone and watch are together, it will use the GPS in the phone to save battery - it will only use the GPS on the wearable when it is disconnected from the phone. The FusedLocationProviderApi uses the same API as available on phones, so you can reuse most of your existing code.
Here is a blog post I wrote about this:
http://android-developers.blogspot.com/2014/10/gps-on-android-wear-devices.html
Documentation for FusedLocationProviderApi:
https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi
And a sample that implements this:
https://github.com/googlesamples/android-SpeedTracker
There is no emulator that provides the GPS functionality of the Sony SmartWatch 3.

Resources