<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Ross,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve been looking at these files and had some success with figuring out the files using what you posted as a starting point. There’s too much for me to provide in one email, so I’ll spread the information out over time and start with some basic stuff.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>For example, the logs generated by the Fly app for the Mavic Mini are essentially the same as what’s generated by GO, with an important difference: the order of the “records” and “details” areas are reversed as follows:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Header<o:p></o:p></p><p class=MsoNormal>Details<o:p></o:p></p><p class=MsoNormal>Records<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This is also reflected in those first bytes in the header, which still (generally) points past the end of the “records” area as it does in GO, so it might be better to describe it as “the end of the records area” instead of “the size of the header and the records area combined”.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Also, “The next 4 bytes of the file [that] appear to be a version number” aren’t really a version number (I believe this information came from the <a href="https://www.sciencedirect.com/science/article/pii/S1742287617302001">DROP paper</a>). The first two bytes generally are the length of the “details” area (typically 400 bytes, hence the typical value of 190 hexadecimal / little endian 9001). I’m not sure about the fourth byte (it’s typically zero) but the third byte does appear to be some sort of enumeration representing the application generation or file format, and I’ve listed below what I think some mappings may be. Note that – at least so far – the Fly app has one code that’s used on both (Android and iOS) operating systems, but some of the earlier generations of the GO application seem to have separate codes per OS. That may be because it’s actually an indicator of the file format and the OS mapping is incidental, but in any case here are some codes I’ve seen and a guess of what each one represents in reverse order, with the lower values apparently corresponding to earlier versions of the GO app and / or their associated file formats:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>12: Fly<o:p></o:p></p><p class=MsoNormal>11: GO 4 Android (circa 4.2.8?)<o:p></o:p></p><p class=MsoNormal>10: GO 4 Android (ca. 4.2.0?)<o:p></o:p></p><p class=MsoNormal>9: GO 4 Android (ca. 4.0?)<o:p></o:p></p><p class=MsoNormal>8: GO 4 iOS<o:p></o:p></p><p class=MsoNormal>7: GO Android<o:p></o:p></p><p class=MsoNormal>6: GO<o:p></o:p></p><p class=MsoNormal>4: GO Android<o:p></o:p></p><p class=MsoNormal>3: GO iOS<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>As you mentioned on your website, those first 12 bytes of the header are the only ones present in older files. As best I can tell, the header was expanded to 100 bytes at the same time that DJI started “scrambling” the record payloads, but the basic content and structure of those earlier records is the same as what’s still generated by GO (and now Fly). I believe the type 7 file format is the earliest one in which the payloads are scrambled, but it looks like there are at least a couple of people signed up for this mailing list that I’m sure know more about this than I do, so maybe one of them will chime in and confirm or dispute what I’ve written.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Brett<o:p></o:p></p></div></body></html>