aboutsummaryrefslogtreecommitdiff
path: root/examples/client/template.xml
blob: 1708730b603e45570e86f9cf714a6e210f37a0ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.0" encoding="utf-8"?>
<syst:Collateral xmlns:syst="http://www.mipi.org/1.0/sys-t"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.mipi.org/1.0/sys-t
                        https://www.mipi.org/schema/sys-t/sys-t_1-0.xsd">

  <!--
  A SyS-T collateral file starts with one syst:Collateral element
  and contains at least one syst:Client child node.
 -->
  <syst:Client Name="example">

    <!--
    List of message GUIDs for this client:
    A GUID is a 128bit numeric UUID following RFC 4122.
    Clients that are identified by transport layer properties
    can use pseudo GUID values to identify their messages. A
    pseudo GUID is defined as a GUID with bit 71 set to zero.
    The following encoding might be used for clients identified
    by MIPI System Trace Protocol (STP) master/channel pairs:

     {00000000-<MasterID>-<ChannelID>-<Origin>00-000000000000}

    A Mask attribute can be added to define which bits of the GUID are
    used for comparison. Without a mask, all bits need to match.
    The example below makes the catalog valid for all channels from the
    STP master value 0x644, or messages with the "494E..." GUID in their
    payload.
    -->
    <syst:Guids>
      <syst:Guid ID=  "{00000000-0644-0000-0000-000000000000}"
                 Mask="{00000000-FFFF-0000-8000-000000000000}"><![CDATA[kernel]]></syst:Guid>
      <syst:Guid ID="{494E5443-8A9C-4014-A65A-2F36A36D96E4}"><![CDATA[user]]></syst:Guid>
    </syst:Guids>

    <!--
    Define for which versions of the client this collateral is valid.
    Versions are expressed as values up to 64-bit and can contain a mask
    that define which bits need to match with a client version message.
    -->
    <syst:Builds>
      <syst:Build ID="0x00010000" Mask="0xFFFF0000" ><![CDATA[SW Build 1.x]]></syst:Build>
      <syst:Build ID="0x00020000" Mask="0xFFFF0000" ><![CDATA[SW Build 2.x]]></syst:Build>
    </syst:Builds>

     <!--
     Settings to guide decoding tools what to do in cases
     where several options are possible. The example below tells
     a decoder to interprete SyS-T message timstamps only as an
     informal field, but not the message creation time.
     -->
    <syst:Options>
      <syst:Option Name="syst:timestamp">displayAsField</syst:Option>
    </syst:Options>

    <!--
    Provide ID to name mapping for module header field values.
    -->
    <syst:Modules>
      <syst:Module ID="0x1"><![CDATA[kernel]]></syst:Module>
      <syst:Module ID="0x2"><![CDATA[user]]></syst:Module>
    </syst:Modules>

    <!--
    Define the mapping of the numeric File-ID to source files.
    This table is optional and only needed if source references are used
    by the Catalog32 or Catalog64 elements.
    -->
    <syst:SourceFiles/>

    <!--
    Define the mapping of catalog message ID to human-readable strings.
    This table is optional and only needed if catalog messages are used.
    A message can have optional "File" and "Line" attributes to specify the
    source position of the instrumentation call. A decoder uses the
    information from these attributes if the message payload doesn't provide
    explicit location information.
    -->
    <syst:Catalog32/>

    <syst:Catalog64/>

    <!--
    Define short message mapping from  30-Bit ID to user visible string.
    -->
    <syst:Short32>
      <syst:Format ID="0x01234567" ><![CDATA[Short 32-Bit value (0x01234567)]]></syst:Format>
      <syst:Format ID="0x0E000000" Mask="0x0F000000"><![CDATA[error with code %d]]></syst:Format>
      <syst:Format ID="0x0F000000" Mask="0x0F000000"><![CDATA[warning with code %d]]></syst:Format>
    </syst:Short32>

    <!--
    Define short message mapping from  60-Bit ID to user visible string.
    -->
    <syst:Short64>
      <syst:Format ID="0x0112233445566778"><![CDATA[Short 64-Bit value (0x0112233445566778)]]]></syst:Format>
    </syst:Short64>

    <!--
    Specify raw message protocol id assignment
    -->
    <syst:Write>
      <syst:Protocol ID="0x01" Mask="0x00"><![CDATA[Protocol%d]]></syst:Protocol>
    </syst:Write>

  </syst:Client>
</syst:Collateral>