DJI Log Converter

I got a profile put together. The 1st one is what you currently have, and the 2nd is the additional profile.

*******************
latitude
longitude
altitude(feet)
ascent(feet)
speed(mph)
distance(feet)
time(millisecond)
datetime(utc)
satellites
voltage(v)
max_altitude(feet)
max_ascent(feet)
max_speed(mph)
max_distance(feet)
**********************
latitude
longitude
latitude_pilot
longitude_pilot
motor on
distance(feet)
verticalspeed(mph)
speed(mph)
altitude(feet)
ascent(feet)
time(millisecond)
datetime(local)
satellites
max_distance(feet)
max_speed(mph)
max_altitude(feet)
max_ascent(feet)
flightMode
velocityX
velocityY
velocityZ
pitch
yaw
roll
returnToHomeAltitude
batteryremainPower
currentElectricity
voltage(v)
currentCurrent
batteryTemperature

*********************
 
Here is the list of everything in length from the .txt file. I went through the list and pulled from it everything that is useable now. But I wrote it down and haven't changed it to text yet. There was 25 on the list I'm referring to.

CUSTOM.updateTime
RECOVER.droneType
RECOVER.appType
RECOVER.appVersion1
RECOVER.appVersion2
RECOVER.appVersion3
RECOVER.aircraftSnBytes
RECOVER.aircraftName
RECOVER.activeTimestamp
RECOVER.cameraSn
RECOVER.rcSn
RECOVER.batterySn
DETAILS.substreet
DETAILS.street
DETAILS.city
DETAILS.area
DETAILS.isFavorite
DETAILS.isNew
DETAILS.needUpload
DETAILS.recordLineCount
DETAILS.updateTime
DETAILS.longitude
DETAILS.latitude
DETAILS.totalDistance
DETAILS.totalTime
DETAILS.maxHeight
DETAILS.maxHorizontalSpeed
DETAILS.maxVerticalSpeed
DETAILS.photoNum
OSD.longitude
OSD.latitude
OSD.height
OSD.xSpeed
OSD.ySpeed
OSD.zSpeed
OSD.pitch
OSD.roll
OSD.yaw
OSD.flycState
OSD.flycState.raw
OSD.flycCommand
OSD.flycCommand.raw
OSD.canIOCWork
OSD.groundOrSky
OSD.isMotorUp
OSD.isSwaveWork
OSD.goHomeStatus
OSD.goHomeStatus.raw
OSD.isImuPreheated
OSD.isVisionUsed
OSD.voltageWarning
OSD.modeChannel
OSD.compassError
OSD.gpsNum
OSD.flightAction
OSD.flightAction.raw
OSD.motorStartFailed
OSD.motorStartFailedCause
OSD.motorStartFailedCause.raw
OSD.nonGPSCause
OSD.nonGPSCause.raw
OSD.battery
OSD.sWaveHeight
OSD.flyTime
OSD.motorRevolution
OSD.flycVersion
OSD.imuInitFailReason
OSD.imuInitFailReason.raw
GIMBAL.pitch
GIMBAL.roll
GIMBAL.yaw
GIMBAL.mode
GIMBAL.mode.raw
GIMBAL.rollAdjust
GIMBAL.yawAngle
GIMBAL.isAutoCalibration
GIMBAL.autoCalibrationResult
GIMBAL.version
RC.aileron
RC.elevator
RC.throttle
RC.rudder
RC.gyro
RC.recordStatus
RC.shutterStatus
RC.custom2
RC.custom1
CUSTOM.isPhoto
CUSTOM.isVideo
CUSTOM.hSpeed
CUSTOM.distance
DEFORM.isDeformProtected
DEFORM.deformStatus
DEFORM.deformStatus.raw
DEFORM.deformMode
DEFORM.deformMode.raw
HOME.longitude
HOME.latitude
HOME.height
HOME.isHomeRecord
HOME.goHomeMode
HOME.aircraftHeadDirection
HOME.isDynamicHomePointEnable
HOME.isReatchLimitDistance
HOME.isReatchLimitHeight
HOME.isMultipleModeOpen
HOME.hasGoHome
HOME.compassCeleStatus
HOME.isCompassCeleing
HOME.isBeginnerMode
HOME.isIOCEnabled
HOME.iocMode
HOME.iocMode.raw
HOME.goHomeHeight
HOME.dataRecorderStatus
CENTER_BATTERY.relativeCapacity
CENTER_BATTERY.currentPV
CENTER_BATTERY.currentCapacity
CENTER_BATTERY.fullCapacity
CENTER_BATTERY.life
CENTER_BATTERY.loopNum
CENTER_BATTERY.errorType
CENTER_BATTERY.current
CENTER_BATTERY.serialNo
CENTER_BATTERY.productDate
CENTER_BATTERY.temperature
CENTER_BATTERY.connStatus
SMART_BATTERY.usefulTime
SMART_BATTERY.goHomeTime
SMART_BATTERY.landTime
SMART_BATTERY.goHomeBattery
SMART_BATTERY.landBattery
SMART_BATTERY.safeFlyRadius
SMART_BATTERY.volumeConsume
SMART_BATTERY.status
SMART_BATTERY.status.raw
SMART_BATTERY.goHomeStatus
SMART_BATTERY.goHomeStatus.raw
SMART_BATTERY.goHomeCountdown
SMART_BATTERY.voltage
SMART_BATTERY.battery
SMART_BATTERY.lowWarning
SMART_BATTERY.seriousLowWarning
SMART_BATTERY.seriousLowWarningGoHome
RC_GPS.latitude
RC_GPS.longitude
RC_GPS.xSpeed
RC_GPS.ySpeed
RC_GPS.gpsNum
RC_GPS.gpsStatus
APP_TIP.tip
APP_WARN.warn
OSD.height.running_max
CUSTOM.hSpeed.running_max
CUSTOM.distance.running_max
 
