1# CHART PUS Packet definition files
 2
 3namespace xsi = "http://www.w3.org/2001/XMLSchema-instance"
 4
 5start = packet
 6
 7packet = element packet  {
 8    attribute xsi:noNamespaceSchemaLocation { text } &
 9
10    ## packet name
11    element name { text } &
12
13    ## table description string
14    element description { text } &
15
16    ## Special Packet IDentifier
17    element spid { xsd:integer }? &
18
19    ## PUS service
20    element service { xsd:integer }? &
21
22    ## PUS subservice
23    element subservice { xsd:integer }? &
24
25    ## PUS application ID
26    element apid { xsd:integer } &
27
28    ## First byte where dynamic parameter processing begins
29    element dynamic-start { xsd:integer }? &
30
31    ## First additional identifier parameter
32    element param1 { xsd:integer }? &
33
34    ## Second additional identifier parameter
35    element param2 { xsd:integer }? &
36
37    ## Type of binary pre-paremeter standard header
38    element header-type { "TM"|"STDXPUSS"|"STDXCCSD" }? &
39
40    ## Event configuration
41    element format { "xdr"|"zxdr" }? &
42
43    ## List of tables we write to
44    element table {  # raw only
45        ## Our table name
46        element name { text } &
47
48        ## List of parameters
49        element field {
50            ## Parameter name
51            element name { text } &
52
53            ## Byte offset for static fields
54            element byte { xsd:integer }? &
55
56            ## Bit offset for static fields
57            element bit { xsd:integer }? &
58
59            ## If this field cotrols duplication of subsequenct parameters
60            element group-size { xsd:integer }? &
61
62            ## Bit offset to introduce a gap inbetween variable parameters
63            element offset-mod { xsd:integer }? &
64
65            ## Time offset in ms if this parameter has a different time to the main packet
66            element time-offset { xsd:integer }? &
67
68            ## Specific a number of fixed repeats of this parameter (sic)
69            element num-occ { xsd:integer }? &
70
71            ## Stride between fixed repeats (sic)
72            element bits-between-occ { xsd:integer }? &
73
74            ## Time delta between repeats (sic)
75            element time-delta-occ { xsd:integer }?
76        }*
77    }*
78}