previously reviewed a few open source mdf readers as well as get basic concept about mdf. here is a working process with asammdf, which is step by step to understand this lib.
the basic problem here is to read a special signal data, not know its channel and group id.
first try
|
|
so first, “channel 123” is actually not the name. and with the right name can reading data, but no guarantee which group this channel is from, and further can’t know is there additional groups has record this type of data.
second try
as mentioned mdf4 groups have attributes, how about to access these attributes. so far, especially helpful attributes are:
groups:list, list of data group dicts
channels_db:dict, used for fast channel access by name. for each name key the value is a list of (group index, channel index) tuples
|
|
which is far more less as expected, but give an good exploring about the reader’s attributes.
third try
|
|
which gives me the right way to access the interested signals’ raw data. combing with s3 streaming body read, as mentioned in previous mdf-reader, which finally gives the powerful pipeline from reading mdf4 files from s3 storage to downside appilication