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)
Related
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.
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
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.
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.
I want to draw with my Tablet PC (HP Elitebook) in a web page, and I want to create a "Paint" that I can use in a web browser, using HTML5-Canvas if possible.
I'm new to Tablet PC programming ... and I only found ways to manage stylus pressure with a Microsoft library or QT ... but it is not for webpages.
I also found that there is something for Wacom tablets ( http://www.wacomeng.com/web/index.html ) but it doesn't seems to work with my Tablet PC.
So how can I manage Tablet inputs in a website (and especialy get pressure) ?
And also, what are the most commun and well documented library (in C/C++/Java) for managing a Tablet PC ?
If you use the firefox 4 or later, you can get pressure value from DOM MouseEvent's "mozPressure" property.
Please see also:
http://dougturner.wordpress.com/2008/12/10/mouse-pressure-support-in-mozilla/
https://developer.mozilla.org/en/DOM/MouseEvent
I believe the stylus, which contains the pressure sensor, is made by Watcom in that unit. They would need to write a custom plugin to offer browser support for their device. Send them a mail!