sam210723 / wavebin

Capture and inspect multi-channel oscilloscope waveforms
MIT License
67 stars 10 forks source link

Sample Waveforms #1

Open sam210723 opened 4 years ago

sam210723 commented 4 years ago

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.

Revaes commented 3 years ago

Hi Sam,

I cannot read my RigolMSO5074 bin file, I have attached sample file. RigolDS0.zip

sam210723 commented 3 years ago

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
Jeff5902 commented 2 years ago

Hi Sam, I have a Siglent SDS2000x Plus .bin for you. It currently does not open for me usr_wf_data.bin.zip .

sam210723 commented 2 years ago

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.

ElbPirat commented 1 year ago

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 …

yspacedev commented 5 months ago

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

yspacedev commented 5 months ago

I'll try to modify the code and issue a pull request to make it work with the newer Rigol scopes.

yspacedev commented 5 months ago

PR submitted with fix

sam210723 commented 4 months ago

Pushed v2.3 to PyPI with DHO800 support. Thanks for the sample capture and PR @yspacedev!