Coder Social home page Coder Social logo

mobile-sdk-ios's People

Contributors

dhanush-dji avatar dji-dev avatar ethanjy avatar jgrantr avatar michael-dji avatar neoxzy avatar oliverou avatar talobin avatar valeriyvan avatar vince-zheng avatar weizhoufeng avatar xietonglu avatar zyphs21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mobile-sdk-ios's Issues

Crash inside DJISDK networking code...

iOS Device: iPad Air 2
Xcode version: 7.3.1
iOS version: 9.3.5
DJI SDK version: 3.3

I have attached a crash log. I didn't get symbols for the DJISDK methods it was inside when it crashed, but it looks like a dictionary is being created with either a key, or more likely a value, that is nil, and it looked to be part of an NSURLSession networking task.

The drone was just told to run a mission when it crashed. Please let me know if you need anything else from me, but it crashed inside thread 12, and the last 2 non-Foundation symbols are in DJISDK.

droneCrashLog.crash.zip

Compiling error

Is this issue about bugs or crash issues of DJI iOS SDK and Sample Code?

Yes

Yep, then please delete this template and provide the following infos for us to help investigate the issue:

  • Description of the issues.
    I downloaded the code and followed the directions for getting the pod installed. I update date name and bundle name with the one I registered on the website. I then did a clean and compile and got the error:
    ld: library not found for -lPods-DJISDKSwiftDemo clang: error: linker command failed with exit code 1 (use -v to see invocation)

  • Steps to reproduce the bug or crash issues(It would be great if you can provide this)
    clean and compile

  • DJI iOS SDK version you are using (Like iOS SDK 3.4, etc)
    IOS SDK 3.5....I was able to get it working in 3.4 ok, but this is the first attempt in 3.5 and did a fresh install to test it out.

  • DJI Product you are using (Like Phantom 4, Mavic Pro, etc)
    Phantom 3 Standard

  • iOS system version you are using (Like iOS 8.3, iOS 9, etc)
    iOS 10.2

  • iOS device type you are using (Like iPhone5s, iPhone 6, iPad Air Wifi, iPad mini 3 LTE, etc)
    iPhone 7 and iPad Air 2

  • Xcode version you are using (Like Xcode 7.0)
    Xcode 8.2.1

How to increase the quality of VideoPreviewer?

Hello, I am using VideoPreviewer to display the camera feed.
It works, but the quality is bad. I have compared with DJI GO app.
Is there any way to increase it similar as DJI GO?
Regards,
Yun.

Flight Controller isVirtualStickControlModeAvailable Incorrectly Returns False

Some percentage of the time (about %10 of connections), the flight controller isVirtualStickControlModeAvailable result will always be False regardless of whether it is possible to engage virtual stick mode. Under these circumstances, calling enableVirtualStickControlModeWithCompletion will successfully return and virtual stick mode will be enabled. This is frustrating because we attempt to avoid sending lots of useless enableVirtualStickControlModeWithCompletion calls unless there's a chance it will work to minimize system load. Currently we must always try to enable virtual stick mode because otherwise we cannot reliably cause it to engage.

I don't have a specific procedure to reproduce this other than simply connect to the vehicle repeatedly and wait for one of the runs in which it will always return false. The vehicle can stay powered on between instances of this behavior. It appears to happen or not happen every time we open a connection to the vehicle, rather than a one-time occurrence before the first successful time we engage virtual stick mode. We are not doing anything with missions before this behavior it seen.

SDK 3.4.1 and 3.5
Phantom 4 Pro (and Phantom 4)
iOS 9.3.5
iPad Mini 4
Xcode 8.2

Please consider removing space in "Sample Code" directory

Please consider renaming the "Sample Code" directory to remove the space. Why? When using cocoa pods to pull in your SDK, we cannot jump to definition because Xcode will not properly locate the framework located in Sample Code directory. It compiles and builds just fine but navigating DJISDK symbols is impossible unless we directly embed it into our project. Our other option is to rename Sample Code to SampleCode in our project after running pod update.. but that's not convenient and has to be redone after each pod update.

Thanks!

iOS 10 Support

I'm unable to run the a sample app on iOS 10 in both the simulator and on a iPhone 7. It appears to be failing during the application registration call. I'm on 10.0.2 using the 3.3 DJI SDK.

