Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wisp
GitHub Repository: wisp/impinj-reader-app
Path: blob/master/LLRP/llrp-1x0-def.xml
179 views
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--
3
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
4
- Copyright 2007 Impinj, Inc.
5
-
6
- Copyright 2006, 2007 EPCglobal Inc.
7
- (The proprietary text of EPCglobal Inc. included herein is not
8
- a Contribution to the work. The right to use the proprietary
9
- text is limited to reproduction and display thereof within
10
- the work.)
11
12
- Licensed under the Apache License, Version 2.0 (the "License");
13
- you may not use this file except in compliance with the License.
14
- You may obtain a copy of the License at
15
16
- http://www.apache.org/licenses/LICENSE-2.0
17
-
18
- Unless required by applicable law or agreed to in writing, software
19
- distributed under the License is distributed on an "AS IS" BASIS,
20
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- See the License for the specific language governing permissions and
22
- limitations under the License.
23
-
24
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
25
-->
26
27
<llrpdef
28
xmlns="http://www.llrp.org/ltk/schema/core/encoding/binary/1.0"
29
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
30
xmlns:h="http://www.w3.org/1999/xhtml"
31
xmlns:llrpdef="http://www.llrp.org/ltk/schema/core/encoding/binary/1.0"
32
xsi:schemaLocation="http://www.llrp.org/ltk/schema/core/encoding/binary/1.0 http://www.llrp.org/ltk/schema/core/encoding/binary/1.0/llrpdef.xsd"
33
>
34
35
<namespaceDefinition
36
prefix="llrp"
37
URI="http://www.llrp.org/ltk/schema/core/encoding/xml/1.0"
38
schemaLocation="http://www.llrp.org/ltk/schema/core/encoding/xml/1.0/llrp.xsd"/>
39
40
<parameterDefinition name="UTCTimestamp" typeNum="128" required="false">
41
<annotation>
42
<documentation>
43
reference 7.1.3.1.1.1 and 16.2.2.1
44
</documentation>
45
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
46
<h:p> The timestamps in LLRP messages or parameters can be either the uptime or the UTC time [UTC]. If a Reader has an UTC clock, all timestamps reported by the Reader <h:b>SHALL</h:b> use an UTC timestamp parameter. If a Reader has no UTC clock capability, all timestamps reported by the Reader. <h:b>SHALL</h:b> use the uptime parameter. </h:p>
47
</description>
48
</annotation>
49
<field type="u64" name="Microseconds" format="Datetime"/>
50
</parameterDefinition>
51
52
<parameterDefinition name="Uptime" typeNum="129" required="false">
53
<annotation>
54
<documentation>
55
reference 7.1.3.1.1.2 and 16.2.2.2
56
</documentation>
57
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
58
<h:p> The timestamps in LLRP messages or parameters can be either the uptime or the UTC time [UTC]. If a Reader has an UTC clock, all timestamps reported by the Reader <h:b>SHALL</h:b> use an UTC timestamp parameter. If a Reader has no UTC clock capability, all timestamps reported by the Reader <h:b>SHALL</h:b> use the uptime parameter.</h:p>
59
</description>
60
</annotation>
61
<field type="u64" name="Microseconds"/>
62
</parameterDefinition>
63
64
<enumerationDefinition name="AirProtocols">
65
<annotation>
66
<documentation>
67
reference 7.1.4
68
</documentation>
69
<description>
70
<h:p>This is the identifier of the air protocol. </h:p>
71
</description>
72
</annotation>
73
<entry value="0" name="Unspecified"/>
74
<entry value="1" name="EPCGlobalClass1Gen2"/>
75
</enumerationDefinition>
76
77
<messageDefinition name="CUSTOM_MESSAGE" typeNum="1023" required="false">
78
<annotation>
79
<documentation>
80
reference 8.1 and 16.1.42
81
</documentation>
82
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
83
<h:p>This message carries a vendor defined format from Reader to Client or Client to Reader. </h:p>
84
<h:p>No requirements are made as to the content or parameters contained within the Data portion of these messages. Clients <h:b>MAY</h:b> ignore CUSTOM_MESSAGEs. Readers <h:b>SHALL</h:b> accept CUSTOM_MESSAGE and return an ERROR_MESSAGE if CUSTOM_MESSAGE is unsupported by the Reader or the CUSTOM_MESSAGE contains fields and/or parameters that are unsupported by the Reader.</h:p>
85
</description>
86
</annotation>
87
<field type="u32" name="VendorIdentifier"/>
88
<field type="u8" name="MessageSubtype"/>
89
<field type="bytesToEnd" name="Data" format="Hex"/>
90
</messageDefinition>
91
92
<parameterDefinition name="Custom" typeNum="1023" required="false">
93
<annotation>
94
<documentation>
95
reference 8.2 and 16.2.9
96
</documentation>
97
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
98
<h:p>Certain Messages and Parameter Sets within LLRP allow for the insertion of vendor defined parameters</h:p>
99
<h:p>Clients <h:b>SHALL</h:b> accept messages (except for CUSTOM_MESSAGE) that contain custom parameters but <h:b>MAY</h:b> ignore all custom parameters within these messages. Readers <h:b>SHALL</h:b> accept messages (except for CUSTOM_MESSAGE) that contain custom parameters and <h:b>SHALL</h:b> return an error when such parameters are unsupported. </h:p>
100
</description>
101
</annotation>
102
<field type="u32" name="VendorIdentifier"/>
103
<field type="u32" name="ParameterSubtype"/>
104
<field type="bytesToEnd" name="Data" format="Hex"/>
105
</parameterDefinition>
106
107
<messageDefinition name="GET_READER_CAPABILITIES" typeNum="1" required="true" responseType="GET_READER_CAPABILITIES_RESPONSE">
108
<annotation>
109
<documentation>
110
reference 9.1.1 and 16.1.1
111
</documentation>
112
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
113
<h:p>This message is sent from the Client to the Reader. The Client is able to request only a subset or all the capabilities from the Reader.</h:p>
114
</description>
115
</annotation>
116
<field type="u8" name="RequestedData"
117
enumeration="GetReaderCapabilitiesRequestedData"/>
118
<parameter repeat="0-N" type="Custom"/>
119
</messageDefinition>
120
121
<enumerationDefinition name="GetReaderCapabilitiesRequestedData">
122
<annotation>
123
<documentation>
124
reference 9.1.1
125
</documentation>
126
</annotation>
127
<entry value="0" name="All"/>
128
<entry value="1" name="General_Device_Capabilities"/>
129
<entry value="2" name="LLRP_Capabilities"/>
130
<entry value="3" name="Regulatory_Capabilities"/>
131
<entry value="4" name="LLRP_Air_Protocol_Capabilities"/>
132
</enumerationDefinition>
133
134
<messageDefinition name="GET_READER_CAPABILITIES_RESPONSE" typeNum="11" required="true">
135
<annotation>
136
<documentation>
137
reference 9.1.2 and 16.1.2
138
</documentation>
139
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
140
<h:p>This is the response from the Reader to the GET_READER_CAPABILITIES message. The response contains the LLRPStatus Parameter and the list of parameters for the requested capabilities conveyed via RequestedData in the GET_READER_CAPABILITIES message. </h:p>
141
</description>
142
</annotation>
143
<parameter repeat="1" type="LLRPStatus"/>
144
<parameter repeat="0-1" type="GeneralDeviceCapabilities"/>
145
<parameter repeat="0-1" type="LLRPCapabilities"/>
146
<parameter repeat="0-1" type="RegulatoryCapabilities"/>
147
<choice repeat="0-1" type="AirProtocolLLRPCapabilities"/>
148
<parameter repeat="0-N" type="Custom"/>
149
</messageDefinition>
150
151
<parameterDefinition name="GeneralDeviceCapabilities" typeNum="137" required="true">
152
<annotation>
153
<documentation>
154
reference 9.2.1 and 16.2.3.1
155
</documentation>
156
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
157
<h:p>This parameter carries the general capabilities of the device like supported air protocols, version of the Reader firmware, device hardware and software information, and receive sensitivity table. </h:p>
158
</description>
159
</annotation>
160
<field type="u16" name="MaxNumberOfAntennaSupported"/>
161
<field type="u1" name="CanSetAntennaProperties"/>
162
<field type="u1" name="HasUTCClockCapability"/>
163
<reserved bitCount="14"/>
164
<field type="u32" name="DeviceManufacturerName"/>
165
<field type="u32" name="ModelName"/>
166
<field type="utf8v" name="ReaderFirmwareVersion" format="UTF8"/>
167
<parameter repeat="1-N" type="ReceiveSensitivityTableEntry"/>
168
<parameter repeat="0-N" type="PerAntennaReceiveSensitivityRange"/>
169
<parameter repeat="1" type="GPIOCapabilities"/>
170
<parameter repeat="1-N" type="PerAntennaAirProtocol"/>
171
</parameterDefinition>
172
173
<parameterDefinition name="ReceiveSensitivityTableEntry" typeNum="139" required="true">
174
<annotation>
175
<documentation>
176
reference 9.2.1.1 and 16.2.3.1.1
177
</documentation>
178
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
179
<h:p>This parameter specifies the index into the Receive Sensitivity Table for a receive sensitivity value. The receive sensitivity is expressed in dB and the value is relative to the maximum sensitivity. If the Reader does not allow control of receive sensitivity, a table of one entry is returned, the entry having the value of zero.</h:p>
180
<h:p>If the Reader allows control of receive sensitivity and the Reader also supports multiple antennas where the antennas can have different receive sensitivity values, then the Receive Sensitivity Table should be a set of values representing the union of sensitivity values for all antennas.</h:p>
181
</description>
182
</annotation>
183
<field type="u16" name="Index"/>
184
<field type="s16" name="ReceiveSensitivityValue"/>
185
</parameterDefinition>
186
187
<parameterDefinition name="PerAntennaReceiveSensitivityRange" typeNum="149" required="false">
188
<annotation>
189
<documentation>
190
reference 9.2.1.2 and 16.2.3.1.2
191
</documentation>
192
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
193
<h:p>For a particular antenna, this parameter specifies the Reader's valid index range in the Receive Sensitivity Table. A Reader should report this parameter if the Reader allows control of receive sensitivity (i.e., the Reader reports a Receive Sensitivity Table with more than one entry) and the Reader supports multiple antennas where the antennas can have different receive sensitivity values.</h:p>
194
<h:p>If this parameter is omitted, then the Client <h:b>SHALL</h:b> assume that for all of the Reader's antennas the index range is the same as in the Receive Sensitivity Table.</h:p>
195
</description>
196
</annotation>
197
<field type="u16" name="AntennaID"/>
198
<field type="u16" name="ReceiveSensitivityIndexMin"/>
199
<field type="u16" name="ReceiveSensitivityIndexMax"/>
200
</parameterDefinition>
201
202
<parameterDefinition name="PerAntennaAirProtocol" typeNum="140" required="true">
203
<annotation>
204
<documentation>
205
reference 9.2.1.3 and 16.2.3.1.3
206
</documentation>
207
<description>
208
<h:p>Describes the air-protocols supporter on a per-antenna basis.</h:p>
209
</description>
210
</annotation>
211
<field type="u16" name="AntennaID"/>
212
<field type="u8v" name="ProtocolID"
213
enumeration="AirProtocols"/>
214
</parameterDefinition>
215
216
<parameterDefinition name="GPIOCapabilities" typeNum="141" required="true">
217
<annotation>
218
<documentation>
219
reference 9.2.1.4 and 16.2.3.1.4
220
</documentation>
221
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
222
<h:p>This parameter describes the GPIO capabilities of the Reader. A value of zero for NumGPIs indicates that the Reader does not have general purpose inputs. A value of zero for NumGPOs indicates that the Reader does not have general purpose outputs.</h:p>
223
</description>
224
</annotation>
225
<field type="u16" name="NumGPIs"/>
226
<field type="u16" name="NumGPOs"/>
227
</parameterDefinition>
228
229
<parameterDefinition name="LLRPCapabilities" typeNum="142" required="true">
230
<annotation>
231
<documentation>
232
reference 9.2.2 and 16.2.3.2
233
</documentation>
234
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
235
<h:p>This parameter describes the LLRP protocol capabilities of the Reader. These include optional LLRP commands and parameters, capacities of data structures used in LLRP operations, and air protocol specific capabilities used by LLRP.</h:p>
236
<h:p>Readers <h:b>MAY</h:b> support RFSurvey, <h:b>MAY</h:b> support tag inventory state aware singulation, <h:b>MAY</h:b> support UTC clocks, <h:b>MAY</h:b> support buffer fill warning reports, <h:b>MAY</h:b> support EventAndReportHolding upon reconnect, and <h:b>MAY</h:b> support ClientRequestOpspec. Readers <h:b>SHALL</h:b> support at least one ROSpec, one AISpec per ROSpec, one InventoryParameterSpec per AISpec, one AccessSpec, and one OpSpec per AccessSpec.</h:p>
237
</description>
238
</annotation>
239
<field type="u1" name="CanDoRFSurvey"/>
240
<field type="u1" name="CanReportBufferFillWarning"/>
241
<field type="u1" name="SupportsClientRequestOpSpec"/>
242
<field type="u1" name="CanDoTagInventoryStateAwareSingulation"/>
243
<field type="u1" name="SupportsEventAndReportHolding"/>
244
<reserved bitCount="3"/>
245
<field type="u8" name="MaxNumPriorityLevelsSupported"/>
246
<field type="u16" name="ClientRequestOpSpecTimeout"/>
247
<field type="u32" name="MaxNumROSpecs"/>
248
<field type="u32" name="MaxNumSpecsPerROSpec"/>
249
<field type="u32" name="MaxNumInventoryParameterSpecsPerAISpec"/>
250
<field type="u32" name="MaxNumAccessSpecs"/>
251
<field type="u32" name="MaxNumOpSpecsPerAccessSpec"/>
252
</parameterDefinition>
253
254
<parameterDefinition name="RegulatoryCapabilities" typeNum="143" required="true">
255
<annotation>
256
<documentation>
257
reference 9.2.4 and 16.2.3.4
258
</documentation>
259
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
260
<h:p>This parameter carries the RF regulation specific attributes. They include regulatory standard, frequency band information, power levels supported, frequencies supported, and any air protocol specific values that are determined based on regulatory restriction. </h:p>
261
<h:p> The regulatory standard is encoded using two Integer fields, (Country Code, Communications standard) and it specifies the current operational regulatory mode of the device. This should not be used to reflect the ability to operate in regulatory environments which require configuration different from the current. This version of the LLRP protocol will have support for only the UHF band. </h:p>
262
</description>
263
</annotation>
264
<field type="u16" name="CountryCode"/>
265
<field type="u16" name="CommunicationsStandard"
266
enumeration="CommunicationsStandard"/>
267
<parameter repeat="0-1" type="UHFBandCapabilities"/>
268
<parameter repeat="0-N" type="Custom"/>
269
</parameterDefinition>
270
271
<enumerationDefinition name="CommunicationsStandard">
272
<annotation>
273
<documentation>
274
reference 9.2.4
275
</documentation>
276
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
277
<h:p>This field carries the enumerations of the communications standard.</h:p>
278
</description>
279
</annotation>
280
<entry value="0" name="Unspecified"/>
281
<entry value="1" name="US_FCC_Part_15"/>
282
<entry value="2" name="ETSI_302_208"/>
283
<entry value="3" name="ETSI_300_220"/>
284
<entry value="4" name="Australia_LIPD_1W"/>
285
<entry value="5" name="Australia_LIPD_4W"/>
286
<entry value="6" name="Japan_ARIB_STD_T89"/>
287
<entry value="7" name="Hong_Kong_OFTA_1049"/>
288
<entry value="8" name="Taiwan_DGT_LP0002"/>
289
<entry value="9" name="Korea_MIC_Article_5_2"/>
290
</enumerationDefinition>
291
292
<parameterDefinition name="UHFBandCapabilities" typeNum="144" required="true">
293
<annotation>
294
<documentation>
295
reference 9.2.4.1 and 16.2.3.4.1
296
</documentation>
297
<description>
298
<h:p>Describes the frequency, power, and air-protocol capabilities for the regulatory region.</h:p>
299
</description>
300
</annotation>
301
<parameter repeat="1-N" type="TransmitPowerLevelTableEntry"/>
302
<parameter repeat="1" type="FrequencyInformation"/>
303
<choice repeat="1-N" type="AirProtocolUHFRFModeTable"/>
304
</parameterDefinition>
305
306
<parameterDefinition name="TransmitPowerLevelTableEntry" typeNum="145" required="true">
307
<annotation>
308
<documentation>
309
reference 9.2.4.1.1 and 16.2.3.4.1.1
310
</documentation>
311
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
312
<h:p>This parameter specifies the index into the TransmitPowerLevelTable for a transmit power value. The transmit power is expressed in dBm*100 to allow fractional dBm representation and is the conducted power at the connector of the Reader.</h:p>
313
</description>
314
</annotation>
315
<field type="u16" name="Index"/>
316
<field type="s16" name="TransmitPowerValue"/>
317
</parameterDefinition>
318
319
<parameterDefinition name="FrequencyInformation" typeNum="146" required="true">
320
<annotation>
321
<documentation>
322
reference 9.2.4.1.2 and 16.2.3.4.1.2
323
</documentation>
324
<description>
325
<h:p>Describes the fixed frequency or hopping frequencies supported in this UHFBand.</h:p>
326
</description>
327
</annotation>
328
<field type="u1" name="Hopping"/>
329
<reserved bitCount="7"/>
330
<parameter repeat="0-N" type="FrequencyHopTable"/>
331
<parameter repeat="0-1" type="FixedFrequencyTable"/>
332
</parameterDefinition>
333
334
<parameterDefinition name="FrequencyHopTable" typeNum="147" required="true">
335
<annotation>
336
<documentation>
337
reference 9.2.4.1.2.1 and 16.2.3.4.1.2.1
338
</documentation>
339
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
340
<h:p>This parameter carries the frequency hop table parameters. This is used for Readers operating in regions with frequency hopping regulatory requirements. If the Reader is capable of storing multiple hop tables, the Reader may send all of them to the Client.</h:p>
341
<h:ul>
342
<h:li><h:p>HopTableID which is the index of the frequency hop table returned by the Reader.</h:p></h:li>
343
<h:li><h:p>This is followed by a list of the frequencies (in kKHhz) in hop table order. The one-based position of a frequency in the list is defined as its ChannelIndex (i.e. the first frequency is referred to as ChannelIndex one).</h:p></h:li>
344
</h:ul>
345
</description>
346
</annotation>
347
<field type="u8" name="HopTableID"/>
348
<reserved bitCount="8"/>
349
<field type="u32v" name="Frequency"/>
350
</parameterDefinition>
351
352
<parameterDefinition name="FixedFrequencyTable" typeNum="148" required="true">
353
<annotation>
354
<documentation>
355
reference 9.2.4.1.2.2 and 16.2.3.4.1.2.2
356
</documentation>
357
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
358
<h:p>This parameter carries the fixed frequency list that can be used by the Reader. The one-based position of a frequency in the list is defined as its ChannelIndex (i.e. the first frequency is referred to as ChannelIndex one).</h:p>
359
</description>
360
</annotation>
361
<field type="u32v" name="Frequency"/>
362
</parameterDefinition>
363
364
<messageDefinition name="ADD_ROSPEC" typeNum="20" required="true" responseType="ADD_ROSPEC_RESPONSE">
365
<annotation>
366
<documentation>
367
reference 10.1.1 and 16.1.3
368
</documentation>
369
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
370
<h:p>An ADD_ROSPEC message communicates the information of a ROSpec to the Reader. LLRP supports configuration of multiple ROSpecs. Each ROSpec is uniquely identified using a ROSpecID, generated by the Client. The ROSpec starts at the Disabled state waiting for the ENABLE_ROSPEC message for the ROSpec from the Client, upon which it transitions to the Inactive state.</h:p>
371
<h:p>The Client <h:b>SHALL</h:b> add a ROSpec in a Disabled State - i.e., CurrentState field in the ROSpec Parameter (section 10.2.1) <h:b>SHALL</h:b> be set to disabled. If the CurrentState value is different than disabled, an error <h:b>SHALL</h:b> be returned in the ADD_ROSPEC_RESPONSE (e.g. P_FieldError).</h:p>
372
</description>
373
</annotation>
374
<parameter repeat="1" type="ROSpec"/>
375
</messageDefinition>
376
377
<messageDefinition name="ADD_ROSPEC_RESPONSE" typeNum="30" required="true">
378
<annotation>
379
<documentation>
380
reference 10.1.2 and 16.1.4
381
</documentation>
382
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
383
<h:p>This is the response by the Reader to an ADD_ROSPEC message. If all the parameters specified in the ADD_ROSPEC command are successfully set, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
384
</description>
385
</annotation>
386
<parameter repeat="1" type="LLRPStatus"/>
387
</messageDefinition>
388
389
<messageDefinition name="DELETE_ROSPEC" typeNum="21" required="true" responseType="DELETE_ROSPEC_RESPONSE">
390
<annotation>
391
<documentation>
392
reference 10.1.3 and 16.1.5
393
</documentation>
394
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
395
<h:p>This command is issued by the Client to the Reader. This command deletes the ROSpec at the Reader corresponding to ROSpecID passed in this message.</h:p>
396
<h:p>ROSpecID: Zero indicates to delete all ROSpecs.</h:p>
397
</description>
398
</annotation>
399
<field type="u32" name="ROSpecID"/>
400
</messageDefinition>
401
402
<messageDefinition name="DELETE_ROSPEC_RESPONSE" typeNum="31" required="true">
403
<annotation>
404
<documentation>
405
reference 10.1.4 and 16.1.6
406
</documentation>
407
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
408
<h:p>This is the response by the Reader to a DELETE_ROSPEC command. If there was a ROSpec corresponding to the ROSpecID that the Reader was presently executing, and the Reader was successful in stopping that execution, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
409
</description>
410
</annotation>
411
<parameter repeat="1" type="LLRPStatus"/>
412
</messageDefinition>
413
414
<messageDefinition name="START_ROSPEC" typeNum="22" required="true" responseType="START_ROSPEC_RESPONSE">
415
<annotation>
416
<documentation>
417
reference 10.1.5 and 16.1.7
418
</documentation>
419
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
420
<h:p>This message is issued by the Client to the Reader. Upon receiving the message, the Reader starts the ROSpec corresponding to ROSpecID passed in this message, if the ROSpec is in the enabled state.</h:p>
421
<h:p>ROSpecID: Zero is disallowed.</h:p>
422
</description>
423
</annotation>
424
<field type="u32" name="ROSpecID"/>
425
</messageDefinition>
426
427
<messageDefinition name="START_ROSPEC_RESPONSE" typeNum="32" required="true">
428
<annotation>
429
<documentation>
430
reference 10.1.6 and 16.1.8
431
</documentation>
432
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
433
<h:p>This is the response by the Reader to a START_ROSPEC command. If there was a ROSpec corresponding to the ROSpecID in the enabled state, and the Reader was able to start executing that ROSpec, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
434
</description>
435
</annotation>
436
<parameter repeat="1" type="LLRPStatus"/>
437
</messageDefinition>
438
439
<messageDefinition name="STOP_ROSPEC" typeNum="23" required="true" responseType="STOP_ROSPEC_RESPONSE">
440
<annotation>
441
<documentation>
442
reference 10.1.7 and 16.1.9
443
</documentation>
444
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
445
<h:p>This message is issued by the Client to the Reader. Upon receiving the message, the Reader stops the execution of the ROSpec corresponding to the ROSpecID passed in this message. STOP_ROSPEC overrides all other priorities and stops the execution. This basically moves the ROSpec's state to Inactive. This message does not the delete the ROSpec.</h:p>
446
<h:p>ROSpecID: Zero is disallowed.</h:p>
447
</description>
448
</annotation>
449
<field type="u32" name="ROSpecID"/>
450
</messageDefinition>
451
452
<messageDefinition name="STOP_ROSPEC_RESPONSE" typeNum="33" required="true">
453
<annotation>
454
<documentation>
455
reference 10.1.8 and 16.1.10
456
</documentation>
457
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
458
<h:p>This is the response by the Reader to a STOP_ROSPEC command. If the Reader was currently executing the ROSpec corresponding to the ROSpecID, and the Reader was able to stop executing that ROSpec, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
459
</description>
460
</annotation>
461
<parameter repeat="1" type="LLRPStatus"/>
462
</messageDefinition>
463
464
<messageDefinition name="ENABLE_ROSPEC" typeNum="24" required="true" responseType="ENABLE_ROSPEC_RESPONSE">
465
<annotation>
466
<documentation>
467
reference 10.1.9 and 16.1.11
468
</documentation>
469
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
470
<h:p>This message is issued by the Client to the Reader. Upon receiving the message, the Reader moves the ROSpec corresponding to the ROSpecID passed in this message from the disabled to the enabled state.</h:p>
471
<h:p>ROSpecID: If set to zero, all ROSpecs are enabled.</h:p>
472
</description>
473
</annotation>
474
<field type="u32" name="ROSpecID"/>
475
</messageDefinition>
476
477
<messageDefinition name="ENABLE_ROSPEC_RESPONSE" typeNum="34" required="true">
478
<annotation>
479
<documentation>
480
reference 10.1.10 and 16.1.12
481
</documentation>
482
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
483
<h:p>This is the response by the Reader to a ENABLE_ROSPEC command. If there was a ROSpec corresponding to the ROSpecID, and the Reader was able to enable that ROSpec, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
484
</description>
485
</annotation>
486
<parameter repeat="1" type="LLRPStatus"/>
487
</messageDefinition>
488
489
<messageDefinition name="DISABLE_ROSPEC" typeNum="25" required="true" responseType="DISABLE_ROSPEC_RESPONSE">
490
<annotation>
491
<documentation>
492
reference 10.1.11 and 16.1.13
493
</documentation>
494
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
495
<h:p>This message is issued by the Client to the Reader. Upon receiving the message, the Reader moves the ROSpec corresponding to the ROSpecID passed in this message to the disabled state.</h:p>
496
<h:p>ROSpecID: If set to Zero, all ROSpecs are disabled.</h:p>
497
</description>
498
</annotation>
499
<field type="u32" name="ROSpecID"/>
500
</messageDefinition>
501
502
<messageDefinition name="DISABLE_ROSPEC_RESPONSE" typeNum="35" required="true">
503
<annotation>
504
<documentation>
505
reference 10.1.12 and 16.1.14
506
</documentation>
507
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
508
<h:p>This is the response by the Reader to a DISABLE_ROSPEC command. If there was a ROSpec corresponding to the ROSpecID, and the Reader was able to disable that ROSpec, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
509
</description>
510
</annotation>
511
<parameter repeat="1" type="LLRPStatus"/>
512
</messageDefinition>
513
514
<messageDefinition name="GET_ROSPECS" typeNum="26" required="true" responseType="GET_ROSPECS_RESPONSE">
515
<annotation>
516
<documentation>
517
reference 10.1.13 and 16.1.15
518
</documentation>
519
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
520
<h:p>This is the request from the Client to the Reader to retrieve all the ROSpecs that have been configured at the Reader.</h:p>
521
</description>
522
</annotation>
523
</messageDefinition>
524
525
<messageDefinition name="GET_ROSPECS_RESPONSE" typeNum="36" required="true">
526
<annotation>
527
<documentation>
528
reference 10.1.14 and 16.1.16
529
</documentation>
530
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
531
<h:p>This is the response by the Reader to a GET_ROSPECS command. If there are no ROSpecs configured at the Reader, the response is just the LLRPStatus parameter with the success code. Else, a list of ROSpec parameter is returned by the Reader, along with the success code in the LLRPStatus parameter.</h:p>
532
</description>
533
</annotation>
534
<parameter repeat="1" type="LLRPStatus"/>
535
<parameter repeat="0-N" type="ROSpec"/>
536
</messageDefinition>
537
538
<parameterDefinition name="ROSpec" typeNum="177" required="true">
539
<annotation>
540
<documentation>
541
reference 10.2.1 and 16.2.4.1
542
</documentation>
543
<description copyright="Copyright 2006, 2007, EPCglobal Inc.">
544
<h:p>This parameter carries the information of the Reader inventory and survey operation.</h:p>
545
</description>
546
</annotation>
547
<field type="u32" name="ROSpecID"/>
548
<field type="u8" name="Priority"/>
549
<field type="u8" name="CurrentState"
550
enumeration="ROSpecState"/>
551
<parameter repeat="1" type="ROBoundarySpec"/>
552
<choice repeat="1-N" type="SpecParameter"/>
553
<parameter repeat="0-1" type="ROReportSpec"/>
554
</parameterDefinition>
555
556
<enumerationDefinition name="ROSpecState">
557
<annotation>
558
<documentation>
559
reference 10.2.1
560
</documentation>
561
</annotation>
562
<entry value="0" name="Disabled"/>
563
<entry value="1" name="Inactive"/>
564
<entry value="2" name="Active"/>
565
</enumerationDefinition>
566
567
<choiceDefinition name="SpecParameter">
568
<parameter type="AISpec"/>
569
<parameter type="RFSurveySpec"/>
570
<parameter type="Custom"/>
571
</choiceDefinition>
572
573
<parameterDefinition name="ROBoundarySpec" typeNum="178" required="true">
574
<annotation>
575
<documentation>
576
reference 10.2.1.1 and 16.2.4.1.1
577
</documentation>
578
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
579
<h:p>This parameter carries the lifetime of the command, ROStartTrigger and ROStopTrigger parameters.</h:p>
580
</description>
581
</annotation>
582
<parameter repeat="1" type="ROSpecStartTrigger"/>
583
<parameter repeat="1" type="ROSpecStopTrigger"/>
584
</parameterDefinition>
585
586
<parameterDefinition name="ROSpecStartTrigger" typeNum="179" required="true">
587
<annotation>
588
<documentation>
589
reference 10.2.1.1.1 and 16.2.4.1.1.1
590
</documentation>
591
<description>
592
<h:p>Describes the condition upon which the ROSpec will start execution.</h:p>
593
</description>
594
</annotation>
595
<field type="u8" name="ROSpecStartTriggerType"
596
enumeration="ROSpecStartTriggerType"/>
597
<parameter repeat="0-1" type="PeriodicTriggerValue"/>
598
<parameter repeat="0-1" type="GPITriggerValue"/>
599
</parameterDefinition>
600
601
<enumerationDefinition name="ROSpecStartTriggerType">
602
<annotation>
603
<documentation>
604
reference 10.2.1.1.1
605
</documentation>
606
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
607
<h:p>Description</h:p>
608
<h:ul>
609
<h:li><h:p>0: Null. No start trigger. The only way to start this ROSpec is with a START_ROSPEC from the Client.</h:p></h:li>
610
<h:li><h:p>1: Immediate</h:p></h:li>
611
<h:li><h:p>2: Periodic</h:p></h:li>
612
<h:li><h:p>3: GPI</h:p></h:li>
613
</h:ul>
614
</description>
615
</annotation>
616
<entry value="0" name="Null"/>
617
<entry value="1" name="Immediate"/>
618
<entry value="2" name="Periodic"/>
619
<entry value="3" name="GPI"/>
620
</enumerationDefinition>
621
622
<parameterDefinition name="PeriodicTriggerValue" typeNum="180" required="true">
623
<annotation>
624
<documentation>
625
reference 10.2.1.1.1.1 and 16.2.4.1.1.1.1
626
</documentation>
627
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
628
<h:p>Periodic trigger is specified using UTC time, offset and period.</h:p>
629
<h:p>For one-shot inventory, period is set to 0, and for periodic inventory operation period > 0.</h:p>
630
<h:p>If UTC time is not specified, the first start time is determined as (time of message receipt + offset), else, the first start time is determined as (UTC time + offset). Subsequent start times = first start time + k * period (where, k > 0).</h:p>
631
<h:p>If the Reader does not support UTC clock (as indicated by HasUTCClockCapability), and it receives the UTC time as part of the PeriodicTriggerValue parameter from the Client, the Reader <h:b>SHALL</h:b> return an error.</h:p>
632
</description>
633
</annotation>
634
<field type="u32" name="Offset"/>
635
<field type="u32" name="Period"/>
636
<parameter repeat="0-1" type="UTCTimestamp"/>
637
</parameterDefinition>
638
639
<parameterDefinition name="GPITriggerValue" typeNum="181" required="true">
640
<annotation>
641
<documentation>
642
reference 10.2.1.1.1.2 and 16.2.4.1.1.1.2
643
</documentation>
644
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
645
<h:p>This trigger is tied to an event on the General Purpose Input (GPI) of the Reader. The event is represented as a boolean type, and it is up to the internal implementation of the Reader to map exact physical event to a boolean type. For example, a 0 to 1 and a 1 to 0 transition on an input pin of the Reader could be mapped to a boolean true and a boolean false event respectively.</h:p>
646
<h:p>This trigger parameter has a timeout value field. The timeout is useful for specifying a fail-safe timeout when this trigger is used as a stop trigger. When the timeout is 0, it indicates that there is no timeout. When used as a start trigger, the timeout value <h:b>SHALL</h:b> be ignored.</h:p>
647
<h:p>Readers that do not support GPIs <h:b>SHALL</h:b> return zero for numGPIs in the capabilities discovery. If the Client sets up the GPI trigger for such a Reader, the Reader <h:b>SHALL</h:b> send an error message for the ADD_ROSPEC message and not add the ROSpec.</h:p>
648
</description>
649
</annotation>
650
<field type="u16" name="GPIPortNum"/>
651
<field type="u1" name="GPIEvent"/>
652
<reserved bitCount="7"/>
653
<field type="u32" name="Timeout"/>
654
</parameterDefinition>
655
656
<parameterDefinition name="ROSpecStopTrigger" typeNum="182" required="true">
657
<annotation>
658
<documentation>
659
reference 10.2.1.1.2 and 16.2.4.1.1.2
660
</documentation>
661
<description>
662
<h:p>Describes the condition upon which the ROSpec will stop.</h:p>
663
</description>
664
</annotation>
665
<field type="u8" name="ROSpecStopTriggerType"
666
enumeration="ROSpecStopTriggerType"/>
667
<field type="u32" name="DurationTriggerValue"/>
668
<parameter repeat="0-1" type="GPITriggerValue"/>
669
</parameterDefinition>
670
671
<enumerationDefinition name="ROSpecStopTriggerType">
672
<annotation>
673
<documentation>
674
reference 10.2.1.1.2
675
</documentation>
676
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
677
<h:p>Description</h:p>
678
<h:ul>
679
<h:li><h:p>0: Null - Stop when all AISpecs are done, or when preempted, or with a STOP_ROSPEC from the Client.</h:p></h:li>
680
<h:li><h:p>1: Duration</h:p></h:li>
681
<h:li><h:p>2: GPI with a timeout value</h:p></h:li>
682
</h:ul>
683
</description>
684
</annotation>
685
<entry value="0" name="Null"/>
686
<entry value="1" name="Duration"/>
687
<entry value="2" name="GPI_With_Timeout"/>
688
</enumerationDefinition>
689
690
<parameterDefinition name="AISpec" typeNum="183" required="true">
691
<annotation>
692
<documentation>
693
reference 10.2.2 and 16.2.4.2
694
</documentation>
695
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
696
<h:p>This parameter defines antenna inventory operations.</h:p>
697
</description>
698
</annotation>
699
<field type="u16v" name="AntennaIDs"/>
700
<parameter repeat="1" type="AISpecStopTrigger"/>
701
<parameter repeat="1-N" type="InventoryParameterSpec"/>
702
<parameter repeat="0-N" type="Custom"/>
703
</parameterDefinition>
704
705
<parameterDefinition name="AISpecStopTrigger" typeNum="184" required="true">
706
<annotation>
707
<documentation>
708
reference 10.2.2.1 and 16.2.4.2.1
709
</documentation>
710
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
711
<h:p>This parameter defines the stop (i.e., terminating boundary) of an antenna inventory operation.</h:p>
712
</description>
713
</annotation>
714
<field type="u8" name="AISpecStopTriggerType"
715
enumeration="AISpecStopTriggerType"/>
716
<field type="u32" name="DurationTrigger"/>
717
<parameter repeat="0-1" type="GPITriggerValue"/>
718
<parameter repeat="0-1" type="TagObservationTrigger"/>
719
</parameterDefinition>
720
721
<enumerationDefinition name="AISpecStopTriggerType">
722
<annotation>
723
<documentation>
724
reference 10.2.2.1
725
</documentation>
726
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
727
<h:p>Description:</h:p>
728
<h:ul>
729
<h:li><h:p>0: Null - Stop when ROSpec is done.</h:p></h:li>
730
<h:li><h:p>1: Duration</h:p></h:li>
731
<h:li><h:p>2: GPI with a timeout value</h:p></h:li>
732
<h:li><h:p>3: Tag observation</h:p></h:li>
733
</h:ul>
734
</description>
735
</annotation>
736
<entry value="0" name="Null"/>
737
<entry value="1" name="Duration"/>
738
<entry value="2" name="GPI_With_Timeout"/>
739
<entry value="3" name="Tag_Observation"/>
740
</enumerationDefinition>
741
742
<parameterDefinition name="TagObservationTrigger" typeNum="185" required="true">
743
<annotation>
744
<documentation>
745
reference 10.2.2.1.1 and 16.2.4.2.1.1
746
</documentation>
747
<description >
748
<h:p>Describes the boundary (stop) condition that is based on tag observations.</h:p>
749
</description>
750
</annotation>
751
<field type="u8" name="TriggerType"
752
enumeration="TagObservationTriggerType"/>
753
<reserved bitCount="8"/>
754
<field type="u16" name="NumberOfTags"/>
755
<field type="u16" name="NumberOfAttempts"/>
756
<field type="u16" name="T"/>
757
<field type="u32" name="Timeout"/>
758
</parameterDefinition>
759
760
<enumerationDefinition name="TagObservationTriggerType">
761
<annotation>
762
<documentation>
763
reference 10.2.2.1.1
764
</documentation>
765
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
766
<h:p>Description:</h:p>
767
<h:ul>
768
<h:li><h:p>0: Upon seeing N tag observations, or timeout</h:p></h:li>
769
<h:li><h:p>1: Upon seeing no more new tag observations for t ms, or timeout</h:p></h:li>
770
<h:li><h:p>2: N attempts to see all tags in the FOV, or timeout</h:p></h:li>
771
</h:ul>
772
</description>
773
</annotation>
774
<entry value="0" name="Upon_Seeing_N_Tags_Or_Timeout"/>
775
<entry value="1" name="Upon_Seeing_No_More_New_Tags_For_Tms_Or_Timeout"/>
776
<entry value="2" name="N_Attempts_To_See_All_Tags_In_FOV_Or_Timeout"/>
777
</enumerationDefinition>
778
779
<parameterDefinition name="InventoryParameterSpec" typeNum="186" required="true">
780
<annotation>
781
<documentation>
782
reference 10.2.2.2 and 16.2.4.2.2
783
</documentation>
784
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
785
<h:p>This parameter defines the inventory operation to be performed at all antennas specified in the corresponding AISpec. This parameter is composed of an InventoryParameterSpecID, a ProtocolID, and zero or more optional antenna configuration parameters. Antenna configurations for antennas not indicated by the AntennaIDs within the AISpec are ignored by the reader.</h:p>
786
</description>
787
</annotation>
788
<field type="u16" name="InventoryParameterSpecID"/>
789
<field type="u8" name="ProtocolID"
790
enumeration="AirProtocols"/>
791
<parameter repeat="0-N" type="AntennaConfiguration"/>
792
<parameter repeat="0-N" type="Custom"/>
793
</parameterDefinition>
794
795
<parameterDefinition name="RFSurveySpec" typeNum="187" required="false">
796
<annotation>
797
<documentation>
798
reference 10.2.3 and 16.2.4.3
799
</documentation>
800
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
801
<h:p>This parameter defines RF Survey operations. RF Survey is an operation during which the Reader performs a scan and measures the power levels across a set of frequencies at an antenna. This parameter defines the identifier of the antenna where this survey is to be performed, the duration of the survey operation (specified via stop trigger), and the range of frequencies to measure power levels of.</h:p>
802
</description>
803
</annotation>
804
<field type="u16" name="AntennaID"/>
805
<field type="u32" name="StartFrequency"/>
806
<field type="u32" name="EndFrequency"/>
807
<parameter repeat="1" type="RFSurveySpecStopTrigger"/>
808
<parameter repeat="0-N" type="Custom"/>
809
</parameterDefinition>
810
811
<parameterDefinition name="RFSurveySpecStopTrigger" typeNum="188" required="false">
812
<annotation>
813
<documentation>
814
reference 10.2.3.1 and 16.2.4.3.1
815
</documentation>
816
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
817
<h:p>This parameter defines the stop trigger for RF Survey operations.</h:p>
818
</description>
819
</annotation>
820
<field type="u8" name="StopTriggerType"
821
enumeration="RFSurveySpecStopTriggerType"/>
822
<field type="u32" name="DurationPeriod"/>
823
<field type="u32" name="N"/>
824
</parameterDefinition>
825
826
<enumerationDefinition name="RFSurveySpecStopTriggerType">
827
<annotation>
828
<documentation>
829
reference 10.2.3.1
830
</documentation>
831
</annotation>
832
<entry value="0" name="Null"/>
833
<entry value="1" name="Duration"/>
834
<entry value="2" name="N_Iterations_Through_Frequency_Range"/>
835
</enumerationDefinition>
836
837
<messageDefinition name="ADD_ACCESSSPEC" typeNum="40" required="true" responseType="ADD_ACCESSSPEC_RESPONSE">
838
<annotation>
839
<documentation>
840
reference 11.1.1 and 16.1.17
841
</documentation>
842
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
843
<h:p>This command creates a new AccessSpec at the Reader. The AccessSpec starts at the Disabled state waiting for the ENABLE_ACCESSSPEC message for the AccessSpec from the Client, upon which it transitions to the Active state. The AccessSpecID is generated by the Client.</h:p>
844
<h:p>The Client <h:b>SHALL</h:b> add an AccessSpec in a Disabled State i.e., CurrentState field in the AccessSpec Parameter (section 11.2.1) <h:b>SHALL</h:b> be set to false. If the CurrentState value is different than false, an error <h:b>SHALL</h:b> be returned in the ADD_ACCESSSPEC_RESPONSE (e.g. P_FieldError).</h:p>
845
</description>
846
</annotation>
847
<parameter repeat="1" type="AccessSpec"/>
848
</messageDefinition>
849
850
<messageDefinition name="ADD_ACCESSSPEC_RESPONSE" typeNum="50" required="true">
851
<annotation>
852
<documentation>
853
reference 11.1.2 and 16.1.18
854
</documentation>
855
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
856
<h:p>This is the response by the Reader to an ADD_ACCESSSPEC command. If the parameters passed in that ADD_ACCESSSPEC command were successfully accepted and set at the Reader, then the success code is returned in the LLRPStatus parameter. However, if the AccessSpec was not successfully created at the Reader, the Reader sends a LLRPStatus parameter describing the error in the message.</h:p>
857
</description>
858
</annotation>
859
<parameter repeat="1" type="LLRPStatus"/>
860
</messageDefinition>
861
862
<messageDefinition name="DELETE_ACCESSSPEC" typeNum="41" required="true" responseType="DELETE_ACCESSSPEC_RESPONSE">
863
<annotation>
864
<documentation>
865
reference 11.1.3 and 16.1.19
866
</documentation>
867
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
868
<h:p>This command is issued by the Client to the Reader. The Reader deletes the AccessSpec corresponding to the AccessSpecId, and this AccessSpec will stop taking effect from the next inventory round.</h:p>
869
<h:p>AccessSpecID: If set to Zero, all AccessSpecs are deleted.</h:p>
870
</description>
871
</annotation>
872
<field type="u32" name="AccessSpecID"/>
873
</messageDefinition>
874
875
<messageDefinition name="DELETE_ACCESSSPEC_RESPONSE" typeNum="51" required="true">
876
<annotation>
877
<documentation>
878
reference 11.1.4 and 16.1.20
879
</documentation>
880
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
881
<h:p>This is the response by the Reader to a DELETE_ACCESSSPEC command. If there was an AccessSpec at the Reader corresponding to the AccessSpecID passed in the DELETE_ACCESSSPEC command, and the Reader was successful in deleting that AccessSpec, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
882
</description>
883
</annotation>
884
<parameter repeat="1" type="LLRPStatus"/>
885
</messageDefinition>
886
887
<messageDefinition name="ENABLE_ACCESSSPEC" typeNum="42" required="true" responseType="ENABLE_ACCESSSPEC_RESPONSE">
888
<annotation>
889
<documentation>
890
reference 11.1.5 and 16.1.21
891
</documentation>
892
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
893
<h:p>This message is issued by the Client to the Reader. Upon receiving the message, the Reader moves the AccessSpec corresponding to the AccessSpecID in this message from the Disabled state to the Active state. The Reader executes this access-spec until it gets a DISABLE_ACCESSSPEC or a DELETE_ACCESSSPEC from the Client. The AccessSpec takes effect with the next (and subsequent) inventory rounds.</h:p>
894
<h:p>AccessSpecID: If set to 0, all AccessSpecs are enabled.</h:p>
895
</description>
896
</annotation>
897
<field type="u32" name="AccessSpecID"/>
898
</messageDefinition>
899
900
<messageDefinition name="ENABLE_ACCESSSPEC_RESPONSE" typeNum="52" required="true">
901
<annotation>
902
<documentation>
903
reference 11.1.6 and 16.1.22
904
</documentation>
905
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
906
<h:p>This is the response by the Reader to an ENABLE_ACCESSSPEC command. If there was an AccessSpec corresponding to the AccessSpecID, and the Reader was able to move that AccessSpec from the disabled to the active state, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
907
</description>
908
</annotation>
909
<parameter repeat="1" type="LLRPStatus"/>
910
</messageDefinition>
911
912
<messageDefinition name="DISABLE_ACCESSSPEC" typeNum="43" required="true" responseType="DISABLE_ACCESSSPEC_RESPONSE">
913
<annotation>
914
<documentation>
915
reference 11.1.7 and 16.1.23
916
</documentation>
917
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
918
<h:p>This message is issued by the Client to the Reader. Upon receiving the message, the Reader stops the execution of the AccessSpec corresponding to AccessSpecID in this message. This basically moves the AccessSpec's state to Disabled. This message does not delete the AccessSpec. The AccessSpec will stop taking effect from the next inventory round.</h:p>
919
<h:p>AccessSpecID: If set to zero, all AccessSpecs are disabled.</h:p>
920
</description>
921
</annotation>
922
<field type="u32" name="AccessSpecID"/>
923
</messageDefinition>
924
925
<messageDefinition name="DISABLE_ACCESSSPEC_RESPONSE" typeNum="53" required="true">
926
<annotation>
927
<documentation>
928
reference 11.1.8 and 16.1.24
929
</documentation>
930
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
931
<h:p>This is the response by the Reader to a STOP_ACCESSSPEC command. If the Reader was currently executing the AccessSpec corresponding to the AccessSpecID, and the Reader was able to disable that AccessSpec, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
932
</description>
933
</annotation>
934
<parameter repeat="1" type="LLRPStatus"/>
935
</messageDefinition>
936
937
<messageDefinition name="GET_ACCESSSPECS" typeNum="44" required="true" responseType="GET_ACCESSSPECS_RESPONSE">
938
<annotation>
939
<documentation>
940
reference 11.1.9 and 16.1.25
941
</documentation>
942
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
943
<h:p>This is the request from the Client to the Reader to retrieve all the AccessSpecs that have been configured at the Reader.</h:p>
944
</description>
945
</annotation>
946
</messageDefinition>
947
948
<messageDefinition name="GET_ACCESSSPECS_RESPONSE" typeNum="54" required="true">
949
<annotation>
950
<documentation>
951
reference 11.1.10 and 16.1.26
952
</documentation>
953
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
954
<h:p>This is the response by the Reader to a GET_ACCESSSPECS command. If there are no AccessSpecs configured at the Reader, the response is just the LLRPStatus parameter with the success code. Else, a list of (AccessSpecID, AccessSpec parameter) is returned by the Reader, along with the LLRPStatus parameter containing the success code. The order of the AccessSpecs listed in the message is normatively the order in which the AccessSpecs were created at the Reader.</h:p>
955
</description>
956
</annotation>
957
<parameter repeat="1" type="LLRPStatus"/>
958
<parameter repeat="0-N" type="AccessSpec"/>
959
</messageDefinition>
960
961
<parameterDefinition name="AccessSpec" typeNum="207" required="true">
962
<annotation>
963
<documentation>
964
reference 11.2.1 and 16.2.5.1
965
</documentation>
966
<description copyright="Copyright 2006, 2007, EPCglobal Inc.">
967
<h:p>This parameter carries information of the Reader access operation.</h:p>
968
</description>
969
</annotation>
970
<field type="u32" name="AccessSpecID"/>
971
<field type="u16" name="AntennaID"/>
972
<field type="u8" name="ProtocolID"
973
enumeration="AirProtocols"/>
974
<field type="u1" name="CurrentState"
975
enumeration="AccessSpecState"/>
976
<reserved bitCount="7"/>
977
<field type="u32" name="ROSpecID"/>
978
<parameter repeat="1" type="AccessSpecStopTrigger"/>
979
<parameter repeat="1" type="AccessCommand"/>
980
<parameter repeat="0-1" type="AccessReportSpec"/>
981
<parameter repeat="0-N" type="Custom"/>
982
</parameterDefinition>
983
984
<enumerationDefinition name="AccessSpecState">
985
<annotation>
986
<documentation>
987
reference 11.2.1
988
</documentation>
989
</annotation>
990
<entry value="0" name="Disabled"/>
991
<entry value="1" name="Active"/>
992
</enumerationDefinition>
993
994
<parameterDefinition name="AccessSpecStopTrigger" typeNum="208" required="true">
995
<annotation>
996
<documentation>
997
reference 11.2.1.1 and 16.2.5.1.1
998
</documentation>
999
<description>
1000
<h:p>Defines the condition upon which an AccessSpec will be automatically deleted</h:p>
1001
<h:p>OperationCountValue: A count to indicate the number of times this Spec is executed before it is deleted. If set to zero, this is equivalent to no stop trigger defined.</h:p>
1002
</description>
1003
</annotation>
1004
<field type="u8" name="AccessSpecStopTrigger"
1005
enumeration="AccessSpecStopTriggerType"/>
1006
<field type="u16" name="OperationCountValue"/>
1007
</parameterDefinition>
1008
1009
<enumerationDefinition name="AccessSpecStopTriggerType">
1010
<annotation>
1011
<documentation>
1012
reference 11.2.1.1
1013
</documentation>
1014
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1015
<h:p>Description:</h:p>
1016
<h:ul>
1017
<h:li><h:p>0: Null - No stop trigger defined.</h:p></h:li>
1018
<h:li><h:p>1: Operation count</h:p></h:li>
1019
</h:ul>
1020
</description>
1021
</annotation>
1022
<entry value="0" name="Null"/>
1023
<entry value="1" name="Operation_Count"/>
1024
</enumerationDefinition>
1025
1026
<parameterDefinition name="AccessCommand" typeNum="209" required="true">
1027
<annotation>
1028
<documentation>
1029
reference 11.2.1.2 and 16.2.5.1.2
1030
</documentation>
1031
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1032
<h:p>This parameter defines the air protocol access-specific settings. It contains a TagSpec and an OpSpec Parameter. The TagSpec specifies the tag filters in terms of air protocol specific memory capabilities (e.g., memory banks, pointer and length). The OpSpec specifies all the details of the operations required for the air protocol specific access operation commands.</h:p>
1033
<h:p> In case there are multiple AccessSpecs that get matched during a TagSpec lookup, the Reader <h:b>SHALL</h:b> only execute the first enabled AccessSpec that matches, where the ordering of the AccessSpecs is the order in which the AccessSpecs were created by the Client.</h:p>
1034
<h:p>The order of execution of OpSpecs within an AccessSpec is the order in which the OpSpecs were set up in the AccessSpec. If an OpSpec execution fails, the Reader <h:b>SHALL</h:b> stop the execution of the AccessSpec.</h:p>
1035
</description>
1036
</annotation>
1037
<choice repeat="1" type="AirProtocolTagSpec"/>
1038
<choice repeat="1-N" type="AccessCommandOpSpec"/>
1039
<parameter repeat="0-N" type="Custom"/>
1040
</parameterDefinition>
1041
1042
<choiceDefinition name="AccessCommandOpSpec">
1043
<parameter type="C1G2Read"/>
1044
<parameter type="C1G2Write"/>
1045
<parameter type="C1G2Kill"/>
1046
<parameter type="C1G2Lock"/>
1047
<parameter type="C1G2BlockErase"/>
1048
<parameter type="C1G2BlockWrite"/>
1049
</choiceDefinition>
1050
1051
<messageDefinition name="GET_READER_CONFIG" typeNum="2" required="true" responseType="GET_READER_CONFIG_RESPONSE">
1052
<annotation>
1053
<documentation>
1054
reference 12.1.1 and 16.1.36
1055
</documentation>
1056
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1057
<h:p>This command is issued by the Client to get the current configuration information of the Reader. The Requested Data passed in the command represents the parameter(s) of interest to the Client that has to be returned by the Reader.</h:p>
1058
</description>
1059
</annotation>
1060
<field type="u16" name="AntennaID"/>
1061
<field type="u8" name="RequestedData"
1062
enumeration="GetReaderConfigRequestedData"/>
1063
<field type="u16" name="GPIPortNum"/>
1064
<field type="u16" name="GPOPortNum"/>
1065
<parameter repeat="0-N" type="Custom"/>
1066
</messageDefinition>
1067
1068
<enumerationDefinition name="GetReaderConfigRequestedData">
1069
<annotation>
1070
<documentation>
1071
reference 12.1.1
1072
</documentation>
1073
</annotation>
1074
<entry value="0" name="All"/>
1075
<entry value="1" name="Identification"/>
1076
<entry value="2" name="AntennaProperties"/>
1077
<entry value="3" name="AntennaConfiguration"/>
1078
<entry value="4" name="ROReportSpec"/>
1079
<entry value="5" name="ReaderEventNotificationSpec"/>
1080
<entry value="6" name="AccessReportSpec"/>
1081
<entry value="7" name="LLRPConfigurationStateValue"/>
1082
<entry value="8" name="KeepaliveSpec"/>
1083
<entry value="9" name="GPIPortCurrentState"/>
1084
<entry value="10" name="GPOWriteData"/>
1085
<entry value="11" name="EventsAndReports"/>
1086
</enumerationDefinition>
1087
1088
<messageDefinition name="GET_READER_CONFIG_RESPONSE" typeNum="12" required="true">
1089
<annotation>
1090
<documentation>
1091
reference 12.1.2 and 16.1.37
1092
</documentation>
1093
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1094
<h:p>This is the response by the Reader to the GET_READER_CONFIG message. The response is the LLRPStatus Parameter and the list of configuration parameters based on the RequestedData in GET_READER_CONFIG. If the GET_READER_CONFIG message did not have any errors, the success code is returned in the LLRPStatus parameter, and in addition the requested configuration parameters are returned. If there is an error, the appropriate error code is returned in the LLRPStatus parameter. The response contains at most one instance of each configuration parameter except for two cases, which are as follows:</h:p>
1095
<h:lu>
1096
<h:li><h:p>If RequestedData is 0, 2 or 3, and AntennaID is set to 0 in the GET_READER_CONFIG message, the Reader <h:b>SHALL</h:b> return one instance of AntennaProperties Parameter or AntennaConfiguration Parameter per requested antenna.</h:p></h:li>
1097
<h:li><h:p>If RequestedData is 0 or 9 (10), and GPIPortNum (GPOPortNum) is set to 0 in the GET_READER_CONFIG message, and, if the Reader supports GPI (GPO), the Reader <h:b>SHALL</h:b> return one instance of GPIPortCurrentState (GPOWriteData) Parameter per requested GPI Port (GPO Port).</h:p></h:li>
1098
</h:lu>
1099
</description>
1100
</annotation>
1101
<parameter repeat="1" type="LLRPStatus"/>
1102
<parameter repeat="0-1" type="Identification"/>
1103
<parameter repeat="0-N" type="AntennaProperties"/>
1104
<parameter repeat="0-N" type="AntennaConfiguration"/>
1105
<parameter repeat="0-1" type="ReaderEventNotificationSpec"/>
1106
<parameter repeat="0-1" type="ROReportSpec"/>
1107
<parameter repeat="0-1" type="AccessReportSpec"/>
1108
<parameter repeat="0-1" type="LLRPConfigurationStateValue"/>
1109
<parameter repeat="0-1" type="KeepaliveSpec"/>
1110
<parameter repeat="0-N" type="GPIPortCurrentState"/>
1111
<parameter repeat="0-N" type="GPOWriteData"/>
1112
<parameter repeat="0-1" type="EventsAndReports"/>
1113
<parameter repeat="0-N" type="Custom"/>
1114
</messageDefinition>
1115
1116
<messageDefinition name="SET_READER_CONFIG" typeNum="3" required="true" responseType="SET_READER_CONFIG_RESPONSE">
1117
<annotation>
1118
<documentation>
1119
reference 12.1.3 and 16.1.38
1120
</documentation>
1121
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1122
<h:p>This command is issued by the Client to the Reader. This command sets the Reader configuration using the parameters specified in this command. Values passed by the SET_READER_CONFIG <h:b>SHALL</h:b> apply for the duration of the LLRP connection, or until the values are changed by additional SET_READER_CONFIG messages.</h:p>
1123
<h:p>For example, ROReportSpec defines the reporting of ROReport format and trigger for a ROSpec. ROReportSpec sent as part of SET_READER_CONFIG becomes the default ROReportSpec for the Reader. A ROReportSpec sent as part of ROSpec in the ADD_ROSPEC command overrides the default value for that ROSpec. However, in cases where there is no ROReportSpec specified in a ROSpec sent as part of ADD_ROSPEC, that particular ROSpec inherits the default ROReportSpec.</h:p>
1124
<h:p>The data field ResetToFactoryDefault informs the Reader to set all configurable values to factory defaults before applying the remaining parameters.</h:p>
1125
</description>
1126
</annotation>
1127
<field type="u1" name="ResetToFactoryDefault"/>
1128
<reserved bitCount="7"/>
1129
<parameter repeat="0-1" type="ReaderEventNotificationSpec"/>
1130
<parameter repeat="0-N" type="AntennaProperties"/>
1131
<parameter repeat="0-N" type="AntennaConfiguration"/>
1132
<parameter repeat="0-1" type="ROReportSpec"/>
1133
<parameter repeat="0-1" type="AccessReportSpec"/>
1134
<parameter repeat="0-1" type="KeepaliveSpec"/>
1135
<parameter repeat="0-N" type="GPOWriteData"/>
1136
<parameter repeat="0-N" type="GPIPortCurrentState"/>
1137
<parameter repeat="0-1" type="EventsAndReports"/>
1138
<parameter repeat="0-N" type="Custom"/>
1139
</messageDefinition>
1140
1141
<messageDefinition name="SET_READER_CONFIG_RESPONSE" typeNum="13" required="true">
1142
<annotation>
1143
<documentation>
1144
reference 12.1.4 and 16.1.39
1145
</documentation>
1146
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1147
<h:p>This is the response by the Reader to a SET_READER_CONFIG command. If all the parameters specified in the SET_READER_CONFIG command are successfully set, then the success code is returned in the LLRPStatus parameter. If there is an error, the appropriate error code is returned in the LLRPStatus parameter.</h:p>
1148
</description>
1149
</annotation>
1150
<parameter repeat="1" type="LLRPStatus"/>
1151
</messageDefinition>
1152
1153
<messageDefinition name="CLOSE_CONNECTION" typeNum="14" required="true" responseType="CLOSE_CONNECTION_RESPONSE">
1154
<annotation>
1155
<documentation>
1156
reference 12.1.5 and 16.1.40
1157
</documentation>
1158
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1159
<h:p>This command is issued by the Client to the Reader. This command instructs the Reader to gracefully close its connection with the Client. Under normal operating conditions, a Client <h:b>SHALL</h:b> attempt to send this command before closing an LLRP connection. A Client should wait briefly for the Reader to respond with a CLOSE_CONNECTION_RESPONSE.</h:p>
1160
<h:p>Upon receipt of this command, the Reader <h:b>SHALL</h:b> respond with the CLOSE_CONNECTION_REPONSE message and it should then attempt to close the connection between the Reader and Client.</h:p>
1161
<h:p>Having executed a CLOSE_CONNECTION command, a Reader <h:b>MAY</h:b> persist its configuration state as defined by the ReaderConfigurationStateValue parameter specified in section 12.2.1.</h:p>
1162
</description>
1163
</annotation>
1164
</messageDefinition>
1165
1166
<messageDefinition name="CLOSE_CONNECTION_RESPONSE" typeNum="4" required="true">
1167
<annotation>
1168
<documentation>
1169
reference 12.1.6 and 16.1.41
1170
</documentation>
1171
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1172
<h:p>This is the response by the Reader to a CLOSE_CONNECTON command from the Client. Upon receiving a CLOSE_CONNECTION command, the Reader <h:b>SHALL</h:b> attempt to send this response to the Client. After attempting to send this response, the Reader <h:b>SHALL</h:b> close its connection with the Client.</h:p>
1173
</description>
1174
</annotation>
1175
<parameter repeat="1" type="LLRPStatus"/>
1176
</messageDefinition>
1177
1178
<parameterDefinition name="LLRPConfigurationStateValue" typeNum="217" required="true">
1179
<annotation>
1180
<documentation>
1181
reference 12.2.1 and 16.2.6.1
1182
</documentation>
1183
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1184
<h:p>This parameter, LLRPConfigurationStateValue, is a 32-bit value which represents a Reader's entire LLRP configuration state including: LLRP configuration parameters, vendor extension configuration parameters, ROSpecs, and AccessSpecs. A Reader <h:b>SHALL</h:b> change this value only:</h:p>
1185
<h:ul>
1186
<h:li><h:p>Upon successful execution of any of the following messages: ADD_ROSPEC, DELETE_ROSPEC, ADD_ACCESSSPEC, DELETE_ACCESSSPEC, SET_READER_CONFIG, or any CUSTOM_MESSAGE command that alters the reader's internal configuration.</h:p> </h:li>
1187
<h:li><h:p>Upon an automatically deleted AccessSpec due to completion of OperationCountValue number of operations (Section 11.2.1.1).</h:p></h:li>
1188
</h:ul>
1189
<h:p>A Reader <h:b>SHALL</h:b> not change this value when the CurrentState of a ROSpec or AccessSpec changes.</h:p>
1190
<h:p>The mechanism used to compute the LLRP configuration state value is implementation dependent. However, a good implementation will insure that there's a high probability that the value will change when the Reader's configuration state changes.</h:p>
1191
<h:p>It is expected that a Client will configure the Reader and then request the Reader's configuration state value. The Client will then save this state value. If this value does not change between two requests for it, then a Client may assume that the above components of the LLRP configuration have also not changed.</h:p>
1192
<h:p>When requested by a Client, the Reader <h:b>SHALL</h:b> compute a state value based upon the Reader's current configuration state. Upon each request, the Reader <h:b>SHALL</h:b> return the same state value provided a Client has not altered the Reader's configuration state between requests. Aside from this requirement, the computation of the state value is implementation dependent.</h:p>
1193
</description>
1194
</annotation>
1195
<field type="u32" name="LLRPConfigurationStateValue"/>
1196
</parameterDefinition>
1197
1198
<parameterDefinition name="Identification" typeNum="218" required="true">
1199
<annotation>
1200
<documentation>
1201
reference 12.2.2 and 16.2.6.2
1202
</documentation>
1203
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1204
<h:p>This parameter carries an identification parameter that is unique within the local administration domain. The identifier could be the Reader MAC address or EPC. The IDType defines the type of the identification value contained in this Parameter.</h:p>
1205
<h:p>If IDType=0, the MAC address <h:b>SHALL</h:b> be encoded as EUI-64.[EUI64]</h:p>
1206
</description>
1207
</annotation>
1208
<field type="u8" name="IDType"
1209
enumeration="IdentificationType"/>
1210
<field type="u8v" name="ReaderID" format="Hex"/>
1211
</parameterDefinition>
1212
1213
<enumerationDefinition name="IdentificationType">
1214
<annotation>
1215
<documentation>
1216
reference 12.2.2
1217
</documentation>
1218
</annotation>
1219
<entry value="0" name="MAC_Address"/>
1220
<entry value="1" name="EPC"/>
1221
</enumerationDefinition>
1222
1223
<parameterDefinition name="GPOWriteData" typeNum="219" required="true">
1224
<annotation>
1225
<documentation>
1226
reference 12.2.3 and 16.2.6.3
1227
</documentation>
1228
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1229
<h:p>This parameter carries the data pertinent to perform the write to a general purpose output port.</h:p>
1230
<h:p>Readers that do not support GPOs <h:b>SHALL</h:b> set NumGPOs in the GPIOCapabilities to zero. If such a Reader receives a SET_READER_CONFIG with GPOWriteData Parameter, the Reader <h:b>SHALL</h:b> return an error message and not process any of the parameters in that message.</h:p>
1231
</description>
1232
</annotation>
1233
<field type="u16" name="GPOPortNumber"/>
1234
<field type="u1" name="GPOData"/>
1235
<reserved bitCount="7"/>
1236
</parameterDefinition>
1237
1238
<parameterDefinition name="KeepaliveSpec" typeNum="220" required="true">
1239
<annotation>
1240
<documentation>
1241
reference 12.2.4 and 16.2.6.4
1242
</documentation>
1243
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1244
<h:p>This parameter carries the specification for the keepalive message generation by the Reader. This includes the definition of the periodic trigger to send the keepalive message.</h:p>
1245
</description>
1246
</annotation>
1247
<field type="u8" name="KeepaliveTriggerType"
1248
enumeration="KeepaliveTriggerType"/>
1249
<field type="u32" name="PeriodicTriggerValue"/>
1250
</parameterDefinition>
1251
1252
<enumerationDefinition name="KeepaliveTriggerType">
1253
<annotation>
1254
<documentation>
1255
reference 12.2.4
1256
</documentation>
1257
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1258
<h:p>Description:</h:p>
1259
<h:ul>
1260
<h:li><h:p>0: Null - No keepalives <h:b>SHALL</h:b> be sent by the Reader</h:p></h:li>
1261
<h:li><h:p>1: Periodic</h:p></h:li>
1262
</h:ul>
1263
</description>
1264
</annotation>
1265
<entry value="0" name="Null"/>
1266
<entry value="1" name="Periodic"/>
1267
</enumerationDefinition>
1268
1269
<parameterDefinition name="AntennaProperties" typeNum="221" required="false">
1270
<annotation>
1271
<documentation>
1272
reference 12.2.5 and 16.2.6.5
1273
</documentation>
1274
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1275
<h:p>This parameter carries a single antenna's properties. The properties include the gain and the connectivity status of the antenna.The antenna gain is the composite gain and includes the loss of the associated cable from the Reader to the antenna. The gain is represented in dBi*100 to allow fractional dBi representation.</h:p>
1276
</description>
1277
</annotation>
1278
<field type="u1" name="AntennaConnected"/>
1279
<reserved bitCount="7"/>
1280
<field type="u16" name="AntennaID"/>
1281
<field type="s16" name="AntennaGain"/>
1282
</parameterDefinition>
1283
1284
<parameterDefinition name="AntennaConfiguration" typeNum="222" required="true">
1285
<annotation>
1286
<documentation>
1287
reference 12.2.6 and 16.2.6.6
1288
</documentation>
1289
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1290
<h:p>This parameter carries a single antenna's configuration and it specifies the default values for the parameter set that are passed in this parameter block. The scope of the default values is the antenna. The default values are used for parameters during an operation on this antenna if the parameter was unspecified in the spec that describes the operation.</h:p>
1291
</description>
1292
</annotation>
1293
<field type="u16" name="AntennaID"/>
1294
<parameter repeat="0-1" type="RFReceiver"/>
1295
<parameter repeat="0-1" type="RFTransmitter"/>
1296
<choice repeat="0-N" type="AirProtocolInventoryCommandSettings"/>
1297
</parameterDefinition>
1298
1299
<parameterDefinition name="RFReceiver" typeNum="223" required="true">
1300
<annotation>
1301
<documentation>
1302
reference 12.2.6.1 and 16.2.6.7
1303
</documentation>
1304
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1305
<h:p>This Parameter carries the RF receiver information. The Receiver Sensitivity defines the sensitivity setting at the receiver. The value is the index into the ReceiveSensitivityTable (section 9.2.1.1).</h:p>
1306
</description>
1307
</annotation>
1308
<field type="u16" name="ReceiverSensitivity"/>
1309
</parameterDefinition>
1310
1311
<parameterDefinition name="RFTransmitter" typeNum="224" required="true">
1312
<annotation>
1313
<documentation>
1314
reference 12.2.6.2 and 16.2.6.8
1315
</documentation>
1316
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1317
<h:p>This Parameter carries the RF transmitter information. The Transmit Power defines the transmit power for the antenna expressed as an index into the TransmitPowerTable (section 9.2.4.1.1). The HopTableID is the index of the frequency hop table to be used by the Reader (section 9.2.4.1.2.1) and is used when operating in frequency-hopping regulatory regions. This field is ignored in non-frequency-hopping regulatory regions. The ChannelIndex is the one-based channel index in the FixedFrequencyTable to use during transmission (section 9.2.4.1.2.2) and is used when operating in non-frequency-hopping regulatory regions. This field is ignored in frequency-hopping regulatory regions.</h:p>
1318
</description>
1319
</annotation>
1320
<field type="u16" name="HopTableID"/>
1321
<field type="u16" name="ChannelIndex"/>
1322
<field type="u16" name="TransmitPower"/>
1323
</parameterDefinition>
1324
1325
<parameterDefinition name="GPIPortCurrentState" typeNum="225" required="false">
1326
<annotation>
1327
<documentation>
1328
reference 12.2.6.3 and 16.2.6.9
1329
</documentation>
1330
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1331
<h:p>This Parameter carries the current configuration and state of a single GPI port. In a SET_READER_CONFIG message, this parameter is used to enable or disable the GPI port using the GPIConfig field; the GPIState field is ignored by the reader. In a GET_READER_CONFIG message, this parameter reports both the configuration and state of the GPI port.</h:p>
1332
<h:p>When a ROSpec or AISpec is configured on a GPI-capable reader with GPI start and/or stop triggers, those GPIs must be enabled by the client with a SET_READER_CONFIG message for the triggers to function.</h:p>
1333
<h:p>Readers that do not support GPIs <h:b>SHALL</h:b> set NumGPIs in the GPIOCapabilities to zero. If such a Reader receives a GET_READER_CONFIG with a GPIPortCurrentState Parameter, the Reader <h:b>SHALL</h:b> return an error message and not process any of the parameters in that message.</h:p>
1334
</description>
1335
</annotation>
1336
<field type="u16" name="GPIPortNum"/>
1337
<field type="u1" name="Config"/>
1338
<reserved bitCount="7"/>
1339
<field type="u8" name="State"
1340
enumeration="GPIPortState"/>
1341
</parameterDefinition>
1342
1343
<enumerationDefinition name="GPIPortState">
1344
<annotation>
1345
<documentation>
1346
reference 12.2.6.3
1347
</documentation>
1348
</annotation>
1349
<entry value="0" name="Low"/>
1350
<entry value="1" name="High"/>
1351
<entry value="2" name="Unknown"/>
1352
</enumerationDefinition>
1353
1354
<parameterDefinition name="EventsAndReports" typeNum="226" required="false">
1355
<annotation>
1356
<documentation>
1357
reference 12.2.6.4 and 16.2.6.10
1358
</documentation>
1359
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1360
<h:p>This parameter controls the behavior of the Reader when a new LLRP connection is established. In a SET_READER_CONFIG message, this parameter is used to enable or disable the holding of events and reports upon connection using the HoldEventsAndReportsUponReconnect field. In a GET_READER_CONFIG message, this parameter reports the current configuration. If the HoldEventsAndReportsUponReconnect is true, the reader will not deliver any reports or events (except the ConnectionAttemptEvent) to the Client until the Client issues an ENABLE_EVENTS_AND_REPORTS message. Once the ENABLE_EVENTS_AND_REPORTS message is received the reader ceases its hold on events and reports for the duration of the connection.</h:p>
1361
</description>
1362
</annotation>
1363
<field type="u1" name="HoldEventsAndReportsUponReconnect"/>
1364
<reserved bitCount="7"/>
1365
</parameterDefinition>
1366
1367
<messageDefinition name="GET_REPORT" typeNum="60" required="true">
1368
<annotation>
1369
<documentation>
1370
reference 13.1.1 and 16.1.29
1371
</documentation>
1372
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1373
<h:p>This message is issued by the Client to the Reader to get the tag reports. In response to this message, the Reader <h:b>SHALL</h:b> return tag reports accumulated.</h:p>
1374
</description>
1375
</annotation>
1376
</messageDefinition>
1377
1378
<messageDefinition name="RO_ACCESS_REPORT" typeNum="61" required="true">
1379
<annotation>
1380
<documentation>
1381
reference 13.1.2 and 16.1.30
1382
</documentation>
1383
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1384
<h:p>This message is issued by the Reader to the Client, and it contains the results of the RO and Access operations. The ROReportSpec and AccessReportSpec parameters define the contents and triggers for this message.</h:p>
1385
</description>
1386
</annotation>
1387
<parameter repeat="0-N" type="TagReportData"/>
1388
<parameter repeat="0-N" type="RFSurveyReportData"/>
1389
<parameter repeat="0-N" type="Custom"/>
1390
</messageDefinition>
1391
1392
<messageDefinition name="KEEPALIVE" typeNum="62" required="true">
1393
<annotation>
1394
<documentation>
1395
reference 13.1.3 and 16.1.31
1396
</documentation>
1397
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1398
<h:p>This message is issued by the Reader to the Client. This message can be used by the Client to monitor the LLRP-layer connectivity with the Reader. The Client configures the trigger at the Reader to send the Keepalive message. The configuration is done using the KeepaliveSpec parameter (section 12.2.4).</h:p>
1399
</description>
1400
</annotation>
1401
</messageDefinition>
1402
1403
<messageDefinition name="KEEPALIVE_ACK" typeNum="72" required="true">
1404
<annotation>
1405
<documentation>
1406
reference 13.1.4 and 16.1.32
1407
</documentation>
1408
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1409
<h:p>A Client <h:b>SHALL</h:b> generate a KEEPALIVE_ACK in response to each KEEPALIVE received by the reader.</h:p>
1410
</description>
1411
</annotation>
1412
</messageDefinition>
1413
1414
<messageDefinition name="READER_EVENT_NOTIFICATION" typeNum="63" required="true">
1415
<annotation>
1416
<documentation>
1417
reference 13.1.5 and 16.1.33
1418
</documentation>
1419
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1420
<h:p>This message is issued by the Reader to the Client whenever an event that the Client subscribed to occurs. The pertinent event data is conveyed using the ReaderEventNotificationData parameter.</h:p>
1421
</description>
1422
</annotation>
1423
<parameter repeat="1" type="ReaderEventNotificationData"/>
1424
</messageDefinition>
1425
1426
<messageDefinition name="ENABLE_EVENTS_AND_REPORTS" typeNum="64" required="false">
1427
<annotation>
1428
<documentation>
1429
reference 13.1.6 and 16.1.34
1430
</documentation>
1431
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1432
<h:p>This message can be issued by the Client to the Reader after a LLRP connection is established. The Client uses this message to inform the Reader that it can remove its hold on event and report messages. Readers that are configured to hold events and reports on reconnection (See Section 12.2.6.4) respond to this message by returning the tag reports accumulated (same way they respond to GET_REPORT (See Section 13.1.1)).</h:p>
1433
</description>
1434
</annotation>
1435
</messageDefinition>
1436
1437
<parameterDefinition name="ROReportSpec" typeNum="237" required="true">
1438
<annotation>
1439
<documentation>
1440
reference 13.2.1 and 16.2.7.1
1441
</documentation>
1442
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1443
<h:p>This Parameter carries the Reader inventory and RF survey reporting definition for the antenna. This parameter describes the contents of the report sent by the Reader and defines the events that cause the report to be sent.</h:p>
1444
<h:p>The ROReportTrigger field defines the events that cause the report to be sent.</h:p>
1445
<h:p>The TagReportContentSelector parameter defines the desired contents of the report. The ROReportTrigger defines the event that causes the report to be sent by the Reader to the Client.</h:p>
1446
<h:p>See section 13.2.6.1 for details about the order that reports are to be sent with respect to Reader event notifications.</h:p>
1447
</description>
1448
</annotation>
1449
<field type="u8" name="ROReportTrigger"
1450
enumeration="ROReportTriggerType"/>
1451
<field type="u16" name="N"/>
1452
<parameter repeat="1" type="TagReportContentSelector"/>
1453
<parameter repeat="0-N" type="Custom"/>
1454
</parameterDefinition>
1455
1456
<enumerationDefinition name="ROReportTriggerType">
1457
<annotation>
1458
<documentation>
1459
reference 13.2.1
1460
</documentation>
1461
</annotation>
1462
<entry value="0" name="None"/>
1463
<entry value="1" name="Upon_N_Tags_Or_End_Of_AISpec"/>
1464
<entry value="2" name="Upon_N_Tags_Or_End_Of_ROSpec"/>
1465
</enumerationDefinition>
1466
1467
<parameterDefinition name="TagReportContentSelector" typeNum="238" required="true">
1468
<annotation>
1469
<documentation>
1470
reference 13.2.1.1 and 16.2.7.1.1
1471
</documentation>
1472
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1473
<h:p>This parameter is used to configure the contents that are of interest in TagReportData. If enabled, the field is reported along with the tag data in the TagReportData.</h:p>
1474
</description>
1475
</annotation>
1476
<field type="u1" name="EnableROSpecID"/>
1477
<field type="u1" name="EnableSpecIndex"/>
1478
<field type="u1" name="EnableInventoryParameterSpecID"/>
1479
<field type="u1" name="EnableAntennaID"/>
1480
<field type="u1" name="EnableChannelIndex"/>
1481
<field type="u1" name="EnablePeakRSSI"/>
1482
<field type="u1" name="EnableFirstSeenTimestamp"/>
1483
<field type="u1" name="EnableLastSeenTimestamp"/>
1484
<field type="u1" name="EnableTagSeenCount"/>
1485
<field type="u1" name="EnableAccessSpecID"/>
1486
<reserved bitCount="6"/>
1487
<choice repeat="0-N" type="AirProtocolEPCMemorySelector"/>
1488
</parameterDefinition>
1489
1490
<parameterDefinition name="AccessReportSpec" typeNum="239" required="true">
1491
<annotation>
1492
<documentation>
1493
reference 13.2.2 and 16.2.7.2
1494
</documentation>
1495
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1496
<h:p>This parameter sets up the triggers for the Reader to send the access results to the Client. In addition, the Client can enable or disable reporting of ROSpec details in the access results.</h:p>
1497
</description>
1498
</annotation>
1499
<field type="u8" name="AccessReportTrigger"
1500
enumeration="AccessReportTriggerType"/>
1501
</parameterDefinition>
1502
1503
<enumerationDefinition name="AccessReportTriggerType">
1504
<annotation>
1505
<documentation>
1506
reference 13.2.2
1507
</documentation>
1508
</annotation>
1509
<entry value="0" name="Whenever_ROReport_Is_Generated"/>
1510
<entry value="1" name="End_Of_AccessSpec"/>
1511
</enumerationDefinition>
1512
1513
<parameterDefinition name="TagReportData" typeNum="240" required="true">
1514
<annotation>
1515
<documentation>
1516
reference 13.2.3 and 16.2.7.3
1517
</documentation>
1518
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1519
<h:p>This report parameter is generated per tag per accumulation scope. The only mandatory portion of this parameter is the EPCData parameter. If there was an access operation performed on the tag, the results of the OpSpecs are mandatory in the report. The other sub-parameters in this report are optional. LLRP provides three ways to make the tag reporting efficient:</h:p>
1520
<h:ol>
1521
<h:li><h:p>Allow parameters to be enabled or disabled via TagReportContentSelector (section 13.2.1.1) in TagReportSpec. </h:p></h:li>
1522
<h:li><h:p>If an optional parameter is enabled, and is absent in the report, the Client <h:b>SHALL</h:b> assume that the value is identical to the last parameter of the same type received. For example, this allows the Readers to not send a parameter in the report whose value has not changed since the last time it was sent by the Reader.</h:p></h:li>
1523
<h:li><h:p>Allow accumulation of tag reports. See next section for details of accumulation.</h:p></h:li>
1524
</h:ol>
1525
<h:p>A Reader <h:b>MAY</h:b> accumulate multiple tag reports into a single tag report.. If a Reader accumulates, the Reader <h:b>SHALL</h:b> follow the accumulation rules specified in this section. The following specifies the rules for accumulating multiple tag observations into a single TagReportData:</h:p>
1526
<h:ul>
1527
<h:li><h:p>EPCData:</h:p></h:li>
1528
<h:ul><h:li><h:p>The Reader <h:b>SHALL</h:b> not accumulate tag reports that do not have the same EPCData value.</h:p></h:li></h:ul>
1529
<h:li><h:p>OpSpecResultList:</h:p></h:li>
1530
<h:ul><h:li><h:p>The Reader <h:b>SHALL</h:b> not accumulate tag reports that do not have the same value for the OpSpec results in the OpSpecResultList.</h:p></h:li></h:ul>
1531
<h:li><h:p>SpecID, SpecIndex, InventoryParameterSpecID, AntennaID, AirProtocolTagData, AccessSpecID:</h:p></h:li>
1532
<h:ul><h:li><h:p>These fields are optional, and their reporting can be enabled by the Client. If the Client has enabled one or more fields listed above, the Reader <h:b>SHALL</h:b> not accumulate tag reports that do not have the same value for all the enabled fields.</h:p></h:li></h:ul>
1533
<h:li><h:p>FirstSeenTimestamp, LastSeenTimestamp, PeakRSSI, TagSeenCount, ChannelIndex</h:p></h:li>
1534
<h:ul><h:li><h:p>These fields are optional, and their reporting can be enabled by the Client. If the field is enabled, the Reader sets the value of these fields as follows:</h:p></h:li>
1535
<h:ul>
1536
<h:li><h:p>FirstSeenTimestamp: The Reader <h:b>SHALL</h:b> set it to the time of the first observation amongst the tag reports that get accumulated in the TagReportData.</h:p></h:li>
1537
<h:li><h:p>LastSeenTimestamp: The Reader <h:b>SHALL</h:b> set it to the time of the last observation amongst the tag reports that get accumulated in the TagReportData.</h:p></h:li>
1538
<h:li><h:p>PeakRSSI: The Reader <h:b>SHALL</h:b> set it to the maximum RSSI value observed amongst the tag reports that get accumulated in the TagReportData.</h:p></h:li>
1539
<h:li><h:p>ChannelIndex: The Reader <h:b>MAY</h:b> set it to the index of the first channel the tag was seen.</h:p></h:li>
1540
<h:li><h:p>TagSeenCount: The Reader <h:b>SHALL</h:b> set it to the number of tag reports that get accumulated in the TagReportData.</h:p></h:li>
1541
</h:ul>
1542
</h:ul>
1543
</h:ul>
1544
</description>
1545
</annotation>
1546
<choice repeat="1" type="EPCParameter"/>
1547
<parameter repeat="0-1" type="ROSpecID"/>
1548
<parameter repeat="0-1" type="SpecIndex"/>
1549
<parameter repeat="0-1" type="InventoryParameterSpecID"/>
1550
<parameter repeat="0-1" type="AntennaID"/>
1551
<parameter repeat="0-1" type="PeakRSSI"/>
1552
<parameter repeat="0-1" type="ChannelIndex"/>
1553
<parameter repeat="0-1" type="FirstSeenTimestampUTC"/>
1554
<parameter repeat="0-1" type="FirstSeenTimestampUptime"/>
1555
<parameter repeat="0-1" type="LastSeenTimestampUTC"/>
1556
<parameter repeat="0-1" type="LastSeenTimestampUptime"/>
1557
<parameter repeat="0-1" type="TagSeenCount"/>
1558
<choice repeat="0-N" type="AirProtocolTagData"/>
1559
<parameter repeat="0-1" type="AccessSpecID"/>
1560
<choice repeat="0-N" type="AccessCommandOpSpecResult"/>
1561
<parameter repeat="0-N" type="Custom"/>
1562
</parameterDefinition>
1563
1564
<choiceDefinition name="AccessCommandOpSpecResult">
1565
<parameter type="C1G2ReadOpSpecResult"/>
1566
<parameter type="C1G2WriteOpSpecResult"/>
1567
<parameter type="C1G2KillOpSpecResult"/>
1568
<parameter type="C1G2LockOpSpecResult"/>
1569
<parameter type="C1G2BlockEraseOpSpecResult"/>
1570
<parameter type="C1G2BlockWriteOpSpecResult"/>
1571
</choiceDefinition>
1572
1573
<choiceDefinition name="EPCParameter">
1574
<parameter type="EPCData"/>
1575
<parameter type="EPC_96"/>
1576
</choiceDefinition>
1577
1578
<parameterDefinition name="EPCData" typeNum="241" required="true">
1579
<annotation>
1580
<documentation>
1581
reference 13.2.3.2 and 16.2.7.3.1
1582
</documentation>
1583
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1584
<h:p>This parameter carries the EPC identifier information.</h:p>
1585
</description>
1586
</annotation>
1587
<field type="u1v" name="EPC" format="Hex"/>
1588
</parameterDefinition>
1589
1590
<parameterDefinition name="EPC_96" typeNum="13" required="false">
1591
<annotation>
1592
<documentation>
1593
reference 13.2.3.2 and 16.2.7.3.2
1594
</documentation>
1595
<description>
1596
<h:p>This parameter carries 96-bit EPC identifier information.</h:p>
1597
</description>
1598
</annotation>
1599
<field type="u96" name="EPC" format="Hex"/>
1600
</parameterDefinition>
1601
1602
<parameterDefinition name="ROSpecID" typeNum="9" required="true">
1603
<annotation>
1604
<documentation>
1605
reference 13.2.3.3 and 16.2.7.3.3
1606
</documentation>
1607
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1608
<h:p>This parameter carries the ROSpecID information.</h:p>
1609
</description>
1610
</annotation>
1611
<field type="u32" name="ROSpecID"/>
1612
</parameterDefinition>
1613
1614
<parameterDefinition name="SpecIndex" typeNum="14" required="true">
1615
<annotation>
1616
<documentation>
1617
reference 13.2.3.4 and 16.2.7.3.4
1618
</documentation>
1619
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1620
<h:p>This parameter carries the SpecIndex information. The SpecIndex indicates the item within the ROSpec that was being executed at the time the tag was observed.</h:p>
1621
</description>
1622
</annotation>
1623
<field type="u16" name="SpecIndex"/>
1624
</parameterDefinition>
1625
1626
<parameterDefinition name="InventoryParameterSpecID" typeNum="10" required="true">
1627
<annotation>
1628
<documentation>
1629
reference 13.2.3.5 and 16.2.7.3.5
1630
</documentation>
1631
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1632
<h:p>This parameter carries the InventoryParameterSpecID information.</h:p>
1633
</description>
1634
</annotation>
1635
<field type="u16" name="InventoryParameterSpecID"/>
1636
</parameterDefinition>
1637
1638
<parameterDefinition name="AntennaID" typeNum="1" required="true">
1639
<annotation>
1640
<documentation>
1641
reference 13.2.3.6 and 16.2.7.3.6
1642
</documentation>
1643
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1644
<h:p>This parameter carries the AntennaID information.</h:p>
1645
</description>
1646
</annotation>
1647
<field type="u16" name="AntennaID"/>
1648
</parameterDefinition>
1649
1650
<parameterDefinition name="PeakRSSI" typeNum="6" required="true">
1651
<annotation>
1652
<documentation>
1653
reference 13.2.3.7 and 16.2.7.3.7
1654
</documentation>
1655
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1656
<h:p>This parameter carries the PeakRSSI information.</h:p>
1657
<h:p>PeakRSSI: The peak received power of the EPC backscatter in dBm.</h:p>
1658
</description>
1659
</annotation>
1660
<field type="s8" name="PeakRSSI"/>
1661
</parameterDefinition>
1662
1663
<parameterDefinition name="ChannelIndex" typeNum="7" required="true">
1664
<annotation>
1665
<documentation>
1666
reference 13.2.3.8 and 16.2.7.3.8
1667
</documentation>
1668
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1669
<h:p>This parameter carries the one-based ChannelIndex informationvalue.</h:p>
1670
</description>
1671
</annotation>
1672
<field type="u16" name="ChannelIndex"/>
1673
</parameterDefinition>
1674
1675
<parameterDefinition name="FirstSeenTimestampUTC" typeNum="2" required="false">
1676
<annotation>
1677
<documentation>
1678
reference 13.2.3.9 and 16.2.7.3.9
1679
</documentation>
1680
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1681
<h:p>This parameter carries the FirstSeenTimestamp information in UTC.</h:p>
1682
<h:p>Compliant Readers and Clients that have UTC clocks <h:b>SHALL</h:b> implement this parameter.</h:p>
1683
<h:p>This is the time elapsed since the Epoch (00:00:00 UTC, January 1, 1970) measured in microseconds.</h:p>
1684
</description>
1685
</annotation>
1686
<field type="u64" name="Microseconds" format="Datetime"/>
1687
</parameterDefinition>
1688
1689
<parameterDefinition name="FirstSeenTimestampUptime" typeNum="3" required="false">
1690
<annotation>
1691
<documentation>
1692
reference 13.2.3.10 and 16.2.7.3.10
1693
</documentation>
1694
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1695
<h:p>This parameter carries the FirstSeenTimestamp information in Uptime.</h:p>
1696
<h:p>Compliant Readers and Clients that do not have UTC clocks <h:b>SHALL</h:b> implement this parameter. Compliant Readers and Clients that have UTC clocks <h:b>MAY</h:b> implement this parameter.</h:p>
1697
</description>
1698
</annotation>
1699
<field type="u64" name="Microseconds" format="Datetime"/>
1700
</parameterDefinition>
1701
1702
<parameterDefinition name="LastSeenTimestampUTC" typeNum="4" required="false">
1703
<annotation>
1704
<documentation>
1705
reference 13.2.3.11 and 16.2.7.3.11
1706
</documentation>
1707
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1708
<h:p>This parameter carries the LastSeenTimestamp information in UTC.</h:p>
1709
<h:p>This is the time elapsed since boot, measured in microseconds.</h:p>
1710
</description>
1711
</annotation>
1712
<field type="u64" name="Microseconds"/>
1713
</parameterDefinition>
1714
1715
<parameterDefinition name="LastSeenTimestampUptime" typeNum="5" required="false">
1716
<annotation>
1717
<documentation>
1718
reference 13.2.3.12 and 16.2.7.3.12
1719
</documentation>
1720
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1721
<h:p>This parameter carries the LastSeenTimestamp information in UTC.</h:p>
1722
<h:p>This is the time elapsed since the Epoch (00:00:00 UTC, January 1, 1970) measured in microseconds.</h:p>
1723
</description>
1724
</annotation>
1725
<field type="u64" name="Microseconds"/>
1726
</parameterDefinition>
1727
1728
<parameterDefinition name="TagSeenCount" typeNum="8" required="true">
1729
<annotation>
1730
<documentation>
1731
reference 13.2.3.13 and 16.2.7.3.13
1732
</documentation>
1733
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1734
<h:p>This parameter carries the tag seen count information. If TagSeenCount > 65535 for the report period, the reader <h:b>SHALL</h:b> report 65535.</h:p>
1735
</description>
1736
</annotation>
1737
<field type="u16" name="TagCount"/>
1738
</parameterDefinition>
1739
1740
<parameterDefinition name="AccessSpecID" typeNum="16" required="true">
1741
<annotation>
1742
<documentation>
1743
reference 13.2.3.15 and 16.2.7.3.15
1744
</documentation>
1745
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1746
<h:p>This parameter carries the AccessSpecID information.</h:p>
1747
</description>
1748
</annotation>
1749
<field type="u32" name="AccessSpecID"/>
1750
</parameterDefinition>
1751
1752
<parameterDefinition name="RFSurveyReportData" typeNum="242" required="false">
1753
<annotation>
1754
<documentation>
1755
reference 13.2.4 and 16.2.7.4
1756
</documentation>
1757
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1758
<h:p>This describes the content of the RF Survey Report.</h:p>
1759
</description>
1760
</annotation>
1761
<parameter repeat="0-1" type="ROSpecID"/>
1762
<parameter repeat="0-1" type="SpecIndex"/>
1763
<parameter repeat="1-N" type="FrequencyRSSILevelEntry"/>
1764
<parameter repeat="0-N" type="Custom"/>
1765
</parameterDefinition>
1766
1767
<parameterDefinition name="FrequencyRSSILevelEntry" typeNum="243" required="false">
1768
<annotation>
1769
<documentation>
1770
reference 13.2.4.1 and 16.2.7.4.1
1771
</documentation>
1772
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1773
<h:p>Description</h:p>
1774
<h:ul>
1775
<h:li><h:p>Frequency: The frequency on which the measurement was taken, specified in kHz.</h:p></h:li>
1776
<h:li><h:p>Bandwidth: The measurement bandwidth of the measurement in kHz.</h:p></h:li>
1777
<h:li><h:p>Average RSSI: The average power level observed at this frequency in dBm.</h:p></h:li>
1778
<h:li><h:p>Peak RSSI: The peak power level observed at this frequency in dBm.</h:p></h:li>
1779
</h:ul>
1780
</description>
1781
</annotation>
1782
<field type="u32" name="Frequency"/>
1783
<field type="u32" name="Bandwidth"/>
1784
<field type="s8" name="AverageRSSI"/>
1785
<field type="s8" name="PeakRSSI"/>
1786
<choice repeat="1" type="Timestamp"/>
1787
</parameterDefinition>
1788
1789
<choiceDefinition name="Timestamp">
1790
<parameter type="UTCTimestamp"/>
1791
<parameter type="Uptime"/>
1792
</choiceDefinition>
1793
1794
<parameterDefinition name="ReaderEventNotificationSpec" typeNum="244" required="true">
1795
<annotation>
1796
<documentation>
1797
reference 13.2.5 and 16.2.7.5
1798
</documentation>
1799
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1800
<h:p>This parameter is used by the Client to enable or disable notification of one or more Reader events. Notification of buffer overflow events and connection events (attempt/close) are mandatory, and not configurable.</h:p>
1801
</description>
1802
</annotation>
1803
<parameter repeat="1-N" type="EventNotificationState"/>
1804
</parameterDefinition>
1805
1806
<parameterDefinition name="EventNotificationState" typeNum="245" required="true">
1807
<annotation>
1808
<documentation>
1809
reference 13.2.5.1 and 16.2.7.5.1
1810
</documentation>
1811
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1812
<h:p>This parameter is used to enable or disable notification of a single Reader event type.</h:p>
1813
</description>
1814
</annotation>
1815
<field type="u16" name="EventType"
1816
enumeration="NotificationEventType"/>
1817
<field type="u1" name="NotificationState"/>
1818
<reserved bitCount="7"/>
1819
</parameterDefinition>
1820
1821
<enumerationDefinition name="NotificationEventType">
1822
<annotation>
1823
<documentation>
1824
reference 13.2.5.1
1825
</documentation>
1826
</annotation>
1827
<entry value="0" name="Upon_Hopping_To_Next_Channel"/>
1828
<entry value="1" name="GPI_Event"/>
1829
<entry value="2" name="ROSpec_Event"/>
1830
<entry value="3" name="Report_Buffer_Fill_Warning"/>
1831
<entry value="4" name="Reader_Exception_Event"/>
1832
<entry value="5" name="RFSurvey_Event"/>
1833
<entry value="6" name="AISpec_Event"/>
1834
<entry value="7" name="AISpec_Event_With_Details"/>
1835
<entry value="8" name="Antenna_Event"/>
1836
</enumerationDefinition>
1837
1838
<parameterDefinition name="ReaderEventNotificationData" typeNum="246" required="true">
1839
<annotation>
1840
<documentation>
1841
reference 13.2.6 and 16.2.7.6
1842
</documentation>
1843
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1844
<h:p>This parameter describes the contents of the event notification sent by the Reader, and defines the events that cause the notification to be sent. Event notification messages may be sent by the Reader due to connection establishment/closing event, critical events such as hopping, fault-detection in a Reader functional block, buffer overflow, due to the activation of a Reader accessory trigger input (e.g. motion detection), or due to performance monitoring events such as abnormalities in the RF environment.</h:p>
1845
<h:p>Timestamp is the time that the events reported occurred.</h:p>
1846
<h:p>LLRP assumes a reliable stream transport mechanism. Messages sent through LLRP will arrive in the order that they were sent over the transport and binding utilized. Status events within the same message <h:b>SHALL</h:b> be ordered chronologically.</h:p>
1847
<h:p>Status events delivered by reader event notifications are useful, especially in conjunction with the tag report data. The following describes the requirements of the reader event notifications ordering with respect to the ordering of tag reports and Reader Event Notifications. </h:p>
1848
<h:p>The following requirements are made on the ordering of Event Parameters with respect to each other and to tag report Parameters. These statements apply if the respective status events and report triggers are enabled. </h:p>
1849
<h:ul>
1850
<h:li><h:p>If the start of an ROSpec is triggered by a GPI, the GPIEvent Parameter <h:b>SHALL</h:b> be sent before the ROSpecEvent Parameter signaling the start of the ROSpec.</h:p></h:li>
1851
<h:li><h:p>If the end of an ROSpec is triggered by a GPI, the GPIEvent Parameter <h:b>SHALL</h:b> be sent before the ROSpecEvent Parameter signaling the end of the ROSpec.</h:p></h:li>
1852
<h:li><h:p>If an ROSpec contains one or more AISpecs, the ROSpecEvent parameter signaling the end of an ROSpec <h:b>SHALL</h:b> be sent after the AISpecEvent Parameter signaling the end of the last AISpec within that ROSpec.</h:p></h:li>
1853
<h:li><h:p>If one ROSpec pre-empts another ROSpec, the ROSpecEvent parameter signaling the preemption of the first ROSpec <h:b>SHALL</h:b> be sent before the ROSpecEvent parameter signaling the start of the next ROSpec.</h:p></h:li>
1854
<h:li><h:p>Tag data received during an ROSpec execution <h:b>SHALL</h:b> be sent between the ROSpecEvent parameter signaling the start of the ROSpec and the ROSpecEvent parameter signaling the end or preemption of the ROSpec if the ROReportTrigger is not set to "None".</h:p></h:li>
1855
<h:li><h:p>Tag data received during an AISpec execution <h:b>SHALL</h:b> be sent before the AISpecEvent Parameter signaling the end of the AISpec if the ROReportTrigger is not "None" or "end of RO Spec"</h:p></h:li>
1856
<h:li><h:p>Tag data received during the time on a channel <h:b>SHALL</h:b> be sent after the HoppingEvent parameter that announced this channel and before the next HoppingEvent parameter when the ROReportTrigger is not "None" and N=1.</h:p></h:li>
1857
</h:ul>
1858
</description>
1859
</annotation>
1860
<choice repeat="1" type="Timestamp"/>
1861
<parameter repeat="0-1" type="HoppingEvent"/>
1862
<parameter repeat="0-1" type="GPIEvent"/>
1863
<parameter repeat="0-1" type="ROSpecEvent"/>
1864
<parameter repeat="0-1" type="ReportBufferLevelWarningEvent"/>
1865
<parameter repeat="0-1" type="ReportBufferOverflowErrorEvent"/>
1866
<parameter repeat="0-1" type="ReaderExceptionEvent"/>
1867
<parameter repeat="0-1" type="RFSurveyEvent"/>
1868
<parameter repeat="0-1" type="AISpecEvent"/>
1869
<parameter repeat="0-1" type="AntennaEvent"/>
1870
<parameter repeat="0-1" type="ConnectionAttemptEvent"/>
1871
<parameter repeat="0-1" type="ConnectionCloseEvent"/>
1872
<parameter repeat="0-N" type="Custom"/>
1873
</parameterDefinition>
1874
1875
<parameterDefinition name="HoppingEvent" typeNum="247" required="true">
1876
<annotation>
1877
<documentation>
1878
reference 13.2.6.2 and 16.2.7.6.1
1879
</documentation>
1880
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1881
<h:p>A Reader reports this event every time it hops frequency.</h:p>
1882
<h:p>NextChannelIndex: This is the one-based ChannelIindex of the next channel to which the Reader is going to hop change to. The channel Ids are listed in the Frequency Hop Table.</h:p>
1883
</description>
1884
</annotation>
1885
<field type="u16" name="HopTableID"/>
1886
<field type="u16" name="NextChannelIndex"/>
1887
</parameterDefinition>
1888
1889
<parameterDefinition name="GPIEvent" typeNum="248" required="true">
1890
<annotation>
1891
<documentation>
1892
reference 13.2.6.3 and 16.2.7.6.2
1893
</documentation>
1894
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1895
<h:p>A reader reports this event every time an enabled GPI changes GPIstate.</h:p>
1896
</description>
1897
</annotation>
1898
<field type="u16" name="GPIPortNumber"/>
1899
<field type="u1" name="GPIEvent"/>
1900
<reserved bitCount="7"/>
1901
</parameterDefinition>
1902
1903
<parameterDefinition name="ROSpecEvent" typeNum="249" required="true">
1904
<annotation>
1905
<documentation>
1906
reference 13.2.6.4 and 16.2.7.6.3
1907
</documentation>
1908
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1909
<h:p>This parameter carries the ROSpec event details. The EventType could be start or end of the ROSpec.</h:p>
1910
<h:p>ROSpecID: This is the ID of the ROSpec that started, ended or got preempted.</h:p>
1911
</description>
1912
</annotation>
1913
<field type="u8" name="EventType"
1914
enumeration="ROSpecEventType"/>
1915
<field type="u32" name="ROSpecID"/>
1916
<field type="u32" name="PreemptingROSpecID"/>
1917
</parameterDefinition>
1918
1919
<enumerationDefinition name="ROSpecEventType">
1920
<annotation>
1921
<documentation>
1922
reference 13.2.6.4
1923
</documentation>
1924
</annotation>
1925
<entry value="0" name="Start_Of_ROSpec"/>
1926
<entry value="1" name="End_Of_ROSpec"/>
1927
<entry value="2" name="Preemption_Of_ROSpec"/>
1928
</enumerationDefinition>
1929
1930
<parameterDefinition name="ReportBufferLevelWarningEvent" typeNum="250" required="false">
1931
<annotation>
1932
<documentation>
1933
reference 13.2.6.5 and 16.2.7.6.4
1934
</documentation>
1935
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1936
<h:p>A Reader can warn the Client that the Reader's report buffer is filling up. A Client can act upon this warning by requesting report data from the Reader, thereby freeing the Reader's report memory resources.</h:p>
1937
<h:p>A Reader <h:b>MAY</h:b> send a report buffer level warning event whenever the Reader senses that its report memory resources are running short. The buffer level at which a warning is reported is Reader implementation dependent. A Client <h:b>MAY</h:b> act upon a report buffer level warning event by requesting report data from the Reader and thereby free report memory resources in the Reader.</h:p>
1938
</description>
1939
</annotation>
1940
<field type="u8" name="ReportBufferPercentageFull"/>
1941
</parameterDefinition>
1942
1943
<parameterDefinition name="ReportBufferOverflowErrorEvent" typeNum="251" required="true">
1944
<annotation>
1945
<documentation>
1946
reference 13.2.6.6 and 16.2.7.6.5
1947
</documentation>
1948
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1949
<h:p>A Reader reports a buffer overflow event whenever report data is lost due to lack of memory resources.</h:p>
1950
<h:p>A Reader <h:b>SHALL</h:b> report a buffer overflow event whenever report data is lost due to lack of memory resources.</h:p>
1951
</description>
1952
</annotation>
1953
</parameterDefinition>
1954
1955
<parameterDefinition name="ReaderExceptionEvent" typeNum="252" required="false">
1956
<annotation>
1957
<documentation>
1958
reference 13.2.6.7 and 16.2.7.6.6
1959
</documentation>
1960
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1961
<h:p>The reader exception status event notifies the client that an unexpected event has occurred on the reader. Optional parameters provide more detail to the client as to the nature and scope of the event.</h:p>
1962
</description>
1963
</annotation>
1964
<field type="utf8v" name="Message" format="UTF8"/>
1965
<parameter repeat="0-1" type="ROSpecID"/>
1966
<parameter repeat="0-1" type="SpecIndex"/>
1967
<parameter repeat="0-1" type="InventoryParameterSpecID"/>
1968
<parameter repeat="0-1" type="AntennaID"/>
1969
<parameter repeat="0-1" type="AccessSpecID"/>
1970
<parameter repeat="0-1" type="OpSpecID"/>
1971
<parameter repeat="0-N" type="Custom"/>
1972
</parameterDefinition>
1973
1974
<parameterDefinition name="OpSpecID" typeNum="17" required="true">
1975
<annotation>
1976
<documentation>
1977
reference 13.2.6.7.1 and 16.2.7.6.6.1
1978
</documentation>
1979
<description>
1980
<h:p>Reports the OpSpecID in the reader exception event</h:p>
1981
</description>
1982
</annotation>
1983
<field type="u16" name="OpSpecID"/>
1984
</parameterDefinition>
1985
1986
<parameterDefinition name="RFSurveyEvent" typeNum="253" required="false">
1987
<annotation>
1988
<documentation>
1989
reference 13.2.6.8 and 16.2.7.6.7
1990
</documentation>
1991
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
1992
<h:p>ROSpecID: The identifier of the ROSpec that contains the RFSurveySpec.</h:p>
1993
</description>
1994
</annotation>
1995
<field type="u8" name="EventType"
1996
enumeration="RFSurveyEventType"/>
1997
<field type="u32" name="ROSpecID"/>
1998
<field type="u16" name="SpecIndex"/>
1999
</parameterDefinition>
2000
2001
<enumerationDefinition name="RFSurveyEventType">
2002
<annotation>
2003
<documentation>
2004
reference 13.2.6.8
2005
</documentation>
2006
</annotation>
2007
<entry value="0" name="Start_Of_RFSurvey"/>
2008
<entry value="1" name="End_Of_RFSurvey"/>
2009
</enumerationDefinition>
2010
2011
<parameterDefinition name="AISpecEvent" typeNum="254" required="true">
2012
<annotation>
2013
<documentation>
2014
reference 13.2.6.9 and 16.2.7.6.8
2015
</documentation>
2016
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2017
<h:p>This parameter carries the AISpec event details. The EventType is the end of the AISpec. When reporting the end event, the AirProtocolSingulationDetails <h:b>MAY</h:b> be reported if it is supported by the Reader and EventType of 7 has been enabled (Section 13.2.5.1).</h:p>
2018
</description>
2019
</annotation>
2020
<field type="u8" name="EventType"
2021
enumeration="AISpecEventType"/>
2022
<field type="u32" name="ROSpecID"/>
2023
<field type="u16" name="SpecIndex"/>
2024
<choice repeat="0-1" type="AirProtocolSingulationDetails"/>
2025
</parameterDefinition>
2026
2027
<enumerationDefinition name="AISpecEventType">
2028
<annotation>
2029
<documentation>
2030
reference 13.2.6.9
2031
</documentation>
2032
</annotation>
2033
<entry value="0" name="End_Of_AISpec"/>
2034
</enumerationDefinition>
2035
2036
<parameterDefinition name="AntennaEvent" typeNum="255" required="false">
2037
<annotation>
2038
<documentation>
2039
reference 13.2.6.10 and 16.2.7.6.9
2040
</documentation>
2041
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2042
<h:p>This event is generated when the Reader detects that an antenna is connected or disconnected.</h:p>
2043
</description>
2044
</annotation>
2045
<field type="u8" name="EventType"
2046
enumeration="AntennaEventType"/>
2047
<field type="u16" name="AntennaID"/>
2048
</parameterDefinition>
2049
2050
<enumerationDefinition name="AntennaEventType">
2051
<annotation>
2052
<documentation>
2053
reference 13.2.6.10
2054
</documentation>
2055
2056
</annotation>
2057
<entry value="0" name="Antenna_Disconnected"/>
2058
<entry value="1" name="Antenna_Connected"/>
2059
</enumerationDefinition>
2060
2061
<parameterDefinition name="ConnectionAttemptEvent" typeNum="256" required="true">
2062
<annotation>
2063
<documentation>
2064
reference 13.2.6.11 and 16.2.7.6.10
2065
</documentation>
2066
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2067
<h:p>This status report parameter establishes Reader connection status when the Client or Reader initiates a connection. See section 18.1, TCP Transport, for more details regarding the use of this report.</h:p>
2068
</description>
2069
</annotation>
2070
<field type="u16" name="Status"
2071
enumeration="ConnectionAttemptStatusType"/>
2072
</parameterDefinition>
2073
2074
<enumerationDefinition name="ConnectionAttemptStatusType">
2075
<annotation>
2076
<documentation>
2077
reference 13.2.6.11
2078
</documentation>
2079
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2080
</description>
2081
</annotation>
2082
<entry value="0" name="Success"/>
2083
<entry value="1" name="Failed_A_Reader_Initiated_Connection_Already_Exists"/>
2084
<entry value="2" name="Failed_A_Client_Initiated_Connection_Already_Exists"/>
2085
<entry value="3" name="Failed_Reason_Other_Than_A_Connection_Already_Exists"/>
2086
<entry value="4" name="Another_Connection_Attempted"/>
2087
</enumerationDefinition>
2088
2089
<parameterDefinition name="ConnectionCloseEvent" typeNum="257" required="true">
2090
<annotation>
2091
<documentation>
2092
reference 13.2.6.12 and 16.2.7.6.11
2093
</documentation>
2094
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2095
<h:p>This status report parameter informs the Client that, unsolicited by the Client, the Reader will close the connection between the Reader and Client. Before the Reader closes a connection with the Client that is not solicited by the Client, the Reader <h:b>SHALL</h:b> first attempt to send a READER_EVENT_NOTIFICATION containing this parameter to the Client.</h:p>
2096
<h:p>Once the Reader sends this event to the Client, the Reader <h:b>SHALL</h:b> close the connection to the Client. This is also to say that, once the Reader sends this event, the Reader <h:b>SHALL</h:b> send no additional messages to the Client and the Reader <h:b>SHALL</h:b> ignore any messages received from the Client until another new connection is established.</h:p>
2097
</description>
2098
</annotation>
2099
</parameterDefinition>
2100
2101
<messageDefinition name="ERROR_MESSAGE" typeNum="100" required="true">
2102
<annotation>
2103
<documentation>
2104
reference 14.1.1 and 16.1.35
2105
</documentation>
2106
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2107
<h:p>The Reader <h:b>SHALL</h:b> discard the message if there is at least one error in the message, or cannot be fully processed. In addition, no portion of the message containing an error <h:b>SHALL</h:b> be executed by the Reader. In case the message has one or more errors, the Reader <h:b>SHALL</h:b> return at least one error parameter for one of the errors. The Reader <h:b>MAY</h:b> return more than one error parameter, one for each error. The errors are conveyed using a combination of "generic error codes", a pointer to the culprit parameter/field, and a description of the error encoded as a string of UTF-8 characters.</h:p>
2108
<h:p>Typically the errors in the LLRP defined messages are conveyed inside of the responses from the Reader. However, in cases where the message received by the Reader contains an unsupported message type, or a CUSTOM_MESSAGE with unsupported parameters or fields, the Reader <h:b>SHALL</h:b> respond with the ERROR_MESSAGE.</h:p>
2109
<h:p>When a Reader or Client receives a command or notification with a version that is not supported, the receiver <h:b>SHALL</h:b> send an ERROR_MESSAGE in reply consisting of: A version that is the same as the received message, the message ID that matches the received message, and an LLRPStatusParameter with the ErrorCode set to M_UnsupportedVersion. This message <h:b>SHALL</h:b> contain no sub-parameters (such as Field Error, Parameter Error).</h:p>
2110
<h:p>Readers and Clients <h:b>SHALL</h:b> not respond to an ERROR_MESSAGE. </h:p>
2111
<h:p>This message is issued by the Reader to the Client, and it contains the LLRPStatus parameter that describes the error in the message.</h:p>
2112
</description>
2113
</annotation>
2114
<parameter repeat="1" type="LLRPStatus"/>
2115
</messageDefinition>
2116
2117
<enumerationDefinition name="StatusCode">
2118
<annotation>
2119
<documentation>
2120
reference 14.2.1
2121
</documentation>
2122
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2123
<h:p>Status can be a success or one of the error conditions. This section lists a set of generic error conditions that, in combination with the identifier of the culprit field, conveys the error condition. The codes are broken into four scopes: message, parameter, field and device. The device code indicates that the error is in the Reader device rather than the message, parameter or field.</h:p>
2124
</description>
2125
</annotation>
2126
<entry value="0" name="M_Success"/>
2127
<entry value="100" name="M_ParameterError"/>
2128
<entry value="101" name="M_FieldError"/>
2129
<entry value="102" name="M_UnexpectedParameter"/>
2130
<entry value="103" name="M_MissingParameter"/>
2131
<entry value="104" name="M_DuplicateParameter"/>
2132
<entry value="105" name="M_OverflowParameter"/>
2133
<entry value="106" name="M_OverflowField"/>
2134
<entry value="107" name="M_UnknownParameter"/>
2135
<entry value="108" name="M_UnknownField"/>
2136
<entry value="109" name="M_UnsupportedMessage"/>
2137
<entry value="110" name="M_UnsupportedVersion"/>
2138
<entry value="111" name="M_UnsupportedParameter"/>
2139
<entry value="200" name="P_ParameterError"/>
2140
<entry value="201" name="P_FieldError"/>
2141
<entry value="202" name="P_UnexpectedParameter"/>
2142
<entry value="203" name="P_MissingParameter"/>
2143
<entry value="204" name="P_DuplicateParameter"/>
2144
<entry value="205" name="P_OverflowParameter"/>
2145
<entry value="206" name="P_OverflowField"/>
2146
<entry value="207" name="P_UnknownParameter"/>
2147
<entry value="208" name="P_UnknownField"/>
2148
<entry value="209" name="P_UnsupportedParameter"/>
2149
<entry value="300" name="A_Invalid"/>
2150
<entry value="301" name="A_OutOfRange"/>
2151
<entry value="401" name="R_DeviceError"/>
2152
</enumerationDefinition>
2153
2154
<parameterDefinition name="LLRPStatus" typeNum="287" required="true">
2155
<annotation>
2156
<documentation>
2157
reference 14.2.2 and 16.2.8.1
2158
</documentation>
2159
</annotation>
2160
<field type="u16" name="StatusCode"
2161
enumeration="StatusCode"/>
2162
<field type="utf8v" name="ErrorDescription" format="UTF8"/>
2163
<parameter repeat="0-1" type="FieldError"/>
2164
<parameter repeat="0-1" type="ParameterError"/>
2165
</parameterDefinition>
2166
2167
<parameterDefinition name="FieldError" typeNum="288" required="true">
2168
<annotation>
2169
<documentation>
2170
reference 14.2.2.1 and 16.2.8.1.1
2171
</documentation>
2172
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2173
<h:p>FieldNum: Field number for which the error applies. The fields are numbered after the order in which they appear in the parameter or message body.</h:p>
2174
</description>
2175
</annotation>
2176
<field type="u16" name="FieldNum"/>
2177
<field type="u16" name="ErrorCode"
2178
enumeration="StatusCode"/>
2179
</parameterDefinition>
2180
2181
<parameterDefinition name="ParameterError" typeNum="289" required="true">
2182
<annotation>
2183
<documentation>
2184
reference 14.2.2.2 and 16.2.8.1.2
2185
</documentation>
2186
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2187
<h:p>The parameter type that caused this error.</h:p>
2188
</description>
2189
</annotation>
2190
<field type="u16" name="ParameterType"/>
2191
<field type="u16" name="ErrorCode"
2192
enumeration="StatusCode"/>
2193
<parameter repeat="0-1" type="FieldError"/>
2194
<parameter repeat="0-1" type="ParameterError"/>
2195
</parameterDefinition>
2196
2197
<parameterDefinition name="C1G2LLRPCapabilities" typeNum="327" required="true">
2198
<annotation>
2199
<documentation>
2200
reference 15.2.1.1.1 and 16.3.1.1.1
2201
</documentation>
2202
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2203
<h:p>Readers <h:b>MAY</h:b> support BlockErase, and <h:b>MAY</h:b> support BlockWrite. Readers <h:b>SHALL</h:b> support at least one select filter per query. </h:p>
2204
</description>
2205
</annotation>
2206
<field type="u1" name="CanSupportBlockErase"/>
2207
<field type="u1" name="CanSupportBlockWrite"/>
2208
<reserved bitCount="6"/>
2209
<field type="u16" name="MaxNumSelectFiltersPerQuery"/>
2210
</parameterDefinition>
2211
2212
<parameterDefinition name="C1G2UHFRFModeTable" typeNum="328" required="true">
2213
<annotation>
2214
<documentation>
2215
reference 15.2.1.1.2 and 16.3.1.1.2
2216
</documentation>
2217
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2218
<h:p>This parameter carries the set of C1G2 RF modes that the Reader is capable of operating.</h:p>
2219
</description>
2220
</annotation>
2221
<parameter repeat="1-N" type="C1G2UHFRFModeTableEntry"/>
2222
</parameterDefinition>
2223
2224
<parameterDefinition name="C1G2UHFRFModeTableEntry" typeNum="329" required="true">
2225
<annotation>
2226
<documentation>
2227
reference 15.2.1.1.2.1 and 16.3.1.1.2.1
2228
</documentation>
2229
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2230
<h:p>This parameter carries the information for each UHFC1G2 RF mode. A mode that has been tested for conformance by the EPCGlobal Hardware Action Group's Testing and Conformance (HAG T and C) group, is indicated using a conformance flag.</h:p>
2231
</description>
2232
</annotation>
2233
<field type="u32" name="ModeIdentifier"/>
2234
<field type="u1" name="DRValue"
2235
enumeration="C1G2DRValue"/>
2236
<field type="u1" name="EPCHAGTCConformance"/>
2237
<reserved bitCount="6"/>
2238
<field type="u8" name="MValue"
2239
enumeration="C1G2MValue"/>
2240
<field type="u8" name="ForwardLinkModulation"
2241
enumeration="C1G2ForwardLinkModulation"/>
2242
<field type="u8" name="SpectralMaskIndicator"
2243
enumeration="C1G2SpectralMaskIndicator"/>
2244
<field type="u32" name="BDRValue"/>
2245
<field type="u32" name="PIEValue"/>
2246
<field type="u32" name="MinTariValue"/>
2247
<field type="u32" name="MaxTariValue"/>
2248
<field type="u32" name="StepTariValue"/>
2249
</parameterDefinition>
2250
2251
<enumerationDefinition name="C1G2DRValue">
2252
<annotation>
2253
<documentation>
2254
reference 15.2.1.1.2.1
2255
</documentation>
2256
</annotation>
2257
<entry value="0" name="DRV_8"/>
2258
<entry value="1" name="DRV_64_3"/>
2259
</enumerationDefinition>
2260
2261
<enumerationDefinition name="C1G2MValue">
2262
<annotation>
2263
<documentation>
2264
reference 15.2.1.1.2.1
2265
</documentation>
2266
</annotation>
2267
<entry value="0" name="MV_FM0"/>
2268
<entry value="1" name="MV_2"/>
2269
<entry value="2" name="MV_4"/>
2270
<entry value="3" name="MV_8"/>
2271
</enumerationDefinition>
2272
2273
<enumerationDefinition name="C1G2ForwardLinkModulation">
2274
<annotation>
2275
<documentation>
2276
reference 15.2.1.1.2.1
2277
</documentation>
2278
</annotation>
2279
<entry value="0" name="PR_ASK"/>
2280
<entry value="1" name="SSB_ASK"/>
2281
<entry value="2" name="DSB_ASK"/>
2282
</enumerationDefinition>
2283
2284
<enumerationDefinition name="C1G2SpectralMaskIndicator">
2285
<annotation>
2286
<documentation>
2287
reference 15.2.1.1.2.1
2288
</documentation>
2289
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2290
<h:p>Description</h:p>
2291
<h:ul>
2292
<h:li><h:p>0: Unknown</h:p></h:li>
2293
<h:li><h:p>1: SI -Meets [C1G2] Single-Interrogator Mode Mask</h:p></h:li>
2294
<h:li><h:p>2: MI - Meets [C1G2] Multi-Interrogator Mode Mask</h:p></h:li>
2295
<h:li><h:p>3: DI - Meets [C1G2] Dense-Interrogator Mode Mask</h:p></h:li>
2296
</h:ul>
2297
</description>
2298
</annotation>
2299
<entry value="0" name="Unknown"/>
2300
<entry value="1" name="SI"/>
2301
<entry value="2" name="MI"/>
2302
<entry value="3" name="DI"/>
2303
</enumerationDefinition>
2304
2305
<parameterDefinition name="C1G2InventoryCommand" typeNum="330" required="true">
2306
<annotation>
2307
<documentation>
2308
reference 15.2.1.2.1 and 16.3.1.2.1
2309
</documentation>
2310
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2311
<h:p>This parameter defines the C1G2 inventory-specific settings to be used during a particular C1G2 inventory operation. This comprises of C1G2Filter Parameter, C1G2RF Parameter and C1G2Singulation Parameter. It is not necessary that the Filter, RF Control and Singulation Control Parameters be specified in each and every inventory command. They are optional parameters. If not specified, the default values in the Reader are used during the inventory operation. If multiple C1G2Filter parameters are encapsulated by the Client in the C1G2InventoryCommand parameter, the ordering of the filter parameters determine the order of C1G2 air-protocol commands (e.g., Select command) generated by the Reader.</h:p>
2312
<h:p>The TagInventoryStateAware flag is used to determine how to process all the C1G2Filter and C1G2Singulation parameters in this command. At a functional level, if the Client is managing the tag states during an inventory operation, it would set that flag to true and pass the appropriate fields in the C1G2 Filter and C1G2 Singulation parameters. If a reader set CanDoTagInventoryStateAwareSingulation to False in LLRPCapabilities (section 9.2.2), it <h:b>SHALL</h:b> ignore the TagInventoryStateAware flag.</h:p>
2313
</description>
2314
</annotation>
2315
<field type="u1" name="TagInventoryStateAware"/>
2316
<reserved bitCount="7"/>
2317
<parameter repeat="0-N" type="C1G2Filter"/>
2318
<parameter repeat="0-1" type="C1G2RFControl"/>
2319
<parameter repeat="0-1" type="C1G2SingulationControl"/>
2320
<parameter repeat="0-N" type="Custom"/>
2321
</parameterDefinition>
2322
2323
<parameterDefinition name="C1G2Filter" typeNum="331" required="true">
2324
<annotation>
2325
<documentation>
2326
reference 15.2.1.2.1.1 and 16.3.1.2.1.1
2327
</documentation>
2328
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2329
<h:p>This parameter carries information specific to C1G2 filter (in particular, the parameters for the select command) operation, and are optionally sent with each inventory command from the Client to the Reader. This sets up the target tag population that gets inventoried. For an inventory operation with multiple filters, multiple instances of filter parameters are sent. A filter parameter contains the following fields:</h:p>
2330
<h:ul>
2331
<h:li><h:p>Target tag mask: This contains the information for the tag memory data pattern used for the select operation.</h:p></h:li>
2332
<h:li><h:p>T: This value is set if the Client is interested in only a truncated portion of the tag to be backscattered by the tag. The portion that gets backscattered includes the portion of the tag ID following the mask. This bit has to be set only in the last filter-spec.</h:p></h:li>
2333
<h:li><h:p>TagInventoryStateAwareFilterAction: This is used if the TagInventoryStateAware flag is set to true in the InventoryParameterSpec. </h:p></h:li>
2334
<h:li><h:p>TagInventoryStateUnawareFilterAction: This is used if the TagInventoryStateAware flag is set to false in the InventoryParameterSpec.</h:p></h:li>
2335
</h:ul>
2336
</description>
2337
</annotation>
2338
<field type="u2" name="T"
2339
enumeration="C1G2TruncateAction"/>
2340
<reserved bitCount="6"/>
2341
<parameter repeat="1" type="C1G2TagInventoryMask"/>
2342
<parameter repeat="0-1" type="C1G2TagInventoryStateAwareFilterAction"/>
2343
<parameter repeat="0-1" type="C1G2TagInventoryStateUnawareFilterAction"/>
2344
</parameterDefinition>
2345
2346
<enumerationDefinition name="C1G2TruncateAction">
2347
<annotation>
2348
<documentation>
2349
reference 15.2.1.2.1.1
2350
</documentation>
2351
</annotation>
2352
<entry value="0" name="Unspecified"/>
2353
<entry value="1" name="Do_Not_Truncate"/>
2354
<entry value="2" name="Truncate"/>
2355
</enumerationDefinition>
2356
2357
<parameterDefinition name="C1G2TagInventoryMask" typeNum="332" required="true">
2358
<annotation>
2359
<documentation>
2360
reference 15.2.1.2.1.1.1 and 16.3.1.2.1.1.1
2361
</documentation>
2362
</annotation>
2363
<field type="u2" name="MB"/>
2364
<reserved bitCount="6"/>
2365
<field type="u16" name="Pointer"/>
2366
<field type="u1v" name="TagMask" format="Hex"/>
2367
</parameterDefinition>
2368
2369
<parameterDefinition name="C1G2TagInventoryStateAwareFilterAction" typeNum="333" required="false">
2370
<annotation>
2371
<documentation>
2372
reference 15.2.1.2.1.1.2 and 16.3.1.2.1.1.2
2373
</documentation>
2374
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2375
<h:p>This parameter is used by the Client to manage the tag states during an inventory operation. In order to use this parameter during inventory, the TagInventoryStateAware flag is set to true in the InventoryParameterSpec. This parameter contains:</h:p>
2376
<h:ul>
2377
<h:li><h:p>Target: This value indicates which flag in the tag to modify - whether the SL flag or its inventoried flag for a particular session.</h:p></h:li>
2378
<h:li><h:p>Action describes the action for matching and non-matching tags. The actions are specific about the tag-inventory states - e.g., do nothing, assert or deassert SL, assign inventoried S0/S1/S2/S3 to A or B.</h:p></h:li>
2379
<h:p>Readers that do not support tag inventory state aware singulation <h:b>SHALL</h:b> set CanDoTagInventoryStateAwareSingulation to false in LLRPCapabilities</h:p>
2380
</h:ul>
2381
</description>
2382
</annotation>
2383
<field type="u8" name="Target"
2384
enumeration="C1G2StateAwareTarget"/>
2385
<field type="u8" name="Action"
2386
enumeration="C1G2StateAwareAction"/>
2387
</parameterDefinition>
2388
2389
<enumerationDefinition name="C1G2StateAwareTarget">
2390
<annotation>
2391
<documentation>
2392
reference 15.2.1.2.1.1.2
2393
</documentation>
2394
</annotation>
2395
<entry value="0" name="SL"/>
2396
<entry value="1" name="Inventoried_State_For_Session_S0"/>
2397
<entry value="2" name="Inventoried_State_For_Session_S1"/>
2398
<entry value="3" name="Inventoried_State_For_Session_S2"/>
2399
<entry value="4" name="Inventoried_State_For_Session_S3"/>
2400
</enumerationDefinition>
2401
2402
<enumerationDefinition name="C1G2StateAwareAction">
2403
<annotation>
2404
<documentation>
2405
reference 15.2.1.2.1.1.2
2406
</documentation>
2407
</annotation>
2408
<entry value="0" name="AssertSLOrA_DeassertSLOrB"/>
2409
<entry value="1" name="AssertSLOrA_Noop"/>
2410
<entry value="2" name="Noop_DeassertSLOrB"/>
2411
<entry value="3" name="NegateSLOrABBA_Noop"/>
2412
<entry value="4" name="DeassertSLOrB_AssertSLOrA"/>
2413
<entry value="5" name="DeassertSLOrB_Noop"/>
2414
<entry value="6" name="Noop_AssertSLOrA"/>
2415
<entry value="7" name="Noop_NegateSLOrABBA"/>
2416
</enumerationDefinition>
2417
2418
<parameterDefinition name="C1G2TagInventoryStateUnawareFilterAction" typeNum="334" required="true">
2419
<annotation>
2420
<documentation>
2421
reference 15.2.1.2.1.1.3 and 16.3.1.2.1.1.3
2422
</documentation>
2423
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2424
<h:p>This parameter is used by the Client if it does not want to manage the tag states during an inventory operation. Using this parameter, the Client instructs the Reader about the tags that should and should not participate in the inventory action. In order to use this parameter during inventory, the TagInventoryStateAware flag is set to false in the InventoryParameterSpec. This parameter contains:</h:p>
2425
<h:ul>
2426
<h:li><h:p>Action describes the action for matching and non-matching tags. However, the action is simply specifying whether matching or non-matching tags partake in this inventory. The Reader is expected to handle the tag inventory states to facilitate this.</h:p></h:li>
2427
</h:ul>
2428
<h:p>In this parameter, Action=Select means search for pattern in Inventory, and Action=Unselect means do not search for pattern in Inventory.</h:p>
2429
</description>
2430
</annotation>
2431
<field type="u8" name="Action"
2432
enumeration="C1G2StateUnawareAction"/>
2433
</parameterDefinition>
2434
2435
<enumerationDefinition name="C1G2StateUnawareAction">
2436
<annotation>
2437
<documentation>
2438
reference 15.2.1.2.1.1.3
2439
</documentation>
2440
</annotation>
2441
<entry value="0" name="Select_Unselect"/>
2442
<entry value="1" name="Select_DoNothing"/>
2443
<entry value="2" name="DoNothing_Unselect"/>
2444
<entry value="3" name="Unselect_DoNothing"/>
2445
<entry value="4" name="Unselect_Select"/>
2446
<entry value="5" name="DoNothing_Select"/>
2447
</enumerationDefinition>
2448
2449
<parameterDefinition name="C1G2RFControl" typeNum="335" required="true">
2450
<annotation>
2451
<documentation>
2452
reference 15.2.1.2.1.2 and 16.3.1.2.1.2
2453
</documentation>
2454
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2455
<h:p>This Parameter carries the settings relevant to RF forward and reverse link control in the C1G2 air protocol. This is basically the C1G2 RF Mode and the Tari value to use for the inventory operation.</h:p>
2456
<h:p>Tari: Value of Tari to use for this mode specified in nsec. This is specified if the mode selected has a Tari range. If the selected mode has a range, and the Tari is set to zero, the Reader implementation picks up any Tari value within the range. If the selected mode has a range, and the specified Tari is out of that range and is not set to zero, an error message is generated.</h:p>
2457
</description>
2458
</annotation>
2459
<field type="u16" name="ModeIndex"/>
2460
<field type="u16" name="Tari"/>
2461
</parameterDefinition>
2462
2463
<parameterDefinition name="C1G2SingulationControl" typeNum="336" required="true">
2464
<annotation>
2465
<documentation>
2466
reference 15.2.1.2.1.3 and 16.3.1.2.1.3
2467
</documentation>
2468
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2469
<h:p>This C1G2SingulationControl Parameter provides controls particular to the singulation process in the C1G2 air protocol. The singulation process is started using a Query command in the C1G2 protocol. The Query command describes the session number, tag state, the start Q value to use, and the RF link parameters. The RF link parameters are specified using the C1G2RFControl Parameter (see section 15.2.1.2.1.2). This Singulation Parameter specifies the session, tag state and description of the target singulation environment. The following attributes are specified to provide guidance to the Reader for the singulation algorithm:</h:p>
2470
<h:ul>
2471
<h:li><h:p>Tag transit time: This is the measure of expected tag mobility in the field of view of the antenna where this inventory operation is getting executed.</h:p></h:li>
2472
<h:li><h:p>Tag population: This is the expected tag population in the field of view of the antenna.</h:p></h:li>
2473
</h:ul>
2474
<h:p>In addition, the Singulation Parameter allows setting of the following:</h:p>
2475
<h:ul>
2476
<h:li><h:p>Session ID: This is the C1G2 session number that the tags use to update the inventory state upon successful singulation.</h:p></h:li>
2477
<h:li><h:p>TagInventoryStateAwareSingulationAction: This is used if the TagInventoryStateAware flag is set to true in the InventoryParameterSpec.</h:p>
2478
<h:ul>
2479
<h:li><h:p> I: This is the inventoried state of the target tag population in the selected session. Only tags that match the session state participate in the inventory round. If the Ignore value is specified, the Reader ignores this field, and its up to the Reader implementation to determine the value of I used in the inventory round.</h:p></h:li>
2480
<h:li><h:p> S: This is the state of the SL flag in the tag. Only tags that match that tag state participate in the inventory round. If the Ignore value is specified, the Reader ignores this field, and its up to the Reader implementation to determine the value of S used in the inventory round.</h:p></h:li>
2481
</h:ul></h:li>
2482
</h:ul>
2483
<h:p>If a reader sets CanDoTagInventoryStateAwareSingulation to False in LLRPCapabilities (section 9.2.2), it <h:b>SHALL</h:b> ignore the TagInventoryStateAwareSingulationAction field.</h:p>
2484
</description>
2485
</annotation>
2486
<field type="u2" name="Session"/>
2487
<reserved bitCount="6"/>
2488
<field type="u16" name="TagPopulation"/>
2489
<field type="u32" name="TagTransitTime"/>
2490
<parameter repeat="0-1" type="C1G2TagInventoryStateAwareSingulationAction"/>
2491
</parameterDefinition>
2492
2493
<parameterDefinition name="C1G2TagInventoryStateAwareSingulationAction" typeNum="337" required="false">
2494
<annotation>
2495
<documentation>
2496
reference 15.2.1.2.1.3.1 and 16.3.1.2.1.3.1
2497
</documentation>
2498
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2499
Readers that do not support tag inventory state aware singulation <h:b>SHALL</h:b> set CanDoTagInventoryStateAwareSingulation to false in LLRPCapabilities.
2500
</description>
2501
</annotation>
2502
<field type="u1" name="I"/>
2503
<field type="u1" name="S"/>
2504
<reserved bitCount="6"/>
2505
</parameterDefinition>
2506
2507
<parameterDefinition name="C1G2TagSpec" typeNum="338" required="true">
2508
<annotation>
2509
<documentation>
2510
reference 15.2.1.3.1 and 16.3.1.3.1
2511
</documentation>
2512
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2513
<h:p>This parameter describes the target tag population on which certain operations have to be performed. This Parameter is similar to the selection C1G2Filter Parameter described earlier. However, because these tags are stored in the Reader's memory and ternary comparisons are to be allowed for, each bit i in the target tag is represented using 2 bits - bit i in mask, and bit i in tag pattern. If bit i in the mask is zero, then bit i of the target tag is a don't care (X); if bit i in the mask is one, then bit i of the target tag is bit i of the tag pattern. For example, "all tags" is specified using a mask length of zero.</h:p>
2514
<h:p>This parameter can carry up to two tag patterns. If more than one pattern is present, a Boolean AND is implied. Each tag pattern has a match or a non-match flag, allowing (A and B,!A and B, !A and !B, A and !B), where A and B are the tag patterns.</h:p>
2515
<h:p>The tagSpec contains 2 tag patterns.</h:p>
2516
</description>
2517
</annotation>
2518
<parameter repeat="1-N" type="C1G2TargetTag" />
2519
</parameterDefinition>
2520
2521
<parameterDefinition name="C1G2TargetTag" typeNum="339" required="true">
2522
<annotation>
2523
<documentation>
2524
reference 15.2.1.3.1.1 and 16.3.1.3.1.1
2525
</documentation>
2526
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2527
<h:p>If Length is zero, this pattern will match all tags regardless of MB, pointer, mask and data.</h:p>
2528
</description>
2529
</annotation>
2530
<field type="u2" name="MB"/>
2531
<field type="u1" name="Match"/>
2532
<reserved bitCount="5"/>
2533
<field type="u16" name="Pointer"/>
2534
<field type="u1v" name="TagMask" format="Hex"/>
2535
<field type="u1v" name="TagData" format="Hex"/>
2536
</parameterDefinition>
2537
2538
<parameterDefinition name="C1G2Read" typeNum="341" required="true">
2539
<annotation>
2540
<documentation>
2541
reference 15.2.1.3.2.1 and 16.3.1.3.2.1
2542
</documentation>
2543
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2544
<h:p>MB is the memory bank to use. WordPtr is the starting word address. WordCount is the number of 16-bit words to be read. Following is text reproduced from the C1G2 specification regarding WordCount=0. [If WordCount = 0, the tag backscatters the contents of the chosen memory bank starting at WordPtr and ending at the end of the bank, unless MB = 1, in which case the Tag shall backscatter the EPC memory contents starting at WordPtr and ending at the length of the EPC specified by the first 5 bits of the PC if WordPtr lies within the EPC, and shall backscatter the EPC memory contents starting at WordPtr and ending at the end of EPC memory if WordPtr lies outside the EPC.]</h:p>
2545
<h:p>Access Password is the password used by the Reader to transition the tag to the secure state so that it can read protected tag memory regions. For example, the Tag's Reserved memory is locked but not permalocked, meaning that the Reader must issue the access password and transition the Tag to the secured state before performing the read operation. </h:p>
2546
</description>
2547
</annotation>
2548
<field type="u16" name="OpSpecID"/>
2549
<field type="u32" name="AccessPassword"/>
2550
<field type="u2" name="MB"/>
2551
<reserved bitCount="6"/>
2552
<field type="u16" name="WordPointer"/>
2553
<field type="u16" name="WordCount"/>
2554
</parameterDefinition>
2555
2556
<parameterDefinition name="C1G2Write" typeNum="342" required="true">
2557
<annotation>
2558
<documentation>
2559
reference 15.2.1.3.2.2 and 16.3.1.3.2.2
2560
</documentation>
2561
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2562
<h:p>MB is the memory bank to use. WordPtr is the starting word address. Write Data is the data to be written to the tag. Word Count is the number of words to be written. Depending on the word count, the Reader may have to execute multiple C1G2 air protocol Write commands. Access Password is the password used by the Reader to transition the tag to the secure state so that it can write to protected tag memory regions.</h:p>
2563
</description>
2564
</annotation>
2565
<field type="u16" name="OpSpecID"/>
2566
<field type="u32" name="AccessPassword"/>
2567
<field type="u2" name="MB"/>
2568
<reserved bitCount="6"/>
2569
<field type="u16" name="WordPointer"/>
2570
<field type="u16v" name="WriteData" format="Hex"/>
2571
</parameterDefinition>
2572
2573
<parameterDefinition name="C1G2Kill" typeNum="343" required="true">
2574
<annotation>
2575
<documentation>
2576
reference 15.2.1.3.2.3 and 16.3.1.3.2.3
2577
</documentation>
2578
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2579
<h:p>Kill Password is the value of the kill password to be used or set.</h:p>
2580
</description>
2581
</annotation>
2582
<field type="u16" name="OpSpecID"/>
2583
<field type="u32" name="KillPassword"/>
2584
</parameterDefinition>
2585
2586
<parameterDefinition name="C1G2Lock" typeNum="344" required="true">
2587
<annotation>
2588
<documentation>
2589
reference 15.2.1.3.2.4 and 16.3.1.3.2.4
2590
</documentation>
2591
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2592
<h:p>This parameter contains the definition of the access privilege updates (read/write/permalock) to be performed in various locations of the memory. The five data fields for which we can define access control using the lock command are: Kill Password, Access Password, EPC memory, TID memory and User memory. The access privilege updates are expressed as a list of C1G2LockPayload Parameters, one for each memory location.</h:p>
2593
<h:p>The Access Password provides the password to enter the secured state. A Reader can perform a lock operation on a tag only if the tag is in the secured state. The tag enters the secured state only using the Access Password (if a non-zero value).</h:p>
2594
</description>
2595
</annotation>
2596
<field type="u16" name="OpSpecID"/>
2597
<field type="u32" name="AccessPassword"/>
2598
<parameter repeat="1-N" type="C1G2LockPayload"/>
2599
</parameterDefinition>
2600
2601
<parameterDefinition name="C1G2LockPayload" typeNum="345" required="true">
2602
<annotation>
2603
<documentation>
2604
reference 15.2.1.3.2.4.1 and 16.3.1.3.2.4.1
2605
</documentation>
2606
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2607
<h:p>This parameter contains the definition of the access privilege updates (read/write/permalock) to be performed for a single location of the tag memory. The five data fields for which we can define access control using the lock command are: Kill Password, Access Password, EPC memory, TID memory and User memory.</h:p>
2608
</description>
2609
</annotation>
2610
<field type="u8" name="Privilege"
2611
enumeration="C1G2LockPrivilege"/>
2612
<field type="u8" name="DataField"
2613
enumeration="C1G2LockDataField"/>
2614
</parameterDefinition>
2615
2616
<enumerationDefinition name="C1G2LockPrivilege">
2617
<annotation>
2618
<documentation>
2619
reference 15.2.1.3.2.4.1
2620
</documentation>
2621
<description>
2622
<h:p>Read_Write means lock for either reading or writing (depends on memory bank).</h:p>
2623
</description>
2624
</annotation>
2625
<entry value="0" name="Read_Write"/>
2626
<entry value="1" name="Perma_Lock"/>
2627
<entry value="2" name="Perma_Unlock"/>
2628
<entry value="3" name="Unlock"/>
2629
</enumerationDefinition>
2630
2631
<enumerationDefinition name="C1G2LockDataField">
2632
<annotation>
2633
<documentation>
2634
reference 15.2.1.3.2.4.1
2635
</documentation>
2636
</annotation>
2637
<entry value="0" name="Kill_Password"/>
2638
<entry value="1" name="Access_Password"/>
2639
<entry value="2" name="EPC_Memory"/>
2640
<entry value="3" name="TID_Memory"/>
2641
<entry value="4" name="User_Memory"/>
2642
</enumerationDefinition>
2643
2644
<parameterDefinition name="C1G2BlockErase" typeNum="346" required="false">
2645
<annotation>
2646
<documentation>
2647
reference 15.2.1.3.2.5 and 16.3.1.3.2.5
2648
</documentation>
2649
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2650
<h:p>MB is the memory bank to use. WordPtr is the starting word address. Word Count is the number of 16-bit words to be read. Access Password is the password used by the Reader to transition the tag to the secure state so that it can erase protected tag memory regions.</h:p>
2651
<h:p>Readers that do not support C1G2BlockErase <h:b>SHALL</h:b> set CanSupportBlockErase to false in C1G2LLRPCapabilities. If such a Reader receives an ADD_ACCESSSPEC with an AccessSpec that contained this OpSpec parameter, the Reader <h:b>SHALL</h:b> return an error for that message and not add the AccessSpec.</h:p>
2652
</description>
2653
</annotation>
2654
<field type="u16" name="OpSpecID"/>
2655
<field type="u32" name="AccessPassword"/>
2656
<field type="u2" name="MB"/>
2657
<reserved bitCount="6"/>
2658
<field type="u16" name="WordPointer"/>
2659
<field type="u16" name="WordCount"/>
2660
</parameterDefinition>
2661
2662
<parameterDefinition name="C1G2BlockWrite" typeNum="347" required="false">
2663
<annotation>
2664
<documentation>
2665
reference 15.2.1.3.2.6 and 16.3.1.3.2.6
2666
</documentation>
2667
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2668
<h:p>MB is the memory bank to use. WordPtr is the starting word address. Word Count is the number of 16-bit words to be written. Depending on the word count, the Reader may have to execute multiple C1G2 air protocol block write commands. Write Data is the data to be written to the tag. Access Password is the password used by the Reader to transition the tag to the secure state so that it can write to protected tag memory regions.</h:p>
2669
<h:p>Readers that do not support C1G2BlockWrite <h:b>SHALL</h:b> set CanSupportBlockWrite to false in C1G2LLRPCapabilities. If such a Reader receives an ADD_ACCESSSPEC with an AccessSpec that contained this OpSpec parameter, the Reader <h:b>SHALL</h:b> return an error for that message and not add the AccessSpec.</h:p>
2670
</description>
2671
</annotation>
2672
<field type="u16" name="OpSpecID"/>
2673
<field type="u32" name="AccessPassword"/>
2674
<field type="u2" name="MB"/>
2675
<reserved bitCount="6"/>
2676
<field type="u16" name="WordPointer"/>
2677
<field type="u16v" name="WriteData" format="Hex"/>
2678
</parameterDefinition>
2679
2680
<parameterDefinition name="C1G2EPCMemorySelector" typeNum="348" required="true">
2681
<annotation>
2682
<documentation>
2683
reference 15.2.1.5.1 and 16.3.1.5.1
2684
</documentation>
2685
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2686
<h:p>This parameter is used to determine what contents are of interest in the C1G2EPC memory bank for reporting. If enableCRC and enablePC is set to false, only the EPC is returned in the RO Report. If enablePC is set to true, the PC bits and the EPC are returned in the RO Report. If enablePC and enableCRC is set to true, the EPC, PC bits and CRC are returned in the RO Report.</h:p>
2687
</description>
2688
</annotation>
2689
<field type="u1" name="EnableCRC"/>
2690
<field type="u1" name="EnablePCBits"/>
2691
<reserved bitCount="6"/>
2692
</parameterDefinition>
2693
2694
<parameterDefinition name="C1G2_PC" typeNum="12" required="true">
2695
<annotation>
2696
<documentation>
2697
reference 15.2.1.5.2 and 16.3.1.5.2
2698
</documentation>
2699
<description>
2700
<h:p>Protocol control bits from the UHF Gen2 Air Interface protocol</h:p>
2701
</description>
2702
</annotation>
2703
<field type="u16" name="PC_Bits"/>
2704
</parameterDefinition>
2705
2706
<parameterDefinition name="C1G2_CRC" typeNum="11" required="true">
2707
<annotation>
2708
<documentation>
2709
reference 15.2.1.5.3 and 16.3.1.5.3
2710
</documentation>
2711
<description>
2712
<h:p>CRC generated by the tag from the UHF Gen2 Air Interface Protocol</h:p>
2713
</description>
2714
</annotation>
2715
<field type="u16" name="CRC"/>
2716
</parameterDefinition>
2717
2718
<parameterDefinition name="C1G2SingulationDetails" typeNum="18" required="false">
2719
<annotation>
2720
<documentation>
2721
reference 15.2.1.5.4 and 16.3.1.5.4
2722
</documentation>
2723
</annotation>
2724
<field type="u16" name="NumCollisionSlots"/>
2725
<field type="u16" name="NumEmptySlots"/>
2726
</parameterDefinition>
2727
2728
<parameterDefinition name="C1G2ReadOpSpecResult" typeNum="349" required="true">
2729
<annotation>
2730
<documentation>
2731
reference 15.2.1.5.5.1 and 16.3.1.5.5.1
2732
</documentation>
2733
<description>
2734
<h:p>Contains the results from a read operation.</h:p>
2735
</description>
2736
</annotation>
2737
<field type="u8" name="Result"
2738
enumeration="C1G2ReadResultType"/>
2739
<field type="u16" name="OpSpecID"/>
2740
<field type="u16v" name="ReadData" format="Hex"/>
2741
</parameterDefinition>
2742
2743
<enumerationDefinition name="C1G2ReadResultType">
2744
<annotation>
2745
<documentation>
2746
reference 15.2.1.5.5.1
2747
</documentation>
2748
</annotation>
2749
<entry value="0" name="Success"/>
2750
<entry value="1" name="Nonspecific_Tag_Error"/>
2751
<entry value="2" name="No_Response_From_Tag"/>
2752
<entry value="3" name="Nonspecific_Reader_Error"/>
2753
</enumerationDefinition>
2754
2755
<parameterDefinition name="C1G2WriteOpSpecResult" typeNum="350" required="true">
2756
<annotation>
2757
<documentation>
2758
reference 15.2.1.5.5.2 and 16.3.1.5.5.2
2759
</documentation>
2760
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2761
<h:p>Contains the result from a write operation.</h:p>
2762
<h:p>If the number of words written is not equal to the length of the data pattern to write, the Result <h:b>SHALL</h:b> be non-zero.</h:p>
2763
</description>
2764
</annotation>
2765
<field type="u8" name="Result"
2766
enumeration="C1G2WriteResultType"/>
2767
<field type="u16" name="OpSpecID"/>
2768
<field type="u16" name="NumWordsWritten"/>
2769
</parameterDefinition>
2770
2771
<enumerationDefinition name="C1G2WriteResultType">
2772
<annotation>
2773
<documentation>
2774
reference 15.2.1.5.5.2
2775
</documentation>
2776
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2777
</description>
2778
</annotation>
2779
<entry value="0" name="Success"/>
2780
<entry value="1" name="Tag_Memory_Overrun_Error"/>
2781
<entry value="2" name="Tag_Memory_Locked_Error"/>
2782
<entry value="3" name="Insufficient_Power"/>
2783
<entry value="4" name="Nonspecific_Tag_Error"/>
2784
<entry value="5" name="No_Response_From_Tag"/>
2785
<entry value="6" name="Nonspecific_Reader_Error"/>
2786
</enumerationDefinition>
2787
2788
<parameterDefinition name="C1G2KillOpSpecResult" typeNum="351" required="true">
2789
<annotation>
2790
<documentation>
2791
reference 15.2.1.5.5.3 and 16.3.1.5.5.3
2792
</documentation>
2793
<description>
2794
Contains the result from a kill operation.
2795
</description>
2796
</annotation>
2797
<field type="u8" name="Result"
2798
enumeration="C1G2KillResultType"/>
2799
<field type="u16" name="OpSpecID"/>
2800
</parameterDefinition>
2801
2802
<enumerationDefinition name="C1G2KillResultType">
2803
<annotation>
2804
<documentation>
2805
reference 15.2.1.5.5.3
2806
</documentation>
2807
</annotation>
2808
<entry value="0" name="Success"/>
2809
<entry value="1" name="Zero_Kill_Password_Error"/>
2810
<entry value="2" name="Insufficient_Power"/>
2811
<entry value="3" name="Nonspecific_Tag_Error"/>
2812
<entry value="4" name="No_Response_From_Tag"/>
2813
<entry value="5" name="Nonspecific_Reader_Error"/>
2814
</enumerationDefinition>
2815
2816
<parameterDefinition name="C1G2LockOpSpecResult" typeNum="352" required="true">
2817
<annotation>
2818
<documentation>
2819
reference 15.2.1.5.5.4 and 16.3.1.5.5.4
2820
</documentation>
2821
<description>
2822
<h:p>Contains the result of a lock operation.</h:p>
2823
</description>
2824
</annotation>
2825
<field type="u8" name="Result"
2826
enumeration="C1G2LockResultType"/>
2827
<field type="u16" name="OpSpecID"/>
2828
</parameterDefinition>
2829
2830
<enumerationDefinition name="C1G2LockResultType">
2831
<annotation>
2832
<documentation>
2833
reference 15.2.1.5.5.4
2834
</documentation>
2835
</annotation>
2836
<entry value="0" name="Success"/>
2837
<entry value="1" name="Insufficient_Power"/>
2838
<entry value="2" name="Nonspecific_Tag_Error"/>
2839
<entry value="3" name="No_Response_From_Tag"/>
2840
<entry value="4" name="Nonspecific_Reader_Error"/>
2841
</enumerationDefinition>
2842
2843
<parameterDefinition name="C1G2BlockEraseOpSpecResult" typeNum="353" required="false">
2844
<annotation>
2845
<documentation>
2846
reference 15.2.1.5.5.5 and 16.3.1.5.5.5
2847
</documentation>
2848
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2849
<h:p>Contains the result of a block erase operation.</h:p>
2850
<h:p>Readers that do not support C1G2 Block Erase <h:b>SHALL</h:b> set CanSupportBlockErase to false in C1G2LLRPCapabilities. If such a Reader receives an ADD_ACCESSSPEC with an AccessSpec that contains this OpSpec parameter, the Reader <h:b>SHALL</h:b> return an error for that message and not add the AccessSpec.</h:p>
2851
</description>
2852
</annotation>
2853
<field type="u8" name="Result"
2854
enumeration="C1G2BlockEraseResultType"/>
2855
<field type="u16" name="OpSpecID"/>
2856
</parameterDefinition>
2857
2858
<enumerationDefinition name="C1G2BlockEraseResultType">
2859
<annotation>
2860
<documentation>
2861
reference 15.2.1.5.5.5
2862
</documentation>
2863
</annotation>
2864
<entry value="0" name="Success"/>
2865
<entry value="1" name="Tag_Memory_Overrun_Error"/>
2866
<entry value="2" name="Tag_Memory_Locked_Error"/>
2867
<entry value="3" name="Insufficient_Power"/>
2868
<entry value="4" name="Nonspecific_Tag_Error"/>
2869
<entry value="5" name="No_Response_From_Tag"/>
2870
<entry value="6" name="Nonspecific_Reader_Error"/>
2871
</enumerationDefinition>
2872
2873
<parameterDefinition name="C1G2BlockWriteOpSpecResult" typeNum="354" required="false">
2874
<annotation>
2875
<documentation>
2876
reference 15.2.1.5.5.6 and 16.3.1.5.5.6
2877
</documentation>
2878
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2879
<h:p>Contains the result of a block write operation</h:p>
2880
<h:p>Readers that do not support C1G2 Block Write <h:b>SHALL</h:b> set CanSupportBlockWrite to false in C1G2LLRPCapabilities. If such a Reader receives an ADD_ACCESSSPEC with an AccessSpec that contains this OpSpec parameter, the Reader <h:b>SHALL</h:b> return an error for that message and not add the AccessSpec.</h:p>
2881
</description>
2882
</annotation>
2883
<field type="u8" name="Result"
2884
enumeration="C1G2BlockWriteResultType"/>
2885
<field type="u16" name="OpSpecID"/>
2886
<field type="u16" name="NumWordsWritten"/>
2887
</parameterDefinition>
2888
2889
<enumerationDefinition name="C1G2BlockWriteResultType">
2890
<annotation>
2891
<documentation>
2892
reference 15.2.1.5.5.6
2893
</documentation>
2894
<description copyright="Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.">
2895
</description>
2896
</annotation>
2897
<entry value="0" name="Success"/>
2898
<entry value="1" name="Tag_Memory_Overrun_Error"/>
2899
<entry value="2" name="Tag_Memory_Locked_Error"/>
2900
<entry value="3" name="Insufficient_Power"/>
2901
<entry value="4" name="Nonspecific_Tag_Error"/>
2902
<entry value="5" name="No_Response_From_Tag"/>
2903
<entry value="6" name="Nonspecific_Reader_Error"/>
2904
</enumerationDefinition>
2905
2906
<choiceDefinition name="AirProtocolLLRPCapabilities">
2907
<parameter type="C1G2LLRPCapabilities"/>
2908
</choiceDefinition>
2909
2910
<choiceDefinition name="AirProtocolUHFRFModeTable">
2911
<parameter type="C1G2UHFRFModeTable"/>
2912
</choiceDefinition>
2913
2914
<choiceDefinition name="AirProtocolInventoryCommandSettings">
2915
<parameter type="C1G2InventoryCommand"/>
2916
</choiceDefinition>
2917
2918
<choiceDefinition name="AirProtocolTagSpec">
2919
<parameter type="C1G2TagSpec"/>
2920
</choiceDefinition>
2921
2922
<choiceDefinition name="AirProtocolEPCMemorySelector">
2923
<parameter type="C1G2EPCMemorySelector"/>
2924
</choiceDefinition>
2925
2926
<choiceDefinition name="AirProtocolTagData">
2927
<parameter type="C1G2_PC"/>
2928
<parameter type="C1G2_CRC"/>
2929
</choiceDefinition>
2930
2931
<choiceDefinition name="AirProtocolSingulationDetails">
2932
<parameter type="C1G2SingulationDetails"/>
2933
</choiceDefinition>
2934
2935
</llrpdef>
2936
2937