PX4 / pyulog

Python module & scripts for ULog files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KeyError: 'uint8_t[1169]' after `ulog.write_ulog(...)`

zeroos opened this issue · comments

I have this snipped of code.

from pyulog import ULog
ulog = ULog("12_43_07.ulg")
ulog.write_ulog("/tmp/a.ulg")`

The file 12_43_07.ulg is a PX4 log generated using the code from the main branch of PX4

After executing the code above, the following exception is thrown and only partial data is saved in /tmp/a.ulg:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[3], line 1
----> 1 ulog.write_ulog("/tmp/a.ulg")

File ~/programming/px4/Anonymize_ULog_Data/pyulog/pyulog/core.py:248, in ULog.write_ulog(self, path)
    246 self._write_format_messages(ulog_file)
    247 self._write_info_messages(ulog_file)
--> 248 self._write_info_multiple_message(ulog_file)
    249 self._write_initial_parameters(ulog_file)
    250 self._write_default_parameters(ulog_file)

File ~/programming/px4/Anonymize_ULog_Data/pyulog/pyulog/core.py:303, in ULog._write_info_multiple_message(self, file)
    301 continued = False
    302 for value in value_set:
--> 303     data = self._make_info_message_data(key, value, value_type, continued)
    304     header = struct.pack('<HB', len(data), self.MSG_TYPE_INFO_MULTIPLE)
    306     file.write(header)

File ~/programming/px4/Anonymize_ULog_Data/pyulog/pyulog/core.py:360, in ULog._make_info_message_data(self, key, value, value_type, continued)
    356     data.extend(value_bytes)
    357 # elif value_type.startswith('uint8_t['):
    358 #     data.extend(value)
    359 else:
--> 360     code = self._UNPACK_TYPES[value_type][0]
    361     data.extend(struct.pack('<' + code, value))
    363 return data

KeyError: 'uint8_t[1169]'