[TOOL][WIN] Offline TXT FlightRecord to CSV Converter

I've tried to read up in the post but i couldn't really find it, sorry if it's been asked before...

I've just got the Mavic Pro and I did a test flight this morning with DJI GO 4 v4.0.5 on Android.
When converting the txt file to csv, most of the battery data is missing, but when uploading the txt to Healthy Drones, the data is there.

Is this a problem with TXT FlightRecord to CSV Converter together with DJI GO 4 or am I making something wrong?

I've attached the original log file and the csv if you would like to take a look.

Thanks!
 

Attachments

  • FlightLog.zip
    145.7 KB · Views: 218
im bored at work :)

The flight log from the txt2csv tool fails to show any data in the columns CENTER_BATTERY.voltageCell1 [V], CENTER_BATTERY.voltageCell2 [V], CENTER_BATTERY.voltageCell3 [V]. The CSV export from HD shows shows values for these in the columns voltageCell1, voltageCell2, voltageCell3 (I assume these columns map between the two data sets to show battery cell voltage).

tool:
upload_2017-3-16_15-43-11.png

hd:
upload_2017-3-16_15-43-31.png
 

Attachments

  • upload_2017-3-16_15-42-49.png
    upload_2017-3-16_15-42-49.png
    8.8 KB · Views: 332
im bored at work :)

The flight log from the txt2csv tool fails to show any data in the columns CENTER_BATTERY.voltageCell1 [V], CENTER_BATTERY.voltageCell2 [V], CENTER_BATTERY.voltageCell3 [V]. The CSV export from HD shows shows values for these in the columns voltageCell1, voltageCell2, voltageCell3 (I assume these columns map between the two data sets to show battery cell voltage).

tool:
View attachment 78581
hd:
View attachment 78582
In the case of the Mavic the .txt does not include the individual cell voltages. It does, however, include the SMART_BATTERY.voltage [V] which is shown in the .csv generated by TXTlogToCSVtool (column DZ). HealthyDrones divides SMART_BATTERY.voltage [V] by 3 and presents that as each of the individual cell voltages. I.e., the cell voltages will be identical.

@lazaruz
 
  • Like
Reactions: Digdat0
HealthyDrones divides SMART_BATTERY.voltage [V] by 3 and presents that as each of the individual cell voltages. I.e., the cell voltages will be identical.
Right on. This is what I'm doing in my log viewer too.
 
In the case of the Mavic the .txt does not include the individual cell voltages. It does, however, include the SMART_BATTERY.voltage [V] which is shown in the .csv generated by TXTlogToCSVtool (column DZ). HealthyDrones divides SMART_BATTERY.voltage [V] by 3 and presents that as each of the individual cell voltages. I.e., the cell voltages will be identical.

makes total sense.
 
In the case of the Mavic the .txt does not include the individual cell voltages. It does, however, include the SMART_BATTERY.voltage [V] which is shown in the .csv generated by TXTlogToCSVtool (column DZ). HealthyDrones divides SMART_BATTERY.voltage [V] by 3 and presents that as each of the individual cell voltages. I.e., the cell voltages will be identical.

@lazaruz

Ah ok, but does the .txt not include for example the serial number, product date, loop number and temperature? In my CSV all of these other fields are also empty...

CENTER_BATTERY.relativeCapacity
CENTER_BATTERY.currentPV [V]
CENTER_BATTERY.currentCapacity [mAh]
CENTER_BATTERY.fullCapacity [mAh]
CENTER_BATTERY.life
CENTER_BATTERY.loopNum
CENTER_BATTERY.errorType
CENTER_BATTERY.current [A]
CENTER_BATTERY.serialNo
CENTER_BATTERY.productDate
CENTER_BATTERY.temperature [C]
CENTER_BATTERY.connStatus
CENTER_BATTERY.totalStudyCycle
CENTER_BATTERY.lastStudyCycle
CENTER_BATTERY.isNeedStudy
CENTER_BATTERY.isBatteryOnCharge
RECOVER.batterySn
 
Hi, quick question: are the control signal strength and WiFi signal strength for a Phantom 3 Standard recorded anywhere in the flight records? I can find GPS satellites (OSD.gpsNum) and GPS signal strength (OSD.gpsLevel), but nothing about the 5.8 and 2.4GHz signals...
 
Last edited:
Anyone here tried the new Dashware 1.9.0? Anything to report? 4K support? (Guess not)

