[teqc] Rockwell binary

Lou Estey lou at unavco.org
Sun May 28 11:01:49 MDT 2006


Jay,

> I don't understand  the Rockwell Zodiac binary format TEQC expects.
> I am using  a TU30-D140. The Zodiac data messages received appear
> to be correct. The data is captured in ascii hex format. Each text 
> record is a
> complete text-hex representation of a valid message. I converted the 
> text/hex
> to its binary format. The original file, a record starts with the 
> letters "81FF".
> I converted that to become two binary bytes 0x81, 0xFF .. etc for the
> entire file. I also computed and validated the data checksum for each 
> record.
> 
> Using teqc -rock z 1376-1.dat    (where 1376-1.dat is the binary file)
> 
> TEQC returns:
> ? Rockwell Zodiac message id 31989 ?
> ? Rockwell Zodiac message id 9218 ?
> .. similar messages repeat.
> 
> The data in  zo2zob.dat (the Rockwell Zodiac Binary
> sample on the teqc website)  do not appear to contain
> what I would expect the binary data messages to have.
> 
> Appreciate a pointer to the expected binary format..

The only message IDs the teqc will read are 1000, 1002, and 1102.
(This goes back to when UNAVCO was looking for an inexpensive L1-only receiver,
circa '99, and we were looking at the Rockwell Zodiac.  I've just left
the code in teqc; a few people have used it over the years.  Aside
from fixing a few bugs, there hasn't been any attempt to update the
main code in teqc since then.)

First, thing to know: the format is little-endian.  Second, file zo2zob.dat
has 199 bytes of junk or an incomplete message at the beginning. (Don't remember
the origin of that file; probably someone sent it to us way back when.)
The messages do start with 0x81ff -- except that is a little endian
viewpoint -- so it's 0xff 0x81 in the actual byte order.  The actual
byte order of the file (starting at byte 200 of zo2zob.dat):

[414] od -t x1 tmp.dat 2>&1 | m
0000000 ff 81 e8 03 31 00 00 00 e8 79 c4 cb 01 00 98 04
0000020 98 04 00 00 00 00 07 00 00 00 7e 03 61 a1 07 00
0000040 11 40 b3 31 1c 00 02 00 cd 07 12 00 36 00 0e 00
0000060 11 40 b3 31 56 2b 29 03 d2 62 d5 f5 41 40 00 00
0000100 31 f7 00 00 00 00 00 00 3c 04 eb ff 00 00 5d 00
....

and teqc's parsing of it is:

[415] teqc +diag +mds -rockwell zodiac tmp.dat 2>&1 | more
Rockwell Zodiac frame 0xff81 @ 0o00000000 = 0x00000000 = 00000000   type= 0x03e8 =  1000 = "è"
Rockwell Zodiac frame 0xff81 @ 0o00000156 = 0x0000006e = 00000110   type= 0x03ea =  1002 = "ê"
Rockwell Zodiac frame 0xff81 @ 0o00000324 = 0x000000d4 = 00000212   type= 0x044e =  1102 = "N"
Rockwell Zodiac frame 0xff81 @ 0o00001316 = 0x000002ce = 00000718   type= 0x03e8 =  1000 = "è"
Rockwell Zodiac frame 0xff81 @ 0o00001474 = 0x0000033c = 00000828   type= 0x03ea =  1002 = "ê"
Rockwell Zodiac frame 0xff81 @ 0o00001642 = 0x000003a2 = 00000930   type= 0x044e =  1102 = "N"
....

i.e. so the first message ID is 0x03e8 = 1000, so the actual byte
order is 0xe8 0x03.  Etc.

Hope that helps.

cheers,
--lou



More information about the teqc mailing list