I have an interesting problem. sdlog2_dump.py scripts works for my arducopter.bin files but not arduplane.bin files. When I try running it with an arduplane.bin file I get stopped at
Exception: Unsupported format char: a in message ISBD (225)
There is no letter “a” in the class SDLog2Parser list maybe this is part of the problem.
Any ideas how to fix this or maybe its already done?
I have posted the link to the .bin file I am trying to convert. You will find it in the comments section in this link.
I know the problem: The table in the comments at line 1153 of libraries/DataFlash/LogStructure.h defines the character-to-types which are currently used. Recently (just over a year ago, with this commit) the character ‘a’ was added to indicate an array of int16_t which is 32 elements long. (aka: int16_t[32])
You’ll need to update the sdlog2_dump.py script (or it’s correct dependent code) to correctly handle this new type.
Interesting this would explain why when I just add the letter a to the sdlog2_dump it will know run but it only gets the first three rows. Thanks for pointing me in the right direction!
Update: I added the “a” into the sdlog2_dump.py. My RPI3 only produces a file with three rows. My laptop running the Ubuntu 16 something gives my all the rows as far as I can tell. At least I think I have figure out something. Thanks
This isn’t a tool suitable for use with ArduPilot logs - it’s certainly
not maintained by anybody in AP, and I believe PX4 Firmware may have
changed log formats, too.
Have a look at “mavlogdump.py” - it has a CSV output option.
I took a look at mavlogdump.py. mavlogdump.py script has the same problem no "a" character. I manged to edit the sdlog2_dump file by defining it with the rest of the variables as shown below....
So far the data seems to come out right.
It would be nice to get mavlogdump.py working to.
for the sdlog2_dump I was able to add the letter a in the definitions. This seems to fix it. It would be nice to use mavlogdump.py since it is for ardupilot as you said.