High resolution event timer channel
Event details = Data1
GPS micro-second time of week = (Data2 x 2^32 + Data3 x 2^24 + Data4 x 2^16 + Data5 x 2^8 + Data6)
For Data1, bits 0 - 2 (the 3 least significant bits) are used to determine which trigger on a logger the signal has originated from.
Trigger numbers are 1-based on the logger fascias, but zero-based in this message, so:
Trigger number = (Data1 & 0x07) + 1
Bit 7, the msb, is used to indicate the polarity of the originating event.
if bit7 = 0 (i.e. Data1 & 0x80 == 0) then the event was triggered by a falling edge.
if bit7 = 1 (i.e. Data1 & 0x80 == 1) then the event was triggered by a rising edge.
bit 6 is used as follows:
0 = time stamp for trigger source (this is the current implementation)
1 = run file time stamp
If bit 6 is set to 1, this data become a high accuracy run time stamp.
This runs in parallel with the normal run file stamp, but at higher resolution. So the normal timer will run every 0.01s. If we had some data running at 1kHz then the time stamps would be something like this:
Start of file
Message nine, time stamp 0
Message 97 time of 0
Samples at time 0.000s
Message 97 time of 1000uS
Sample at time 0.001s
Message 97 time of 2000uS
Sample at time 0.002s
Message 97 time of 9000uS
Sample at time 0.009s
Message 9, time stamp 1
Message 97, time of 10 000uS
Sample at time 0.010s
This channel provides a method of outputting an event time with micro-second resolution referenced to GPS time.