f6a1db0d by Michael B. Mathews

Added ILP V1.1.1 and SLAM V1.0.0_alpha API Definitions.

1 parent 79e4c4c9
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="ReferenceData.xid.xml">
<title>SLAM Tile reference data</title>
<comment>This file defines the SLAM tile refeence definitions and related data types.</comment>
<!-- Include all known definitions -->
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" />
<namespace name="SLAM">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<using namespace="HPE.WiFi"/>
<using namespace="HPE.Cellular"/>
<enum name="RefPointValidStatus" type="Tensor.int8" default="Unknown">
<comment>Reference Validity status.</comment>
<literal name="Unknown" value="0"/>
<literal name="valid" value="1"/>
<literal name="quarantined" value ="2"/>
<literal name="invalid" value="3"/>
</enum>
<enum name="RefPointSyncStatus" type="Tensor.int8" default ="sync_required">
<comment>synchronization status of the reference point</comment>
<literal name="sync_required" value="0"/>
<literal name="in_sync" value="1"/>
</enum>
<enum name="RefPointUpdateStatus" type="Tensor.int8" default ="updated">
<comment>update status of the reference point</comment>
<literal name="updated" value="0"/>
<literal name="update_required" value="1"/>
</enum>
<enum name="RefPointType" type="Tensor.int8" default="undefined">
<comment>Specifies the format of the Reference data.</comment>
<literal name="undefined" value="0"/>
<literal name="RF" value="1"/>
<literal name="Cellular" value="2"/>
<literal name="Wifi" value="3"/>
<literal name="Bluetooth" value="4"/>
<literal name="GenericRF" value="5"/>
</enum>
<!--
<type name="HashKey" size="16">
<comment>16 byte UUID</comment>
<lang name="c" type="UUID" include="Tensor/CXMF/uuid.h"/>
<lang name="cpp" type="::Tensor::Types::UUID" include="Tensor/Types/uuid.h"/>
<lang name="java" type="XidUuid" include="com.comtechtel.tensor.xid.XidUuid"/>
<lang name="node" type="XidUuid"/>
</type>
-->
<struct name="RefPoint" >
<comment>defines the base structure of a reference point</comment>
<elem name="type" type="RefPointType" multiplicity="1" rttd="true">
<comment>Identifies the format/type of the reference data.</comment>
</elem>
<elem name="id" multiplicity="1" type="HashKey" >
<comment>a unique hash of the reference data format and reference point identifier, which is different, depending on the type of the Reference point</comment>
</elem>
<elem name="position" multiplicity="0..1" type="Spheroid" >
<comment>the estimated position of the access point</comment>
</elem>
<elem name ="veracity" multiplicity="1" type="Tensor.float32">
<comment>The veracity of the reference point, 1= 100% trusted and validated, 0% not trusted at all.</comment>
</elem>
<elem name="validStatus" multiplicity="1" type="RefPointValidStatus">
<comment>status of the reference point</comment>
</elem>
<elem name="validbegin" type="datetime" multiplicity="1">
<comment>time stamp of the begining of the valid period</comment>
</elem>
<elem name="validend" type="datetime" multiplicity="1">
<comment>time stamp of the ending of the valid period</comment>
</elem>
<elem name ="data" type="Tensor.json" multiplicity="0..1">
<comment>json formatted data specific to the device</comment>
</elem>
<elem name="floor" multiplicity ="0..1" type="int8" >
<comment>Optional floor identifier, default is zero meaning the ground floor</comment>
</elem>
</struct>
<!-- ReferencePoint -->
<struct name="RFRefPoint" type="RefPoint" rttkey="SLAM.RefPointType.RF">
<comment>structure defines a reference Point.</comment>
<elem name="txpwr" type="Tensor.float32" multiplicity="1">
<comment>transmission power</comment>
</elem>
<elem name="attenuation" type="Tensor.float32" multiplicity="1">
<comment> attenuation exponent</comment>
</elem>
<elem name="freq" type="Tensor.float32" multiplicity="1">
<comment> radio frequency of the reference in Hz</comment>
</elem>
</struct>
<struct name="WifiRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Wifi">
<elem name="ssid" type="HPE.WiFi.SSID" multiplicity="1">
<comment>ssid of the access point</comment>
</elem>
<elem name ="macaddr" type="MacAddress48" multiplicity="1">
<comment>the mac address of the access point</comment>
</elem>
</struct>
<struct name="BluetoothRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Bluetooth">
<elem name="ssid" type="Tensor.string" multiplicity="1">
<comment>ssid of the access point</comment>
</elem>
<elem name ="macaddr" type="Tensor.string" multiplicity="1">
<comment>the mac address of the access point</comment>
</elem>
</struct>
<struct name="CellularRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.Cellular">
<elem name ="cid" type="CellId" multiplicity="1"/>
<elem name ="antenna" type="AntennaSpec" multiplicity="1"/>
</struct>
<struct name="GenericRFRefPoint" type="RFRefPoint" rttkey="SLAM.RefPointType.GenericRF">
<elem name="uri" type="Tensor.uri" multiplicity="1">
<comment>identifier that determines the genericRF type and unique identifier. encoded into the hash key</comment>
</elem>
</struct>
<struct name="RefPointSet">
<comment>a set of reference points</comment>
<elem name="refpoints" type="RefPoint" multiplicity="0..*" polymorphic="true"/>
</struct>
</namespace>
</specification>
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="SurveyApi.xid.xml">
<title>SLAM Survey API Specifications</title>
<comment>
This file defines the SLAM survey API. The survey API is used to bulk load high-definition survey
data from one or more probe data sets.
</comment>
<!-- Include all known definitions -->
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
<import ref="https://xid.location.studio/ILP/V1.1.1/ApiBase.xid" local="SLAM/ApiBase.xid" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid" local="SLAM/TileDefinitions.xid.xml" />
<namespace name="SLAM">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<!--
*******************************************************
Survey Submission API
*******************************************************
-->
<interface name="Survey">
<comment>Interface for submitting data to ILP. </comment>
<operation name="Submit">
<comment>
Interaction submits Survey data.
</comment>
<input name="input" type="InputBase" sid="0x1030">
<elem name="survey" multiplicity="1" type="SurveyData"></elem>
</input>
<output name="output" type="OutputBase" sid="0x1031">
<elem name="id" multiplicity="1" type="Tensor.UUID"/>
</output>
</operation>
<operation name="Download">
<comment>Downloads survey data given id.</comment>
<input name="input" type="InputBase" sid="0x1032">
<elem name="id" multiplicity="1" type="Tensor.UUID"/>
</input>
<output name="output" type="OutputBase" sid="0x1033">
<elem name="survey" multiplicity="1" type="SurveyData"></elem>
</output>
</operation>
</interface>
</namespace>
</specification>
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="TileManagementApi.xid.xml">
<title>SLAM Tile Management API Specifications</title>
<comment>This file defines the SLAM tile management API.</comment>
<!-- Include all known definitions -->
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
<import ref="https://xid.location.studio/ILP/V1.1.1/ApiBase.xid" local="SLAM/ApiBase.xid" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/ReferenceData.xid" local="SLAM/ReferenceData.xid.xml" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid" local="SLAM/TileDefinitions.xid.xml" />
<namespace name="SLAM">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<!--
*******************************************************
Tile Management API
*******************************************************
-->
<interface name="TileManagement">
<comment>Interface for submitting a new tile to the DB. </comment>
<operation name="DeleteTile">
<comment>
Interaction to delete a tile.
</comment>
<input name="input" type="InputBase" sid="0x101b">
<comment>defines the input data for DeleteTile operation</comment>
<elem name="tileid" type="Tensor.UUID" multiplicity="1" >
<comment>element specifies UUID of the the tile</comment>
</elem>
</input>
</operation>
<operation name="UploadTile">
<comment>interation to upload a tile</comment>
<input name="input" type="InputBase" sid="0x102b">
<comment>defines the input data structure for UploadTile operation</comment>
<elem name="tile" type="Tile" multiplicity="1">
<comment>the tile structure</comment>
</elem>
</input>
</operation>
<operation name="UpdateTile">
<comment>interation to update a tile</comment>
<input name="input" type="InputBase" sid="0x103b">
<comment>defines the input data structure for UpdateTile operation</comment>
<elem name="tile" type="Tile" multiplicity="1">
<comment>the tile structure</comment>
</elem>
</input>
</operation>
</interface>
</namespace>
</specification>
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="TileServiceApi.xid.xml">
<title>Tile Services API Specifications</title>
<comment>This file defines the SLAM tile services API.</comment>
<!-- Include all known definitions -->
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
<import ref="https://xid.location.studio/ILP/V1.1.1/ApiBase.xid" local="SLAM/ApiBase.xid" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid" local="SLAM/Commondefs.xid.xml" />
<import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid" local="SLAM/TileDefinitions.xid.xml" />
<namespace name="SLAM">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<interface name="TileService">
<comment>Interface for tile service. </comment>
<!-- DownloadTile operation-->
<operation name="DownloadTile">
<comment>Interaction download a tile</comment>
<input name="input" type="InputBase" sid="0x101a">
<comment>defines the input data structure for DownloadTile operation </comment>
<elem name="tileid" type="Tensor.UUID" multiplicity="1" >
<comment>element specifies UUID of the the tile</comment>
</elem>
</input>
<output name="output" type="OutputBase" sid="0x102a">
<comment>defines the output data for DownloadTile operation</comment>
<elem name="tile" type="Tile" multiplicity="0..1" >
<comment>element defines the downloaded tile</comment>
</elem>
</output>
</operation>
<!-- FindTilesByBoundingbox operation -->
<operation name="FindTilesByBoundingbox">
<comment>find tiles</comment>
<input name="input" type="InputBase" sid="0x103a">
<comment>defines the input data for FindTilesByBoundingbox operation </comment>
<elem name="bounding" type="BoundingBox" multiplicity="1">
<comment>the bounding box that intersect with tiles</comment>
</elem>
<elem name="floor" type="Tensor.int16" multiplicity="0..1">
<comment>optional floor number for more precise search</comment>
</elem>
</input>
<output name="output" type="OutputBase" sid="0x104a">
<comment>defines the output data for FindTilesByBoundingbox operation</comment>
<elem name="tiles" type="TileSet" multiplicity="0..1">
<comment>a set of tiles as the result of the FindTilesByPos operation</comment>
</elem>
</output>
</operation>
<!-- FindTilesByRefId operation -->
<operation name="FindTilesByRefId">
<comment>find tiles</comment>
<input name="input" type="InputBase" sid="0x103a">
<comment>defines the input data for FindTilesByRefId operation </comment>
<elem name="refids" type="Tensor.string" multiplicity="1..*">
<comment>the bounding box that intersect with tiles</comment>
</elem>
<elem name="floor" type="Tensor.int16" multiplicity="0..1">
<comment>optional floor number for more precise search</comment>
</elem>
<elem name="signaltype" type="ObservationType" multiplicity="1">
<comment>the radio type of the reference points</comment>
</elem>
</input>
<output name="output" type="OutputBase" sid="0x104a">
<comment>defines the output data for FindTilesByRefId operation</comment>
<elem name="tiles" type="TileSet" multiplicity="0..1">
<comment>a set of tiles as the result of the FindTilesByPos operation</comment>
</elem>
</output>
</operation>
<!-- EstimatePosition operation -->
<operation name="EstimatePosition">
<comment> estimate posiion from a set of Wifi rssi observations</comment>
<input name="input" type="InputBase" sid="0x106a">
<comment>input for EstimatePosition operation</comment>
<elem name="observations" type="ObservationSet" multiplicity="1">
<comment>a set of observed rssi values</comment>
</elem>
</input>
<output name="output" type="OutputBase" sid="0x107a">
<comment>output for EstimatePosition operation</comment>
<elem name="pos" type="Shape" multiplicity="0..*" polymorphic="true">
<comment>approximate position of the tile</comment>
</elem>
</output>
</operation>
</interface>
</namespace>
</specification>
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="ApiBase.xid.xml">
<title>ILP Services API Base Definitions</title>
<comment>
This document defines the common types API service interface for the ILP and Simultaneous Localization
and Mapping (SLAM) services definitions. The service provides access to ILP and SLAM technologies for position
calculation for devices and services communicating via standard
IP based protocols. The API currently supports XMF and JSON wire formats.
</comment>
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
<namespace name="ILP">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<!--
*******************************
*InputBase Type Definition
*******************************
-->
<struct name="InputBase" >
<comment>Base input fields for operations supporting asynchronous transaction information.</comment>
<elem name="directive" multiplicity="0..*" type="NameValue">
<comment>
A set of directives to influence processing.
</comment>
</elem>
<elem name="devid" multiplicity="1" type="string">
<comment>
Required device identifier, that provides a consistent multi-transaction identifier
for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier
in the system logs, providing traceability. Identifier should be unique.
</comment>
</elem>
<elem name="etid" multiplicity="0..1" type="string">
<comment>
Optional external transaction identifier for the caller to uniquely identify and track
the transaction and corresponding results. These identifiers will appear in the
ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller
and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by
the ILP system.
</comment>
</elem>
</struct>
<!--
*******************************
*OutputBase Type Definition
*******************************
-->
<struct name="OutputBase" >
<comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment>
<elem name="devid" multiplicity="0..1" type="string">
<comment>
Device identifier provided at operation input, provides a consistent identifier
for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier
in the system logs, providing traceability.
</comment>
</elem>
<elem name="etid" multiplicity="0..1" type="string">
<comment>
Optional external transaction identifier for the caller to uniquely identify and track
the transaction and corresponding results. These identifiers appear in the
ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller
and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by
the ILP system.
</comment>
</elem>
<elem name="resultcode" type="ResultCode" multiplicity="1" >
<comment>Result of the operation.</comment>
</elem>
<elem name="errinfo" type="Tensor.string" multiplicity="0..1">
<comment>Error information if result was not success.</comment>
</elem>
</struct>
</namespace>
</specification>
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="IlpApiBase.xid.xml">
<title>ILP Hybrid Positioning Services API Base Definitions</title>
<comment>
This document defines the common types API service interface for the IoT Location Platform (ILP).
The service provides hybrid position calculation for devices and services communicating
via standard IP based protocols. The API currently supports XMF and JSON wire formats.
</comment>
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
<namespace name="ILP">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<!--
*******************************
*IlpInputBase Type Definition
*******************************
-->
<struct name="IlpInputBase" >
<comment>Base input fields for operations supporting asynchronous transaction information.</comment>
<elem name="idDevice" multiplicity="1" type="string">
<comment>
Required device identifier, that provides a consistent multi-transaction identifier
for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier
in the system logs, providing traceability. Identifier should be unique.
</comment>
</elem>
<elem name="idTransaction" multiplicity="0..1" type="string">
<comment>
Optional transaction identifier for the caller to uniquely identify and track
the transaction and corresponding results. These identifiers will appear in the
ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller
and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by
the ILP system.
</comment>
</elem>
<!-- THis is future, don't uncomment until design issues resolved. M. Mathews/s. Hines 161130
<elem name="urlCallback" multiplicity="0..1" type="string">
<tag key="life-cycle" value="future" />
<comment>
Optional asynchronous callback used to callback client servers during long operations. Not all
interfaces may support this.
</comment>
</elem>
-->
</struct>
<!--
*******************************
*IlpOutputBase Type Definition
*******************************
-->
<struct name="IlpOutputBase" >
<comment>Base output fields common to operations supporting asynchronous returning transaction information.</comment>
<elem name="idDevice" multiplicity="1" type="string">
<comment>
Device identifier provided at operation input, provides a consistent identifier
for a device or equivalent (e.g. service identifier) providing the data. Any errors or issues resulting from processing the data will include this identifier
in the system logs, providing traceability.
</comment>
</elem>
<elem name="idTransaction" multiplicity="0..1" type="string">
<comment>
Optional transaction identifier for the caller to uniquely identify and track
the transaction and corresponding results. These identifiers appear in the
ILP system logs for traceability analysis. The format of the transaction identifier is up to the caller
and can be anything: e.g. [uuid], [id1.subid0], [numerical], etc. This data is never interpreted by
the ILP system.
</comment>
</elem>
<!-- THis is future, don't uncomment until design issues resolved. M. Mathews/s. Hine 161130
<elem name="urlCallback" multiplicity="0..1" type="string">
<tag key="life-cycle" value="future" />
<comment>
Optional asynchronous callback used to callback client servers during long operations. Not all
interfaces may support this.
</comment>
</elem>
-->
</struct>
</namespace>
</specification>
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="IlpAssistanceApi.xid.xml">
<title>ILP Assistance Services</title>
<comment>
This document defines the positioning assistance service interface for the IoT Location Platform (ILP).
The service provides assistance data supporting GNSS and other positioning technologies for devices
and services communicating via standard IP based protocols. The API currently supports XMF and JSON wire formats.
</comment>
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/ILP/V1.1.1/IlpApiBase.xid.xml" local="IlpApiBase.xid.xml" />
<namespace name="ILP">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<!--
*******************************************************
GnssData input/ouput structure declarations.
*******************************************************
-->
<!-- GnssDataInput structure -->
<struct name="GnssDataInput" type="IlpInputBase">
<comment>ILP.Assistance.GnssData input request data.</comment>
<!-- Define internal data structure -->
<struct name="RequestSpec">
<comment>Specifies the data request for each constellation type.</comment>
<elem name ="constellation" type="HPE.Gnss.Constellation" multiplicity="1">
<comment>Specifies the constellation of interest.</comment>
</elem>
<elem name="directive" multiplicity="0..*" type="NameValue">
<comment>
A set of directives to influence processing.
</comment>
</elem>
<elem name="minId" multiplicity="0..1" type ="uint8" default="0">
<comment>
Specifies the minimum satellite ID to return constellation data.
</comment>
</elem>
<elem name="maxId" multiplicity="0..1" type ="uint8" default="255">
<comment>
Specifies the maximum satellite ID to return constellation data.
</comment>
</elem>
<elem name="AssistData" multiplicity="1..*" type ="HPE.Gnss.AssistanceData">
<comment>
Specifies the types of constellation assistance data to return.
</comment>
</elem>
</struct>
<!-- Define input elements.-->
<elem name="epoch" multiplicity="0..1" type="datetime">
<comment>
Optional epoch for which the data is valid. Leave unspecified if the current epoch is desired.
</comment>
</elem>
<elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0">
<comment>
ConstellationData encoding format for the response. This field is carried into
GetAssistanceData_output.encCon and GetGnssAlmanacs_output.conData will be encoded
in this format. If not specified the "native" format of the protocol is used.
</comment>
</elem>
<elem name="location" multiplicity="0..1" type="Shape">
<comment>
Optional specification of the location to compute assistance data. If not specified
all available asistance data will be provided.
</comment>
</elem>
<elem name="elmask" multiplicity="0..1" type="int8" default="-90">
<comment>
Optional, specifies the elevation cutoff mask relative to the current
location in degrees. If not specified or -90, all values within the specified satellite ID ranges are returned.
</comment>
<tag name="unit" value="degrees"/>
</elem>
<elem name="Request" multiplicity="1..*" type="RequestSpec">
<comment>Specifies the requested data. One specification is required, multiple can be processed simultaneously.</comment>
</elem>
</struct>
<!-- GnssDataOutput structure -->
<struct name="GnssDataOutput" type="IlpOutputBase">
<comment>ILP.Assistance.GnssData output structure. </comment>
<elem name="resultcode" multiplicity="1" type="ResultCode">
<comment>
Result of GnssData operation.
If resultcode is not success, encCon and constellation data will not be present.
</comment>
</elem>
<elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0">
<comment>
Constellation Data encoding format. Data can be provided in a different encoding format
than the native protocol format. This is carried over from input.
If not present, the data is in the native protocol format (e.g. XMF, JSON).
</comment>
</elem>
<elem name="assistdata" multiplicity="0..*" type ="HPE.Gnss.ConstellationData" encoding="encoding">
<comment>
The list of ConstellationData encoded in the format specified by encoding.
</comment>
</elem>
</struct>
<!--
*******************************************************
ILP GNSS Assistance Data Service Interface.
*******************************************************
-->
<interface name="Assistance">
<comment>Assistance data interface functions.</comment>
<operation name="Gnss">
<comment>Returns caller requested GNSS assistance data.</comment>
<input name="Input" type="GnssDataInput" sid="0x1018"/>
<output name="Result" type="GnssDataOutput" sid="0x1019"/>
</operation>
</interface>
</namespace>
</specification>
<?xml version="1.0" encoding="UTF-8" ?>
<specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd XtensibleInterfaceDefinition.xsd"
identity="IlpSubmissionApi.xid.xml">
<title>ILP Submission API</title>
<comment>
This document defines a lightweight Observation Submission API for submitting ILP compatible observation
data without invoking the full get position operation.
</comment>
<import ref="https://xid.location.studio/Tensor/V1.0.0/Definitions.xid.xml" local="Definitions.xid.xml" />
<import ref="https://xid.location.studio/HPE/V1.1.1/HpeCore.xid.xml" local="HpeCore.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
<import ref="https://xid.location.studio/HPE/CommonDefs/V1.1.1/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
<import ref="https://xid.location.studio/ILP/V1.1.1/IlpApiBase.xid.xml" local="IlpApiBase.xid.xml" />
<namespace name="ILP">
<using namespace="HPE"/>
<using namespace="Tensor"/>
<!-- SubmitInput structure definition.
Note: all the tags are defined. These have to
match CalculateInput tags of the same name.
-->
<struct name="PositionInfo" type="IlpInputBase" >
<comment>Used as ILP.Submission.PositionInfo input.</comment>
<elem name="state" multiplicity="0..1" type="StateInfo" ord="90">
<comment>
Optional position information.\n
At least one of observations or state is required,
otherwise there is insufficient data to process.
</comment>
</elem>
<elem name="directive" multiplicity="0..*" type="NameValue" ord="87">
<comment>
A set of directives to influence processing.
</comment>
</elem>
<elem name="encObs" multiplicity="0..1" type="EncodingFormat" default="0" ord="88">
<comment>
Observation set encoding format. Observations may be passed to the service in
an encoding format different than that outer wire format.
</comment>
</elem>
<elem name="observations" multiplicity="0..1" type="ObservationSet" encoding ="encObs" ord="89">
<comment>
Optional Set of observation data encoded in the format specified by encObs.\n
At least one of observations or state is required,
otherwise there is insufficient data to process.
</comment>
</elem>
</struct>
<!--
*******************************************************
Observation Submission API
*******************************************************
-->
<interface name="Submission">
<comment>Interface for submitting data to ILP. </comment>
<operation name="PositionInfo">
<comment>
Interaction submits position and observation data.\n
There is no response besides bearer response codes.
</comment>
<input name="Input" type="PositionInfo" sid="0x101E"/>
</operation>
</interface>
</namespace>
</specification>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!