Jump to content


Photo
- - - - -

MCC Daq under linux


  • Please log in to reply
1 reply to this topic

#1 jdm

jdm

    One hit wonder!

  • Members
  • 1 posts

Posted 22 April 2009 - 08:04 PM

I am attempting to use MCC DAQ devices with labview 8.6 on OpenSUSE 10.3. I have downloaded and installed Warren J. Jasper's drivers (ftp://lx10.tx.ncsu.edu/pub/Linux/drivers/). I can run the tests to blink the LED on the USB1208LS that I am testing.

I think the next step is to create a set of labVIEW 'wrappers' using call library function nodes to interact with the functions in ../USB/libhid2/libmcchid.so

The first function that am trying to test is usbDConfigPort_USB1208LS. I found a .h file that shows the format:
void usbDConfigPort_USB1208LS(HIDInterface* hid, __u8 port, __u8 direction);
However, I can't create the first data type ( a pointer to a HIDInterface).

Am I on the right track at all here? Has anybody been able to get any MCC devices working under linux?

thanks,
Jesse



#2 rolfk

rolfk

    LabVIEW Aficionado

  • Premium Member
  • 2,273 posts
  • Location:Netherlands
  • Version:LabVIEW 2011
  • Since:1992

Posted 24 April 2009 - 07:37 PM

QUOTE (jdm @ Apr 21 2009, 02:43 PM)

I am attempting to use MCC DAQ devices with labview 8.6 on OpenSUSE 10.3. I have downloaded and installed Warren J. Jasper's drivers (ftp://lx10.tx.ncsu.edu/pub/Linux/drivers/). I can run the tests to blink the LED on the USB1208LS that I am testing.

I think the next step is to create a set of labVIEW 'wrappers' using call library function nodes to interact with the functions in ../USB/libhid2/libmcchid.so

The first function that am trying to test is usbDConfigPort_USB1208LS. I found a .h file that shows the format:
void usbDConfigPort_USB1208LS(HIDInterface* hid, __u8 port, __u8 direction);
However, I can't create the first data type ( a pointer to a HIDInterface).

Am I on the right track at all here? Has anybody been able to get any MCC devices working under linux?

thanks,
Jesse


Well I do not know that library but most likely HIDInterface is a structure. And it probably contains pointers and such. So there is no easy way that you could access information in that structure directly from within LabVIEW since LabVIEW itself does not have pointer datatypes.

There are two possibilities:

1) You do not really need to access any of the information in that Cluster (structure) directly. In that case you can configure the pointer to the structure simply as a 32 byte integer in all functions that have this parameter.Then you pass that integer around on the LabVIEW diagram to the various Call Library Nodes that need to operate on that structure. This requires that you have a a function that you can call that will return to you a preconfigured HIDInterface pointer so that you would not have to access the elements in that structure directly. There is a hid_new_HIDInterface() function in libhid but your MCC library hoefully has a higher level function that calls this function but fills in all the fields of that structure. Also there needs to be some sort of close function such as hid_close() that takes this parameter and makes sure all internal resources are deallocate.

2) your MCC library does not provide enough functions to allow configuring that structure without needing to access elements in that structure directly. In that case you really will have to extend the MCC library to export some additional functions that allow passing in all the paremters that you need to assign to that structure and the function then initializes/accesses that structure accordingly.

Rolf Kalbermatter