labjack U6 and Raspberry PI 3 model B interaface | LabJack
 

labjack U6 and Raspberry PI 3 model B interaface

7 posts / 0 new
Last post
zsameer
zsameer's picture
labjack U6 and Raspberry PI 3 model B interaface

Hello,

we have just purchased raspberry PI 3 model B for my controlling applications. we also have a LabJack U6 DAQ board/Card & i have to acquire AI value into my raspberry PI. i have searched in LabJack portal, in this it seems that there is device driver support for labjack T7 series but I am not able to find device driver for U6 series. Please let me know whether there is support of device driver for raspberry PI for U6 series or not? if yes then please provide me device driver & it's C-interface for the same. if it is possible then we can look for mass production.

Please find below information that may be require

1.Rasphberry PI 3 model-B

2. Raspbian OS(linux style).

3. Labjack U6.

Thanks in advance!!!

Regards,

Sameer Zungare

Mail: ***

Mobile: ***

LabJack Support
labjack support's picture
The Exodriver is the Linux

The Exodriver is the Linux and Mac OS X driver for the LabJack U6:

https://labjack.com/support/software/installers/exodriver

It is built and installed from source code, and works on Raspberry Pis running Linux. The interface is low-level USB where you build/send/receive low-level command-response packets. We provide C/C++ examples in the Exodriver download and a Python interface which uses the Exodriver, LabJackPython:

https://labjack.com/support/software/examples/ud/labjackpython

Also, I removed your email address and mobile phone number for privacy as this is a public forum.

zsameer
zsameer's picture
Hello,

Hello,

Thanks for support!!

I am able to successfully compile & build exodriver for raspberry PI environment,also i successfully run & tested example codes.it 's working fine.

now I want to write my own C/C++ application for acquiring & setting data to Labjack device,so as per current reference examples I am not able to clearly understand low level functions. i had searched on portal but I am not able to get clear guidelines/API documentation of exodriver functions.

for T7 series has clear reference guidelines for developing C/C++ application but for U6 there is only limited examples are there so it is very difficult to understand low level interface.

can you please provide me API documentation/high level library for exodriver?

Thanks in advance!!

LabJack Support
labjack support's picture
For Linux and the U6, we only

For Linux and the U6, we only provide the low-level library Exodriver that provides USB communications. With the low-level interface/functions, you build the command packet to send to the U6 and then read back the response packet. These command-responses for the low-level functions are documented here:

https://labjack.com/support/datasheets/u6/low-level-function-reference

The C/C++ examples demonstrate using the low-level functions with the Exodriver.

zsameer
zsameer's picture
Thanks for your support!!

Thanks for your support!!

now i am able to understand the low level interface with the help of examples and supported datasheets.

One doubt, i have to measure frequency so i connect 3000Hz sqr wave frequency to the  FIO3 as per u6Feedback example.

i run ./u6Feedback example and it produces output of counter 3025 Hz but actually i have given 3000Hz input to FIO3.it should produce output 3000Hz.

Please help me to understand why getting 25 hz difference while counting frequency.

LabJack Support
labjack support's picture
See technique #1 here:

See technique #1 here:

https://forums.labjack.com/index.php?showtopic=1105

Some possible sources of error:

1.  You think the time between your 2 counter readings was 1000.0 milliseconds, but in fact it was 1008.3 milliseconds.  This is the most common error when using the counter-over-time technique.

2.  Your signal is noisy and causing extra edges that are counted.

3.  Your signal is actually 3025 Hz.

LabJack Support
labjack support's picture
To add to 1, note that

To add to 1, note that readings are performed in a loop with a one second delay (sleep). There is additional overhead from the loops code, such as USB communications, that will cause extra delay.