On an iPhone 7 running iOS 10.0.2 I get the REGISTRATION_INVALID_METADATA error.

If I run the same code on the iOS 10 Simulator I get the REGISTRATION_DEVICE_NOT_MATCH error.

This error occurs when I invoke the register method ([DJISDKManager registerApp:appKey withDelegate:self];)

It's also worth nothing I see this error when running on the device: Couldn't find the "com.apple.private.externalaccessory.showallaccessories" entitlement

My plist has:

  • Supported external accessory protocols (com.dji.video, com.dji.protocol, com.dji.common)
  • App Transport Security Settings: Allow Arbitrary Loads: YES

I tried all the suggestions from Issue #33 like changing the bundler identifier, etc.

fetchMediaListWithCompletion: fails when the SD card has photos

iOS Device: iPhone 5C
Xcode version: 8.1
iOS version: 10.1.1
DJI SDK version: 3.4.1

The [DJIMediaManager fetchMediaListWithCompletion:] fails with the following error:

Error Domain=DJISDKCameraErrorDomain Code=-3012 "Data is corrupted during the file transmission. (code:-3012)" UserInfo={NSLocalizedDescription=Data is corrupted during the file transmission. (code:-3012)}

I could see the media files in playback mode but could not fetch the media files.

Can't connectToDrone() with m100

I've been following the DJI waypoint/mapview application creation guide posted at https://developer.dji.com/mobile-sdk/guides/iOS/GSDemo/GSDemo/ to create an application.

The application registers itself successfully. However, after a successful registration it is set to connect to the m100. According to instructions, it says to set the drone type to Inspire for the Inspire/m100 models.

After connection, I get a status update indicating that connecting failed. Trying to connect after the view has loaded does not work either. After some more testing, I tried using the DJI Demo SDK application included with the sdk download, and it does not appear to connect either.

iOS Device: iPad Air 2 on iOS 9.2
Xcode: 7.2

didGenerateNewMediaFile does not fire on XT Camera

We know the XTs are new-ish and the problem could be in firmware but it could also be an issue in the SDK. We didn't see any documentation anywhere that it shouldn't work the same as any other camera.

P3/4, X3 and X5 all work as expected and return a valid DJIMedia object.

SDK 3.3

DJI Mobile SDK Issues Submit Guide

Workflow

If an issue/bug is found in our source code, developers are welcome to submit an issue on Github. If the issues are valid, the DJI SDK staffs will check and respond to your issues as soon as possible.

Issues that do not follow this guide will not be accepted.

Submit bug issues in the source code

Please provide the following info for us to help fix bugs:

  • iOS device type you are using (Like iPhone5s, iPhone 6, iPad Air Wifi, iPad mini 3 LTE, etc)
  • Xcode version you are using (Like Xcode 7.0)
  • iOS system version you are using (Like iOS 8.3, iOS 9, etc)

Submit crash issues in the source code

Please provide the following info for us to help fix crash issues:

  • Crash logs(If you can find it, it would be very helpful)
  • iOS system version you are using (Like iOS 8.3, iOS 9, etc)
  • iOS device type you are using (Like iPhone5s, iPhone 6, iPad Air Wifi, iPad mini 3 LTE, etc)
  • Xcode version you are using (Like Xcode 7.0)

fetchMediaListWithCompletion: fails when the SD card has a lot of photos...

iOS Device: iPad Air 2
Xcode version: 7.3.1
iOS version: 9.3.1
DJI SDK version: 3.3

Once the SD card has a certain number of files, the [DJIMediaManager fetchMediaListWithCompletion:] fails with the following error:

Error Domain=DJISDKErrorDomain Code=-1003 "Execution of this process has timed out(code:-1003)" UserInfo={NSLocalizedDescription=Execution of this process has timed out(code:-1003)}

I have tried this on both the iPad Air 2 connected to the drone, and in the simulator connected to the drone over the DJIBridge app, and it fails in both cases with the same error.

I don't know what the exact limit on the number of files is, only that it worked when there were just a few hundred (200-500) but once I hit the current amount (779) it fails.

Please let me know what can be done to fix this. We are building an app around this, and this is a big showstopper for us to use DJI products.

Crash while downloading photos...

Our app crashed (the crashed thread was code inside the DJI SDK). It crashed was while it was downloading photos from the drone. The crash log is attached.

