-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Siglent binary waveforms are unsupported #721
Comments
Worth noting: Siglent provides a Bin2CSV converter, but it would be nice to import these waveforms natively. However, if this isn't trivial, the converter provides a workaround. |
Do you have a link to a spec for the format, and can you share some example files? Writing an import filter is pretty trivial (the Agilent/Keysight BIN importer is ~200 lines if you don't count the boilerplate for filter creation) but obviously we have to know how the files are structured. If not we might have to reverse engineer it. |
The spec can be found here: https://siglentna.com/wp-content/uploads/dlm_uploads/2021/09/How-to-Extract-Data-from-the-Binary-File.pdf. The 6000 series isn't listed as supported by the document, but I'm hoping that the format is unchanged. I'll need to grab a smaller binary - max upload is 25 MB. |
I split the ch1 capture into 10M volumes using 7zip. If this is unwieldly, let me know. If so, I can get a smaller capture over lunch. |
Here is a newer version of the siglent binary spec that specifies formats for SDS2000X HD, SDS5000, and SDS6000: https://www.siglenteu.com/wp-content/uploads/2021/08/How-to-Extract-Data-from-the-Binary-File.pdf Despite the date in the link, this spec was updated in 2023. |
I am working on a python script to parse and visualize the waveform: https://gist.github.com/hansemro/4b8733cf5a217bcee7a5796f8eff2726 This script currently supports:
|
The newer V2 spec (shown on page 29 of E02A: https://web.archive.org/web/20230730072643/https://www.siglenteu.com/wp-content/uploads/2021/08/How-to-Extract-Data-from-the-Binary-File.pdf) describes how to extract code_per_div from what was previously reserved section of data. With this, I updated the script to no longer require model name! |
Updated script to support V4 waveform format, which includes support for most scopes running up-to-date firmware. Fortunately V4 is not much different to V2, so we can greatly simplify the C++ implementation:
Waveform data includes any enabled math channels. Math channel data is inserted between analog and digital channel data. |
@dan-gies If you are still interested, here is a dev branch with experimental support for importing V2/V4 Siglent BIN waveforms: https://github.com/hansemro/scopehal/tree/siglent-bin-import-dev Short preview of SiglentBINImportFilter, which currently supports analog channels only: SiglentBINImportFilterPreview.mp4 |
System Info:
Glscopeclient version: 0.1-59ef026
OS: Windows 10
Oscilloscope: Siglent SDS6204A (offline, open from .BIN file)
Description:
I'm unable to open raw waveform binaries using glscopeclient:
ERROR: Unknown vendor in file header
.Is this planned to be supported? I think this would be useful, since glscopeclient doesn't support >12.5Mpts live captures, and my scope has 500Mpts of memory depth.
The text was updated successfully, but these errors were encountered: