LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VXIpnp fp ring conversion to LabVIEW problem

When converting a VXIpnp driver fp for use in LabVIEW, some of the ring parameters get combined into a single value.

For example, on the fp, there's a parameter called measMethod that has two values, Integration and Resolution, with the values of 0 and 1 respectively (actually use enums). After converting the driver in LabVIEW, the ring lists the first ring item as "Integration, Resolution" with a value of 0. No other items are listed.

This does not happen for all rings, only a portion of them. What causing this and is there a way to fix/work around it?

I'm using LabVIEW 6.0. The values are appropriate in the driver's .h file and are listed correctly in the fp's label/pair section.

Thanks,

Scott
0 Kudos
Message 1 of 5
(3,062 Views)
Could you post a message either telling which specific driver you are using or actually attaching the driver itself? I will try the same thing and see if I can reproduce this behavior for you. Thanks.
J.R. Allen
0 Kudos
Message 2 of 5
(3,062 Views)
I'm afraid the driver's in development, so I can't post it yet. I used an example function and placed a screen shot of the fp at http://www.primenet.com/~skott/FP-View.bmp, and the VI at http://www.primenet.com/~skott/VI-View.bmp. Below is the code from the .h file.
------------------

#define age444xa_SEM_MEASURE_TYPE_TOTAL 0
#define age444xa_SEM_MEASURE_TYPE_PSD 1

ViStatus _VI_FUNC age444xa_SA_SEMSetMeasurementType
(ViSession instrumentHandle,
ViInt32 SA_SEMMeasurementType);
0 Kudos
Message 3 of 5
(3,062 Views)
To answer my own problem, apparently LabVIEW has a problem with some commenting styles in the driver.h file. I found this code in the driver .h file:

/* Trace Type */
#define age444xa_TRACE_1 0
#define age444xa_TRACE_2 1
#define age444xa_TRACE_3 2
// Use this enum when testing for traces 1 through 3 only:
#define age444xa_TRACE_LASTENUM 3
#define age444xa_TRACE_LINE1 3
#define age444xa_TRACE_LINE2 4
#define age444xa_TRACE_RAW 5
// Use this enum when testing for the last math trace line:
#define age444xa_TRACE_LINE_LASTENUM 6

I then changed it to the following and the problem went away:

/* Trace Type */
#define age444xa_TRACE_1
0
#define age444xa_TRACE_2 1
#define age444xa_TRACE_3 2
#define age444xa_TRACE_LASTENUM 3 // Use this enum when testing for traces 1 through 3 only
#define age444xa_TRACE_LINE1 3
#define age444xa_TRACE_LINE2 4
#define age444xa_TRACE_RAW 5
#define age444xa_TRACE_LINE_LASTENUM 6

Also, I found that the following comments in the .h file cause the conversion to fail:

/*
// something
*/

Inserting lines though allows it to pass:

/*

// something

*/
0 Kudos
Message 4 of 5
(3,062 Views)
I would like to try to get to the bottom of this. I don't think the
comment style should have had any impact on this behavior. (And I couldn't
reproduce it in a simple test I put together.)
Can you contact me off list so I can get more information?

Brian Powell
brian@ni.com

"scottr" wrote in message
news:506500000005000000B59D0000-1027480788000@exchange.ni.com...
> To answer my own problem, apparently LabVIEW has a problem with some
> commenting styles in the driver.h file. I found this code in the
> driver .h file:
>
> /* Trace Type */
> #define age444xa_TRACE_1 0
> #define age444xa_TRACE_2 1
> #define age444xa_TRACE_3 2
> // Use this enum when testing for traces 1 through 3 o
nly:
> #define age444xa_TRACE_LASTENUM 3
> #define age444xa_TRACE_LINE1 3
> #define age444xa_TRACE_LINE2 4
> #define age444xa_TRACE_RAW 5
> // Use this enum when testing for the last math trace line:
> #define age444xa_TRACE_LINE_LASTENUM 6
>
> I then changed it to the following and the problem went away:
>
> /* Trace Type */
> #define age444xa_TRACE_1 0
> #define age444xa_TRACE_2 1
> #define age444xa_TRACE_3 2
> #define age444xa_TRACE_LASTENUM 3 // Use this enum when
> testing for traces 1 through 3 only
> #define age444xa_TRACE_LINE1 3
> #define age444xa_TRACE_LINE2 4
> #define age444xa_TRACE_RAW 5
> #define age444xa_TRACE_LINE_LASTENUM 6
>
> Also, I found that the following comments in the .h file cause the
> conversion to fail:
>
> /*
> // something
> */
>
> Inserting lines though allows it to pass
:
>
> /*
>
> // something
>
> */
>
0 Kudos
Message 5 of 5
(3,062 Views)