The files are pure python code and still available. However, I decided to use kaitai struct because it supported more languages than just python. The repository is now at
The new one is at https://github.com/scottprahl/RigolWFM
This is a fork of the work done by Blaicher and Szkutnik to create a command-line utility for converting Rigol waveform files to other formats. The primary purpose of this fork is to create a module that can be installed via pip
::
pip install -Iv RigolWFM==0.3.0
Once this is done, one can extract signals from binary Rigol .wfm
files easily::
import matplotlib.pyplot as plt
import RigolWFM.wfm as wfm
t, y = wfm.signals('OneChannelFile.wfm')
plt.plot(t,y)
plt.show()
t, y1, y2 = wfm.signals('TwoChannelFile.wfm')
plt.plot(t,y)
plt.show()
The parsing code to read these .wfm
files from these scopes is written by Blaicher https://github.com/mabl/pyRigolWFM. The code has been tested by me to work on files from the DS1102E and DS1052E.
The parsing code to read these .wfm
files from these scopes is written by Szkutnik https://github.com/mabl/pyRigolWFM. Since I don't have one of these scopes this exact code is currently untested, but it may still work. Szkutnik does warn
- the calculated voltage values are wrong
- the WFM file format can change with firmware. Only versions 00.04.01.SP2, 00.04.02.SP4 and 00.04.03.SP2 have been tested by Szkutnik with a DS1054Z
- the logic analyzer functions
Unfortunately there is no python code, but in the doc
directory are C and Matlab codes to parse .wfm
files for those scopes. Anyone who decides to write a python parser might want consider using wfm_view
at http://meteleskublesku.cz/wfm_view/ (although this was created specifically to reverse engineer the DS1052E).