Skip to content

Somewhat random timebase control / detection & returned sample order with Rigol MSO2302A #965

Open

Description

@OllyFunkster

Caveat: while connected to this 'scope ngscopeclient is spitting errors:
ERROR: RigolOscilloscope::GetInterleaveConflicts not implemented for this model
Reading this thread I gather that means it should be impossible for ngscopeclient to control the timebase, however it does in fact try - with some rather random results.

Sometimes it is possible to get it into a state where it's fetching captures at a rate and depth that's in the right ball park, but each capture appears to be at a different timebase (one of a selection of 3-4 states perhaps) even though the display on the 'scope itself is not changing. The samples within the capture are also seemingly mis-ordered, with a 1KHz square wave turning into something... else.

I hope these screen captures will show the general vibe of what I'm trying to describe, but realise that I'm certainly missing key details. I would be delighted to put some time into debugging this if anyone has a moment to give me some pointers for how to be most helpful!

This behaviour is consistent on a windows machine with ngscopeclient built yesterday (with everything git pulled to head, "0.1-dev+9f2d72b6") and on a linux machine where I last built a while ago ("0.1-dev+b298d22c"), so it's not a recent regression at least. I note the ticket for adding support for these was opened a long time ago with no further comments, so presumably it worked for a while?

Image
Image
Image
Image

Activity

  1. OllyFunkster commented on Apr 16, 2025

    @OllyFunkster
    Author

    Hokay, after a bit of digging through the Rigol driver, the 'scope itself, and the MSO2000A programming manual, I've found a few bits where the driver just plain isn't compatible with this model due to erroneously treating it like an MSO5000 series, and due to not having the correct list of sample depths defined anywhere.

  2. azonenberg commented on Apr 16, 2025

    @azonenberg
    Collaborator

    Yeah if you look at the supported model list in the manual, only the MSO5000 series is listed as supported not the 2000A. We'd love to have someone implement the missing bits but I'm not surprised it didn't work out of the box. Let me know if you want to try your hand at implementing the fixes and have any questions or problems.

  3. added this to the v0.2 milestone on Apr 16, 2025
  4. OllyFunkster commented on Apr 22, 2025

    @OllyFunkster
    Author

    Yep, I'll have a go at sorting it out. I'll also try to add in the logic analyser channels - is there an existing, proven driver for a 'scope that mixes analogue and digital channels that you would suggest as a point of reference? Also is there any kind of coding style/standard documentation anywhere?

  5. azonenberg commented on Jun 3, 2026

    @azonenberg
    Collaborator

    Hi, checking in on this... are you still having issues? Does the #1017 refactor help? What's the current state?

  6. modified the milestones: v0.2, v0.3 on Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    driverHardware drivers

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions