Added V1.1.1 version of HPE XIDs
Showing
5 changed files
with
1608 additions
and
0 deletions
HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
4 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
6 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | ||
7 | identity="HpeCellular.xid.xml"> | ||
8 | <title>HPE Celullar Data Definition</title> | ||
9 | <comment>File contains data definitions for 2G, 3G, and 4G HPE location related datatypes.</comment> | ||
10 | |||
11 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
12 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
13 | |||
14 | <namespace name="HPE.Cellular"> | ||
15 | <using namespace="Tensor"/> | ||
16 | <using namespace="HPE"/> | ||
17 | |||
18 | <enum name="RadioType" type="Tensor.uint8" default="undefined"> | ||
19 | <comment>Specifies the specific variant of Radio Data.</comment> | ||
20 | <literal name="undefined" value="0"/> | ||
21 | <literal name="GSM" value="1"/> | ||
22 | <literal name="WCDMA" value="2"/> | ||
23 | <literal name="LTE" value="3"/> | ||
24 | <literal name="CDMA" value="4"/> | ||
25 | </enum> | ||
26 | |||
27 | <enum name="DuplexMode" type="Tensor.int8" default="FDD"> | ||
28 | <comment>Defines the communication duplexing mode.</comment> | ||
29 | <literal name="FDD" value="0"/> | ||
30 | <literal name="TDD" value="1"/> | ||
31 | </enum> | ||
32 | |||
33 | <enum name="TimeAdvMode" type="Tensor.int8" default="RAW"> | ||
34 | <comment>Defines Time Advance measurement mode.</comment> | ||
35 | <literal name="TYPE1" value="0"/> | ||
36 | <literal name="TYPE2" value="1"/> | ||
37 | <literal name="UE" value="2"/> | ||
38 | <literal name="SUPL" value="3"/> | ||
39 | <literal name="RAW" value="4"/> | ||
40 | </enum> | ||
41 | |||
42 | <!-- Referece Data types--> | ||
43 | <struct name="CellId" pack="true"> | ||
44 | <comment> | ||
45 | CellIDInfo is a structure that uniquely identifies the Cell Tower in the cellular network.\n | ||
46 | It relies on the RadioType field to interpret the meaning of specific fields.</comment> | ||
47 | <elem name ="rtype" type="RadioType" multiplicity="1"/> | ||
48 | <elem name ="mncLength" type="uint8" multiplicity="1"> | ||
49 | <comment> | ||
50 | Indicates number of digits for MNC to pad to (2 or 3).\n | ||
51 | If unknown, use 0.\n | ||
52 | For:\n | ||
53 | \t rtype=4(CDMA), this field is ignored. | ||
54 | </comment> | ||
55 | </elem> | ||
56 | <elem name ="mcc" type="uint16" multiplicity="1"> | ||
57 | <comment>Mobile Country Code.</comment> | ||
58 | </elem> | ||
59 | <elem name ="mnc" type="uint16" multiplicity="1"> | ||
60 | <comment> | ||
61 | Mobile Network Code.\n | ||
62 | For:\n | ||
63 | \t rtype=4(CDMA) this field is the SID | ||
64 | </comment> | ||
65 | </elem> | ||
66 | <elem name ="lac" type="uint16" multiplicity="1"> | ||
67 | <comment> | ||
68 | Location Area Code.\n | ||
69 | For:\n | ||
70 | \t rtype=3(LTE) this field is the TAC.\n | ||
71 | \r rtype=4(CDMA) this field is the NID. | ||
72 | </comment> | ||
73 | </elem> | ||
74 | <elem name ="cid" type="uint32" multiplicity="1"> | ||
75 | <comment> | ||
76 | Cell ID.\n | ||
77 | For:\n | ||
78 | \t rtype=4(CDMA) this field is the BID. | ||
79 | </comment> | ||
80 | </elem> | ||
81 | </struct> | ||
82 | |||
83 | <struct name="AntennaSpec" pack="true"> | ||
84 | <comment>Specifies the details about a specific antenna.</comment> | ||
85 | <comment>Geometric specification matches HPE.ArcBand3D</comment> | ||
86 | <elem name ="sectorid" type="uint16" multiplicity="1"/> | ||
87 | <elem name ="height" type="float32" multiplicity="1"> | ||
88 | <tag name="unit" value="meters"/> | ||
89 | <comment>Height of the antenna from the CellLocInfo altitude.</comment> | ||
90 | </elem> | ||
91 | <elem name ="direction" type="float32" multiplicity="1"> | ||
92 | <tag name="unit" value="degrees"/> | ||
93 | <comment>angle from north to center of arc; aka orientation. 0 <= direction < 360.</comment> | ||
94 | </elem> | ||
95 | <elem name ="tilt" type="float32" multiplicity="1"> | ||
96 | <tag name="unit" value="degrees"/> | ||
97 | <comment>Vertical tilt from horizon.</comment> | ||
98 | </elem> | ||
99 | <elem name="opening" type="float32" multiplicity="1"> | ||
100 | <tag name="unit" value="degrees"/> | ||
101 | <comment>Coverage angle of the antenna face; half on either side of direction. 0 < opening <= 360.</comment> | ||
102 | </elem> | ||
103 | <elem name="vopening" type="float32" multiplicity="1"> | ||
104 | <tag name="unit" value="degrees"/> | ||
105 | <comment>Vertical coverage angle of the antenna face; half on either side of tilt 0 < opening <= 360.</comment> | ||
106 | </elem> | ||
107 | <elem name="radius" type="uint32" multiplicity="1"> | ||
108 | <tag name="unit" value="meters"/> | ||
109 | <comment>Maximum antenna radius; distance the cell is usable at TxPower. | ||
110 | aka: MAR, SectorRadius | ||
111 | </comment> | ||
112 | </elem> | ||
113 | <elem name="TxPower" type="float64" multiplicity="1"> | ||
114 | <tag name="unit" value="dBm"/> | ||
115 | <comment>Transmit power.</comment> | ||
116 | </elem> | ||
117 | <elem name="frequency" type="float64" multiplicity="1"> | ||
118 | <tag name="unit" value="Hz"/> | ||
119 | <comment>Radio frequency of the transimitted signal</comment> | ||
120 | </elem> | ||
121 | <elem name="RTTCalib" type="float32" multiplicity="1"> | ||
122 | <tag name="unit" value="meter"/> | ||
123 | <comment>RTT Calibration is the survey result of the average RTT error of the cell in meters. Set to zero when not available</comment> | ||
124 | </elem> | ||
125 | <elem name="RTTCalibUncert" type="float32" multiplicity="1"> | ||
126 | <tag name="unit" value="meter"/> | ||
127 | <comment>standard deviation of the RTTCalib. set to zero if not available</comment> | ||
128 | </elem> | ||
129 | </struct> | ||
130 | |||
131 | <struct name="CellLocInfo" pack="true"> | ||
132 | <comment>Geometric specification matches HPE.Spheroid</comment> | ||
133 | <comment>Provides the Cell tower location estimate @ 68% confidence</comment> | ||
134 | <elem name="lat" type="float64" multiplicity="1"> | ||
135 | <tag name="unit" value="WGS84"/> | ||
136 | </elem> | ||
137 | <elem name="lon" type="float64" multiplicity="1"> | ||
138 | <tag name="unit" value="WGS84"/> | ||
139 | </elem> | ||
140 | <elem name="alt" type="float64" multiplicity="1"> | ||
141 | <tag name="unit" value="WGS84"/> | ||
142 | </elem> | ||
143 | <elem name="radius" type="float32" multiplicity="1"> | ||
144 | <tag name="unit" value="meters"/> | ||
145 | <comment>Horizontal uncertainty of cell-site position at 68% confidence. 0 <= hunc </comment> | ||
146 | </elem> | ||
147 | <elem name="vert" type="float32" multiplicity="1"> | ||
148 | <tag name="unit" value="meters"/> | ||
149 | <comment>Vertical uncertainty of cell-site position at 68% confidence. 0 <= vunc</comment> | ||
150 | </elem> | ||
151 | |||
152 | </struct> | ||
153 | |||
154 | <struct name="CellAntReferenceData" type="HPE.ReferenceData" pack="true" rttkey="HPE.RefDataFormat.CELLULAR"> | ||
155 | <comment> | ||
156 | Data provdes a complete set of information for a particular antenna typically associated with one or more observations. | ||
157 | The default RefDataFormat is CELLULAR. | ||
158 | </comment> | ||
159 | <elem name ="cid" type="CellId" multiplicity="1"/> | ||
160 | <elem name ="antenna" type="AntennaSpec" multiplicity="1"/> | ||
161 | <elem name ="location" type="CellLocInfo" multiplicity="1"/> | ||
162 | </struct> | ||
163 | |||
164 | <!-- Observation Data types--> | ||
165 | <struct name="MSISDNObservation" type="Observation" pack="true" rttkey="HPE.ObservationType.MSISDN"> | ||
166 | <comment> | ||
167 | MSISDN only observation. Observation must comply with E.164 standard in section 6.2.1 | ||
168 | (https://www.itu.int/rec/T-REC-E.164-201011-I/en). | ||
169 | </comment> | ||
170 | |||
171 | <elem name ="cc" type="uint16" multiplicity="1" default="1"> | ||
172 | <tag name="unit" value="1 to 3 digits"/> | ||
173 | <comment> | ||
174 | Country Code must have one (1) to three (3) digits.</comment> | ||
175 | </elem> | ||
176 | |||
177 | <elem name ="nsn" type="uint64" multiplicity="1"> | ||
178 | <tag name="unit" value="digits as a regular number"/> | ||
179 | <comment> | ||
180 | NSNs can have up to 12 digits. | ||
181 | </comment> | ||
182 | </elem> | ||
183 | </struct> | ||
184 | |||
185 | <struct name="CellularObservation" type="ObservationEpoch" pack="true" rttkey="HPE.ObservationType.CELLID"> | ||
186 | <comment>CellID only observation.</comment> | ||
187 | <comment>Also, base type for all cellular measurements.</comment> | ||
188 | <elem name ="cid" type="CellId" multiplicity="1"/> | ||
189 | </struct> | ||
190 | |||
191 | <!-- 2G Observations --> | ||
192 | <struct name="TimeAdvance" type="CellularObservation" pack="true" rttkey="HPE.ObservationType.GSM_TA"> | ||
193 | <comment>TimeAdvanceInfo is a structure which defines the Time Advance measurements of a base station.</comment> | ||
194 | <elem name ="ta" type="uint16" multiplicity="1"> | ||
195 | <tag name="unit" value="bit period = 48/13 micro-second"/> | ||
196 | <comment>Range 0-255, values over 63 correspond to the access delay measured by the BTS.</comment> | ||
197 | <comment>Unit: 1 bits period = 48/13 micro-second</comment> | ||
198 | </elem> | ||
199 | </struct> | ||
200 | |||
201 | <struct name="NMRInfo" type="CellularObservation" pack="true" rttkey="HPE.ObservationType.GSM_NMR"> | ||
202 | <comment> | ||
203 | NMRInfo is a structure that defines important elements | ||
204 | in the network measurement report in GSM network. | ||
205 | </comment> | ||
206 | <elem name ="arfcn" type="uint16" multiplicity="1"> | ||
207 | <comment>Absolute RF channel number. Range 0-1023.</comment> | ||
208 | </elem> | ||
209 | <elem name ="bsic" type="uint16" multiplicity="1"> | ||
210 | <comment>Bsic Station Identity Code GSM 03.03. Range 0-63.</comment> | ||
211 | </elem> | ||
212 | <elem name ="rxlevel" type="uint16" multiplicity="1"> | ||
213 | <comment>Corresponds according to the mapping defined in TS. GSM 05.08 to the received signal | ||
214 | strength on carrier N. N is the index to the frequency | ||
215 | in the sorted list of frequencies defined in the | ||
216 | EXTENDED MEASUREMENT ORDER message. Range 0-63. | ||
217 | </comment> | ||
218 | </elem> | ||
219 | </struct> | ||
220 | |||
221 | |||
222 | <!-- 3G Observation data types.--> | ||
223 | <struct name="RttInfo" type="CellularObservation" pack="true" rttkey="HPE.ObservationType.RTT_3G"> | ||
224 | <comment>RTTInfo is a structure which defines the round trip time measured results in 3G network.</comment> | ||
225 | <elem name ="tamode" type="TimeAdvMode" multiplicity="1"> | ||
226 | <comment>Measurement mode of the Roud Trip Time. Currently the RTT structure is only valid for FDD</comment> | ||
227 | <comment>Only Type1 and Type2 in TimeAdvMode are valid in RTT structure, need to ignore SUPL, RAW, UE</comment> | ||
228 | </elem> | ||
229 | <elem name ="rxtxtime" type="uint16" multiplicity="1"> | ||
230 | <comment> | ||
231 | RxTxTime depends on duplex mode. | ||
232 | TDD: 0-8191 | ||
233 | FDD: 768..1280 | ||
234 | </comment> | ||
235 | </elem> | ||
236 | <elem name ="quality" type="uint8" multiplicity="1"> | ||
237 | <comment>Quality of the UE Rx-Tx time difference measurement.</comment> | ||
238 | </elem> | ||
239 | <elem name ="rtt" type="uint16" multiplicity="1"> | ||
240 | <comment>Round Trip Time measurement. Range = 0-32766</comment> | ||
241 | </elem> | ||
242 | <elem name ="exrtt" type="uint32" multiplicity="1"> | ||
243 | <comment>Extended Round Trip Time continuation of intervals. 32767..103041</comment> | ||
244 | </elem> | ||
245 | </struct> | ||
246 | |||
247 | <struct name="MeasuredResultInfo" type="CellularObservation" pack="true" rttkey="HPE.ObservationType.MR_3G"> | ||
248 | <comment>3G MeasuredResultInfo is a structure which defines the measured result.</comment> | ||
249 | <elem name ="dupmode" type="DuplexMode" multiplicity="1"> | ||
250 | <comment>Duplex mode of the cell.</comment> | ||
251 | </elem> | ||
252 | <elem name ="cpichRSCP" type="uint8" multiplicity="1"> | ||
253 | <comment>Range 0 to 63</comment> | ||
254 | </elem> | ||
255 | <elem name ="cpichEcNO" type="uint8" multiplicity="1"> | ||
256 | <comment>Range 0 to 63</comment> | ||
257 | </elem> | ||
258 | <elem name ="pathloss" type="uint8" multiplicity="1"> | ||
259 | <comment>Range 0 to 127</comment> | ||
260 | </elem> | ||
261 | <elem name ="deltaRSCP" type="int8" multiplicity="1"> | ||
262 | <comment>Range (-5) to (-1)</comment> | ||
263 | </elem> | ||
264 | </struct> | ||
265 | |||
266 | <!-- 4G Datatypes --> | ||
267 | <struct name="LteTimeAdvanceInfo" type="CellularObservation" pack="true" rttkey="HPE.ObservationType.LTE_TA"> | ||
268 | <comment>LTE timing advance information typically provided by the serving cell.</comment> | ||
269 | <elem name ="tamode" type="TimeAdvMode" multiplicity="1"> | ||
270 | <comment>Measurement mode of the Time Advance.</comment> | ||
271 | </elem> | ||
272 | <elem name ="ta" type="uint16" multiplicity="1"> | ||
273 | <comment>Timing Advance, range: (0...7690) (as per 3GPP 36.321).</comment> | ||
274 | </elem> | ||
275 | <elem name ="aoa" type="uint16" multiplicity="1"> | ||
276 | <comment>Angle of Arrival</comment> | ||
277 | </elem> | ||
278 | <elem name ="uerxtx" type="uint16" multiplicity="1"> | ||
279 | <comment>RxTx time measured from User Entity. Range(0...4095)</comment> | ||
280 | </elem> | ||
281 | </struct> | ||
282 | |||
283 | <struct name="LteRssiInfo" type="CellularObservation" pack="true" rttkey="HPE.ObservationType.LTE_RSSI"> | ||
284 | <comment> | ||
285 | LTERSSIInfo is a 4G LTE structure which defines the signal RSSI information. | ||
286 | </comment> | ||
287 | <elem name ="rsrp" type="uint8" multiplicity="1"> | ||
288 | <tag name="unit" value="dBm"/> | ||
289 | <comment>Reference signal received power</comment> | ||
290 | </elem> | ||
291 | <elem name ="rsrq" type="uint8" multiplicity="1"> | ||
292 | <tag name="unit" value="dB"/> | ||
293 | <comment>Reference signal received quality</comment> | ||
294 | </elem> | ||
295 | <elem name ="nprb" type="uint8" multiplicity="1"> | ||
296 | <tag name="unit" value="dimensionless"/> | ||
297 | <comment>Number of channels used to calculate rsrp</comment> | ||
298 | </elem> | ||
299 | </struct> | ||
300 | |||
301 | <struct name="GenericInfo" type="CellularObservation" pack="true" rttkey="HPE.ObservationType.CELLULAR_GENERIC"> | ||
302 | <comment>Observation type specifies a common cellular observation in generic units. Sometimes observations are translated into a simpler format for transport.</comment> | ||
303 | <elem name ="rss" type="float32" multiplicity="1"> | ||
304 | <comment>Received Signal Strength (RSS), the value is 0 if not defined. The units are -dBm.</comment> | ||
305 | </elem> | ||
306 | <elem name ="rssUncert" type="uint8" multiplicity="1"> | ||
307 | <comment>RSS standard deviation uncertainty in dB units. the value is 0 if not defined or unknown.</comment> | ||
308 | </elem> | ||
309 | <elem name ="taLowPart" type="uint16" multiplicity="1"> | ||
310 | <comment>Low part of timing advance measurement. Range is 0 to 49,999 nsecs (max 15km). Value is 0 if not defined</comment> | ||
311 | </elem> | ||
312 | <elem name ="taHighPart" type="uint8" multiplicity="1"> | ||
313 | <comment>High part of timing advance measurement. Range is 0 to 255 in units of 50 usec (max. 2550 usec or 3,825 km). Value is 0 if not used.</comment> | ||
314 | </elem> | ||
315 | <elem name ="taUncert" type="uint16" multiplicity="1"> | ||
316 | <comment>Timing advance standard deviation uncertainty in nanosecond units. The value is 0 if not defined.</comment> | ||
317 | </elem> | ||
318 | <elem name ="service" type="bool" multiplicity="1"> | ||
319 | <comment>Serving Cell indicator. If true, the measurement is from the serving cell, false if from a neighboring cell. If not defined set to false.</comment> | ||
320 | </elem> | ||
321 | </struct> | ||
322 | |||
323 | <!-- | ||
324 | <struct name="" type="CellularObservation" pack="true"> | ||
325 | <comment></comment> | ||
326 | <elem name ="" type="uint16" multiplicity="1"> | ||
327 | <comment></comment> | ||
328 | </elem> | ||
329 | <elem name ="" type="uint16" multiplicity="1"> | ||
330 | <comment></comment> | ||
331 | </elem> | ||
332 | </struct> | ||
333 | --> | ||
334 | </namespace> | ||
335 | </specification> |
HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
4 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
6 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | ||
7 | identity="HpeGnss.xid.xml"> | ||
8 | <title>HPE GNSS Data Definition</title> | ||
9 | <comment>File contains data definitions for GNSS HPE location related datatypes.</comment> | ||
10 | |||
11 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
12 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
13 | |||
14 | <namespace name="HPE.Gnss"> | ||
15 | <using namespace="Tensor"/> | ||
16 | <using namespace="HPE"/> | ||
17 | |||
18 | |||
19 | <enum name="Constellation" type="uint8" default="unspecified"> | ||
20 | <comment> | ||
21 | Specifies the specific GNSS constellation. These are oreable values to | ||
22 | be used as flags. | ||
23 | </comment> | ||
24 | <literal name="unspecified" value="0x00"/> | ||
25 | <literal name="GPS" value="0x01"/> | ||
26 | <literal name="GLONASS" value="0x02"/> | ||
27 | <literal name="GALILEO" value="0x03"/> | ||
28 | <literal name="BEIDOU" value="0x04"/> | ||
29 | <literal name="QZSS" value="0x05"/> | ||
30 | <literal name="MBS_FLAG" value="0x20"/> | ||
31 | <literal name="RTLS_FLAG" value="0x40"/> | ||
32 | </enum> | ||
33 | |||
34 | <enum name="AssistanceData" type="uint8" default="unspecified"> | ||
35 | <comment> | ||
36 | Enumeration literals defining the types of assistance data supported. | ||
37 | </comment> | ||
38 | <literal name="unspecified" value="0x00"/> | ||
39 | <literal name="GpsAlmanac" value="0x01"/> | ||
40 | <literal name="GpsEphemeris" value="0x02"/> | ||
41 | <literal name="GpsUtcParameters" value="0x03"/> | ||
42 | <literal name="GpsIonosphericCorrection" value="0x04"/> | ||
43 | <literal name="AcquisitionAssistance" value="0x05"/> | ||
44 | </enum> | ||
45 | |||
46 | <!-- Satellite ID --> | ||
47 | <struct name="SatelliteId" pack="true"> | ||
48 | <comment>Satellite identifier specifies constellation and satellite identifier.</comment> | ||
49 | <elem name ="constellation" type="Constellation" multiplicity="1"/> | ||
50 | <elem name ="id" type="uint8" multiplicity="1"> | ||
51 | <comment>Satellite identifier: range 0 to 63.</comment> | ||
52 | </elem> | ||
53 | </struct> | ||
54 | |||
55 | |||
56 | <!-- | ||
57 | ******************************************************* | ||
58 | Almanac Data Structures | ||
59 | ******************************************************* | ||
60 | --> | ||
61 | |||
62 | <!-- Almanac --> | ||
63 | <struct name="Almanac" pack="true"> | ||
64 | <comment>Generalized Almanac orbit in GPS reference frame. One record per satellite.</comment> | ||
65 | |||
66 | <elem name ="id" type="uint8" multiplicity="1"> | ||
67 | <comment>Satellite identifier, valid range is 0-63.</comment> | ||
68 | </elem> | ||
69 | <elem name ="toa" type="uint8" multiplicity="1"> | ||
70 | <comment>Time of almanac in seconds. Value is integer encoded with scale factor 2^12</comment> | ||
71 | <tag name="unit" value="2^12 seconds"/> | ||
72 | </elem> | ||
73 | <elem name ="deltai0" type="int16" multiplicity="1"> | ||
74 | <comment>Relative inclination to i0 = 0.3 semi-circles at reference time. Value is integer encoded with scale factor 2^-19</comment> | ||
75 | <tag name="unit" value="2^-19 semi-circles"/> | ||
76 | </elem> | ||
77 | <elem name ="OmegaDot" type="int16" multiplicity="1"> | ||
78 | <comment>Rate of Right Ascension in semi-circles/sec. Value is integer encoded with scale factor 2^-38</comment> | ||
79 | <tag name="unit" value="2^-38 seconds"/> | ||
80 | </elem> | ||
81 | <elem name ="af0" type="int16" multiplicity="1"> | ||
82 | <comment>SV clock bias in seconds. Value is integer encoded with scale factor 2^-20</comment> | ||
83 | <tag name="unit" value="2^-20 seconds"/> | ||
84 | </elem> | ||
85 | <elem name ="af1" type="int16" multiplicity="1"> | ||
86 | <comment>SV clock bias rate in seconds/second. Value is integer encoded with scale factor 2^-38</comment> | ||
87 | <tag name="unit" value="2^-38 seconds"/> | ||
88 | </elem> | ||
89 | <elem name ="eccentricity" type="uint16" multiplicity="1"> | ||
90 | <comment>Eccentricity of the orbit. Value is integer encoded with scale factor 2^-21</comment> | ||
91 | <tag name="unit" value="2^-21"/> | ||
92 | </elem> | ||
93 | <elem name ="sqrtA" type="uint24" multiplicity="1"> | ||
94 | <comment>Square root of Mean anomaly. Value is integer encoded with scale factor 2^-11</comment> | ||
95 | <tag name="unit" value="2^-11 meters^1/2"/> | ||
96 | </elem> | ||
97 | <elem name ="Omega0" type="int24" multiplicity="1"> | ||
98 | <comment>Longitude of ascending node in semi-circles. Value is integer encoded with scale factor 2^-23</comment> | ||
99 | <tag name="unit" value="2^-23 semi-circles"/> | ||
100 | </elem> | ||
101 | <elem name ="omega" type="int24" multiplicity="1"> | ||
102 | <comment>omega argument of perigee in semi-circles. Value is integer encoded with scale factor 2^-23</comment> | ||
103 | <tag name="unit" value="2^-23 semi-circles"/> | ||
104 | </elem> | ||
105 | <elem name ="M0" type="int24" multiplicity="1"> | ||
106 | <comment>Mean anomaly at reference time in semi-circles. Value is integer encoded with scale factor 2^-23</comment> | ||
107 | <tag name="unit" value="2^-23 semi-circles"/> | ||
108 | </elem> | ||
109 | <elem name ="SvHealth" type="uint8" multiplicity="1"> | ||
110 | <comment>Satellite health flags.</comment> | ||
111 | </elem> | ||
112 | </struct> | ||
113 | |||
114 | |||
115 | <!-- Ephemeris --> | ||
116 | <struct name="Ephemeris" pack="true"> | ||
117 | <comment>Generalized GPS 15 element precision Keplerian orbit in GPS reference frame. One record per satellite.</comment> | ||
118 | <elem name ="id" type="uint8" multiplicity="1"> | ||
119 | <comment>Satellite identifier, valid range is 0-63.</comment> | ||
120 | </elem> | ||
121 | <elem name ="toe" type="uint16" multiplicity="1"> | ||
122 | <comment>Time of Ephemeris. Value is integer encoded with scale factor 2^4</comment> | ||
123 | <tag name="unit" value="2^4 seconds"/> | ||
124 | </elem> | ||
125 | <elem name ="iode" type="uint8" multiplicity="1"> | ||
126 | <comment>Issue of data Ephemeris. The value for comparison with the 8 LSBs of the IODC</comment> | ||
127 | </elem> | ||
128 | <elem name ="eccentricity" type="uint32" multiplicity="1"> | ||
129 | <comment>Eccentricity of the orbit. Value is integer encoded with scale factor 2^-33</comment> | ||
130 | <tag name="unit" value="2^-33"/> | ||
131 | </elem> | ||
132 | <elem name ="i0" type="int32" multiplicity="1"> | ||
133 | <comment>Inclination at reference time in semi-circles. Value is integer encoded with scale factor 2^-31</comment> | ||
134 | <tag name="unit" value="2^-31 semi-circles"/> | ||
135 | </elem> | ||
136 | <elem name ="OmegaDot" type="int24" multiplicity="1"> | ||
137 | <comment>Rate of Right Ascension in semi-circles/sec. Value is integer encoded with scale factor 2^-43</comment> | ||
138 | <tag name="unit" value="2^-43 seconds"/> | ||
139 | </elem> | ||
140 | <elem name ="sqrtA" type="uint32" multiplicity="1"> | ||
141 | <comment>Square root of Mean anomaly. Value is integer encoded with scale factor 2^-19</comment> | ||
142 | <tag name="unit" value="2^-19 meters^1/2"/> | ||
143 | </elem> | ||
144 | <elem name ="Omega0" type="int32" multiplicity="1"> | ||
145 | <comment>Longitude of ascending node in semi-circles. Value is integer encoded with scale factor 2^-31</comment> | ||
146 | <tag name="unit" value="2^-31 semi-circles"/> | ||
147 | </elem> | ||
148 | <elem name ="omega" type="int32" multiplicity="1"> | ||
149 | <comment>omega argument of perigee in semi-circles. Value is integer encoded with scale factor 2^-31</comment> | ||
150 | <tag name="unit" value="2^-31 semi-circles"/> | ||
151 | </elem> | ||
152 | <elem name ="M0" type="int32" multiplicity="1"> | ||
153 | <comment>Mean anomaly at reference time in semi-circles. Value is integer encoded with scale factor 2^-31</comment> | ||
154 | <tag name="unit" value="2^-31 semi-circles"/> | ||
155 | </elem> | ||
156 | <elem name ="deltan" type="int16" multiplicity="1"> | ||
157 | <comment>Mean Motion Difference From Computed Value in semi-circles/sec. Value is integer encoded with scale factor 2^-43</comment> | ||
158 | <tag name="unit" value="2^-43 semi-circles"/> | ||
159 | </elem> | ||
160 | <elem name ="idot" type="int16" multiplicity="1"> | ||
161 | <comment>Rate of Inclination in semi-circles/sec. Value is integer encoded with scale factor 2^-43</comment> | ||
162 | <tag name="unit" value="2^-43 semi-circles"/> | ||
163 | </elem> | ||
164 | <elem name ="Cis" type="int16" multiplicity="1"> | ||
165 | <comment>Amp. Sin Correction of Inclination in radians. Value is integer encoded with scale factor 2^-29</comment> | ||
166 | <tag name="unit" value="2^-29 radians"/> | ||
167 | </elem> | ||
168 | <elem name ="Cic" type="int16" multiplicity="1"> | ||
169 | <comment>Amp. Cosine Correction of Inclination in radians. Value is integer encoded with scale factor 2^-29</comment> | ||
170 | <tag name="unit" value="2^-29 radians"/> | ||
171 | </elem> | ||
172 | <elem name ="Crs" type="int16" multiplicity="1"> | ||
173 | <comment>Amp. Sin Correction of orbit radius in meters. Value is integer encoded with scale factor 2^-5</comment> | ||
174 | <tag name="unit" value="2^-5 meters"/> | ||
175 | </elem> | ||
176 | <elem name ="Crc" type="int16" multiplicity="1"> | ||
177 | <comment>Amp. Cosine Correction of orbit radius in meters. Value is integer encoded with scale factor 2^-5</comment> | ||
178 | <tag name="unit" value="2^-5 meters"/> | ||
179 | </elem> | ||
180 | <elem name ="Cus" type="int16" multiplicity="1"> | ||
181 | <comment>Amp. Sin Correction of Latitude in radians. Value is integer encoded with scale factor 2^-29</comment> | ||
182 | <tag name="unit" value="2^-29 radians"/> | ||
183 | </elem> | ||
184 | <elem name ="Cuc" type="int16" multiplicity="1"> | ||
185 | <comment>Amp. Cosine Correction of Latitude in radians. Value is integer encoded with scale factor 2^-29</comment> | ||
186 | <tag name="unit" value="2^-29 radians"/> | ||
187 | </elem> | ||
188 | <elem name ="toc" type="uint16" multiplicity="1"> | ||
189 | <comment>Time of clock. Value is integer encoded with scale factor 2^4</comment> | ||
190 | <tag name="unit" value="2^4 seconds"/> | ||
191 | </elem> | ||
192 | <elem name ="iodc" type="uint16" multiplicity="1"> | ||
193 | <comment>Issue of data Clock. </comment> | ||
194 | <tag name="unit" value="discretes"/> | ||
195 | </elem> | ||
196 | <elem name ="af0" type="int24" multiplicity="1"> | ||
197 | <comment>SV clock bias in seconds. Value is integer encoded with scale factor 2^-31.</comment> | ||
198 | <tag name="unit" value="2^-31 seconds"/> | ||
199 | </elem> | ||
200 | <elem name ="af1" type="int16" multiplicity="1"> | ||
201 | <comment>SV clock bias rate in seconds/second. Value is integer encoded with scale factor 2^-43.</comment> | ||
202 | <tag name="unit" value="2^-43 seconds"/> | ||
203 | </elem> | ||
204 | <elem name ="af2" type="int8" multiplicity="1"> | ||
205 | <comment>SV clock bias rate in seconds/second^2. Value is integer encoded with scale factor 2^-55.</comment> | ||
206 | <tag name="unit" value="2^-55 seconds"/> | ||
207 | </elem> | ||
208 | <elem name ="TGD" type="int8" multiplicity="1"> | ||
209 | <comment>L1-L2 group delay differential in seconds. Value is integer encoded with a scale factor 2^-31.</comment> | ||
210 | <tag name="unit" value="2^-31 seconds"/> | ||
211 | </elem> | ||
212 | <elem name ="SvHealth" type="uint8" multiplicity="1"> | ||
213 | <comment>Satellite health flags.</comment> | ||
214 | </elem> | ||
215 | </struct> | ||
216 | |||
217 | <!-- UTC Parameters --> | ||
218 | <struct name="UtcParameters" pack="true"> | ||
219 | <comment>Conversion data between GPS time and UTC.</comment> | ||
220 | <elem name ="a0" type="int32" multiplicity="1"> | ||
221 | <comment>Constant term of the polynomial in seconds. Value is integer encoded with scale factor 2^-30.</comment> | ||
222 | <tag name="unit" value="2^-30 seconds"/> | ||
223 | </elem> | ||
224 | <elem name ="a1" type="int24" multiplicity="1"> | ||
225 | <comment>First order term of the polynomial in seconds/second. Value is integer encoded with scale factor 2^-50.</comment> | ||
226 | <tag name="unit" value="2^-50 seconds"/> | ||
227 | </elem> | ||
228 | <elem name ="DeltaTls" type="int8" multiplicity="1"> | ||
229 | <comment>Delta time due to Leap Seconds. </comment> | ||
230 | <tag name="unit" value="seconds"/> | ||
231 | </elem> | ||
232 | <elem name ="tot" type="uint8" multiplicity="1"> | ||
233 | <comment>Time of Utc Data. Value is integer encoded with scale factor 2^12</comment> | ||
234 | <tag name="unit" value="2^12 seconds"/> | ||
235 | </elem> | ||
236 | <elem name ="WNt" type="uint8" multiplicity="1"> | ||
237 | <comment>UTC Reference Week Number in weeks</comment> | ||
238 | <tag name="unit" value="weeks"/> | ||
239 | </elem> | ||
240 | <elem name ="WNlsf" type="uint8" multiplicity="1"> | ||
241 | <comment>Week Number LeapSecond Future in weeks</comment> | ||
242 | <tag name="unit" value="weeks"/> | ||
243 | </elem> | ||
244 | <elem name ="DN" type="uint8" multiplicity="1"> | ||
245 | <comment>Day number in days</comment> | ||
246 | <tag name="unit" value="days"/> | ||
247 | </elem> | ||
248 | <elem name ="DeltaTlsf" type="int8" multiplicity="1"> | ||
249 | <comment>Delta time due to Leap Seconds Future</comment> | ||
250 | <tag name="unit" value="seconds"/> | ||
251 | </elem> | ||
252 | </struct> | ||
253 | |||
254 | <!-- Ionosperhic Correction --> | ||
255 | <struct name="IonosphericCorrection" pack="true"> | ||
256 | <comment>Klobuchar Ionospheric Correction model parameters. See ICD200 para. 20.3.3.5.2.5</comment> | ||
257 | <elem name ="a0" type="int8" multiplicity="1"> | ||
258 | <comment>alpha0 term of the polynomial in seconds. Value is integer encoded with scale factor 2^-30.</comment> | ||
259 | <tag name="unit" value="2^-30 seconds"/> | ||
260 | </elem> | ||
261 | <elem name ="a1" type="int8" multiplicity="1"> | ||
262 | <comment>alpha1 term of the polynomial in seconds. Value is integer encoded with scale factor 2^-27.</comment> | ||
263 | <tag name="unit" value="2^-27 seconds"/> | ||
264 | </elem> | ||
265 | <elem name ="a2" type="int8" multiplicity="1"> | ||
266 | <comment>alpha2 term of the polynomial in seconds. Value is integer encoded with scale factor 2^-24.</comment> | ||
267 | <tag name="unit" value="2^-24 seconds"/> | ||
268 | </elem> | ||
269 | <elem name ="a3" type="int8" multiplicity="1"> | ||
270 | <comment>alpha3 term of the polynomial in seconds. Value is integer encoded with scale factor 2^-24.</comment> | ||
271 | <tag name="unit" value="2^-24 seconds"/> | ||
272 | </elem> | ||
273 | <elem name ="b0" type="int8" multiplicity="1"> | ||
274 | <comment>beta0 term of the polynomial in seconds. Value is integer encoded with scale factor 2^11.</comment> | ||
275 | <tag name="unit" value="2^11 seconds"/> | ||
276 | </elem> | ||
277 | <elem name ="b1" type="int8" multiplicity="1"> | ||
278 | <comment>beta1 term of the polynomial in seconds. Value is integer encoded with scale factor 2^14.</comment> | ||
279 | <tag name="unit" value="2^14 seconds"/> | ||
280 | </elem> | ||
281 | <elem name ="b2" type="int8" multiplicity="1"> | ||
282 | <comment>beta2 term of the polynomial in seconds. Value is integer encoded with scale factor 2^16.</comment> | ||
283 | <tag name="unit" value="2^16 seconds"/> | ||
284 | </elem> | ||
285 | <elem name ="b3" type="int8" multiplicity="1"> | ||
286 | <comment>beta3 term of the polynomial in seconds. Value is integer encoded with scale factor 2^16.</comment> | ||
287 | <tag name="unit" value="2^16 seconds"/> | ||
288 | </elem> | ||
289 | </struct> | ||
290 | |||
291 | <!-- ConstellationData --> | ||
292 | <struct name="ConstellationData"> | ||
293 | <comment>Grouping of constellation data. Reference frame is GPS.</comment> | ||
294 | <comment>Will be extended to include other constellation data.</comment> | ||
295 | |||
296 | <!-- this has been embedded in a device, Only add. --> | ||
297 | <array name="AlmanacArray" type="Almanac"/> | ||
298 | <array name="EphemerisArray" type="Ephemeris" /> | ||
299 | |||
300 | <elem name ="constellation" type="Constellation" multiplicity="1" ord="64"/> | ||
301 | <elem name ="week" type="uint16" multiplicity="1" ord="65"/> | ||
302 | <elem name ="almanacs" type="AlmanacArray" multiplicity="0..1" ord="66"/> | ||
303 | <!-- the following are are decoded in C decoding API yet --> | ||
304 | <elem name ="ephemeris" type="EphemerisArray" multiplicity="0..1" ord="67"/> | ||
305 | <elem name ="utc" type="UtcParameters" multiplicity="0..1" ord="68"/> | ||
306 | <elem name ="iono" type="IonosphericCorrection" multiplicity="0..1" ord="69" /> | ||
307 | </struct> | ||
308 | |||
309 | <struct name="ConstellationSet"> | ||
310 | <comment>Set of ConstellationData</comment> | ||
311 | <elem name ="constellationData" type="ConstellationData" multiplicity="0..*" ord="64"/> | ||
312 | </struct> | ||
313 | |||
314 | |||
315 | |||
316 | |||
317 | |||
318 | <!-- | ||
319 | ******************************************************* | ||
320 | Acquisistion Assistance Data | ||
321 | ******************************************************* | ||
322 | --> | ||
323 | |||
324 | <!-- AcqAssistElem --> | ||
325 | <struct name="AcqAssistElem" pack="true"> | ||
326 | <comment>Acquisistion assistance for a single satellite.</comment> | ||
327 | <elem name ="id" type="SatelliteId" multiplicity="1"/> | ||
328 | |||
329 | <elem name ="doppler0" type="int16" multiplicity="1"> | ||
330 | <comment>Doppler 0th order term. Value is integer encoded with scale factor 2^-21</comment> | ||
331 | <tag name="unit" value="2^-21"/> | ||
332 | </elem> | ||
333 | <elem name ="doppler1" type="int16" multiplicity="1"> | ||
334 | <comment>doppler first order term in Hz/sec. Value is integer encoded with scale factor 2^12</comment> | ||
335 | <tag name="unit" value="2^12 seconds"/> | ||
336 | </elem> | ||
337 | <elem name ="codephase" type="uint16" multiplicity="1"> | ||
338 | <comment>code phase 0-1022 in 1/8 code chips. Value is integer encoded with scale factor 2^-3</comment> | ||
339 | <tag name="unit" value="2^-3 code chips"/> | ||
340 | </elem> | ||
341 | <elem name ="CodeCount" type="uint16" multiplicity="1"> | ||
342 | <comment>Integer count of whole code epochs including the GPS bit number range 0 - 80 counts. </comment> | ||
343 | <tag name="unit" value="code epochs"/> | ||
344 | </elem> | ||
345 | <elem name ="searchWindow" type="uint8" multiplicity="1"> | ||
346 | <comment>Rate of right ascension in semi-circles/sec. Value is integer encoded with scale factor 2^-38</comment> | ||
347 | <tag name="unit" value="2^-38 seconds"/> | ||
348 | </elem> | ||
349 | <elem name ="azimuth" type="int8" multiplicity="1"> | ||
350 | <comment>Azimuth in degrees. Value is a scaled integer encoded with scale factor 2.5</comment> | ||
351 | <tag name="unit" value="2.5 degrees"/> | ||
352 | </elem> | ||
353 | <elem name ="elevation" type="int8" multiplicity="1"> | ||
354 | <comment>Elevation in degrees.</comment> | ||
355 | <tag name="unit" value="degrees"/> | ||
356 | </elem> | ||
357 | </struct> | ||
358 | |||
359 | <!-- AcqAssistSet --> | ||
360 | <struct name="AcqAssistSet"> | ||
361 | <comment>A set of doppler acquisition assistance elements</comment> | ||
362 | <elem name="data" type="AcqAssistElem" multiplicity="1..*" polymorphic="false"/> | ||
363 | </struct> | ||
364 | |||
365 | |||
366 | <!-- | ||
367 | ******************************************************* | ||
368 | GNSS Measurement data | ||
369 | ******************************************************* | ||
370 | --> | ||
371 | |||
372 | <!-- CodephaseMeasurementMin--> | ||
373 | <struct name="CodephaseMeasurementMin" pack="true"> | ||
374 | <comment> | ||
375 | Measurement of a single satellite codephase. This is a more compact version without RMS error and multipath indicator. | ||
376 | These will be encoded in cno in a future version. | ||
377 | </comment> | ||
378 | <elem name ="id" type="uint8" multiplicity="1"> | ||
379 | <comment> | ||
380 | Satellite identifier: 0 - 63. If set to 255 (0xff), the measurement is considered invalid and ignored. | ||
381 | This marks the end of measurements in fixed array sets. See GpsCodePhaseObsMin6 for an example. | ||
382 | </comment> | ||
383 | </elem> | ||
384 | <elem name ="cn0" type="uint8" multiplicity="1"> | ||
385 | <comment>Carrier noise ratio.</comment> | ||
386 | <tag name="unit" value="ratio"/> | ||
387 | </elem> | ||
388 | <elem name ="doppler" type="int16" multiplicity="1"> | ||
389 | <comment>Measured Doppler shift in Hz. Value is integer encoded with scale factor 0.2</comment> | ||
390 | <tag name="unit" value="0.2 Hz"/> | ||
391 | </elem> | ||
392 | <elem name ="codephase" type="uint24" multiplicity="1"> | ||
393 | <comment>Whole and fractional parts of code phase. Value is integer encoded with scale factor 2^-10</comment> | ||
394 | <tag name="unit" value="2^-10 code chips"/> | ||
395 | </elem> | ||
396 | </struct> | ||
397 | |||
398 | <!-- CodephaseMeasurement --> | ||
399 | <struct name="CodephaseMeasurement" type="CodephaseMeasurementMin" pack="true"> | ||
400 | <comment>Measurement of a single satellite codephase including mpathIndicator and rmsErr.</comment> | ||
401 | <elem name ="mpathIndicator" type="uint8" multiplicity="1"> | ||
402 | <comment>Multipath indicator. Default value is 0.</comment> | ||
403 | </elem> | ||
404 | <elem name ="rmsErr" type="uint8" multiplicity="1"> | ||
405 | <comment>Pseudo range RMS Error value indexed 0..63, default is 0</comment> | ||
406 | <tag name="unit" value="2.5 degrees"/> | ||
407 | </elem> | ||
408 | </struct> | ||
409 | |||
410 | <!-- Observation Data types--> | ||
411 | <struct name="GpsCodePhaseObs8" type="ObservationEpoch" pack="true" rttkey="HPE.ObservationType.GPS_CODEPHASE_8"> | ||
412 | <comment> | ||
413 | Eight standard GPS code phase measurements: 9 + (9 x 8) = 81 bytes. Mark | ||
414 | the end of the unused or invalid measurements with id=255 (0xFF). They will be ignored. | ||
415 | </comment> | ||
416 | <array name ="CodephaseMeasurement8" type="CodephaseMeasurement" size="8"/> | ||
417 | <elem name ="measurements" type="CodephaseMeasurement8" multiplicity="1"> | ||
418 | </elem> | ||
419 | </struct> | ||
420 | |||
421 | <struct name="GpsCodePhaseObsMin6" type="ObservationEpoch" pack="true" rttkey="HPE.ObservationType.GPS_CODEPHASE_MIN6"> | ||
422 | <comment> | ||
423 | Six minimum size GPS code phase measurements: 9 + (7 x 6) = 51 bytes. | ||
424 | Mark the end of the unused or invalid measurements with id=255 (0xFF). They will be ignored. | ||
425 | </comment> | ||
426 | <array name ="CodephaseMeasurementMin6" type="CodephaseMeasurementMin" size="6"/> | ||
427 | <elem name ="measurements" type="CodephaseMeasurementMin6" multiplicity="1"> | ||
428 | </elem> | ||
429 | </struct> | ||
430 | |||
431 | <struct name="GpsCodePhaseObsMin8" type="ObservationEpoch" pack="true" rttkey="HPE.ObservationType.GPS_CODEPHASE_MIN8"> | ||
432 | <comment> | ||
433 | Eight minimum size GPS code phase measurements: 9 + (7 x 8) = 65 bytes. | ||
434 | Mark the end of the unused or invalid measurements with id=255 (0xFF). They will be ignored. | ||
435 | </comment> | ||
436 | <array name ="CodephaseMeasurementMin8" type="CodephaseMeasurementMin" size="8"/> | ||
437 | <elem name ="measurements" type="CodephaseMeasurementMin8" multiplicity="1"> | ||
438 | </elem> | ||
439 | </struct> | ||
440 | |||
441 | <struct name="PseudorangeObservation" type="ObservationEpoch" rttkey="HPE.ObservationType.GNSS_PSEUDORANGE"> | ||
442 | <comment>GNSS observation data in generic format suited for variable sized input.</comment> | ||
443 | <elem name ="id" type="SatelliteId" multiplicity="1"/> | ||
444 | |||
445 | <elem name ="prr" type="float64" multiplicity="1"> | ||
446 | <comment>Pseudorange rate measurement in meters per second.</comment> | ||
447 | <tag name="unit" value="meters per second"/> | ||
448 | </elem> | ||
449 | <elem name ="pr" type="float64" multiplicity="1"> | ||
450 | <comment>Pseudorange measurement in meters.</comment> | ||
451 | <tag name="unit" value="meters"/> | ||
452 | </elem> | ||
453 | <elem name ="prrUncert" type="float32" multiplicity="1"> | ||
454 | <comment>Pseudorange rate measurement uncertainty in meters per second. This is the one standard deviation confidence (68%) uncertainty.</comment> | ||
455 | <tag name="unit" value="meters per second"/> | ||
456 | </elem> | ||
457 | <elem name ="prUncert" type="float32" multiplicity="1"> | ||
458 | <comment>Pseudorange measurement uncertainty in meters. This is the one standard deviation confidence (68%) uncertainty.</comment> | ||
459 | <tag name="unit" value="meters"/> | ||
460 | </elem> | ||
461 | <elem name ="cn0" type="uint8" multiplicity="1"> | ||
462 | <comment>Carrier noise ratio.</comment> | ||
463 | <tag name="unit" value="ratio"/> | ||
464 | </elem> | ||
465 | <elem name ="mpathIndicator" type="uint8" multiplicity="1"> | ||
466 | <comment>Multipath indicator. Default value is 0.</comment> | ||
467 | </elem> | ||
468 | </struct> | ||
469 | |||
470 | </namespace> | ||
471 | </specification> |
HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
4 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
6 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | ||
7 | identity="HpeWiFi.xid.xml"> | ||
8 | <title>HPE Wi-Fi Data Definition</title> | ||
9 | <comment>File contains data definitions observation datatypes.</comment> | ||
10 | |||
11 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
12 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
13 | |||
14 | <namespace name="HPE.WiFi"> | ||
15 | <using namespace="Tensor"/> | ||
16 | <using namespace="HPE"/> | ||
17 | |||
18 | <array name="MacAddress48" type="uint8" size="6"> | ||
19 | <comment>Traditional 6 byte (EU48) mac address.</comment> | ||
20 | </array> | ||
21 | |||
22 | <array name="SSID" type="int8" size="33"> | ||
23 | <comment>ssid string of wifi access point</comment> | ||
24 | </array> | ||
25 | |||
26 | <struct name="WiFiRssi" type="ObservationEpoch" pack="true" rttkey="HPE.ObservationType.WIFI_RSS"> | ||
27 | <comment>Wi-Fi RSSI observation</comment> | ||
28 | <elem name ="rssi" type="uint8" multiplicity="1"> | ||
29 | <tag name="unit" value="-dBm"/> | ||
30 | <comment>RSS signal measured value(used as negative). </comment> | ||
31 | </elem> | ||
32 | <elem name ="macaddr" type="MacAddress48" multiplicity="1"> | ||
33 | <comment>Access point mac address</comment> | ||
34 | </elem> | ||
35 | </struct> | ||
36 | |||
37 | <struct name="WiFiRssiExt" type="WiFiRssi" rttkey="HPE.ObservationType.WIFI_RSS_EXT"> | ||
38 | <comment>Extension of the WifiRssi data structure</comment> | ||
39 | <elem name="ssid" type="SSID" multiplicity="1"> | ||
40 | <comment>ssid of the wifi access point</comment> | ||
41 | </elem> | ||
42 | <elem name="freq" type="float32" multiplicity="1"> | ||
43 | <comment>Radio frequency of the Wifi Access point</comment> | ||
44 | </elem> | ||
45 | <elem name="uncert" type="float32" multiplicity="1"> | ||
46 | <comment> uncertainty of the rssi measurements</comment> | ||
47 | </elem> | ||
48 | </struct> | ||
49 | |||
50 | </namespace> | ||
51 | </specification> |
HPE/V1.1.1/HpeCore.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
4 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
6 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | ||
7 | identity="HpeCore.xid.xml"> | ||
8 | <title>HPE Core Definitions</title> | ||
9 | <comment>This file contains the core definitions used by the HPE.</comment> | ||
10 | |||
11 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
12 | |||
13 | <namespace name="HPE"> | ||
14 | <using namespace="Tensor"/> | ||
15 | <!-- | ||
16 | ******************************************************* | ||
17 | Standard Definitions | ||
18 | ******************************************************* | ||
19 | --> | ||
20 | |||
21 | <enum name="ProcessingStatus" type="Tensor.int8" default="undefined"> | ||
22 | <comment>Status resulting from processing the observation data.</comment> | ||
23 | <literal name="success" value="1"/> | ||
24 | <literal name="undefined" value="0"/> | ||
25 | <literal name="did_not_converge" value="-1"/> | ||
26 | <literal name="not_enough_data" value="-2" /> | ||
27 | <literal name="computation_error" value="-3" /> | ||
28 | <literal name="parsing_error" value="-4" /> | ||
29 | <literal name="not_found" value="-5" /> | ||
30 | <literal name="unknown_error" value="-6" /> | ||
31 | </enum> | ||
32 | |||
33 | |||
34 | <enum name="DynamicsProfile" type="Tensor.int8" default="undefined"> | ||
35 | <literal name="undefined" value="0"/> | ||
36 | <literal name="stationary" value="1" /> | ||
37 | <literal name="spacecraft" value="2" /> | ||
38 | <literal name="aircraft" value="3" /> | ||
39 | <literal name="marinecraft" value="4" /> | ||
40 | <literal name="landcraft" value="5" /> | ||
41 | <literal name="bicycle" value="6" /> | ||
42 | <literal name="pedestrian" value="7" /> | ||
43 | <literal name="pedestrian_running" value="8" /> | ||
44 | <literal name="pedestrian_jogging" value="9" /> | ||
45 | <literal name="pedestrian_walking" value="10" /> | ||
46 | </enum> | ||
47 | |||
48 | <enum name="EstimateRanking" type="Tensor.int8" default="calcorder"> | ||
49 | <literal name="undefined" value="0"/> | ||
50 | <literal name="accuracy" value="1" /> | ||
51 | <literal name="veracity" value="2" /> | ||
52 | <literal name="calcorder" value="3" /> | ||
53 | </enum> | ||
54 | |||
55 | <enum name="ReferenceFrame" type="Tensor.int8" default="WGS84"> | ||
56 | <literal name="undefined" value ="0"/> | ||
57 | <literal name="WGS84" value ="1" /> | ||
58 | <literal name="RelativeENU" value="2"/> | ||
59 | <literal name="LocalXYZ" value="3" /> | ||
60 | </enum> | ||
61 | |||
62 | |||
63 | <!-- | ||
64 | ******************************************************* | ||
65 | Observation Datatypes | ||
66 | ******************************************************* | ||
67 | --> | ||
68 | <enum name="ObservationType" type="Tensor.int8" default="undefined"> | ||
69 | <literal name="undefined" value="0"/> | ||
70 | <literal name="SHAPE" value="1"/> | ||
71 | <literal name="MSISDN" value="6"/> | ||
72 | <literal name="CELLID" value="7"/> | ||
73 | <literal name="GSM_TA" value="8"/> | ||
74 | <literal name="GSM_NMR" value="9"/> | ||
75 | <literal name="RTT_3G" value="10"/> | ||
76 | <literal name="MR_3G" value="11"/> | ||
77 | <literal name="LTE_TA" value="12"/> | ||
78 | <literal name="LTE_RSSI" value="13"/> | ||
79 | <literal name="WIFI_RSS" value="14"/> | ||
80 | <literal name="WIFI_RNG" value="15"/> | ||
81 | <literal name="BLE_RSS" value="16"/> | ||
82 | |||
83 | <literal name="CELLULAR_GENERIC" value="17"> | ||
84 | <comment>Observation type specifies a common cellular observation in generic units.</comment> | ||
85 | </literal> | ||
86 | |||
87 | <literal name="GPS_CODEPHASE_8" value="18"> | ||
88 | <comment>Eight standard GPS Code phase measurements (81 bytes).</comment> | ||
89 | </literal> | ||
90 | |||
91 | <literal name="GPS_CODEPHASE_MIN6" value="19"> | ||
92 | <comment>Eight minimum size GPS Code phase measurements (51 bytes).</comment> | ||
93 | </literal> | ||
94 | <literal name="GPS_CODEPHASE_MIN8" value="20"> | ||
95 | <comment>Eight minimum size GPS Code phase measurements (65 bytes).</comment> | ||
96 | </literal> | ||
97 | <literal name="GNSS_PSEUDORANGE" value="21"> | ||
98 | <comment>GNSS Pseudorange measurements.</comment> | ||
99 | </literal> | ||
100 | |||
101 | <literal name="WIFI_RSS_EXT" value="22"/> | ||
102 | |||
103 | </enum> | ||
104 | |||
105 | <array name="ObservationTypeArray" type="ObservationType"/> | ||
106 | |||
107 | <array name="StateVector" type="float64" size="8" > | ||
108 | <comment> | ||
109 | Defines the HPE standard state column vector, which is comprised of the following elements in cartesian coordinates: | ||
110 | X,Y,Z, Xdot, Ydot, Zdot, clk, clkrate. | ||
111 | |||
112 | Unless using a different coordinate reference frame, these values are typically in WGS-84 ECEF reference frame, where the | ||
113 | units are meters, meters per second. Clock terms (clk and clkrate) are also expressed in meters and meters per second, | ||
114 | to provide similar scalaing to physical units. To get to seconds and seconds per second device by the speed of light. | ||
115 | </comment> | ||
116 | </array> | ||
117 | |||
118 | <array name="CovarianceMatrix" type="Tensor.float64" size="64" > | ||
119 | <comment> | ||
120 | Defines a 8x8 Covariance matrix for the HPE standard state vector. This provides a linearized correlation | ||
121 | matrix for the estimated state vector. This is the high-fidelity format for providing Gaussian error information | ||
122 | passed between calculation processes.al units. To get to seconds and seconds per second device by the speed of light. | ||
123 | </comment> | ||
124 | </array> | ||
125 | |||
126 | <struct name="Observation" pack="true"> | ||
127 | <comment>Bass type for all observation data</comment> | ||
128 | <elem name="type" type="ObservationType" multiplicity="1" rttd="true"> | ||
129 | <comment>Identifies what type of observation this is.</comment> | ||
130 | </elem> | ||
131 | </struct> | ||
132 | |||
133 | <struct name="ObservationEpoch" type="Observation" pack="true"> | ||
134 | <comment>Bass type for time based observation data</comment> | ||
135 | <elem name="epoch" type="datetime" multiplicity="1"> | ||
136 | <comment> | ||
137 | Date the observation was attained. For GPS observatios (GPS_CODEPHASE_8, GPS_CODEPHASE_MIN6, GPS_CODEPHASE_MIN8, GNSS_PSEUDORANGE), | ||
138 | the epoch time has to have at least millisecond resolution. Fraction of a second epoch error can cause hundreds of meters of error | ||
139 | in position. | ||
140 | </comment> | ||
141 | </elem> | ||
142 | </struct> | ||
143 | |||
144 | <struct name="ObservationSet"> | ||
145 | <comment>A set of observations for a single device covering multiple epochs.</comment> | ||
146 | <elem name="observations" type="Observation" multiplicity="0..*" polymorphic="true"/> | ||
147 | </struct> | ||
148 | |||
149 | <!-- ShapeObservation --> | ||
150 | <!-- Disable for now | ||
151 | <struct name="ShapeObservation" type="Observation" pack="true" rttkey="HPE.ObservationType.SHAPE"> | ||
152 | <comment>Observation is comprised of a shape.</comment> | ||
153 | <elem name="shape" type="Shape" multiplicity="1" polymorphic="true"> | ||
154 | <comment> | ||
155 | The shape can be any one of the supported shape types inheriting from the Shape base type. | ||
156 | </comment> | ||
157 | </elem> | ||
158 | </struct> | ||
159 | --> | ||
160 | |||
161 | <!-- | ||
162 | ******************************************************* | ||
163 | Reference Datatypes | ||
164 | ******************************************************* | ||
165 | --> | ||
166 | <enum name="RefDataFormat" type="Tensor.int8" default="undefined"> | ||
167 | <comment>Specifies the format of the Reference data.</comment> | ||
168 | <literal name="undefined" value="0"/> | ||
169 | <literal name="GPS_EPHEMERIS" value="1"/> | ||
170 | <literal name="GPS_ALMANAC" value="2"/> | ||
171 | <literal name="GLONASS_EPHEMERIS" value="3"/> | ||
172 | <literal name="GALILEO_EPHEMERIS" value="4"/> | ||
173 | <literal name="CELLULAR" value="5"/> | ||
174 | <literal name="WIFI_AP" value="6"/> | ||
175 | </enum> | ||
176 | |||
177 | <array name="RefDataFormatArray" type="RefDataFormat"/> | ||
178 | |||
179 | <struct name="ReferenceData" pack="true"> | ||
180 | <comment>Bass structure for all reference data types.</comment> | ||
181 | <elem name="format" type="RefDataFormat" multiplicity="1" rttd="true"> | ||
182 | <comment>Identifies the format/type of the reference data.</comment> | ||
183 | </elem> | ||
184 | </struct> | ||
185 | |||
186 | <struct name="ReferenceDataSet"> | ||
187 | <comment>A set of reference data.</comment> | ||
188 | <elem name ="id" type="UUID" multiplicity="1" /> | ||
189 | <elem name="records" type="ReferenceData" multiplicity="1..*" polymorphic="true"/> | ||
190 | </struct> | ||
191 | |||
192 | |||
193 | <!-- | ||
194 | ******************************************************* | ||
195 | Shape Datatypes | ||
196 | ******************************************************* | ||
197 | --> | ||
198 | <enum name="ShapeType" type="Tensor.int8" default="undefined"> | ||
199 | <!-- we can reduce this set --> | ||
200 | <literal name="undefined" value="0"/> | ||
201 | <literal name="Covariance" value="1"/> | ||
202 | |||
203 | <literal name="Point2D" value="20"/> | ||
204 | <literal name="Circle" value="21"/> | ||
205 | <literal name="Ellipse" value="22"/> | ||
206 | <literal name="Arc" value="23"/> | ||
207 | <literal name="ArcBand" value="24"/> | ||
208 | |||
209 | <literal name="Point3D" value="30"/> | ||
210 | <literal name="Spheroid" value="31"/> | ||
211 | <literal name="Ellipsoid" value="32"/> | ||
212 | <literal name="Arc3D" value="33"/> | ||
213 | <literal name="ArcBand3D" value="34"/> | ||
214 | </enum> | ||
215 | |||
216 | <array name="ShapeTypeArray" type="ShapeType"/> | ||
217 | |||
218 | <struct name="Shape" pack="true"> | ||
219 | <comment> | ||
220 | Shapes are used to describe various kinds of geometry.\n | ||
221 | When used in an Estimate result the Shape represents the | ||
222 | uncertainty area (2D) or uncertainty volume (3D) at the | ||
223 | confidence in the Estimate. | ||
224 | </comment> | ||
225 | <elem name="type" type="ShapeType" multiplicity="1" rttd="true"> | ||
226 | <comment>This is the one thing all shapes have in common</comment> | ||
227 | </elem> | ||
228 | </struct> | ||
229 | |||
230 | <struct name="Covariance" type="Shape" rttkey="HPE.ShapeType.Covariance"> | ||
231 | <comment> | ||
232 | Shape encapsulates the HPE eight parameter state estimate, which is the highest fidelity form | ||
233 | to transfer state estimates between calculators and the HPE filter. | ||
234 | </comment> | ||
235 | <elem name="state" type="StateVector" multiplicity="1"/> | ||
236 | <elem name="covariance" type="CovarianceMatrix" multiplicity="1"/> | ||
237 | <elem name="referenceframe" type="ReferenceFrame" multiplicity="1" default="ReferenceFrame::WGS84"/> | ||
238 | </struct> | ||
239 | |||
240 | <struct name="Point2D" type="Shape" rttkey="HPE.ShapeType.Point2D"> | ||
241 | <comment></comment> | ||
242 | <elem name="lat" type="float64" multiplicity="1"> | ||
243 | <tag name="unit" value="degrees"/> | ||
244 | <tag name="reference" value="WGS84"/> | ||
245 | </elem> | ||
246 | <elem name="lon" type="float64" multiplicity="1"> | ||
247 | <tag name="unit" value="degrees"/> | ||
248 | <tag name="reference" value="WGS84"/> | ||
249 | </elem> | ||
250 | </struct> | ||
251 | |||
252 | |||
253 | <struct name="Circle" type="Point2D" rttkey="HPE.ShapeType.Circle"> | ||
254 | <comment>In an Estimate, the shape is the uncertainty area.</comment> | ||
255 | <elem name="radius" type="float32" multiplicity="1"> | ||
256 | <tag name="unit" value="meters"/> | ||
257 | <comment> | ||
258 | In an estimate, radius is the horizontal uncertainty.\n | ||
259 | 0 <= radius | ||
260 | </comment> | ||
261 | </elem> | ||
262 | </struct> | ||
263 | |||
264 | <struct name="Ellipse" type="Point2D" rttkey="HPE.ShapeType.Ellipse"> | ||
265 | <comment>In an Estimate, the shape is the uncertainty area.</comment> | ||
266 | <elem name="major" type="float32" multiplicity="1"> | ||
267 | <tag name="unit" value="meters"/> | ||
268 | <comment>major axis horizontal radius</comment> | ||
269 | </elem> | ||
270 | <elem name="minor" type="float32" multiplicity="1"> | ||
271 | <tag name="unit" value="meters"/> | ||
272 | <comment>minor axis horizontal radius</comment> | ||
273 | </elem> | ||
274 | <elem name="orient" type="float32" multiplicity="1"> | ||
275 | <tag name="unit" value="degrees"/> | ||
276 | <comment> | ||
277 | Angle between north and major axis.\n | ||
278 | 0 <= orient < 180. | ||
279 | </comment> | ||
280 | </elem> | ||
281 | </struct> | ||
282 | |||
283 | <struct name="Arc" type="Point2D" rttkey="HPE.ShapeType.Arc"> | ||
284 | <comment>In an Estimate, the shape is the uncertainty area.</comment> | ||
285 | <elem name="outer" type="float32" multiplicity="1"> | ||
286 | <tag name="unit" value="meters"/> | ||
287 | <comment>outer horizontal radius</comment> | ||
288 | </elem> | ||
289 | <elem name="inner" type="float32" multiplicity="1"> | ||
290 | <tag name="unit" value="meters"/> | ||
291 | <comment>inner horizontal radius</comment> | ||
292 | </elem> | ||
293 | <elem name="offset" type="float32" multiplicity="1"> | ||
294 | <tag name="unit" value="degrees"/> | ||
295 | <comment> | ||
296 | Angle between north and start of arc.\n | ||
297 | 0 <= offset < 360 | ||
298 | </comment> | ||
299 | </elem> | ||
300 | <elem name="opening" type="float32" multiplicity="1"> | ||
301 | <tag name="unit" value="degrees"/> | ||
302 | <comment> | ||
303 | Delta angle from offset to end of arc.\n | ||
304 | 0 < opening <= 360. | ||
305 | </comment> | ||
306 | </elem> | ||
307 | </struct> | ||
308 | |||
309 | <struct name="ArcBand" type="Point2D" rttkey="HPE.ShapeType.ArcBand"> | ||
310 | <comment>In an Estimate, the shape is the uncertainty area.</comment> | ||
311 | <elem name="major_outer" type="float32" multiplicity="1"> | ||
312 | <tag name="unit" value="meters"/> | ||
313 | <comment>major axis outer radius</comment> | ||
314 | </elem> | ||
315 | <elem name="major_inner" type="float32" multiplicity="1"> | ||
316 | <tag name="unit" value="meters"/> | ||
317 | <comment>major axis inner radius</comment> | ||
318 | </elem> | ||
319 | <elem name="minor_outer" type="float32" multiplicity="1"> | ||
320 | <tag name="unit" value="meters"/> | ||
321 | <comment>minor axis outer radius</comment> | ||
322 | </elem> | ||
323 | <elem name="minor_inner" type="float32" multiplicity="1"> | ||
324 | <tag name="unit" value="meters"/> | ||
325 | <comment>minor axis inner radius</comment> | ||
326 | </elem> | ||
327 | |||
328 | <elem name="orient" type="float32" multiplicity="1"> | ||
329 | <tag name="unit" value="degrees"/> | ||
330 | <comment> | ||
331 | Angle between north and major axis.\n | ||
332 | 0 <= orient < 180. | ||
333 | </comment> | ||
334 | </elem> | ||
335 | |||
336 | <elem name="offset" type="float32" multiplicity="1"> | ||
337 | <tag name="unit" value="degrees"/> | ||
338 | <comment> | ||
339 | Angle between north and start of arc.\n | ||
340 | 0 <= offset < 360 | ||
341 | </comment> | ||
342 | </elem> | ||
343 | <elem name="opening" type="float32" multiplicity="1"> | ||
344 | <tag name="unit" value="degrees"/> | ||
345 | <comment> | ||
346 | delta angle from offset to end of arc.\n | ||
347 | 0 < opening <= 360. | ||
348 | </comment> | ||
349 | </elem> | ||
350 | </struct> | ||
351 | |||
352 | |||
353 | <struct name="Point3D" type="Point2D" rttkey="HPE.ShapeType.Point3D"> | ||
354 | <comment></comment> | ||
355 | <elem name="alt" type="float64" multiplicity="1"> | ||
356 | <tag name="unit" value="meters"/> | ||
357 | <tag name="reference" value="WGS84"/> | ||
358 | </elem> | ||
359 | </struct> | ||
360 | |||
361 | <struct name="Spheroid" type="Point3D" rttkey="HPE.ShapeType.Spheroid"> | ||
362 | <comment> | ||
363 | Spheroid is the shape of a circular "pill".\n | ||
364 | In an Estimate, the shape is the uncertainty area. | ||
365 | </comment> | ||
366 | <elem name="radius" type="float32" multiplicity="1"> | ||
367 | <tag name="unit" value="meters"/> | ||
368 | <comment> | ||
369 | In an estimate, radius is the horizontal uncertainty.\n | ||
370 | 0 <= radius | ||
371 | </comment> | ||
372 | </elem> | ||
373 | <elem name="vert" type="float32" multiplicity="1"> | ||
374 | <tag name="unit" value="meters"/> | ||
375 | <comment> | ||
376 | In an estimate, vert is the vertical uncertainty.\n | ||
377 | 0 <= vert | ||
378 | </comment> | ||
379 | </elem> | ||
380 | </struct> | ||
381 | |||
382 | <struct name="Ellipsoid" type="Point3D" rttkey="HPE.ShapeType.Ellipsoid"> | ||
383 | <comment> | ||
384 | Ellipsoid is the shape of an oblong "pill" at an orientation.\n | ||
385 | In an Estimate, the shape is the uncertainty area. | ||
386 | </comment> | ||
387 | <elem name="major" type="float32" multiplicity="1"> | ||
388 | <tag name="unit" value="meters"/> | ||
389 | <comment>major axis radius/distance/reach</comment> | ||
390 | </elem> | ||
391 | <elem name="minor" type="float32" multiplicity="1"> | ||
392 | <tag name="unit" value="meters"/> | ||
393 | <comment>minor axis radius/distance/reach</comment> | ||
394 | </elem> | ||
395 | <elem name="orient" type="float32" multiplicity="1"> | ||
396 | <tag name="unit" value="degrees"/> | ||
397 | <comment> | ||
398 | angle between north and major axis.\n | ||
399 | 0 <= orient < 180. | ||
400 | </comment> | ||
401 | </elem> | ||
402 | <elem name="vert" type="float32" multiplicity="1"> | ||
403 | <tag name="unit" value="meters"/> | ||
404 | <comment> | ||
405 | In an estimate, vert is the vertical uncertainty.\n | ||
406 | 0 <= vert | ||
407 | </comment> | ||
408 | </elem> | ||
409 | </struct> | ||
410 | |||
411 | |||
412 | <struct name="Arc3D" type="Point3D" rttkey="HPE.ShapeType.Arc3D"> | ||
413 | <comment> | ||
414 | In an Estimate, the shape is the uncertainty area. | ||
415 | </comment> | ||
416 | <elem name ="height" type="float32" multiplicity="1"> | ||
417 | <tag name="unit" value="meters"/> | ||
418 | <comment>Height above alt(itude) area is projected from.</comment> | ||
419 | </elem> | ||
420 | <elem name="outer" type="float32" multiplicity="1"> | ||
421 | <tag name="unit" value="meters"/> | ||
422 | <comment>outer radius/distance/reach</comment> | ||
423 | </elem> | ||
424 | <elem name="inner" type="float32" multiplicity="1"> | ||
425 | <tag name="unit" value="meters"/> | ||
426 | <comment>inner radius/distance/reach</comment> | ||
427 | </elem> | ||
428 | <elem name="direction" type="float32" multiplicity="1"> | ||
429 | <tag name="unit" value="degrees"/> | ||
430 | <comment> | ||
431 | Angle from north to center of arc.\n | ||
432 | 0 <= direction < 360 | ||
433 | </comment> | ||
434 | </elem> | ||
435 | <elem name="opening" type="float32" multiplicity="1"> | ||
436 | <tag name="unit" value="degrees"/> | ||
437 | <comment> | ||
438 | Horizontal coverage of the antenna face; half on either side of direction.\n | ||
439 | 0 < opening <= 360. | ||
440 | </comment> | ||
441 | </elem> | ||
442 | </struct> | ||
443 | |||
444 | <struct name="ArcBand3D" type="Point3D" rttkey="HPE.ShapeType.ArcBand3D"> | ||
445 | <comment> | ||
446 | In an Estimate, the shape is the uncertainty area. | ||
447 | </comment> | ||
448 | <elem name ="height" type="float32" multiplicity="1"> | ||
449 | <tag name="unit" value="meters"/> | ||
450 | <comment>Height above alt(itude) area is projected from.</comment> | ||
451 | </elem> | ||
452 | <elem name="direction" type="float32" multiplicity="1"> | ||
453 | <tag name="unit" value="degrees"/> | ||
454 | <comment> | ||
455 | Angle between north and start of arc.\n | ||
456 | 0 <= direction < 360 | ||
457 | </comment> | ||
458 | </elem> | ||
459 | <elem name ="tilt" type="float32" multiplicity="1"> | ||
460 | <tag name="unit" value="degrees"/> | ||
461 | <comment> | ||
462 | Vertical tilt from horizon.\n | ||
463 | -90.0 <= tilt <= 90.0 | ||
464 | </comment> | ||
465 | </elem> | ||
466 | |||
467 | <elem name="opening" type="float32" multiplicity="1"> | ||
468 | <tag name="unit" value="degrees"/> | ||
469 | <comment> | ||
470 | Horizontal coverage angle of the antenna face; half on either side of direction.\n | ||
471 | 0 < opening <= 360. | ||
472 | </comment> | ||
473 | </elem> | ||
474 | <elem name="vopening" type="float32" multiplicity="1"> | ||
475 | <tag name="unit" value="degrees"/> | ||
476 | <comment> | ||
477 | Vertical coverage angle of the face; half on either side of tilt.\n | ||
478 | 0 < opening <= 360. | ||
479 | </comment> | ||
480 | </elem> | ||
481 | |||
482 | <elem name="radius" type="float32" multiplicity="1"> | ||
483 | <tag name="unit" value="meters"/> | ||
484 | <comment> | ||
485 | radius/distance/reach.\n | ||
486 | 0 < radius | ||
487 | </comment> | ||
488 | </elem> | ||
489 | |||
490 | </struct> | ||
491 | |||
492 | |||
493 | <!-- | ||
494 | ******************************* | ||
495 | * StateInfo Type Definition | ||
496 | ******************************* | ||
497 | --> | ||
498 | |||
499 | <enum name="StateSource" type="Tensor.uint8" default="undefined"> | ||
500 | <comment>Source enumeration defines the source of the state information.</comment> | ||
501 | <literal name="undefined" value="0"> | ||
502 | <comment>Source is not defined or is unknown.</comment> | ||
503 | </literal> | ||
504 | <literal name="gnss" value="1"> | ||
505 | <comment>Source is GNSS.</comment> | ||
506 | </literal> | ||
507 | <literal name="cellular" value="2"> | ||
508 | <comment>Source is cellular network location.</comment> | ||
509 | </literal> | ||
510 | <literal name="wifi" value="3"> | ||
511 | <comment>Source is WiFi location.</comment> | ||
512 | </literal> | ||
513 | <literal name="bluetooth" value="4"> | ||
514 | <comment>Source is bluetooth or bluetooth beaconning.</comment> | ||
515 | </literal> | ||
516 | <literal name="rtls" value="5"> | ||
517 | <comment>Source is real-time locating sytem (RTLS).</comment> | ||
518 | </literal> | ||
519 | <literal name="inertial" value="6"> | ||
520 | <comment>Source is inertial or sensor fusion.</comment> | ||
521 | </literal> | ||
522 | <literal name="hybrid" value="7"> | ||
523 | <comment>Source is hybrid comprised of multiple datatypes (not sensor fusion).</comment> | ||
524 | </literal> | ||
525 | <literal name="previous" value="8"> | ||
526 | <comment>Previous state calculated by the ILP/HPE engine.</comment> | ||
527 | </literal> | ||
528 | |||
529 | </enum> | ||
530 | |||
531 | <struct name="StateInfo"> | ||
532 | <comment>StateInfo provides a positional definition.</comment> | ||
533 | <comment> | ||
534 | Used in initializaton and position submission type interfaces. | ||
535 | </comment> | ||
536 | <elem name="epoch" type="datetime" multiplicity="1" /> | ||
537 | |||
538 | <elem name="confidence" type="float32" multiplicity="1"> | ||
539 | <comment>Confidence of position shape. Valid range is 0.0 to 1.0</comment> | ||
540 | </elem> | ||
541 | |||
542 | <elem name="shape" multiplicity="1" type="Shape" polymorphic="true" > | ||
543 | <comment> | ||
544 | Position. Polymorphic type, see specializations | ||
545 | from Shape for details. | ||
546 | </comment> | ||
547 | </elem> | ||
548 | |||
549 | <elem name="speed" type="float32" multiplicity="0..1"> | ||
550 | <tag name="unit" value="meters/sec"/> | ||
551 | <comment>speed of device in meters/sec</comment> | ||
552 | </elem> | ||
553 | |||
554 | <elem name="azimuth" type="float32" multiplicity="0..1"> | ||
555 | <tag name="unit" value="degrees"/> | ||
556 | <comment>Azimuth heading of the device in degrees (true North)</comment> | ||
557 | </elem> | ||
558 | |||
559 | <elem name="source" type="StateSource" multiplicity="0..1" default="0"> | ||
560 | <comment>Source field defines the source of the state information. If not specified, value is undefined. Defining the source of the state information | ||
561 | assists the calculation processing by characterizing the nature of the position data relative to associated observations. | ||
562 | </comment> | ||
563 | </elem> | ||
564 | </struct> | ||
565 | |||
566 | <!-- | ||
567 | ******************************************************* | ||
568 | Estimate Results | ||
569 | ******************************************************* | ||
570 | --> | ||
571 | |||
572 | <array name="StringIdentifier" type="int8" size="16"> | ||
573 | <comment>String identifier defines a short fixed string identifier.</comment> | ||
574 | </array> | ||
575 | |||
576 | <struct name="Estimate"> | ||
577 | <comment> | ||
578 | Estimate is the result provided by positioning calculators at the completion | ||
579 | of a calculation. | ||
580 | </comment> | ||
581 | |||
582 | <elem name="result" type="ProcessingStatus" multiplicity="1"> | ||
583 | <comment> | ||
584 | The result of the data processing used to produce the estimate. | ||
585 | If not success, ignore the remainder of the estimate information. | ||
586 | </comment> | ||
587 | </elem> | ||
588 | |||
589 | <elem name="source" type="string" multiplicity="1"> | ||
590 | <comment>Estimate source identifier. If not defined set to "".</comment> | ||
591 | </elem> | ||
592 | <elem name="obstype" type="ObservationType" multiplicity="1"> | ||
593 | <comment>The last observation type used to create the estimate.</comment> | ||
594 | </elem> | ||
595 | <elem name="tic" type="uint32"> | ||
596 | <comment>Tic count of the estimate. Set to zero if not known.</comment> | ||
597 | </elem> | ||
598 | <elem name="epoch" type="datetime" multiplicity="1"> | ||
599 | <comment>Epoch defines the point in time for which the estimate applies.</comment> | ||
600 | </elem> | ||
601 | <elem name="veracity" type="float32" multiplicity="1"> | ||
602 | <comment> | ||
603 | Veracity defines the validity of the measurement in the range between 0 and 1. | ||
604 | A high score means the estimate is deemed valid and more reliable than a lower score. | ||
605 | If no veracity scoring is performed, this will have a value of -1. | ||
606 | </comment> | ||
607 | </elem> | ||
608 | <elem name="confidence" type="float32" multiplicity="1"> | ||
609 | <comment>The estimate confidence. Valid range is 0.0 to 1.0</comment> | ||
610 | </elem> | ||
611 | <elem name="shape" type="Shape" multiplicity="1" polymorphic="true"> | ||
612 | <comment> | ||
613 | The estimate shape result. The particular shape is determined by the | ||
614 | preferred shapes specified in the BeginCalculation. | ||
615 | </comment> | ||
616 | </elem> | ||
617 | </struct> | ||
618 | |||
619 | <!-- eventually may be able to support variable sized elements | ||
620 | <array name="EstimateArray" type="Estimate"> | ||
621 | <comment> | ||
622 | HPE Estimates are reported in an array providing the requested formats. | ||
623 | </comment> | ||
624 | </array> | ||
625 | --> | ||
626 | |||
627 | </namespace> | ||
628 | </specification> |
HPE/V1.1.1/HpeUsage.xid.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
2 | |||
3 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
4 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
6 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd" | ||
7 | identity="HpeUsage.xid.xml"> | ||
8 | <title>HPE Usage Messages</title> | ||
9 | <comment>This file the usage messages produced by the HPE.</comment> | ||
10 | |||
11 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" /> | ||
12 | <import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
13 | <import ref="https://xid.location.studio/Tensor/V1.0.0/Logging.xid.xml" local="Logging.xid.xml" /> | ||
14 | |||
15 | <namespace name="HPE"> | ||
16 | <using namespace="Tensor"/> | ||
17 | <using namespace="Logging"/> | ||
18 | |||
19 | <!--Initialization Report Msg--> | ||
20 | <struct name="InitializationReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/initrpt"'> | ||
21 | <comment> | ||
22 | Message captures HPE initialization data. | ||
23 | </comment> | ||
24 | |||
25 | <elem name="state" type="StateInfo" multiplicity="1"> | ||
26 | <comment> | ||
27 | State information. | ||
28 | </comment> | ||
29 | </elem> | ||
30 | </struct> | ||
31 | |||
32 | <!--Observation Report Msg--> | ||
33 | <struct name="ObservationReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/obsrpt"'> | ||
34 | <comment> | ||
35 | Message captures HPE observation data for playback purposes and debugging. | ||
36 | </comment> | ||
37 | |||
38 | <elem name="observations" type="ObservationSet" multiplicity="1"> | ||
39 | <comment> | ||
40 | Observation Data provided by the caller. | ||
41 | </comment> | ||
42 | </elem> | ||
43 | |||
44 | <elem name="refdata" type="ReferenceDataSet" multiplicity="0..1"> | ||
45 | <comment> | ||
46 | Contains reference data provided by the caller. | ||
47 | </comment> | ||
48 | </elem> | ||
49 | |||
50 | <elem name="directive" multiplicity="0..*" type="Tensor.NameValue"> | ||
51 | <comment> | ||
52 | A set of directives to influence processing. Unknown directives are ignored. | ||
53 | </comment> | ||
54 | </elem> | ||
55 | </struct> | ||
56 | |||
57 | <!--TaskReport Msg--> | ||
58 | <struct name="TaskReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/taskrpt"'> | ||
59 | <comment> | ||
60 | Message reports processing task result data. Tasks are any computational elem | ||
61 | within the HPE including calculators, converters, estimators. | ||
62 | </comment> | ||
63 | <elem name="taskid" type="string" multiplicity="1"> | ||
64 | <comment> | ||
65 | The unique tasks identifier. A source may have multiple tasks, this field assigns | ||
66 | an identifier that uniquely characterizes what the task was that was accomplished. | ||
67 | </comment> | ||
68 | </elem> | ||
69 | <elem name="start" type="datetime" multiplicity="1"> | ||
70 | <comment> | ||
71 | The start time at which the processor is used. | ||
72 | </comment> | ||
73 | </elem> | ||
74 | <elem name="duration" type="uint16" multiplicity="1"> | ||
75 | <tag name="unit" value="msec"/> | ||
76 | <comment> | ||
77 | The duration of the processing in msec. This is not meant to be a high | ||
78 | resolution duration monitoring, implement a metric counter for precise timing data. | ||
79 | </comment> | ||
80 | </elem> | ||
81 | <elem name="status" type="ProcessingStatus" multiplicity="1"> | ||
82 | <comment>The result of the processor use, typically success or failure.</comment> | ||
83 | </elem> | ||
84 | </struct> | ||
85 | |||
86 | <!--Position Report Msg--> | ||
87 | <struct name="PositionReport" type="Logging.UsageMsg" rttkey='"tpf://hpe/posrpt"'> | ||
88 | <comment> | ||
89 | Usage message reports position information produced by HPE. | ||
90 | </comment> | ||
91 | <elem name="position" type="HPE.Spheroid" multiplicity="1"> | ||
92 | <comment>The 2D/3D position reported. </comment> | ||
93 | </elem> | ||
94 | <elem name="speed" type="int16" multiplicity="1"> | ||
95 | <tag name="unit" value="cm/sec"/> | ||
96 | <comment>The observed speed. O if not known.</comment> | ||
97 | </elem> | ||
98 | <elem name="heading" type="int16" multiplicity="1"> | ||
99 | <tag name="unit" value="degrees"/> | ||
100 | <comment>Observed heading relative true north (azimuth).</comment> | ||
101 | </elem> | ||
102 | <elem name="veracity" type="byte" multiplicity="1"> | ||
103 | <comment> | ||
104 | Veracity defines the validity of the measurement in the range between 0 and 100. | ||
105 | A high score means the estimate is deemed valid and more reliable than a lower score. | ||
106 | If no veracity scoring is performed, this will have a value of 255 | ||
107 | </comment> | ||
108 | </elem> | ||
109 | <elem name="confidence" type="byte" multiplicity="1"> | ||
110 | <comment>The estimate confidence. Valid range is 0 to 100</comment> | ||
111 | </elem> | ||
112 | <elem name="calctype" type="string" multiplicity="1"> | ||
113 | <comment> | ||
114 | Positioning calculation stereo type specifier (hybrid, cellular, slam, etc.). If not defined set to "". | ||
115 | </comment> | ||
116 | </elem> | ||
117 | <elem name="obstype" type="ObservationType" multiplicity="1"> | ||
118 | <comment>The last observation type used to create the estimate.</comment> | ||
119 | </elem> | ||
120 | </struct> | ||
121 | |||
122 | </namespace> | ||
123 | </specification> |
-
Please register or sign in to post a comment