From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

AI with cDAQ-9181 on linux

I need to read continiously analog input from an AI module in cDAQ-9181 Ethernet chassis under linux. cDaq devices are not listed among those supported by Daqmx Base 15.0 for Linux.

 

I could configure the device and create task under NI MAX for windows, but really need at least to be able to start and read data stream on Linux. Short of setting up a virtual machine with a version of MS operating system for that sole purpose, are there any options? Could NI disclose at least a part of their API so that I could implement a driver myself?

 

Thanks,

Mikhail

 

0 Kudos
Message 1 of 13
(4,706 Views)

 Hi Mikhail,

 

I'd recommend going with the virtual machine as a workaround for using a cDAQ that is not supported by DAQmx Base.   Using virtual machine is the simplest solution by far -- otherwise you'd have to do register-level programming to essentially develop your own API for your cDAQ.

Highest Regards,

Paul
0 Kudos
Message 2 of 13
(4,665 Views)

Is there any publicly available info on register-level programming of ethernet compact daq devices?

0 Kudos
Message 3 of 13
(4,651 Views)

Hi Mikhail,

 

I'm not sure about cDAQ in particular, but for register level programming, there is a development kit that you can download here, some FAQ resources here, as well as a community of people using it here and here.

Highest Regards,

Paul
0 Kudos
Message 4 of 13
(4,648 Views)
Those references seem to say that register-level programming SDK is intended for use with cards plugged in to a desktop computer's expansion bus or PXI chassis. Ethernet CompactDaq chassis, in contrast, is a standalone embedded computer that provides Ethernet conductivity to the family of plug-in modules. That embedded computer appears to be running a 2.6.x|3.x version of Linux kernel. The absence of Linux driver for that chassis is very hard to explain, considering that it runs Linux itself.
0 Kudos
Message 5 of 13
(4,606 Views)
And another thing - since the cDAQ chassis runs Linux software, it would seem that National Instruments is obligated by GPL to disclose the source code. I couldn't find any on the ni.com site
0 Kudos
Message 6 of 13
(4,603 Views)

@Mikhail_K wrote:

Is there any publicly available info on register-level programming of ethernet compact daq devices?

There is no public documentation at this time about the communications protocol for USB or Ethernet CompactDAQ devices, nor are they currently supported in NI-DAQmx Base or NI-DAQmx 8.0.2 for Linux. Please contact your NI sales representative if you'd like to push NI R&D further.

 


@Mikhail_K wrote:

The absence of Linux driver for that chassis is very hard to explain, considering that it runs Linux itself.

The Ethernet CompactDAQ devices don't have a "full" CompactDAQ driver on the firmware side; they have a very limited embedded Linux distro and rely on the (Windows-side) DAQmx driver to do a lot of the heavy lifting for the "CompactDAQ" aspects of the device.

 

You might be more interested in the CompactDAQ Controllers product line, which run NI Linux RT, can operate without the Windows "tether", and are designed to run user application code on the device itself.

 


@Mikhail_K wrote:

I couldn't find any on the ni.com site

Open-source license disclosures can be found installed with the NI-DAQmx distribution in "C:\Program Files (x86)\National Instruments\_Legal Information\NI-DAQmx [version]\notice.txt". (This directory is noted in the "Legal Information" section of the Readme.) These include the "written offers" for source code.

——
Brandon Streiff
ni.com/compactdaq · ni.com/daq
Message 7 of 13
(4,589 Views)

As mentioned previously, the most straight forward solution by far is going to be to use a VM, since DAQmx base does not support cDAQ.  If you're using a model of cDAQ that has Linux RT on it and interested in that source code, you can get more information at the Linux RT Community boards here.  Glancing through the description at the front page it looks like there are links to the source code and packages included. 

Highest Regards,

Paul
0 Kudos
Message 8 of 13
(4,588 Views)

The "written offers" in daqmx distribution are offers to email source for various system coponents like busybox and libusb, nothing like github repository for RT linux, so completely unhelpful.

 

Since RT linux controller can work with cDAQ modules, Linux drivers for them exist.

 

0 Kudos
Message 9 of 13
(4,569 Views)

Hi Mikhail_K-

 

Linux drivers for ethernet and wireless cDAQ backplanes do not exist.  Linux drivers for USB cDAQ backplanes do exist, but they are currently only provided for use with NI Linux RT controllers, like cDAQ-913x.

 

If you have a need for general Linux driver support for cDAQ backplanes, please contact your local NI sales team so that they can escalate the request with NI marketing and R&D.

Tom W
National Instruments
0 Kudos
Message 10 of 13
(4,554 Views)