Test and Measurement Forum

Combining several picoscopes

Post your C and C++ discussions here

Combining several picoscopes

Postby elzaphod » Tue Sep 12, 2017 5:01 pm

Dear all,

I need to use four picoscopes 6404D in a C++ written program. A lot of development has already happend but using picoscopes 6403 for that because the 6404Ds have been used elsewhere. So far everthing worked fine. Today I got the 6404Ds and I figured out the following. I try to explain by using a minimum example:

Code: Select all

#include <iostream>
#include <libps6000-1.4/PicoStatus.h>
#include <libps6000-1.4/ps6000Api.h>

int main()
{
   PICO_STATUS pstatus;
   int16_t handle_1 = 0;
   int16_t handle_2 = 0;

// serials for 6404D
//    int8_t serial_1[]{'E','Q','2','3','2','/','0','0','4','\0'};
//    int8_t serial_1[]{'D','V','0','2','7','/','0','4','3','\0'};

// serials for 6403
   int8_t serial_1[]{'A','Y','1','6','6','/','0','4','7','\0'};
   int8_t serial_1[]{'A','Y','1','6','6','/','0','3','2','\0'};

//   pstatus = ps6000OpenUnit( &handle_1, nullptr );
//   std::cout << "status: " << pstatus << "\thandle: " << handle_1 << std::endl;

//   pstatus = ps6000OpenUnit( &handle_2, nullptr );
//   std::cout << "status: " << pstatus << "\thandle: " << handle_2 << std::endl;

   pstatus = ps6000OpenUnit( &handle_1, serial_1 );
   std::cout << "status: " << pstatus << "\thandle: " << handle_1 << std::endl;

   pstatus = ps6000OpenUnit( &handle_2, serial_2 );
   std::cout << "status: " << pstatus << "\thandle: " << handle_2 << std::endl;

   ps6000Close( handle_1 );
   ps6000Close( handle_2 );

   return 0;
}



Now, there are several cases we have to distinguish:
    1. We connect two picos 6403 to the computer. The output is the following:
    Code: Select all
    Status: 0     Handle: 1
    Status: 0     Handle: 2

    The picos are successful initialized.

    2. We disconnect the 6403s and connect the two 6404D to the computer and comment and uncomment the 'serial_X' lines that it fits.
    The output is not existing. The program kind of runs forever.
    The code is stuck in ps6000OpenUnit(). Waiting for 10 minutes did not help.

    3. If I only leave one 6404D connnected, program can find the one 6404D easily.

    4. We connect again two 6404D in total and uncomment the
    Code: Select all
    ps6000OpenUnit(&handle_X, nullptr)

    and comment the other lines respectively. Now, the output is looks like in case 1.

    5. Furthermore, I figured out that the function
    Code: Select all
    ps6000EnumerateUnits(..)
    is stuck as well when two (I did not check for one only) picos 6404D are connected.

So my qustion, am I doing things wrong? Or is this a known issue? Do more ps6000-functions not work with multiple picoscopes?

I am running on Ubuntu 16.04. If you need more info, please ask!


Thanks a lot in advance!
Cheers,
Hendrik
elzaphod
Newbie
 
Posts: 0
Joined: Tue Sep 15, 2015 11:17 am

Re: Combining several picoscopes

Postby Hitesh » Wed Sep 13, 2017 1:36 pm

Hi Hendrik,

I've been able to reproduce the issues with both the ps6000EnumerateUnits() and ps6000OpenUnit() functions here and have notified the Development Team.

There is a workaround if you call the ps6000OpenUnit() function with NULL for the serial number argument. You can then use the handle value for the scope to query the serial number for the device using the ps6000GetUnitInfo() function. This would mean that you would need to use some kind of method in your application to determine which scope is the one to control.

I hope that this helps for now.
Hitesh

Technical Support Engineer
Hitesh
Site Admin
Site Admin
 
Posts: 2498
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: Combining several picoscopes

Postby elzaphod » Sat Sep 16, 2017 4:46 am

Hi Hitesh,


thanks for taking care of my problem.

Can you estimate when there might be a fix available? If it is measured in days or in weeks would be fine already. Based on your answer I would implement the workaround or leave it and wait.


Cheers,
Hendrik
elzaphod
Newbie
 
Posts: 0
Joined: Tue Sep 15, 2015 11:17 am

Re: Combining several picoscopes

Postby Hitesh » Mon Sep 18, 2017 11:06 am

Hi Hendrik,

I have referred this to colleagues in the Development Team. It may depend on project schedules but you can e-mail support@picotech.com if you wish to discuss this further.

Thanks,
Hitesh

Technical Support Engineer
Hitesh
Site Admin
Site Admin
 
Posts: 2498
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: Combining several picoscopes

Postby elzaphod » Mon Nov 20, 2017 4:37 am

I saw there is a new Linux Driver. Is this new release backward compatible and is the problem solved?
elzaphod
Newbie
 
Posts: 0
Joined: Tue Sep 15, 2015 11:17 am

Re: Combining several picoscopes

Postby Hitesh » Mon Nov 20, 2017 9:36 am

Hi elzaphod,

I have checked our bug reporting system and unfortunately there has not been a fix. I have escalated this though.

Regards,
Hitesh

Technical Support Engineer
Hitesh
Site Admin
Site Admin
 
Posts: 2498
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire


Return to C and C++

Who is online

Users browsing this forum: No registered users and 1 guest