FlightRecordParsingLib issue with parsing
CompletedHello!
When using official DJI FlightRecordParsingLib project, I'm having issues getting all the information of the flight parsed correctly. Basically the following is being returned when running it on MSDK generated flight records:
./FRSample ~/DJI-FlightRecords/DJIFlightRecord_2023-06-10_\[12-35-36\].txt
{"summary": {
"platform": "Android",
"appVersion": [
0,
0,
0
],
"batteriesInformation": {
"0": {
"index": 0,
"firmwareVersion": [],
"serialNumber": "4ERPKBBEA153MG"
}
},
"camerasInformation": {
"0": {
"index": 0,
"firmwareVersion": [],
"serialNumber": "1TCLK7K03BJ2JW"
}
},
"gimbalsInformation": {},
"remoteControllerInformation": {
"index": 0,
"firmwareVersion": [],
"serialNumber": "5YSZKB30020TSG"
},
"flightControllerInformation": {
"index": 0,
"firmwareVersion": [],
"serialNumber": "1581F5FJD22BF00B"
},
"aircraftName": "dji aircraft",
"startTime": 1679318301.392,
"startCoordinate": {
"latitude": 46.253275637656635,
"longitude": 15.096627885472678
},
"totalDistance": 92.8,
"totalTime": 0,
"samplingRate": 10,
"maxHeight": 10,
"maxHorizontalSpeed": 5.7706151,
"maxVirticalSpeed": 3,
"uuid": "8eadfe6d-4efe-4187-816e-fa598f85e775",
"productType": 118
}
, "info": {
"frameTimeStates": [
{
"gimbalsState": {},
"camerasState": {},
"batteriesState": {}
}
]
}
}
Compared to log parsed from official DJI Pilot 2 app, it's missing the following data:
- field
firmwareVersion
forbatteriesInformation
,camerasInformation
,gimbalsInformation
andflightControllerInformation
; -
remoteControllerInformation
is missing -
totalTime
is always 0 -
frameTimeStates
is empty array instead of data for each timestamp
Noticed even though log files are similar size, the parser output produces considerable less data for our app as witnessed above.
-
Sure thing, we're using MSDK 5.4:
implementation "com.dji:dji-sdk-v5-aircraft:5.4.0"
compileOnly "com.dji:dji-sdk-v5-aircraft-provided:5.4.0"
runtimeOnly "com.dji:dji-sdk-v5-networkImp:5.4.0"
Also to clarify, the FlightRecordParsingLib does actually work on the *.txt files generated by the DJI Pilot 2, at least the last time we tried. Which is strange, because according to DJI spokesperson on the following issue, the *.txt files generated by the official app should be the same as the *.txt file generated by the MSDK. But clearly there is something different with the content of the file when these files are generated by the MSDK. -
I consulted with the engineer regarding this matter and found out that MSDK and Pilot 2 use the same code for generating flight records, so the results should be the same. Are you sure that every file in Pilot 2 is different from MSDK? Could you provide us with some files? link:https://pan-sec.djicorp.com/s/sT9wdRKs3oZDtX2 -
Ok just tried to run the parsing library on some of the *.txt flight logs generated by the latest Pilot 2 app and I'm now seeing the same issue. Also to clarify I tried running it both natively in Linux Ubuntu as well as from a Docker container. I've used your link and created the following directories and uploaded files:
- DJI Pilot 2: Contains two folders, one that contains a txt file back from January that was parsed correctly (folder Parsed OK) using FlightRecordParsingLib. The second folder (Parsed Incorrect) contains a txt file from latest DJI Pilot 2 that is now having the same issues as mentioned in opening post when parsing using FlightRecordParsingLib
- Custom App using MSDK: Contains the flight log that was generated in our app using the latest MSDK 5.4 version and when parsing using the FlightRecordParsingLib shows the above issue.
Hope this information helps you solve it. My understanding is that you probably made some breaking changes when generating the flight logs (as first the MSDK generated logs stopped parsing correctly and then later when you upgraded the DJI Pilot 2 the same thing happened) and the FlightRecordParsingLib needs to be updated to accommodate these changes.
-
Hello DJI Developer Support!
Any news regarding the resolution of this issue? We've flight logs from one of our customers that had issues but are now unable to parse the logs until this is solved. And we can't pinpoint the issue without those logs.
-
Is there an update on this issue? Was there a flight record format change that's now breaking newer logs?
I'm seeing the same behaviour with MSDK 5.5 not parsing with FlightRecordParsingLib, however there are no issues with Pilot 2 generated records. We have a third party service that isn't able to parse flight records from MSDK so we're trying to track down the reason. Thanks.
Please sign in to leave a comment.
Comments
12 comments