DJI iOS SDK version 3.5
DJI Phantom 4 Pro
iOS 10.2
iPad Mini 2 Cellular
Xcode 8.2.1

dji-crash-2017-01-20.txt

didFinishMissionExecution returns immediately with error but mission still flown.

With the update to the new SDK we're seeing an issue where, in previously working code, a didFinishMissionExecution callback is called immediately after a mission begins. The error passed to us in the callback is "Mission is stopped by user. Code: -5036. The mission, however, will still be fully executed. We can reproduce this in simulator and on Phantom 4. Since we didn't stop the mission on the RC we really have no explanation for this behavior other than to post an issue. Since the mission is still flown it would seem that the error is being falsely reported?

The errors happens a second or two after mission start with DJIMissionManager.prepareMission.

iOS 10 app fails to register

I have an app that works fine on iOS 9, but when running on iOS 10 (beta) in the simulator, I get the following error.

Inside of my DJISDKManagerDelegate instance, the sdkManagerDidRegisterAppWithError fails with the following message:

Attempt to copy metadata from another registered device is not permitted.(code:-4)

This is occurring in the following code (in the error handler):

extension ViewController : DJISDKManagerDelegate
{
    func sdkManagerDidRegisterAppWithError(error: NSError?) {

        guard error == nil  else {
            debug("Error:\(error!.localizedDescription)")
            return
        }

        debug("Registered, awaiting connection...")
        #if arch(i386) || arch(x86_64) ||
            //Simulator
            DJISDKManager.enterDebugModeWithDebugId("192.168.1.15")
        #else
            //Device
            DJISDKManager.startConnectionToProduct()

        #endif

    }

Note: This is on the iOS simulator, using the DJI Bridge app to a Phantom 3. This exact configuration works fine if I target the iOS 9 simulator. I have not tested on-device yet b/c I don't want to upgrade my iPade to iOS 10 yet.

This is happening using Xcode 8 Beta 5.
Aircraft: Phantom 3 Advance
Firmware: The latest - I don't see a way to access the firmware version, but the DJI Go app is not prompting me to update.
SDK: Version 3.2, from this release snapshot: https://github.com/dji-sdk/Mobile-SDK-iOS/releases/tag/v3.2

Can't setCameraMode to DJICameraModePlayback

I can't set my camera to playback mode. Code -1005 "The parameters are invalid" both in my own project and the official panorama demo.

Steps to reproduce:

Download panorama demo, run, connect and tap download https://github.com/DJI-Mobile-SDK-Tutorials/iOS-PanoramaDemo

You need to set a breakpoint to catch the error as it is not handled.

  • iOS DJI SDK 3.5.1
  • Phantom 4 Pro
  • iOS 10.2
  • iPhone 7 Plus and iPad Pro for DJIBridge
  • Xcode 8.2.1

Forum post http://forum.dev.dji.com/forum.php?mod=viewthread&tid=32995&page=1&extra=#pid228898

DJIAttitude yaw

currently i am creating an app for DJI phantom 2 , and i am creating a Yaw orientation compass (S---W---N---E---S) , but i am not sure whether the DJIAttitude.yaw is measured from the north or from the south , for example if the yaw is -180 or 180 , does that mean South or North .

and also if its measured from south , is negative values toward the West of towards the East , and likewise if its measured from North.

i am assuming that if DJIAttitude.yaw is a number greater than 360 like 1000 , this means that the yaw is (1000 mod 360).

Please help me .

Swift Example Code [DJIBaseProductDelegate Bug?]

In the example StartupViewController you have the following code for Product connection changes, but it never fired.

I'm testing on iOS 9, iPad Mini, iPhone 6s and Inspire 1 with latest FW.

`// DJIBaseProductDelegate
extension StartupViewController : DJIBaseProductDelegate {

// product
func product(product: DJIBaseProduct, connectivityChanged isConnected: Bool)
{
    if (isConnected)
    {
        productConnectionStatus.text = "Status: Product Connected"           
    }
    else
    {
        productConnectionStatus.text = "Status: No Product Connected"
    }
}

}`

libDJIVTH264Decoder

i am targeting iOS 8.0 and higher , and developing on XCode 7.0.1 , but libDJIVTH264Decoder.a is causing many warnings :

ld: warning: object file (/Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIStreamCommon.o)) was built for newer iOS version (9.0) than being linked (8.0)
ld: warning: object file (/Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o)) was built for newer iOS version (9.0) than being linked (8.0)
ld: warning: object file (/Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o)) was built for newer iOS version (9.0) than being linked (8.0)
ld: warning: object file (/Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o)) was built for newer iOS version (9.0) than being linked (8.0)

