This project is intended to be a comprehensive resource for interpreting waveform .wmf
files created by any Rigol oscilloscope. Open source (and Rigol's own applications) that parse/convert Rigol's binary .wfm
files are sadly balkanized: each program tends to support a single oscilloscope group and the available efforts are spread across a range of languages.
Rigol DS1102D Exporting. Using a usb flash drive, you can transfer WFM (waveform) files,.CSVs, bitmaps of a screenshot of the LCD, and so on. Click Run/Stop once you've captured the required data. Insert a USB stick. Click Storage under the Menu group. Pick the top gray soft-button and make sure that CSV is selected.
- File extension.wmf: File category: images: Description: WMF format is a positional graphics domiciled with Windows; it aids the direct display of an image on the screen of a device, in a particular way. Though a graphical format, the WMF is not limited to use in image files.
- Best way to convert your WMF to JPG file in seconds. 100% free, secure and easy to use! Convertio — advanced online tool that solving any problems with any files.
This project leverages a domain specific language (kaitai struct) to represent the binary files. Once a binary file has been described in this text format, parsers can be generated for a wide range of languages (C++/STL, C#, Go, Java, JavaScript, Lua, Perl, PHP, Python, and Ruby).
Kaitai Struct also has a slick web IDE that allows one to interactively reverse engineer binary file formats directly in your browser. This is super helpful for those Rigol .wfm
formats that are undocumented.
Installation
The RigolWFM package can be installed via pip:
Usage
Once this is done, one can plot the signals from binary Rigol .wfm
files by:
Alternatively, wfmconvert
can be used from the command line. For example, the following should convert all the DS1000E files in the current directory to the .csv
format:
If you wanted to create .wav files for use with LTSpice then this would create them:
More extensive documentation can be found at
Status
There is a bit of work remaining (testing, validation, repackaging) but there are binary file descriptions for .wfm
files created by the following scopes:
- DS1000C untested
- DS1000E tested
- DS1000Z tested, but with wonky voltage offsets
- DS2000 tested
- DS4000 tested
- DS6000 untested
Resources
Wedding_album_maker_gold. This has been a bit of an adventure. In the process of nailing down the basic formats, I have gleaned information from a wide range of projects started by others.
- Shein's Pascal program
- Wagenaars's Matlab script
- Steele's C program
- Blaicher's python code
- Szkutnik's python code
- Cat-Ion's python code
- Šolc's python code
- Contributions from
- A LabView program I got from Rigol support
- Rigol's documentation of the 1000E, 1000Z, 2000, and 6000 file formats.
Source code repository
License
BSD 3-clause -- see the file LICENSE
for details.
So I own a Rigol DS1102D 100mhz MSO which has two-channels of analog and 16 channels of logic analysis through the active logic head LH1116.
It's capable for recording 1 million records at 100mhz, which is very respectable for most of the hobby projects that I work on. This is probably the fourth or fifth product I have capable of doing logic analysis, and most have their strengths and weaknesses. This one is a small standalone unit that doesn't require a PC, or external keyboard/mouse/monitor. It can display all 16 channels at once on the LCD, and is great for making quick measurements.
Ultrascope, the included PC software, is just lacking in even the basic most features. Microsoft flight simulator full version for windows 7. While it's neat that it replicates the scope's interface directly, when you have a PC a much better interface is possible.
Rigol DS1102D Exporting….
Using a usb flash drive, you can transfer WFM (waveform) files, .CSVs, bitmaps of a screenshot of the LCD, and so on.
Rigol Wfm File Converter Tool
- Click Run/Stop once you've captured the required data.
- Insert a USB stick.
- Click Storage under the Menu group.
- Pick the top gray soft-button and make sure that CSV is selected.
- Make sure the LA Data Type is set to Hex (instead of binary or Decimal)
- Pick the bottom gray soft-button for the second screen of Storage options.
- Select External.
- Specify a filename, and then click ok.
- After it's finished, transfer the USB stick to a Linux PC.
Download the OLS client for your platform. I tested this on a Windows 8 machine — I would imagine this should work fine for the other platforms.
Converting the file
Rigol Wfm File Converter Software
- Execute the following command which basically just rearranges the data into a usable format:
- cat NewFile0.csv | cut -d , -f 2,3 -s | nawk '{print $0'@'FNR}' | tr -d 'r' | tr -d ',' | sed -e 's/ 0/00/' > NewFile0.ols
- Then, remove the existing top two lines: the header row with D15,D14,D13, etc, and the 'Second,' line.
- Add the following four lines to the beginning of the file:
- The file is now ready to be loaded. Launch OLS and select Open. (not open project!), and select the file.