Quote Originally Posted by Darrel Taylor View Post
This is another one of those examples where arrays act differently depending on whether a Constant or a Variable is used as the index.
Using the same statement...
owout pin.0[index], 1, ["data here"]
If index is a Constant, it does what you thought, and will use the index to select the Pin as an offset from PORTA.0. So 8 would be PORTB.0. But then, you can't change it at run-time.
IF index is a variable, then it makes it an Array operation that will read the value of the indexed Pin (0 or 1), that value then becomes the "PIN Number".
When a statement works 2 different ways like that it's hard to grasp sometimes.
Not sure why meLabs did things that way.
<br>
Might be the difference between a $250 compiler and a $2,500 compiler.
But I got what you were getting at.

I think the original post'ers only option is to do the SELECT CASE thing, combine all OWOUT's into one place, use a generic "data here" string type array variable and go with it.