Hi,
> The data format is a stream of ASCII bytes. Each two-byte combination
> represents either a string (for two columns) or an integer (for the other
> 28 data columns). The conversion from position-specific bit values to the
> ASCII characters is accomplished using the data mapping dictionaries. I
> accept that I wasn't as clear as I could have been.
Understood now. But you cannot store strings and floats in an array
simultaneously.
> After sending the message it occurred to me that the string.Split()
> function is probably what I want. I'm not receiving Hex values from the
> scanner. I'll play with this over the weekend.
Not sure about string.split(), I don't think this is useful (would split into
1-byte chars iirc). You can you use a list comprehension for the data part,
like this:
line = read_data()
mapped_vals = [DATA_MAP_7[i:i+2] for i in range(2*7, 2*35)]
although I admit it is no very pretty solution. Maybe somebody has a better
idea.
> You are correct, however, that I do want to take that incoming string
> and store it into an array in the fewest possible steps. I'll have to look
> at 'fromstring()' to see just what that does. I assumed that each row in
> the array was a list, is that incorrect?
well, since the data has to be mapped in a certain manner first, I'm not sure
if fromstring() really helps here. I did not realize this at the first
glance.
BTW, while having a closer look to your code I noticed that at line 72 ("line
= ser.readline") there is a pair of brackets missing. Here is one free of
charge: ()
;-)
Johannes