So it sounds like you want to send back a sequence of two-byte binary data samples. Thus, you'll use the Type Cast function.
(When I talked about ASCII, I meant that encoded the value "142" as three ASCII characters, '1', '4' and '2'. It sounds like you are not going to encode your data this way.) Back to the continuous vs. query mode... It's kind of weird to be combining both of those. Usually devices either constantly spew data, or they are queryable. Maybe they can do either, but they are typically put into one mode or the other as part of their configuration. But let's run with this. Here's what I'm envisioning, and you can tell me if I'm right. When no queries are going on, the satellite is constantly spewing out... !Temp1[data]End !Temp2[data]End !Temp3[data]End and starting over... !Temp1[data]End etc. If the satellite receives a query, it reports the results back at the next opportunity. Something like this... !Temp1[data]End !Temp2[da Computer queries for ?Temp1 while receiving !Temp2 ta]End !Temp1[data]End !Temp3[data]End etc. If that's the case, then I think you'll want two parallel loops. One is responsible for waiting for a reason to query for a specific data value. It doesn't do anything until that data is needed. The other loop is constantly reading, and has no idea whether data was queried, or just received as part of the normal spewage. It is responsible for taking whatever is read, parsing it and updating some data structure (e.g., a set of globals) that contain the latest data values. The rest of your program that needs to display or log or analyze the data just looks at the globals. Is any of this making sense? Am I off track? Brian PS: I think any posting that contains the noun "spewage" is worthy of a 4-star rating, don't you? ;-)
