Affordable way to integrate Reach M+ with DJI Phantom

I can check this.
I can use AShot Timemark and compare it with LOG on my ipad.

1 Like

I wonder whether it is possible to find a worflow which does not include a further conversion step (I guess that is no problem with python) and which will be the same regardlessly which tablet operating system was used.

The txt file you are sending me is downloaded via itunes from an ios device and the DJI pilot app? Will it be the same file if you use an Android device?

I just tried to order the Ashot and got message:
Sorry, we canā€™t complete your purchase at this time

To comply with government regulations, this transaction has been declined.

I will have to fly with an Android tablet and compare then but I think they are identical. The TXT file is encrypted and you must use the Utility to decrypt and create the CSV file. If you can encorporate the program (its free) into your program then that would be nice.

Did you try to pay from USA business paypal account?
From USA to our business paypal you cant pay ((
But we have personal account. Please send me email. Or you may reply to order email.

Or you may pay from your personal paypal acc.

I got the same thing and we worked it out over email.

Man, miss a day in this place and it blows up! Iā€™ll have to go back through, but @timmyd I have the Reach and power components for the M+ setup for the Yuneec H520 so I will start with working with the log files until we figure out the shutter capture. Actually I think itā€™s much easier than that with the GPX and Geosetter, but I have to get the antenna mount before I can start testing. It going to be a busy month!

1 Like

Ok, I looked a little bit into it and I think what the script will do is:

  • convert the txt file with the help of the TXTlogToCSVtool (you will have to download that separately and place it in the same folder as the script)
  • read the CUSTOM.updateTime for each image (but I fear that this time is not the time when the image was taken but the time when the telemetry message was send.)
  • apply a manually entered offset
  • write events into the RINEX file

Later on I could imagine that I also include the possibility to process the obs file and geotag the images.

What I still need in order to write the script and test it is a data set of one flight which includes:

  1. the DJI Flight record txt file
  2. the RINEX file (with events from the led if possible)
  3. the picture files

If somebody knows I would be interested in the information what kind of time that CUSTOM.updateTime is, UTC?
Found this here, which is not good at all:

Specifically, does anyone know if CUSTOM.updateTime is derived from GPS or mobile device system time?

it comes from smartphoneā€™s OS
in Android version of DJI GO: System.currentTimeMillis()

I did email (manual pay) and all is good. Order complete :slight_smile: Will look forward more than anything not missing any photos. Have a super duper week!

1 Like

Tobia, I think it is ok. I asked the same thing on the DJI forum and the Captain said it was the GPS from the Phantom. I guess time will tell.

I think when VanavaraDigital is able to compare the time stamp in the FlighLog file to the one in the Ashot then that will show how accurate (and if accurate [ edit - consistent] ) the TS is in that file. What is most important is that it is consistent. If it is consistently 40ms off, then you can adjust for that. But no need guessing. We will just wait and see what he comes up with.

1 Like

Ok. But I think the other explanation is more plausible for a telemetry protocol.

When I look at the telemetry log I see that the photo procedure takes about 2 seconds. Why did you choose the end? I would think the time which fits better would be the beginning (or probably the middle). I rhink most reliable is the ā€œis storingā€ message.

It would be interesting if the time changes if you use a faster/slower card or if you use a lower resolution or raw/dng instead of jpg.

The update rate of the log seems to be a little bit more than 100 ms. Is it possible to reduce the load by deactivating some messages etc.?

There is also an interesting variation in the time the camera is active. That could be connected to the exposure time. Please also test different exposure times and note them for each image.

I am new to the FlightLogs and still learning. I flew a mapping mission yesterday so today I will compare the LED TS to the FlightLog TS. Today I will do the test that you mention (different card speeds, exposure settings, etc) I will make very good notes for each photo. I am going to be careful not jump to conclusions and wait on VanavaraDigitalā€™s findings as that will be key information. It will show if the flight log is 1) Consistent and 2) Accurate.

Thanks for you help on this!

Just in case anyone is interested, I have made a comparison of various extracted timestamps from a recent flight of mine. I have extracted data from the DJI flight logs, Map Pilot app flight log, and compared them to the Emlid recorded timestamps monitoring the LED blink (coming back on). Photo exposure speed is shown.

DJI flight log has (GPS?) time, and gimbal time. The Map Pilot log has, I assume to be, photo trigger transmission times. I have used processing residuals from Agisoft Photoscan as a proxy for LED delay, with which I have calculated an approximate middle exposure time. I offer this data in tab separated text file for import into excel.

My takeaways,

  • too many missed and unexplained events in the DJI logs to bother using them as a source of timestamps. Youā€™ll see all the gaps in rows.
  • event triggers extracted from Map Pilot logs are pretty reliable offset from exposure middle with a standard deviation of 20ms
  • DJI gimbal time was not as reliable as Iā€™d hoped, nor was ordinary DJI (GPS?) time,
    with standard deviations of about 70-80ms.
  • Assumed time offset from recorded LED blink is more reliable than timestamps in flight logs with stdev of about 0.015ms.

Youā€™ll see 5 skipped photos, which appear as Map Pilot trigger time without corresponding Emlid recorded LED event.

Also, no false LED events.

Timestamps results.zip (4.5 KB)

1 Like

Hello friends.

I have flight.
In the flight I have made photos by AShot, 1.3 sec interval (see .pos file).
Last 5 shots in the .pos file are made by me with DJI go 4.

Please see folder with my files. I think the timestamp in the log is not the same as stamp in UBX.

Please download them here:
https://yadi.sk/d/C0ci16lVkZ4Z4w

1 Like

Konstantin,

are the units still set to ship March 20 or are they available now?

AShot is available, but we are waiting for cables from China factory. they are on the way to us. I think after 10 days we will receive them.

I also conclude that DJI logs are not suitable. Either the events are missing or if they are reliably there (is.Storing message) they have random offset up to 1,000 ms.

Iā€™m almost finished with the script, but I donā€™t see the use of it regarding the current information aubout the logs. I hope someone comes up with a new idea.

With Arducopter I can reduce the message load to make some bandwidth free for a more reliable logging. I guess that is not possible with DJI?

New idea is using AShot )))))

Please see my logs. Timemark is in the middle of shutter in that logs.

What about the onboard DAT files, are they still available or did DJI change that? Could please someone check that? I do not have a P4Pā€¦ .

I think that this is our last chance to get the camera time from onboard data. Since the DAT files should have a higher data rate I have some hopes to get better information out of these files.

http://www.datfile.net/DatCon/retrieveV3Dat.html

http://www.datfile.net/DatCon/retrieveV3Dat.html

Yes, of course. But I do not own a P4P and if I ever will I do not want to change something on it, because the only reason to buy it would be that it has a CE batch. I have a custom build drone which is far better for mapping than the P4P. And without camera and Reach it is cheaper than 380 ā‚¬ā€¦ .

But I think you have a great solution. Thanks for sharing the files!