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