while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Foundation-1YMZJBNB8N25F.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Foundation-1YMZJBNB8N25F.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/ObjectiveC-1AJ1UYHO2U5H0.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/ObjectiveC-1AJ1UYHO2U5H0.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Darwin-14BLQGFOQ69OU.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Darwin-14BLQGFOQ69OU.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVideoHelper.o):
warning: Could not resolve external type c:@s@__sFILE
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/UIKit-28BB49EGP5YVQ.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/UIKit-28BB49EGP5YVQ.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/AVFoundation-20DPNVCUXAXA7.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/AVFoundation-20DPNVCUXAXA7.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/VideoToolbox-3IR3R355G25EK.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/VideoToolbox-3IR3R355G25EK.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Foundation-1YMZJBNB8N25F.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Foundation-1YMZJBNB8N25F.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreGraphics-3HTHDXZCTZ4Z3.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreGraphics-3HTHDXZCTZ4Z3.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/ObjectiveC-1AJ1UYHO2U5H0.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/ObjectiveC-1AJ1UYHO2U5H0.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreMedia-3C468WGRC7Q7M.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreMedia-3C468WGRC7Q7M.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: Could not resolve external type c:objc(cs)NSObject
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(DJIVTH264DecoderPublic.o):
warning: Could not resolve external type c:@s@CGSize
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/UIKit-28BB49EGP5YVQ.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/UIKit-28BB49EGP5YVQ.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/AVFoundation-20DPNVCUXAXA7.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/AVFoundation-20DPNVCUXAXA7.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/VideoToolbox-3IR3R355G25EK.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/VideoToolbox-3IR3R355G25EK.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Foundation-1YMZJBNB8N25F.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Foundation-1YMZJBNB8N25F.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreGraphics-3HTHDXZCTZ4Z3.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreGraphics-3HTHDXZCTZ4Z3.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreVideo-2OFA0ABND1YAQ.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreVideo-2OFA0ABND1YAQ.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreMedia-3C468WGRC7Q7M.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreMedia-3C468WGRC7Q7M.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreFoundation-14MC06FO67EMZ.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/CoreFoundation-14MC06FO67EMZ.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Darwin-14BLQGFOQ69OU.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/Darwin-14BLQGFOQ69OU.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/ObjectiveC-1AJ1UYHO2U5H0.pcm: No such file or directory
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: /Users/ares/Library/Developer/Xcode/DerivedData/ModuleCache/8IL2F47BDROL/ObjectiveC-1AJ1UYHO2U5H0.pcm: No object file for requested architecture
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:objc(cs)NSString
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:objc(cs)NSObject
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@s@CGSize
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:objc(cs)UIImage
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@e@VTDecodeInfoFlags
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@sa@CMTime
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:objc(cs)NSData
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@s@VTDecompressionOutputCallbackRecord
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@sa@CMVideoDimensions
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:objc(cs)NSDate
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:objc(cs)NSArray
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@s@__sFILE
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@sa@CMSampleTimingInfo
while processing /Users/meldehairy/Documents/ODesk/Projects/Flight Logger Project/Code base/Flight Logger/Flight Logger/Helper Classes/VideoPreviewer/DJIH264Decoder/lib/libDJIVTH264Decoder.a(H264VTDecode.o):
warning: Could not resolve external type c:@e@VTDecodeFrameFlags

Difference between aircraft yaw and gimbal yaw

Hi all

Just trying to figure out how the yaw figures work on the P4. I'm getting small difference of a few degrees between the aircraft yaw and the gimbal yaw when the drone is at rest.

Which yaw value is most correct? The gimbal yaws a few degrees left and right while the aircraft is moving so I don't mind that but when they are settled down they are almost the same but out by up to a few degrees.

I need to know the accurate value as I need to accurately track where the camera bearing is. Do I need to massage these two yaw values together some way to get an accurate bearing.

I also presume these yaw values are not corrected for Magnetic declination?

media preview

