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]'