Oh...and I also wanted to mention that even though there is a large amount of data above, there is still more data somewhere. Maybe the .dat files?
 
Recommend you just use the "Comprehensive CSV" format from now on, I don't want to be in the business of renaming headers and changing units - make a new Dashware profile if you need it. The Comprehensive CSV is the canonical going forward.

Added support for FLY???.DAT, but it's text log messages only for the forseeable future.
 
Hot off the press... another converter for your DJI Pilot .txt log files...

http://www.uavforecast.com/djilogs

Outputs:
  • a comprehensive CSV format with every field imaginable
  • a Flytrex-compatible CSV format
  • Google Earth KML file
Props to Frank D'Amato for working with me on this one.

Also now supports FLY???.DAT files, with very limited output (text log messages only for the forseeable future).

Upcoming features:
  • log in to your DJI account to download your flight records from the cloud
  • a domain name just for this tool
I just discovered last night a way to capture the flight logs, downloading directly from the camera link to Mac... here's a screenshot. Trying to figure out all the fields, but totally cool...
IMG_0888.JPG
 
Last edited:
Recommend you just use the "Comprehensive CSV" format from now on, I don't want to be in the business of renaming headers and changing units - make a new Dashware profile if you need it. The Comprehensive CSV is the canonical going forward.
Added support for FLY???.DAT, but it's text log messages only for the forseeable future.

I've created a profile in Dashware from the comprehensive CSV. Works really well :) Thank you for providing the converter!
I created the RC stick movements, throttle + rudder on left stick and Elevator + aileron on the right. Great to see how close you are of doing a CSC in flight.
Lots of data to view and monitor eg battery health through voltage, battery temp etc.
But I can't find one field, the actual amps(current). As the actual voltage increases the actual amps should decrease (usually) and vice versa.
Is there no such field in the DJIFlightRecord???.txt file ?
In the SDK documentation there is a CurrentCurrent
- (NSInteger) currentCurrent
readwritenonatomicassign
current (mA)

