Skip to content

Conversation

@kenkit
Copy link

@kenkit kenkit commented Dec 29, 2025

feat(patterns): add Agilent/Rigol wavebin waveform parser

Adds a new Pattern Language script to parse .bin waveform files exported from Agilent, Keysight, and Rigol oscilloscopes.

Features:

  • Supports File Header versions 1, 3, and 10.
  • Parses nested Waveform and Data headers.
  • Automatically handles variable-length data buffers (float32 and u8).
  • Includes auto-load pragmas for magic bytes 'AG' and 'RG'.
  • Organizes sample data into inspectable arrays in the Pattern Data view.

Based on https://github.com/sam210723/wavebin/

feat(patterns): add Agilent/Rigol wavebin waveform parser

Adds a new Pattern Language script to parse `.bin` waveform files
exported from Agilent, Keysight, and Rigol oscilloscopes.

Features:
- Supports File Header versions 1, 3, and 10.
- Parses nested Waveform and Data headers.
- Automatically handles variable-length data buffers (float32 and u8).
- Includes auto-load pragmas for magic bytes 'AG' and 'RG'.
- Organizes sample data into inspectable arrays in the Pattern Data view.

Based on https://github.com/sam210723/wavebin/
@kenkit
Copy link
Author

kenkit commented Dec 29, 2025

image

@WerWolv
Copy link
Owner

WerWolv commented Dec 29, 2025

Thanks a lot! Could you also upload a test file under tests/patterns/test_data/wavebin.hexpat.bin and add your pattern to the table in the readme?

Also fyi, the magic byte detection using [ 41 47, 52 47 ] doesn't work like that. You can however add two #pragma magic statements, one for each of the two sequences you want to match for

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants