[time-nuts] TSIP protocol for T-Bolt

d0ct0r time at patoka.org
Wed Mar 26 15:30:42 UTC 2014



Speaking about legacy T-Bolt devices and modern development: Here is 
paragraph from Trimble Thunderbolt User guide:

Week Number: This field represents the current GPS week number. GPS week 
number 0
started on January 6, 1980. Unfortunately, the GPS system has allotted 
only 10-bits of
information to carry the GPS week number and therefore it rolls-over to 
0 in just 1024
weeks (19.6 years,) and there is no mechanism built into GPS to tell the 
user to which
1024 week epoch the week number refers. The first week number roll-over 
will occur as
August 21, 1999 (GPS) transitions to August 22, 1999 (GPS). The 
ThunderBolt adjusts for
this week rollover by adding 1024 to any week number reported by GPS 
which is less that
week number 936 which began on December 14, 1997. With this technique, 
the
ThunderBolt will provide an accurate translation of GPS week number and 
TOW to time
and date until July 30, 2017.

How that "week number" will affect the functionality of whole device ? 
Its probably time to think to put some workaround to the code or even 
eliminate to use that time information received from T-Bolt. I already 
met that challenge when I was working with BC637PCI card. The work 
around was quite simple then - just to add 619315200 seconds to the 
current value [1024*7*24*60*60]. I would like to be little proactive 
here. ;-)

Also, does anybody knows if new Trimble Thunderbolt "E" is backward 
compatible with legacy HW ? I mean the replacement will still works on 
most of existed setups. For example, I did compare the packet definition 
for 8F-AC and looks like Thunderbolt "E" has some extensions, but its 
backward compatible.


Regards,

V.P.





On 2014-03-26 08:38, Didier Juges wrote:
> You can play with my Thunderbolt Simulator:
> 
> http://www.ko4bb.com/Timing/GPSMonitor/TBoltSim.php [2]
> 
> (Windows only, sorry...)
> 
> It lets you create arbitrary packets (including setting fault
> conditions and arbitrary GPS time or coordinates) and properly escapes
> the embedded DLEs. The actual string that is sent is displayed in Hex
> at the bottom of the screen.
> 
> (Warning: It is work in progress, so not all menu selections actually
> work)
> 
> On Tue, Mar 25, 2014 at 7:11 PM, d0ct0r <time at patoka.org> wrote:
> 
>> Much thanks Tom and Mike ! I missed that point. In another word,
>> T-Bolt sending DLE data "wrapped" by another byte ! Now I know !
>> 
>> On 2014-03-25 19:55, mike cook wrote:
>> 
>> Le 25 mars 2014 à 22:43, d0ct0r a écrit :
>> 
>> Today I spent good part of my time to figure out that my version of
>> Thunderbolt has some issue with the TSIP protocol definition. I am
>> using following document: "ThunderBolt GPS Disciplined Clock User
>> Guide, Version 5.0, Part Number: 35326-30, November 2003"
>> 
>> In that particular PDF file, there is definition for 0x8F-AB TSIP
>> packet [section A.10.30 Report Packet 0x8F-AB Primary Timing
>> Packet].
>> 
>> Here is the structure of 8F-AB, translated to plain C-code:
>> 
>> typedef struct tb_8f_ab {
>> uint8_t sub; //0 : 1
>> uint32_t tow; //1-4 : 4
>> uint16_t wn; //5-6 : 2
>> int16_t ls; //7-8 : 2
>> uint8_t tflag; //9 : 1
>> uint8_t sec; //10 : 1
>> uint8_t min; //11 : 1
>> uint8_t hr; //12 : 1
>> uint8_t day; //13 : 1
>> uint8_t month; //14 : 1
>> uint16_t year; //15-16 : 2
>> } mytb_8f_ab;
>> 
>> Here is the dump I get from my MCU:
>> 
>> //0x10 0x8F 0xAB 0x0 0x3 0x92 0x88 0x6 0xF9 0x0 0x10 0x10 0x3 0x2C
>> 0x1 0x11 0x19 0x3 0x7 0xDE 0x10 0x3
>> //0x10 0x8F 0xAB 0x0 0x3 0xCC 0x16 0x6 0xF9 0x0 0x10 0x10 0x3 0x12
>> 0x7 0x15 0x19 0x3 0x7 0xDE 0x10 0x3
>> ____________
>> how are you dumping this?
>> you have an imbedded (stuffed)DLE, which is sent as DLE/DLE but the
>> second is to be ignored.
>> 
>> Which is conform to TSIP standard packet definition:
>> 
>> TSIP packet structure is the same for both commands and reports.
>> The
>> packet format is:
>> <DLE> <id> <data string bytes> <DLE> <ETX>
>> Where:
>> * <DLE> is the byte 0x10
>> * <ETX> is the byte 0x03
>> * <id> is a packet identifier byte, which can have any value
>> excepting
>> <ETX> and <DLE>.
>> 
>> Ex: In the tsip developer tool kit , from TsipParser.c
>> 
>> case TSIP_IN_PARTIAL:
>> // The parser is in this state if a previous character was
>> // a part of the TSIP data. As noted above, a DLE character
>> // can be a part of the TSIP data in which case another DLE
>> // character is present in the data stream. So, here we look
>> // at the next character in the stream (currently loaded in
>> // ucByte). If it is a DLE character, we just encountered
>> // a stuffed DLE byte. In that case, we ignore this byte
>> // and go back to the TSIP_DLE state. That way, we will log
>> // only one DLE byte which was a part of the TSIP data.
>> //
>> // All other non-DLE characters are placed in the TSIP packet
>> // buffere.
>> if (ucByte == DLE)
>> {
>> nParseState = TSIP_DLE;
>> 
>> }
>> else
>> {
>> ucPkt[nPktLen++] = ucByte;
>> }
>> break;
>> 
>> However, its appeared that my T-Bolt throwing one "extra" byte for
>> the so-called "Timing Flags".
>> There is 19 bytes coming from my T-Bolt, instead of expected 18. I
>> found that actual length of TFLAG is 16 bit - not 8. Interesting
>> enough, that Lady Heather works perfectly fine with that T-Bolt !
>> 
>> Can somebody confirm that there is different version of T-Bolt on
>> the market ? If so, where I need to look for the documentation for
>> my version ?
>> 
>> --
>> WBW,
>> 
>> V.P.
>> _______________________________________________
>> time-nuts mailing list -- time-nuts at febo.com
>> To unsubscribe, go to
>> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts [1] [1]
>> 
>> and follow the instructions there.
>> 
>> Links:
>> ------
>> [1] https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts [1]
> 
>  --
>  WBW,
> 
>  V.P.
>  _______________________________________________
>  time-nuts mailing list -- time-nuts at febo.com
>  To unsubscribe, go to
> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts [1]
>  and follow the instructions there.
> 
> 
> Links:
> ------
> [1] https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> [2] http://www.ko4bb.com/Timing/GPSMonitor/TBoltSim.php

-- 
WBW,

V.P.



More information about the Time-nuts_lists.febo.com mailing list