LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

classes sans frontières

I simply had the class in the project under "My Computer" with a VI on my realtime using the classes.  Immediately the classes were locked and couldn't be edited at all.....

 

Shane.

0 Kudos
Message 11 of 17
(697 Views)

I was justr trying something else with our FPGA target (for creating a class to handle data serialisation and deserialisation over TCP and DMA FIFOs) and ran into following problem.

 

Using the U64 to boolean array and then cutting up the boolean array to re-assign data values works fine on the FPGA but as soon as I put it in a class (even a class defined on the FPGA) it complains that the arrays are not constant length....

 

Shane.

 

Ps Never mind, I had some class ownership issues.

0 Kudos
Message 12 of 17
(681 Views)

No I must retract that retraction....

 

I have the problem again.

 

It seems that boolean operations (like U64 to Boolean array) do not generate fixed-length arrays on FPGA if they are directly part of a class VI.  Using the exact same function within a sub-VI called by but not owned by the class works fine.

 

Seems like some target-specific behaviour of some LV primitives is being messed around with.  My work around is simply to stick the operations in a sub-VI.

 

Shane.

0 Kudos
Message 13 of 17
(673 Views)

Can you check execution properties of the VI and make sure the "Preallocate Arrays and Strings" option is checked. That option only shows up in the FPGA context.

Message 14 of 17
(671 Views)

Ah, will do.  Maybe that's the problem.  With my current solution I can't compile.  I get to stage 1 of 7 and then after gobbling up a lot of memory, LV crashes.....

 

Shane.

 

PS Yup, that solved the non-fixed array length problem but I'm still not able to compile.  Crashes galore.

0 Kudos
Message 15 of 17
(664 Views)

OK, update.  I had a sub-vi in one of my routines which was part of the class I had defined.  As such the class was still int he dependencies list and I could not compile.

 

As soon as I removed the class entirely (took the offending VIs out of the class definition) I could compile.

 

What exactly are the limitations of LVOOP support in the FPGA module?  I was using fixed-length arrays in the private data of my class, could this have been a problem?

 

Shane.

0 Kudos
Message 16 of 17
(644 Views)

You should be able to use classes in all the same ways you can use them on the desktop with the one restriction that all the datapaths for the classes must resolve to a single class at compile. I don't think I've run into the particular issue you just mentioned, so if you can upload some example code that might help figuring out what's going on.

0 Kudos
Message 17 of 17
(633 Views)