Didn't realize they came out with a new version... thank you for pointing that out, that's great news. Here the release notes, in case others are interested to know what changed:

  • Fixed DashWare to work properly on Windows 10 with the Anniversary Update. We no longer support XP. Earliest supported OS is Win7.
  • Added GoPro HERO5 Black GPS support. Data is now automatically extracted from the .MP4 file and auto-synced with the video.
  • Updated to .NET 4.6.2, which seemed to fix a lot of Microsoft MediaElement bugs (the player we use in the UI).
  • We are using a new installer system, since our old one was deprecated by Microsoft.
  • If you Drag & Drop video/data into DashWare, without a project open, a new project is now automatically created using the default template.
  • If you merge chaptered GoPro HERO5 Black videos, we’ll also merge the data into one big CSV. If you do this with a project open, we’ll automatically add the resulting .MP4 and .CSV to the project.
  • Added the ability to export a .PNG image sequence of gauges with a transparent background. Handy if you wish to apply the overlays in software like Adobe Premiere.
  • Added the ability to rotate gauges.
  • Analog gauge faces (and the various other analog components) can now optionally set their value ranges automatically from your data (in a project). So, for example, a speedometer can now automatically scale based on your max speed.
  • Better sharing of value range / angle range settings between the various analog gauge components (parent component –> child).

EDIT: I tested the new DashWare version on Windows 7 Professional 64bit, and when I went to create a video, the usual FFmpeg encoder option was missing. The only available option was Windows Media Foundation, which repeatedly crashed. Hence, I went back to the old DashWare 1.7.37.
 
Last edited:
Is the source code for this available? I'm looking to create a web app that leverages a DJI FlightRecord parser myself, but it seems everyone is hell-bent on keeping their parser a secret.
 
it seems everyone is hell-bent on keeping their parser a secret.
True. Nobody wins once everyone knows how to decrypt the flight logs. DJI will just re-encrypt them and we'll be back to square one.
 
i dont see them sharing source code, and for good reason. dji will change their encryption scheme again and we won't be able to convert logs again. We don't want that. If you can figure it out using your knowledge, skills and resources, you deserved to know. If not, you need to use the tool like the rest of us :)
 
  • Like
Reactions: isicom
i dont see them sharing source code, and for good reason. dji will change their encryption scheme again and we won't be able to convert logs again. We don't want that. If you can figure it out using your knowledge, skills and resources, you deserved to know. If not, you need to use the tool like the rest of us :)

You have right. I didn't see it in this view.
Thanks for clearing :)
 
  • Like
Reactions: Digdat0
Hi folks, I'm glad to present you the result of my work.
A lot of us have been unhappy, because until now, there was no offline TXT FlightRecord to CSV Converter.
And after websites such as HealthyDrones and djilogs.com started to charge for their services, I decided I really need some offline converter. So I created it by myself.

It's quite simple, all you need to do is select input TXT file and output CSV file and press the GO button. There is also option to export JPG images, if they are present in the log.

I don't plan to add graphs, statistics or something like that.
My thanks goes to (for me) unknown person, who published some sources at this site, so I was able to put missing pieces together.

If you find any error, let me know.
Enjoy ;)

Notice 1: It is confirmed that the TXT logs of Inspire, and also TXT logs from iOS app, have a little bit different structure (not known to me), so, please, don't be surprised when you see some strange values

Notice 2: Some of you requested the structure of the TXT log, so, here you have it too
- edit: since DJI GO 2.8.4, TXT logs are encrypted, so the structure file is useless

Notice 3: Tool can be also run from command line like this, example:
TXTlogToCSVtool "C:\temp\inputFile.txt" "C:\temp\outputFile.csv" J I
It will try to read inputFile.txt and write the output into outputFile.csv.
Optional parameters:
J ... it will also export JPGs, if they are present in the log
I ... imperial units will be used

Notice 4: The tool is freeware and it is intended for your own personal use only.

actual version is from 2017/01/13


Thanks for the tool. Btw any intention of sharing the code ? or atleast can you please how are you decoding. I am planning to develop the tool in python. If you help me with this, then I will be happy to share the python code with you.
 
Thanks for the tool. Btw any intention of sharing the code ? or atleast can you please how are you decoding. I am planning to develop the tool in python. If you help me with this, then I will be happy to share the python code with you.

Why does everyone want to develop the same tool again and again? Can't we collectively work and make one tool strong and meaningful for all?
 
  • Like
Reactions: isicom

Recent Posts

Members online

No members online now.

Forum statistics

Threads
143,094
Messages
1,467,600
Members
104,980
Latest member
ozmtl