Question about VEE.
I am using an IO Object to query something from Instruments.
The return results is a list (1D array) but the length of the list changed.
How do I use the IO object and set a dynamic 'SIZE' to capture all the data in the list?
Question about VEE.
I am using an IO Object to query something from Instruments.
The return results is a list (1D array) but the length of the list changed.
How do I use the IO object and set a dynamic 'SIZE' to capture all the data in the list?
Bottom line: you don't. This isn't VEE specific but fundamental to communications. There's really only two deterministic ways to piecewise read in an array as you describe: either you know in advance how many items there are in the array or you have some pre-determined terminator. How else can the receiver know when the sender is done sending? There's no magic in VEE that can get you around this!
An alternate but less reliable approach is to read until an error occurs - say a timeout- but then you risk false errors and lost data.
In your case you need to find out what information you can get in advance from your instrument. Either message length or terminator would do.
Stan
Bottom line: you don't. This isn't VEE specific but fundamental to communications. There's really only two deterministic ways to piecewise read in an array as you describe: either you know in advance how many items there are in the array or you have some pre-determined terminator. How else can the receiver know when the sender is done sending? There's no magic in VEE that can get you around this!
An alternate but less reliable approach is to read until an error occurs - say a timeout- but then you risk false errors and lost data.
In your case you need to find out what information you can get in advance from your instrument. Either message length or terminator would do.
Stan