right now i am using an old SDK where it had this public method in DJICamer object :
-(void) fetchMediaListWithResultBlock:(void(^)(NSArray* mediaList, NSError* error))block;
but in the current version this method is absent , and media preview is through the preview view (live feed view) by switching to playback mode , and my app design greatly depend on fetching media independently from the live feed view .
so how can i fetch media like the method above in the current SDK version ?.

SDK Integration Failure

I'm following the steps under the iOS Mobile SDK Getting Started documentation pages, but I can't get a successful build.

Under what module or header files do I create the RegisterApp, DJISDKManagerDelegate, and showAlertViewWithTitle methods? Do I create new h files for each method?

I placed the methods in the SDKManager.h file.

I get a parse error: 'Could not build module 'DJISDK' as well as 47 documentation errors.

Xcode keeps trying to alter the methods that the Getting Started guides suggest to use. It just screws up even more.

  • DJI iOS SDK version you are using (iOS SDK 3.5)
  • DJI Product you are using (M600, Phantom 4)
  • iOS system version you are using ( iOS 10.2.1)
  • iOS device type you are using (Like iPhone5s, iPhone 6, iPad Air Wifi, iPad mini 3 LTE, etc)
  • Xcode version you are using ( Xcode 8.2.1)

DJI Mobile SDK Markdown Document Update Guide

Workflow

Official updates will be handled by DJI SDK staff. If an issue/bug is found in our documents, developers are welcome to correct the error and submit a pull request.

Developers must alert the DJI SDK staff of a pull request through a related discussion, such as on forum.dji.com, bbs.dji.com, github issues or email record. If the pull request is valid, the SDK staff will acknowledge the issue being fixed and accept the pull request.

Pull requests that do not follow this guide will not be accepted.

Formatting Markdown Documents

This section covers document formatting and syntax. You can refer to Github's Mastering Markdown Guides for additional reference.

1. Formatting headers with the hashtag symbol #

We structure markdown documents through the use of # symbol to create headers. Multiple # symbols in a row will format smaller headers. Here is a suggested usage example:

Code

# Document Title
## Main Heading 1
### 1. Subheading 1
## Main Heading 2
### 1. Subheading 1
### 2. Subheading 2

Result

Document Title

Main Heading 1

1. Subheading 1

Main Heading 2

1. Subheading 1

2. Subheading 2

It is important that you follow the example shown above, with a single '#' being used for the document title, '##' being used for section headings, and '###' being used for subheadings. This allows us to generate and organize reading interfaces based on these headings.

Please do not adjust the number of '#' symbols used for the aesthetic purpose of adjusting the side of headings, as shown here:

Code

# Document Title
## Main Heading 1
### 1. Subheading 1
## Main Heading 2
### 1. Subheading 1
### 2. Subheading 2

Result

Document Title

Main Heading 1

1. Subheading 1

Main Heading 2

1. Subheading 1

2. Subheading 2

2. Tables

Markdown allows you to create tables, separating the header with the first row with hyphens '-', and separating each column with a pipe symbol '|'.

Here's an example:

Code

First Header  | Second Header
------------- | -------------
Content Cell  | Content Cell
Content Cell  | Content Cell

Result

First Header Second Header
Content Cell Content Cell
Content Cell Content Cell

You can also choose to align cell contents:

Code

| Left Aligned |  Center Aligned  | Right Aligned |
|:-------------|:----------------:| -------------:|
| Left | Center | Right |
| Left Aligned | Center Aligned | Right Aligned |

Result

Left Aligned Center Aligned Right Aligned
Left Center Right
Left Aligned Center Aligned Right Aligned

We control text alignment through the colons ':'. The left and right most pipes | are purely aesthetic, and can be omitted. Blank spaces serve no functional purpose besides code readability.

3. Images

All images should be stored in the Images folder. Images should be refered to by their relative path name, rather than an absolute path name.

