Sample Waveforms
New waveform files for testing wavebin can be submitted here by attaching them to a comment.
Waveform files contain the serial number of the capturing oscilloscope. If you wish to remove this number before uploading, open the .bin file in a hex editor (such as HxD) and look for the oscilloscope model number near the top of the file. The 8 digit serial number (e.g. CN12345678) follows the model number. Replace the serial number with zeros (CN00000000) rather than deleting it so the size of the file is not changed.
Hi Revaes,
I'm taking a look now. The waveform header is a different length for some reason.
Traceback (most recent call last):
File "C:\Program Files (x86)\Python38-32\lib\site-packages\wavebin\interface.py", line 184, in menu_file_open
if not self.config['wave'].parse(file_path):
File "C:\Program Files (x86)\Python38-32\lib\site-packages\wavebin\wave.py", line 36, in parse
header = self.parse_waveform_header()
File "C:\Program Files (x86)\Python38-32\lib\site-packages\wavebin\wave.py", line 110, in parse_waveform_header
fields = struct.unpack("5if3d2i16s16s24s16sdI", data)
struct.error: unpack requires a buffer of 140 bytes
Hi Sam, I have a Siglent SDS2000x Plus .bin for you. It currently does not open for me usr_wf_data.bin.zip .
Hi Jeff, thanks for the Siglent sample.
wavebin doesn't have a parser for the Siglent binary format at the moment. I've found the format specification on the Siglent site which makes it much easier to implement in wavebin. I've created issue #8 to keep track of progress on this.
Handyscope HS4-Diff (but according to manual all Handyscopes) are using a header free binary file. The MultiChannel Software is capable to export in different data types (int, float, etc.). But once exported, it can't be used/imported in the software again, which is why wavebin would come handy.
The settings for this one (also written in the filename): Channels: 2 Samplerate: 5MHz Samples: 100kSa Time/div: 200us Datatype: Float64
Info about export format: https://www.tiepie.com/en/multi-channel/exporting-data
I have added a preview picture of the waveform too. handyscope-hs4-diff.zip
All that said: The Software could export in CSV, WAV, etc. But if you miss exporting the right format, you can't use it anymore. As it happened to me …
These files from a Rigol DHO804 give this error:
- Vendor: Rigol
- Waveforms: 0
- File Size: 15.26MB
Updating UI
Traceback (most recent call last):
File "<User>\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "<User>\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "<User>\AppData\Local\Programs\Python\Python310\lib\site-packages\wavebin\__main__.py", line 108, in <module>
init()
File "<User>\AppData\Local\Programs\Python\Python310\lib\site-packages\wavebin\__main__.py", line 77, in init
if args.file and not wave.parse(args.file): safe_exit(code=1)
File "<User>\AppData\Local\Programs\Python\Python310\lib\site-packages\wavebin\wave.py", line 60, in parse
self.config['app'].update()
File "<User>\AppData\Local\Programs\Python\Python310\lib\site-packages\wavebin\interface.py", line 66, in update
points = len(self.config['wave'].waveforms[0]['data'])
IndexError: list index out of range
It recognizes that the file was generated by a Rigol scope, but it doesn't see any waveforms
I'll try to modify the code and issue a pull request to make it work with the newer Rigol scopes.
PR submitted with fix
Pushed v2.3 to PyPI with DHO800 support. Thanks for the sample capture and PR @yspacedev!