I tried all the current columns but none show this. Below a video where I've charted some of the current columns.
Any ideas appreciated!
 
  • Like
Reactions: steelegwds
What about CENTER_BATTERYcurrent?

Btw, any chance the flight log will be displayed in Imperial instead of all Metric? The current flight log doesn't display feet or mile per hour(mph).

I have given the info of Matthew Lloyd's converter link to what seems like a 500 people in just the past 4-5 weeks. But now some has emailed saying their P3 is messed up and they're all depressed, or asking what could be wrong with their bird.

So I'll ask what is it that has them feeling upset or confused. And I will get something such as "I thought I was going faster but the flight log said the bird was only going 18mph and I had it wide open".

I then have to explain that the formula is in Meters Per Second and that their quad actually went 40mph. Instant relief....but confusing for sure.

Anyway that's why I ask about Imperial.
 
SRT acronym means?

It's a supplemental file to the video that contains the closed caption data. DJI could have just embedded the CC data into the video, but that would have been more difficult to remove if someone wanted to share a video without giving out potentially sensitive information (GPS coordinates of your house?).
 
  • Like
Reactions: Farmer
I was just looking at this thread last night as well as my flight logs in the app. Now 2/3 of my flights are gone and my first few flights from last week show feb 7as the date. Does anybody know anything about this?
 
Cool :) It isn't there as far as I can tell.

It seems CenterBattery.Current is incorrectly converted to the csv - using the converter from http://www.djilogs.com/ values are between 50000 to 60000.
The P3 draws around 13000mAh.
There is another csv converter at http://thecutter.net/djiconverter
It shows basically same data but under the CenterBattery.Current column, values are between 10000 to 20000 - so these are the correct ones.
Anyway you could modify the conversion to show correct values?
 
It seems CenterBattery.Current is incorrectly converted to the csv - using the converter from http://www.djilogs.com/ values are between 50000 to 60000.
The P3 draws around 13000mAh.
There is another csv converter at http://thecutter.net/djiconverter
It shows basically same data but under the CenterBattery.Current column, values are between 10000 to 20000 - so these are the correct ones.
Anyway you could modify the conversion to show correct values?

Thanks for spotting this. This is now fixed. The current field now appears correctly in amps.
 
Thanks a bunch!
Now I can work further on the Dashware profile.
Do you mind saying how you convert the txt file? Is it through the SDK?
 
Frank D'Amato has done a bunch of work on DJILogs.com-compatible Dashware profiles. Join his FB group: https://www.facebook.com/groups/dashwaregaugesharing/

There is no DJI SDK for reading the logs, as far as I know. I reverse engineered the (completely undocumented) format by decompiling the DJI Pilot app and making some educated guesses - hence the occasional mistake :)
 
Frank D'Amato has done a bunch of work on DJILogs.com-compatible Dashware profiles. Join his FB group: https://www.facebook.com/groups/dashwaregaugesharing/

There is no DJI SDK for reading the logs, as far as I know. I reverse engineered the (completely undocumented) format by decompiling the DJI Pilot app and making some educated guesses - hence the occasional mistake :)
Ah ok thanks for that!

Any chance you can share the dash ware profile

I'm still creating the profile. Not too difficult to create but always some issues coming up.
Like the Amps issue in previous post - Next one - Amps, amongst some other fields, is only updated every second. The csv file has data for every 1/10 second. Unfortunately, the same value is repeated 10 times. It would be less jerky if it had been lineally interpolated. Dashware can do this, but only if the rows are blank.
Here is what I mean. Look at the watts' dynamic text. Same number for 1 second.
Any chance CloudsNeverDie to change to a linear interpolation? Not a big deal though. I could also run a macro on the csv to do it.
 

Members online

No members online now.

Forum statistics

Threads
143,086
Messages
1,467,524
Members
104,965
Latest member
cokersean20