60c622ec by Pavan Sabbineni

ILP-425: Updates to slam api and added initial XIDData.prop

1 parent 377d2c64
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
8 <title>SLAM Common Definitions</title> 8 <title>SLAM Common Definitions</title>
9 <comment>This file defines commonly used structures and enumerations used throughout the SLAM system.</comment> 9 <comment>This file defines commonly used structures and enumerations used throughout the SLAM system.</comment>
10 10
11 <!-- Include all known definitions --> 11 <!-- Include used definitions -->
12 <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" /> 12 <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" />
13 13
14 <namespace name="SLAM"> 14 <namespace name="SLAM">
......
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 https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd"
7 identity="ProbeApi.xid.xml">
8 <title>SLAM Probe API Specifications</title>
9 <comment>
10 This file defines the SLAM Probe API. The probe API is used to load one or more probe data records from a single device.
11 </comment>
12
13 <!-- Include used definitions -->
14 <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
15 <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
16 <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
17 <import ref="https://xid.location.studio/Tensor/V1.0.0/ApiBase.xid.xml" local="SLAM/ApiBase.xid.xml" />
18 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml" local="SLAM/TileDefinitions.xid.xml" />
19
20 <namespace name="SLAM">
21 <using namespace="HPE"/>
22 <using namespace="Tensor"/>
23
24 <enum name="DeviceClass" type="Tensor.int8" default="undefined">
25 <comment>
26 Device class enumeration specifies the class or primary use of the device.
27 This allows probe data recorded to be analyzed by classes of devices.
28 </comment>
29 <literal name ="undefined" value="0"/>
30 <literal name ="mobileSmartphone" value="1"/>
31 <literal name ="mobilePad" value="2"/>
32 <literal name ="mobileTablet" value="3"/>
33 <literal name ="mobileOther" value="4"/>
34 <literal name ="iotTag" value="5"/>
35 <literal name ="iotComm" value="6"/>
36 <literal name ="iotStatic" value="7"/>
37 <literal name ="iotOther" value="8"/>
38 <literal name ="autoTrack" value="9"/>
39 <literal name ="autoNav" value="10"/>
40 <literal name ="autoOther" value="11"/>
41 </enum>
42
43 <struct name="ProbeRecord">
44 <comment>
45 A record capturing RF and otherinformation at a specified location. Probe records are captured
46 as part of probe data collected by probe devices.
47 </comment>
48 <elem name="state" multiplicity="1" type="StateInfo">
49 <comment>
50 Required device position and other state information. At least one of
51 observations or state is required, otherwise there is insufficient data to process.
52 </comment>
53 </elem>
54 <elem name="floor" multiplicity="1" type ="int8" default="0">
55 <comment>The floor number of this scan</comment>
56 </elem>
57 <elem name="obsset" multiplicity="1" type="ObservationSet" >
58 <comment>
59 Set of observation data containing the probe measurements.
60 </comment>
61 </elem>
62 <elem name="name" multiplicity ="0..1" type="string">
63 <comment>Optional Name of this probe location.</comment>
64 </elem>
65 <elem name="description" multiplicity ="0..1" type="string">
66 <comment>Optional human readable description.</comment>
67 </elem>
68 <elem name="address" multiplicity ="0..1" type="AddressInfo" >
69 <comment>Optional address information.</comment>
70 </elem>
71 <elem name="contact" multiplicity ="0..1" type="ContactInfo" >
72 <comment>
73 Optional contact information. These are for probes locations typically associated with
74 a business or public entity that has associated contact information.
75 </comment>
76 </elem>
77 <elem name="data" multiplicity ="0..1" type="Tensor.json">
78 <comment>Optional other information describing this probe location in json format.</comment>
79 </elem>
80 </struct>
81
82 <struct name ="ProbeSourceInfo">
83 <comment>
84 Structure contains information about the probe data source.
85 </comment>
86 <elem name="classDevice" multiplicity="1" type="DeviceClass" >
87 <comment>Required field specifies the class of device used to collect the probe data.</comment>
88 </elem>
89 <elem name="modelDevice" multiplicity ="1" type="Tensor.string">
90 <comment>String defining a device</comment>
91 </elem>
92 <elem name="mfgDevice" multiplicity ="1" type="Tensor.string">
93 <comment>Optional device manufacturer information.</comment>
94 </elem>
95 <elem name="osNameVer" multiplicity ="1" type="Tensor.uri">
96 <comment>Operating system name use the format [os: e.g. windows, android, iphone, custom]/[version: information]/[language]/[etc].</comment>
97 </elem>
98 <elem name="appNameVer" multiplicity ="1" type="Tensor.string">
99 <comment>Specifies the application/library name with version information with the following format.[app name]/[ver].</comment>
100 </elem>
101 <elem name="idUser" multiplicity ="0..1" type="Tensor.string">
102 <comment>Optional user identifier.</comment>
103 </elem>
104 <elem name="keySource" multiplicity="0..1" type="Tensor.string">
105 <comment>Optional source key identifier, provides public key value to assist in authentication of probe information.</comment>
106 </elem>
107 </struct>
108
109
110 <!--
111 *******************************************************
112 Probe Submission API
113 *******************************************************
114 -->
115 <interface name="Probe">
116 <comment>Interface for submitting RF probe data.</comment>
117
118 <operation name="Submit">
119 <comment>
120 Interaction submits probe data and outputs responds with operation result.
121 </comment>
122 <input name="input" type="Tensor.InputBase" sid="0x1032">
123 <elem name="captureDate" type="datetime" multiplicity="1">
124 <comment>General date and time probe data was captured.</comment>
125 </elem>
126 <elem name="encoding" multiplicity="0..1" type="EncodingFormat" default="0" >
127 <comment>
128 Probe data and source information encoding format. Probe records may be passed to the service in
129 an encoding format different than that outer wire format. This can protect sensitive data.
130 By default wire protocol native format is assumed.
131 </comment>
132 </elem>
133 <elem name="sourceInfo" type="ProbeSourceInfo" multiplicity="0..1" encoding ="encoding">
134 <comment>
135 Optional source information. If not provided, probe data will ultimately have a low veracity score. If at all possible
136 probe data should have source information. The system correlates source data with other known sources to calculate veracity.
137 </comment>
138 </elem>
139 <elem name="probes" multiplicity ="0..*" type="ProbeRecord" encoding ="encoding">
140 <comment>Zero or more probe records encoded in the specified format.</comment>
141 </elem>
142 </input>
143 </operation>
144 </interface>
145
146 </namespace>
147 </specification>
1 # SLAM XIDs #
2 SLAM XIDs do not encode their ordinals (i.e. tags and offets). XIDData.prop is required to maintain backward compatibility.
3
4
5 ## Generate / Verify XIDData.prop ##
6
7 ~~~sh
8 $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \
9 -v \
10 -prop https://xid.location.studio/Tensor/V1.0.0/XIDData.prop \
11 -prop https://xid.location.studio/HPE/V1.2/XIDData.prop \
12 -prop https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/XIDData.prop \
13 https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid.xml \
14 https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/ReferenceData.xid.xml \
15 https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml \
16 https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/SurveyApi.xid.xml \
17 https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/ProbeApi.xid.xml \
18 https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileManagementApi.xid.xml \
19 https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileServiceApi.xid.xml
20
21 OR
22
23 $ java -Xnoclassgc -jar $XIDSDK/bin/xidcg.jar \
24 -v \
25 -prop ../../Tensor/V1.0.0/XIDData.prop \
26 -prop ../../HPE/V1.2/XIDData.prop \
27 -prop XIDData.prop \
28 CommonDefs.xid.xml \
29 ReferenceData.xid.xml \
30 TileDefinitions.xid.xml \
31 SurveyApi.xid.xml \
32 ProbeApi.xid.xml \
33 TileManagementApi.xid.xml \
34 TileServiceApi.xid.xml
35 ~~~
36
37 If xidcg reports:
38
39 ~~~
40 Generating: xidout/meta/XID/XIDData.prop
41 ~~~
42
43 Then something has changed and XIDData.prop needs to get updated.
44
...@@ -21,24 +21,21 @@ ...@@ -21,24 +21,21 @@
21 <using namespace="HPE.WiFi"/> 21 <using namespace="HPE.WiFi"/>
22 <using namespace="HPE.Cellular"/> 22 <using namespace="HPE.Cellular"/>
23 23
24 <enum name="RefPointValidStatus" type="Tensor.int8" default="Unknown">
25 <comment>Reference Validity status.</comment>
26 <literal name="Unknown" value="0"/>
27 <literal name="valid" value="1"/>
28 <literal name="quarantined" value ="2"/>
29 <literal name="invalid" value="3"/>
30 </enum>
31
32 <enum name="RefPointSyncStatus" type="Tensor.int8" default ="sync_required"> 24 <enum name="RefPointSyncStatus" type="Tensor.int8" default ="sync_required">
33 <comment>synchronization status of the reference point</comment> 25 <comment>synchronization status of the reference point</comment>
34 <literal name="sync_required" value="0"/> 26 <literal name="sync_required" value="0"/>
35 <literal name="in_sync" value="1"/> 27 <literal name="in_sync" value="1"/>
36 </enum> 28 </enum>
37 29
38 <enum name="RefPointUpdateStatus" type="Tensor.int8" default ="updated"> 30 <enum name="RefPointUseStatus" type="Tensor.int8" default ="unknown">
39 <comment>update status of the reference point</comment> 31 <comment>use status of the reference point</comment>
40 <literal name="updated" value="0"/> 32 <literal name="unknown" value="0"/>
41 <literal name="update_required" value="1"/> 33 <literal name="outdated" value="1"/>
34 <literal name="valid" value="2"/>
35 <literal name="quarantined" value="3"/>
36 <literal name="invalid" value="4"/>
37 <literal name="deprecated" value="5"/>
38 <literal name="discardable" value="6"/>
42 </enum> 39 </enum>
43 40
44 <enum name="RefPointType" type="Tensor.int8" default="undefined"> 41 <enum name="RefPointType" type="Tensor.int8" default="undefined">
...@@ -51,16 +48,6 @@ ...@@ -51,16 +48,6 @@
51 <literal name="GenericRF" value="5"/> 48 <literal name="GenericRF" value="5"/>
52 </enum> 49 </enum>
53 50
54 <!--
55 <type name="HashKey" size="16">
56 <comment>16 byte UUID</comment>
57 <lang name="c" type="UUID" include="Tensor/CXMF/uuid.h"/>
58 <lang name="cpp" type="::Tensor::Types::UUID" include="Tensor/Types/uuid.h"/>
59 <lang name="java" type="XidUuid" include="com.comtechtel.tensor.xid.XidUuid"/>
60 <lang name="node" type="XidUuid"/>
61 </type>
62 -->
63
64 <struct name="RefPoint" > 51 <struct name="RefPoint" >
65 <comment>defines the base structure of a reference point</comment> 52 <comment>defines the base structure of a reference point</comment>
66 <elem name="type" type="RefPointType" multiplicity="1" rttd="true"> 53 <elem name="type" type="RefPointType" multiplicity="1" rttd="true">
...@@ -79,7 +66,7 @@ ...@@ -79,7 +66,7 @@
79 <comment>The veracity of the reference point, 1= 100% trusted and validated, 0% not trusted at all.</comment> 66 <comment>The veracity of the reference point, 1= 100% trusted and validated, 0% not trusted at all.</comment>
80 </elem> 67 </elem>
81 68
82 <elem name="validStatus" multiplicity="1" type="RefPointValidStatus"> 69 <elem name="usestatus" multiplicity="1" type="RefPointUseStatus">
83 <comment>status of the reference point</comment> 70 <comment>status of the reference point</comment>
84 </elem> 71 </elem>
85 <elem name="validbegin" type="datetime" multiplicity="1"> 72 <elem name="validbegin" type="datetime" multiplicity="1">
...@@ -129,7 +116,7 @@ ...@@ -129,7 +116,7 @@
129 <elem name="ssid" type="Tensor.string" multiplicity="1"> 116 <elem name="ssid" type="Tensor.string" multiplicity="1">
130 <comment>ssid of the access point</comment> 117 <comment>ssid of the access point</comment>
131 </elem> 118 </elem>
132 <elem name ="macaddr" type="mac48" multiplicity="1"> 119 <elem name ="macaddr" type="Tensor.string" multiplicity="1">
133 <comment>the mac address of the access point</comment> 120 <comment>the mac address of the access point</comment>
134 </elem> 121 </elem>
135 122
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> 15 <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
16 <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> 16 <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
17 <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> 17 <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
18 <import ref="https://xid.location.studio/Tensor/V1.0.0/ApiBase.xid.xml" local="piBase.xid.xml" />
18 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml" local="SLAM/TileDefinitions.xid.xml" /> 19 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml" local="SLAM/TileDefinitions.xid.xml" />
19 20
20 <namespace name="SLAM"> 21 <namespace name="SLAM">
......
...@@ -9,8 +9,7 @@ ...@@ -9,8 +9,7 @@
9 <comment>This file defines the SLAM tile definitions and related data types.</comment> 9 <comment>This file defines the SLAM tile definitions and related data types.</comment>
10 10
11 <!-- Include all known definitions --> 11 <!-- Include all known definitions -->
12 <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" /> 12 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid.xml" local="SLAM/CommonDefs.xid.xml" />
13 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/CommonDefs.xid.xml" local="SLAM/Commondefs.xid.xml" />
14 13
15 <namespace name="SLAM"> 14 <namespace name="SLAM">
16 15
...@@ -297,7 +296,7 @@ ...@@ -297,7 +296,7 @@
297 <comment>Identifies the floor number</comment> 296 <comment>Identifies the floor number</comment>
298 </elem> 297 </elem>
299 298
300 <elem name="validStatus" type="RefPointValidStatus" multiplicity="1" > 299 <elem name="useStatus" type="RefPointUseStatus" multiplicity="1" >
301 <comment>Identifies the status of the validity</comment> 300 <comment>Identifies the status of the validity</comment>
302 </elem> 301 </elem>
303 302
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 <comment>This file defines the SLAM tile management API.</comment> 9 <comment>This file defines the SLAM tile management API.</comment>
10 10
11 <!-- Include all known definitions --> 11 <!-- Include all known definitions -->
12 12 <import ref="https://xid.location.studio/Tensor/V1.0.0/ApiBase.xid.xml" local="ApiBase.xid.xml" />
13 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/ReferenceData.xid.xml" local="SLAM/ReferenceData.xid.xml" /> 13 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/ReferenceData.xid.xml" local="SLAM/ReferenceData.xid.xml" />
14 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml" local="SLAM/TileDefinitions.xid.xml" /> 14 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml" local="SLAM/TileDefinitions.xid.xml" />
15 15
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
12 <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" /> 12 <import ref="https://xid.location.studio/HPE/V1.2/HpeGnss.xid.xml" local="HpeGnss.xid.xml" />
13 <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" /> 13 <import ref="https://xid.location.studio/HPE/V1.2/HpeCellular.xid.xml" local="HpeCellular.xid.xml" />
14 <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" /> 14 <import ref="https://xid.location.studio/HPE/V1.2/HpeWiFi.xid.xml" local="HpeWiFi.xid.xml" />
15 <import ref="https://xid.location.studio/Tensor/V1.0.0/ApiBase.xid.xml" local="ApiBase.xid.xml" />
15 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml" local="SLAM/TileDefinitions.xid.xml" /> 16 <import ref="https://xid.location.studio/ILP/SLAM/V1.0.0_alpha/TileDefinitions.xid.xml" local="SLAM/TileDefinitions.xid.xml" />
16 17
17 18
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!