For example, you should use ![N1UI](Images/N1UI.png) instead of ![N1UI](https://github.com/dji-sdk/Onboard-SDK/blob/master/Onboard_API_Doc/en/Images/N1UI.png)

4. Code

Inline code blocks should be wrapped in backticks:
Code

'var example = true'

Result

var example = true

To insert multiple lines of code, used a Fenced Code Block. Surround code with three tildes '~' to format it:

Code

    ~~~
    void get_control_callback(const void* p_data, unsigned int n_size) { }
    ~~~

Result

void get_control_callback(const void* p_data, unsigned int n_size) { }

Including the name of the language after the opening triple tilde will allow for syntax highlighting:

Code

    ~~~c
    void get_control_callback(const void* p_data, unsigned int n_size) { }
    ~~~

Result

void get_control_callback(const void* p_data, unsigned int n_size) { }

CustomMission with WaypointMission take a long time to takeoff (Start Mission)

Hi,

I'm creating a custom mission with 10 or more waypoints and one waypoint mission step.

When is uploading the mission (prepare mission function called) is really fast but then start is taking 10 or more seconds to execute the takeoff.

There is no action for each waypoint and no erros.

I have no clue what to do to fix this.
SDK version: 3.4

Is there way to change the limit of waypoints in WaypointMission ?

Thanks.

Use a strongly typed NSArrays in delegate protocol for DJILBAirLinkDelegate.

The following callbacks for the DJILBAirLinkDelegate return untyped NSArrays. This causes several inconveniences because it forces developers to cast the results and prevents intelligent IDE features from being able to search for usages of the relevant payload datatypes. Preferably all the delegate methods would use generics of the appropriate types.

- (void)lbAirLink:(DJILBAirLink *_Nonnull)lbAirLink didUpdateRemoteControllerSignalInformation:(NSArray *_Nonnull)antennas;
- (void)lbAirLink:(DJILBAirLink *_Nonnull)lbAirLink didUpdateLBAirLinkModuleSignalInformation:(NSArray *_Nonnull)antennas;
- (void)lbAirLink:(DJILBAirLink *_Nonnull)lbAirLink didUpdateAllChannelSignalStrengths:(DJILBAirLinkAllChannelSignalStrengths)signalStrength;

fetchMediaListWithResultBlock failed with error

Hello, I am using DJIInspireCamera to get the list of media.
While calling fetchMediaListWithResultBlock: method, I get the following error.
Error:
Error Domain=FetchMediaDomain Code=257 "(null)"
UserInfo={Reason=Abort by App(code:0x101)}}
Can you please let me know what the issue is?

Drone altitude

I have a requirement to have an accurate altitude and was wondering in general where your altitude data comes from. Does it use the barometer altitude or the GPS altitude when calculating the height from the home location.

Is there a way to get the real GPS altitude from the SDK and not the offset from take off location?

FFmpeg is too big and useless

we are development on iOS8.0+,FFmpeg is too big and useless.Can you provide a lean version which is Remove FFmpeg.

excessive debug info in VideoPreviewer 3.4...

iOS Device: iPad Air 2
Xcode version: 7.3.1
iOS version: 9.3.5
DJI SDK version: 3.4

When using the VideoPreviewer framework from the 3.4 release, there is a TON of debug logging being generated by ffmpeg. I tracked it down to the [VideoFrameExtractor setupExtractor]. In version 3.3, that method had the following call:

    av_log_set_level(AV_LOG_QUIET);

That line is missing from the 3.4 release. Can you please fix that?

Unable to delete with DJIMediaManager.deleteMedia

DJIMediaManager deleteMedia method returns

Error Domain=DJISDKErrorDomain Code=-1008 "There was an error executing the command.(code:-1008)" UserInfo={NSLocalizedDescription=There was an error executing the command.(code:-1008)}

Have set the camera mode to DJICameraMode.mediaDownload, pass in [DJIMedia].

iOS SDK version 3.4.1 and version 4 (alpha)
Mavic Pro
iOS 10.1
iPhone 6
Xcode 8.1

phantom 3 A question is very importent to me

Phantom 3 A is not supported playback function? If phantom 3A do not support playbackDownload function, how do I download the SD card in the video to the phone? I see Go DJI, video recording is completed, the video saved in the album, how do I do?

DJI Bridge App not working on iOS 10

Hi,

I upgraded to iOS 10 on my iPad and the DJI Bridge app stopped working. It connects to the RC (showing green light on the RC side)... but not able to connect to the iPhone which is running my app.. All 3 devices are connected to the same WiFi.. iPhone and iPad are upgraded to iOS 10 and the macOS to Sierra with Xcode 8

camera:didGenerateNewMediaFile: has incorrect timeCreated property

