LibOwonPds

A userspace driver for Owon PDS oscilloscopes.

Tested with a PDS5022S, but should work with variants.

Tested on:

  • Windows 7 (x86_64)
  • Ubuntu 14.04 (x86_64)

Download

Binaries

GitHub

Source

GitHub

Building

Requirements

Build & Install

mkdir build
cd build
cmake ..
make
sudo make install

Windows Install

Either follow the instructions above or download the binaries.

Enable access to the scope by running Zadig, select 'LILIPUT S3C2410A SPQ SYSTEM' and click 'Install driver'.

Zadig

Usage

Utility

owonpds [filename]

Print information about the scope data and optionally save it to a CSV or PNG file depending on the scope mode.

Python

An Python test script 'owon_scope.py' is included in the 'src/' directory to display vector data from the scope

C Library

void main(void){
    OWON_SCOPE_T scope;
    owon_open(&scope, 0); // Success if zero
    owon_read(&scope);    // Success if zero
    /* scope structure now holds captured data
     * do something with it and maybe owon_read() again...
     */
    owon_close(&scope);
}

Python Wrapper

import libowonscope

def main:
    scopeObj = libowonpds.OwonPds()
    scopeObj.open() # Success if zero
    scopeObj.read() # Success if zero
    data = scopeObj.get_scope()
    # data holds the captured data
    # owon_read() again or
    scopeObj.close()

Documentation

 
Known Limitations

  • Streaming data is not available, the incoming data is not time-stamped.
  • Polling faster than 7Hz causes the oscilloscope to reboot after a while (PDS5022S - W5022S08530496 v4.1)

Credits

Categories: 

Comments

2

Click to view comments

Hi,
I've tried using this under both Windows and Linux, and I get constant "USB error" messages.
My 'scope does work with 'owon-sds7102-protocol' (owon-dump) so I'm confident the USB connection is good (it also works fine with the Windows Owon app).
Also, oddly with Zadig, your illustration shows 'LILIPUT S3C2410A SPQ SYSTEM' where as mine shows 'Oscillope' (their spelling not mine!!).
I have an SDS5032E - and it seems to be ever so slightly different to others in the PDS / SDS range (the bin data dumps seem to differ).
Anyway, I was just wondering if you knew why I repeatedly get this 'USB error' message.
Thanks!

Al's picture

Hello,
I think the protocol that the SDS5032E uses is too different from the PDS range for it to work. The PDS5022S is quite an old 'scope and somewhat more entry-level than the SDS range.

I haven't got the SDS protocol specifications, but I doubt this driver will work with any of them.

Click to add a comment