Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Fedora 7 NIDAQmx installer

Tom,

Sound good, but begs the next question.  I am using this technique as an interrupt.  Basically the rising edge of my "motor run" signal triggers me to start further processing.  In this case, to begin reading analog data.  Should I be using some other technique do detect the "motor run" change?  (Obviously, I am new to NIDAQ.)

Thanks, again!

-- John Navratil
0 Kudos
Message 11 of 27
(3,176 Views)

Hi John-

I would suggest that you use the method shown in the NI-DAQmx example \events\ReadDigChan-ChangeDetectionEvent.c.  This example uses a callback to allows for interrupt-driven event processing- it should work well for the app you described (if you're not already using it).

Please create a new thread with any further questions so that we can avoid completely hijacking ninevoltz' thread (if we haven't already Smiley Wink ).

Thanks-

Tom W
National Instruments
0 Kudos
Message 12 of 27
(3,160 Views)
Hi Everyone,

I updated an older KnowledgeBase article on a similar topic to cover the issue in this forum.  The KB can be found here.

Regards,
Andrew W
National Instruments
0 Kudos
Message 13 of 27
(3,136 Views)
Here's a patch and the obligatory copy of modpost for kernel 2.6.23
Message 14 of 27
(2,961 Views)
 
   I want to thank Ninevoltz in particular but also everyone else who contributed to advancing the NI-DAQmx software in time on Linux distro's.

   I just managed to get NI-KAL 1.6 and NI-DAQmx 8.0 working with a PCI-6509 board on a stock RHEL 4.5 machine running a 2.6.23.1 kernel.   I have a web page I'm cleaning up showing the steps but it's functionally the same as the Fedora stuff.

   To the folks at NI... while I understand the trepidation in supporting a package that requires a non-stock kernel rebuild (the 4k vs 8k stack issue) I strongly enourage you to at least provide pointers into a compilation of threads.   As it stands now most of my effort getting this to work was stitching together posts and figuring out which applied and which didn't.  The actual effort in getting this to work on a 'modern' OS is pretty minimal (maybe a day total).

    Having some links on the official NI-DAQmx Linux page that a) makes it very clear it's unsupported and b) points directly into the 'appropriate' forums will make life *much* easier for folks coming in cold like I was.    As it was each step just generated a new search term in the forums.  It was until I was 'done' that I actually knew where to look for the definitive threads.

    In any event,  thanks again to NI for the software and the forum members for advice.

James Robnett
NRAO/AOC
http://www.aoc.nrao.edu

0 Kudos
Message 15 of 27
(2,884 Views)
James,

I am trying to get NI-KAL working on 2.6.23.1 as well, without much luck.

Can you help me understand what you did to get 1.6 working? It seems to me that all of the patches provided are for 1.5. What did you do to the stock nikal.c file from 1.6 to patch it up for 2.6.23.1?

I am working to get NI-DAQmx Base drivers installed for a USB-6501. I have gotten it to work on FC5 2.6.20, but now need to go to FC8 2.6.23.

Any help you can give me would be greatly appreciated!

Thanks,

Josh
0 Kudos
Message 16 of 27
(2,758 Views)
Ok... I **think** I have NIKAL 1.6 up and running on FC8 with 2.6.23.1-42.

If anyone is interested, here was my process:

1) Install NIKAL 1.6 from the .iso file.
2) Extract (using rpm2cpio) the .c files from the NIKAL 1.5 .iso. To do this, mount the .iso file, and grab the .tar.gz file. Inside this archive is an rpm file. Use rpm2cpio to extract the files into a junk directory. The files of interest are all of the .c files within the nikal/src directory.
3) Patch these files, starting with the NIKAL15-2.6.18.patch through NIKAL15-2.6.20.patch. Run "patch -p1 < <filename>.patch" from within the super-directory of the *.c files ("nikal"). Then, go into the src directory and run "patch -p0" with the 2.6.23 patch file.
4) Copy all 3 newly patched .c files from the junk directory into /usr/local/natinst/nikal/src, replacing the existing files.
5) Copy the patched modpost script that is included with the 2.6.23 patch file into the scripts/mod directory of your linux source.
6) Run updateNIDrivers. **Hopefully** this works now.

I posted this as much as a reference for me as for everyone else... as I'm sure I'll have to get this all going on another machine at some point. Thanks to everyone for their development work on it.

Josh
0 Kudos
Message 17 of 27
(2,737 Views)
 
   Apologies I meant to supply a link to the doc I wrote and kept spacing it.

http://www.aoc.nrao.edu/~jrobnett/NiDaqBoard.html

   While the board works with those steps we ended up just writing our own driver,  we only needed some
simple monitor points and it ended up easier in the end.

James
ps: That's the royal we ... folks much better than I wrote the the driver.
pps: I just noticed in the section for NI-Kal the line that reads
   Install the NI-KAL pacakge first then the NI-DAQmx Base package
should read 'then the NI-DAQmx 8.0" package.    That lines from an earlier attempt.


0 Kudos
Message 18 of 27
(2,730 Views)
I wish the driver developers at NI would take a hard look at how nVidia does their Linux drivers. I have *never* had any problem installing nVidia drivers on even the most bleeding edge kernel releases.
0 Kudos
Message 19 of 27
(2,715 Views)
I have also placed this in a thread of its own, but I thought that I might get a quicker response here.

I am running Fedora 7, vanilla 2.6.23 kernel with RTAI patches, nidaqmx 8.0, nikal 1.6. When I boot the system may PCI-6534 board is recognized, but I get a "[Failed to Load]" message:

[root@localhost mackd]# nilsdev --verbose
NI PCI-6534: "Dev1" [Failed to Load]
    Serial Number:                      0xFFFFFFFF
    Bus Type:                           PCI
    PCI Bus:                            0x2
    PCI Device:                         0x8
    IRQ Level:                          0x11
    Memory Range:                       0xFF6F6000-0xFF6F6FFF
    Memory Range:                       0xFF6E5000-0xFF6E5FFF

If I try to run the test program Input-8255withDelays, I get the following:

[mackd@localhost Input-8255withDelays]$ ./Input-8255withDelays
DAQmx Error: Firmware for this device could not be downloaded, and the device cannot be used. The failure may be due to damaged hardware. Contact National Instruments support at ni.com/support
Task Name: _unnamedTask<0>

Status Code: -200962
End of program, press Enter key to quit

There doesn't appear to be any relevent info in dmesg.

Is there something I should be doing to configure the board first?


dikkon

0 Kudos
Message 20 of 27
(2,654 Views)