From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Can one add a feature to nidataloggerlv ?

I am a newcomer using an USB 6008 multifunction device.

The data logger included in nidaqmx Base does almost everything which I need.

I need to add:

-a counter of external pulses, enabled/disabled  by the start/stop button

-one bit of digital output reflecting the status of the start button.

-one bit of digital input displayed as a virtual LED.

Questions:

1- Can nidatalogger be recompiled by a user, and then can the source code be obtained and which N.I. libraries have to be installed?

2- If this is not possible, is there a graphic library which can be interfaced with the daqmx-base function library to build a logger from scratch?

    Or, in other words, what are the right tools to build the logger using the daqmx-base function library/

When answering, please be aware that the software support for the 6008 module is very limited.

Thanks in advance

Jacques

0 Kudos
Message 1 of 5
(4,166 Views)

Hi Jacques,

The nidatalogger utility cannot be modified or re-compiled by the user. It's written in LabVIEW, and meant to act as a simple out-of-the-box application for new users.

DAQmx Base does ship with examples (via their source code), though, and you can use them to learn how to call the API:

If you're writing in C, look in

/usr/local/natinst/nidaqmxbase/examples
/usr/local/natinst/nidaqmxbase/documentation

If you're using LabVIEW, look in

/usr/local/natinst/<LabVIEW Version>/examples/daqmxbase
/usr/local/natinst/<LabVIEW Version>/help/lvdaqmxbase.html

Joe

Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 2 of 5
(3,295 Views)

Thanks Joe for this fast and clear answer.

Before applying, I had gone through all the examples in the C API delivered with niDAQmx Base and enjoyed them very much because this is exactly what I was looking for.

I had hoped that nidatalogger might have been written in C.

So may I ask now if there exists somewhere a library of widgets which I could use in C (probably GTK widgets) to build the panel?

The DAQ part is easily written with the C API. I am trying to save time on the graphical interface.

The reason why I am reluctant to work in Labview is funny or sad, your choice. My university has a site license for Labview, both Windows and Linux.

The Linux version is not distributed (being an emeritus professor included, my case) because it is not seriously protected against piracy  (no key).

I have not tried but I could at least ask for an exception in view of my senior position, but I approve the policy above and I am not willing to take the risk of having a copy on my computer left unattended running an experiment round the clock, networked so that I can control from anywhere. I am not doing that for the benefit of NI (it is their job to provide reasonable protection against piracy, not mine), but for the reputation of my university.

Thanks again

Jacques

0 Kudos
Message 3 of 5
(3,295 Views)

Ah, now I understand your question more clearly.

In addition to the Linux GUI toolkits like Tk, GTK, Qt, WxWidgets, and friends, you can also use NI's CVI environment [1] for GUI programming. However, I don't think it will meet your needs. The most notable drawback being that you develop the GUI and application in Windows and then compile and deploy on a Linux target [2].

Also, it's similar to LabVIEW: you pay for it, and it doesn't have a license lock (iirc). You will need to speak with your university and perhaps an NI sales engineer to learn more about CVI's Linux licensing to see if it's even possible to use for your project.

On the positive side, the development environment uses drag-and-drop GUI design with event-driven callbacks.

Joe

[1] NI LabWindows/CVI Run-Time Module for Linux
http://www.ni.com/linux/lwcvi

[2] Introduction to the LabWindows/CVI Run-Time Module for Linux
http://zone.ni.com/devzone/cda/tut/p/id/2823

Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 4 of 5
(3,295 Views)

Thanks Joe

Indeed CVI is not a solution for me.

I will use the C API with GTK+.

Jacques

0 Kudos
Message 5 of 5
(3,295 Views)