When attempting to merge mdf files, I receive some version of the following error:
asammdf.blocks.utils.MdfException: internal structure of file 2 is different; different channels
I understand the reason for this error. My CAN device is only logging signals whenever it detects a change in their value. Each mdf file in my configuration represents about ten minutes of data collection, so if any particular signal remains unchanged during this period of time, its channel will not be present in the mdf file.
If I were to filter out the channels that are periodically missing, I would effectively be filtering out most of my useful data.
Is there a way to fill in the missing channels with blank data on the mdfs which are missing them? I'm looking for a way to take all the unique channels from all mdf files and place them in the merged final output. Similar to the stack functionality, but only for adding channel names, no data, and without duplicates.
For further context, I'm a beginner with these traces. I've done most of my logging through MongoDB and saved the CAN traces as backup, and have up until now never needed to actually use them.
Any ideas? Thanks in advance!