Add OWON SDS1104 oscilloscope driver#472
Open
kerby2000 wants to merge 2 commits intoinstrumentkit:mainfrom
Open
Add OWON SDS1104 oscilloscope driver#472kerby2000 wants to merge 2 commits intoinstrumentkit:mainfrom
kerby2000 wants to merge 2 commits intoinstrumentkit:mainfrom
Conversation
Add support for the OWON SDS1104 oscilloscope family over raw USB. This adds a conservative upstream-facing driver with: - run/stop control - channel display, coupling, probe, scale, offset, position, and invert - acquisition mode, averages, memory depth, timebase scale, and horizontal offset - trigger status, trigger mode, edge-trigger source/coupling/slope/level - scalar measurements and measurement blob queries - screen waveform retrieval and waveform metadata - BMP screen capture - deep-memory capture - saved-waveform list and raw data access Also add the raw USB binary helpers needed by the driver, transcript-style unit tests, API docs, and a minimal example script. The initial driver keeps memory-depth support conservative for compatibility hardware that appears capped at 20K record length despite broader family docs.
for more information, see https://pre-commit.ci
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for the OWON SDS1104 oscilloscope family over raw USB.
The driver is based on stable behavior verified against a compatible
HANMATEK DOS1104 unit on the same hardware family.
Included changes
instruments.owon.OWONSDS1104instruments.owondeep-memory, saved-waveform, and trigger paths
Public API scope
The initial public API includes:
Notes
The SDS1104 family uses a prompt-style raw USB text path and binary packet
transfers rather than newline-terminated USB text replies, so the driver uses
small USB communicator extensions for packet and binary reads.
Memory-depth support is intentionally conservative. Broader family documents
list higher depths, but compatibility hardware used for validation appears
capped at 20K record length.
A small deterministic timeout fix in the ThorLabs APT abstract base is also
included because broader validation exposed a zero-timeout edge case in the
existing suite.
Testing
I ran: