02-28-2008 09:04 AM
02-28-2008 09:35 AM
02-29-2008 01:29 AM
Thank you very much for your reply!
I'll try to use the way with the C/C++ wrapper.
Best regards
Hans
02-29-2008 07:12 AM
In looking back at my reply, I realize I swithed the HDF5 #define and input index numbers. The subroutine should return the HDF5 #define and switch on the input index.
Good luck. Let us know if you run into problems. Note that at least two other people have done this. Here are a couple of links.
http://forums.ni.com/ni/board/message?board.id=170&message.id=241522&query.id=117745#M241522
03-03-2008 02:12 AM
But I've some problems to create a hdf5 datatype (methods "H5Tcreate" or "H5Tcopy")! In the header file "H5Tpublic", for example, the standard datatype for I32 big endian is defined as follows:
"...
/*
* These are "standard" types. For instance, signed (2's complement) and
* unsigned integers of various sizes and byte orders.
*/
#define H5T_STD_I8BE (H5OPEN H5T_STD_I8BE_g)
#define H5T_STD_I8LE (H5OPEN H5T_STD_I8LE_g)
#define H5T_STD_I16BE (H5OPEN H5T_STD_I16BE_g)
#define H5T_STD_I16LE (H5OPEN H5T_STD_I16LE_g)
#define H5T_STD_I32BE (H5OPEN H5T_STD_I32BE_g)
#define H5T_STD_I32LE (H5OPEN H5T_STD_I32LE_g)
....
H5_DLLVAR hid_t H5T_STD_I32BE_g;
..."
In Labview in the "Call Function Library Node" (hdf5dll.dll) I can select a H5T_STD_I32BE_g operation (method? variable?) but I don't know how to use this operation (input and output paramters?) with the H5Tcopy function, e.g. 😞
There is also a h5open function in the dll, maybe this also helps.
I also found an ADA example where a similar hdf5 standard variable was imported by this way:
"...
H5T_STD_I32BE_g : Hid_t;
pragma Import(C,H5T_STD_I32BE_g , "H5T_STD_I32BE_g");
..."
But how can I do this with the "Call Function Library Node" in Labview?
Can you give me a hint?
Thanks
Hans
03-03-2008 07:46 AM
This is a clean example of needing the wrapper function I mentioned above. The #defines for the Type are C macros, which cannot be accessed using the call Library node. In this case, to get the integer Type specifier, you need to write something like this:
03-03-2008 08:47 AM
Yes, but my problem is that I have only a Visual C++ 2005 Express Edition and this edition can't create a DLL project.
Or can you tell me how can I export this wrapper function from Visual c++ 2005 to Labview without a DLL project?
Thanks
Hans
03-03-2008 10:15 AM