We have upgraded our P4 Pro's to use the newest firmware. This means that our DJIFlightControlller firmware = 03.02.15.14, our DJI Firmware Package version = 01.02.0304, and our DJIRemoteController firmware = 01.03.00.00+. After doing this, the delegate method "camera:didGenerateNewMediaFile:" is now being called. However, the metadata that is produced for the new media file (as delivered in the DJIMedia object) DOES NOT match the data that is later retrieved from the [DJIMediaManager fetchMediaListWithCompletion:] method. In particular, the timeCreated property that is reported is NOT the same, and is usually in the future. For example, our drone took a photo with the filename DJI_0529.jpg at 2017-01-13 20:45:52 UTC time, but the actual time was 2017-01-13 20:44:58 UTC (the timeCreated property was in the future). When retrieved in the list of media on the drone, the timeCreated property was reported (correctly) as 2017-01-13 20:44:58 UTC.

Furthermore, the timeCreated property appears to not progress through time properly. For the aforementioned file (DJI_0529.jpg) which was taken (according to the callback) at 2017-01-13 20:45:52 UTC, the next file should have been reported as having been taken 2 seconds after that (the camera was shooting at 2 second intervals. However, DJI_0530.jpg was reported by the callback as having been taken at 2017-01-13 20:45:00 (52 seconds BEFORE the file before it). This was the only file (of 19 during the flight) that actually reported the SAME time in both the callback and when retrieved from the [DJIMediaManager fetchMediaListWithCompletion:] method, and the time that was reported was accurate. The other 18 files all had different timeCreated properties in the callback than they did when retrieved from the list of media. These other 18 files had the correct timeCreated property when retrieved from the list of media, but NOT when delivered by the callback. This problem DOES NOT exist on the Phantom 4 or any of the other DJI drones that we have tested. We have not yet tried it with the Inspire 2.

What I would expected is that the timeCreated property for a given DJIMedia object would remain consistent (AND correct) in both the callback AND when retrieved in the list of media. We are using the property to determine if there is filename wraparound, and also to record WHEN the photo was actually taken. It makes it extremely hard to match up the DJIMedia objects that come back from the media list with what was delivered by the callback when the timeCreated property is changed (and the filename is subject to wraparound).

DJI iOS SDK version: 3.5
DJI Product: Phantom 4 Pro
iOS system version: iOS 10.2
iOS device type: iPad Air 2
Xcode version: 8.2.1

FPV 4:3 ratio

I want FPV Preview render as 4:3 ratio but it seem has problem:

Setting photo ratio at DJI GO APP:
5 pic

6 pic

show 4:3 preview but left right has black border, I check MovieGLView.m find that input video stream 1280x717 px at 4:3 and 16:9 ratio.

It's bug? How can I adjust it?

iOS 9.0 App Transport Security policy

i am using an older version of the SDK because using the current version will force major refactoring in the app , but media fetching is not working because of iOS 9.0 new App Transport Security policy , so i were wandering if you can send the list of url's used to fetch media so that i can add them to the App Transport Security policy exclusion list to white list them as a fix for my problem .

i appreciate your help.

DJIMCSystemState.powerLevel

i am developing for iOS 8.1 on XCode 7.1 using the latest DJI SDK on iPhone 6.
DJIMCSystemState.powerLevel some times gives (2 - high power) while the drone battery is really 25%. is there a more reliable way to read the drone battery power level ?.

获取时间戳问题

我是说我现在做的是音频和视频合成,需要DJI拍摄视频的时间戳,我看你们提供的时间戳是秒级别的有没有毫秒级别的时间戳,否则我这里对时是很麻烦谢谢

Unable to find settings in the DJI Go app in the SDK

In the DJI Go app in the settings side bar, under "Main Controller Settings", there is an option to enable "Multiple Flight Modes". Can we set this option on the SDK too?

And in the "Visual Navigation Settings", can we set "Enable Obstacle Avoidance" and "Enable Vision Positioning" with the SDK?

Can not acquire remoteControll on "sdkManagerProductDidChangeFrom" SDK 3.4.1

  • (void)sdkManagerProductDidChangeFrom:(DJIBaseProduct *)oldProduct to:(DJIBaseProduct *)newProduct{

if ([[DJISDKManager product] isKindOfClass:[DJIAircraft class]]) {

       _remoteController = ((DJIAircraft*)[DJISDKManager product]).remoteController;

       // HERE  _remoteController is nil...  after upgraded to new IOS SDK 3.4.1 from 3.0.1
}

////
}

sdkManagerProductDidChange not called

Hello, here is the code I've added to my Swift project.

class DJIOperator: NSObject, DJISDKManagerDelegate, DJIBaseProductDelegate, DJIProductObjectProtocol, DJIPlaybackDelegate {
    static let sharedInstance = DJIOperator()
    
    public override init() {
        super.init()
        DJISDKManager.registerApp(DJISDK_KEY, with: self)
    }
    
    func sdkManagerDidRegisterAppWithError(_ error: Error?) {
        
        guard error == nil else {
            return
        }
        
        DJISDKManager.startConnectionToProduct()
    }
    
    func sdkManagerProductDidChange(from oldProduct: DJIBaseProduct?, to newProduct: DJIBaseProduct?) {
        guard let newProduct = newProduct else
        {
            ConnectedProductManager.sharedInstance.connectedProduct = nil
            return
        }
        
        ConnectedProductManager.sharedInstance.connectedProduct = newProduct
    }
    
    func product(_ product: DJIBaseProduct, connectivityChanged isConnected: Bool) {
        if isConnected {
            ConnectedProductManager.sharedInstance.connectedProduct = product
            ConnectedProductManager.sharedInstance.setDelegate(self)
        }
        else {
            ConnectedProductManager.sharedInstance.connectedProduct = nil
        }
    }
    
    func component(withKey key: String, changedFrom oldComponent: DJIBaseComponent?, to newComponent: DJIBaseComponent?) {
        if ((newComponent is DJICamera) == true) {
            (newComponent as! DJICamera).playbackManager?.delegate = self
        }
    }

    
    func fetchAircraft() -> DJIAircraft?{
        return ConnectedProductManager.sharedInstance.fetchAircraft()
    }
    
    func fetchCamera() -> DJICamera? {
        return ConnectedProductManager.sharedInstance.fetchCamera()
    }
    
    func fetchGimbal() -> DJIGimbal? {
        return ConnectedProductManager.sharedInstance.fetchGimbal()
    }
    
    func fetchFlightController() -> DJIFlightController? {
        return ConnectedProductManager.sharedInstance.fetchFlightController()
    }
    
    func fetchRemoteController() -> DJIRemoteController? {
        return ConnectedProductManager.sharedInstance.fetchRemoteController()
    }
    
    func fetchBattery() -> DJIBattery? {
        return ConnectedProductManager.sharedInstance.fetchBattery()
    }
    func fetchAirLink() -> DJIAirLink? {
        return ConnectedProductManager.sharedInstance.fetchAirLink()
    }
    func fetchHandheldController() -> DJIHandheldController?{
        return ConnectedProductManager.sharedInstance.fetchHandheldController()
    }
}

I am testing on Inspire 1 and Phantom 3.
The result is that sdkManagerDidRegisterAppWithError is called, but sdkManagerProductDidChange isn't called.
I opened the DJI Go app on my iPhone and confirmed that it was successfully connected.

Can you please let me know when the issue occurs?
Or can I check the logs for DJI SDK so that I can get some idea?

Thanks.

Unable to create DJIFollowMe mission

I am using following code to create DJIFollowMeMission but mission don't created and started .I am creating this mission when the aircraft is in air at some height
Note: I am using DJI Phantom 3

let min_height = proxy.sharedProxy().getAltitudeDictionary(arrTemp: zoneCreateModal.zones).object(forKey: "minimum_height") as! Float
let followTracker = DJIFollowMeMission.init()
followTracker.followMeAltitude = min_height
followTracker.followMeCoordinate = trackerLocationCoordinates
followTracker.heading = DJIFollowMeHeading(rawValue: UInt8(heading_tracker))!
self.missionManager.prepare(followTracker, withProgress: { (progress_value) in
proxy.sharedProxy().displayStatusCodeAlert("Prepairing mission (progress_value)")
}) { (error) in
if (error?.localizedDescription.characters.count) > 0{
proxy.sharedProxy().displayStatusCodeAlert("Error: (error?.localizedDescription)")
}else{
self.missionManager.startMissionExecution { (error) in
if error?.localizedDescription.characters.count > 0{
}
}
}
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.