Many Keysight oscilloscopes have the capability of exporting data in a "composite" format that combines both waveform and configuration data into a single file. This function reads these files into MATLAB and stores them in either a timeseries or tscollection object, depending on how many channels are read. It supports reading digital data from MSOs and properly handles segmented memory.
The HDF5 format used by these files is poorly documented and seems to change from time to time, so if you encounter a file that is poorly-handled by this function I'd appreciate an email so I can (hopefully) fix it. Thanks!
Bugfixes re: digital data and segmented memory
Removed an assumption about how digital channels are numbered which could cause an error.