Skip to content

Add sipeed-slogic-combo8 logic analyzer driver - #299

Open
lindmeira wants to merge 3 commits into
sigrokproject:masterfrom
lindmeira:master
Open

lindmeira wants to merge 3 commits into
sigrokproject:masterfrom
lindmeira:master

Conversation

@lindmeira

Copy link
Copy Markdown

This series adds a driver for the SiPEED SLogic Combo8, an 8-channel USB logic analyzer. It can capture at up to 160MHz (with 2 channels), 80MHz (4 channels) or 40MHz (8 channels), using a software trigger.

Patch 1 adds the driver skeleton (scan, open/close, registration), patch 2 implements the acquisition engine over the vendor USB protocol, and patch 3 adds the configurable options: the samplerate, channel count, capture limits and software trigger.

The channel count (capture mode) is tied to the samplerate and always follows it: lowering the rate widens the capture (160MHz -> 2ch, 80MHz -> 4ch, 40MHz -> 8ch) and raising it narrows it. Manually selecting a channel that requires a bigger mode raises the mode and clamps the samplerate down to that mode's maximum, stating the limit in a warning. The full samplerate range is always listed, and the effective rate is reported through a META packet at the start of every acquisition so frontends (e.g. PulseView) can stay in sync.

Add the basic structure of the SiPEED SLogic Combo8 logic analyzer
driver: USB device scanning, device open/close and the driver
registration with the supported scan and device options.

Signed-off-by: Lindolfo Meira <meiraa@gmail.com>
Implement the acquisition engine: the vendor USB protocol to start and
stop streaming, the bulk-transfer handling with the fixed-size transfer
buffer, and the bit expansion for the packed 2ch/4ch capture modes.

Signed-off-by: Lindolfo Meira <meiraa@gmail.com>
…e limits

Add support for configuring the samplerate, channel count, capture
limits and software trigger.  The capture mode (channel count) always
follows the selected samplerate: lowering the rate widens the capture
(160MHz -> 2ch, 80MHz -> 4ch, 40MHz -> 8ch) and raising it narrows it.
Manually selecting a channel that requires a bigger mode raises the mode
and clamps the samplerate down to that mode's maximum, stating the limit
in a warning.  The full samplerate range is always listed and the
effective rate is reported through a META packet at the start of every
acquisition so frontends can stay in sync.

Signed-off-by: Lindolfo Meira <meiraa@gmail.com>
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.

1 participant