> Is it possilbe to use arrays of float32 type in LabView or are all
> arrays automatically float64?
> 

Right click on the array, or on the numeric within the array and under 
the representation menu are the numeric choices, about ten of them 
including float32.

> I would like to create a buffer working like this:
> 
> - grow array until some size and do not allow further processing until array
> is full
> - when the array is full, allow the processing to proceede and then reset
> the array
>   size
> 

It sounds like you can do this either with one loop or two.  You have 
one piece of code adding to the array, and another that optionally 
processes and empties.  If using one loop, the code would consist of the 
while loop with a shift register to hold and recirculate the array.  The 
left side of the while loop would get the new data and add it to the 
array.  The middle of the loop would test the array size and wire the 
results to a case statement.  One frame of the case would simply pass 
the array through and the other would process it and reset it.  The 
right side of the case would pass out the array and into the right shift 
register.  This solution is what I'd use as long as processing the data 
is pretty quick and won't interrupt the next read too much.

The two loop solution has the creation of a queue outside the loops and 
wire the refnum into both of them.  One loop, the produces looks almost 
like the one in the previous paragraph except in the case where you have 
enough data, it would put then array into the queue element and enque 
it.  The other loop would wait for an element to be ready to dequeue and 
then process it.  This solution may be useful when the processing of the 
data takes a highly variable amount of time or would otherwise conflict 
with the acquisition of the data.  Using the queues will add some 
overhead however, especially if the arrays are very large.

Greg McKaskle


Reply via email to