!--------------------------------------------------------------------------------
!event header
!--------------------------------------------------------------------------------
LW data length in words + 4
W event type, should always be 10, otherwise discard event as illegal
W event subtype should always be 1, otherwise discard event as illegal
LW unused, discard
LW event counter
!--------------------------------------------------------------------------------
!event data, (data length) words. This is actually just a list of subevents, one
!after the other. See the subevent structure on how to decode this.
!--------------------------------------------------------------------------------
W
W
W
...
!--------------------------------------------------------------------------------
!end of event
!--------------------------------------------------------------------------------
LW means longword, 32 bits; W means word, 16 bits; B means byte, 8 bits.
Please note:
If you decode this data by casting pointers to long words to pointers to words (or the other way round), be prepared that some operating systems keep the highest significant bit of a byte/word/longword in a higher point in memory than the lowest significant bit, whereas some other operating systems just do it the other way round. Even though longwords appear always correct, words and bytes will appear swapped. Take a look at the differences between OVMS and UNIX e.g. when decoding the event header starting at line 430 of the C code to scan the lmd files.
back to the online/offline page