Adam,
I think the problem may have to do with the Access operation itself
rather than the reporting. I went back and checked the logic of
reporting, and it appears that the Rifidi LLRP reader does allow you to
set the ROSpecTrigger=0 and the AccessReportTrigger=1 and receive
reports only after an access spec has executed.
So I think the reason that you did not receive a RO_ACCESS_REPORT as
expected is because the access spec never executed. I did find one
minor bug though: if you used the SET_READER_CONFIG message to set the
reporting mechanisms instead of setting them in the ADD_ROSPEC and the
ADD_ACCESSSPEC messages, you would not have received reports back.
However, because you were setting this information in the latter
messages, I think the reporting should have worked.
I have included the ADD_ROSPEC, ADD_ACCESSSPEC and RO_ACCESS_REPORT
messages from a test that I ran for you to look at.
-Kyle
BYTES:
04 14 00 00 00 8D 00 00 00 02 00 B1 00 83 00 00 00 0B 00 00 00 B2 00 29
00 B3 00 11 00 00 B4 00 0C 00 00 13 88 00 00 27 10 00 B6 00 14 00 00 00
13 88 00 B5 00 0B 00 01 00 00 00 13 88 00 B7 00 3E 00 01 00 01 00 B8 00
19 00 00 00 03 E8 00 B9 00 10 03 00 00 00 00 00 13 88 00 00 13 88 00 BA
00 1D 00 00 00 00 DE 00 16 00 00 00 DF 00 06 00 01 00 E0 00 0A 00 01 00
01 00 01 00 ED 00 12 00 00 00 00 EE 00 0B 10 C0 01 5C 00 05 00
XML:
<Message type="AddROSpec">
<ROSpec>
<ROSpecID value="11"/>
<Priority value="0"/>
<CurrentState value="0"/>
<ROBoundarySpec>
<ROSpecStartTrigger>
<ROSpecStartTriggerType value="0"/>
<PeriodicTriggerValue>
<Offset value="5000"/>
<Period value="10000"/>
</PeriodicTriggerValue>
</ROSpecStartTrigger>
<ROSpecStopTrigger>
<ROSpecStopTriggerType value="0"/>
<DurationTriggerValue value="5000"/>
<GPITriggerValue>
<GPIPortNum value="1"/>
<GPIEvent value="false"/>
<Timeout value="5000"/>
</GPITriggerValue>
</ROSpecStopTrigger>
</ROBoundarySpec>
<AISpec>
<AntennaElement value="1"/>
<AISpecStopTrigger>
<AISpecStopTriggerType value="0"/>
<DurationTrigger value="1000"/>
<TagObservationTrigger>
<TriggerType value="3"/>
<Reserved1 value="0"/>
<NumberOfTags value="0"/>
<NumberOfAttempts value="0"/>
<T value="5000"/>
<Timeout value="5000"/>
</TagObservationTrigger>
</AISpecStopTrigger>
<InventoryParameterSpec>
<InventoryParameterSpecID value="0"/>
<ProtocolID value="0"/>
<AntennaConfiguration>
<AntennaId value="0"/>
<RFReceiver>
<ReceiverSensitivity value="1"/>
</RFReceiver>
<RFTransmitter>
<HopTableId value="1"/>
<ChannelIndex value="1"/>
<TransmitPower value="1"/>
</RFTransmitter>
</AntennaConfiguration>
</InventoryParameterSpec>
</AISpec>
<ROReportSpec>
<ROReportTrigger value="0"/>
<N value="0"/>
<TagReportContentSelector>
<EnableROSpecID value="false"/>
<EnableSpecIndex value="false"/>
<EnableInventoryParameterSpecID value="false"/>
<EnableAntennaID value="true"/>
<EnableChannelIndex value="false"/>
<EnablePeakRSSI value="false"/>
<EnableFirstSeenTimestamp value="false"/>
<EnableLastSeenTimestamp value="false"/>
<EnableTagSeenCount value="true"/>
<EnableAccessSpecID value="true"/>
<C1G2EPCMemorySelector>
<EnableCRC value="false"/>
<EnablePCBits value="false"/>
</C1G2EPCMemorySelector>
</TagReportContentSelector>
</ROReportSpec>
</ROSpec>
</Message>
BYTES:
04 28 00 00 00 4A 00 00 00 03 00 CF 00 40 00 00 00 0C 00 00 01 00 00 00
00 0B 00 D0 00 07 01 00 01 00 D1 00 24 01 52 00 11 01 53 00 0D 60 00 03
00 08 00 00 08 00 01 55 00 0F 00 14 00 00 00 00 40 00 02 00 06 00 EF 00
05 01
XML:
<Message type="AddAccessSpec">
<AccessSpec>
<AccessSpecID value="12"/>
<AntennaId value="0"/>
<ProtocolId value="1"/>
<CurrentState value="false"/>
<ROSpecID value="11"/>
<AccessSpecStopTrigger>
<AccessSpecStopTrigger value="1"/>
<OperationCountValue value="1"/>
</AccessSpecStopTrigger>
<AccessCommand>
<C1G2TagSpec>
<C1G2TargetTag>
<MB value="1"/>
<Match value="true"/>
<Pointer value="3"/>
<Mask value=""/>
<Data value=""/>
</C1G2TargetTag>
</C1G2TagSpec>
<C1G2Read>
<OpSpecID value="20"/>
<AccessPassword value="0"/>
<MB value="1"/>
<WordPointer value="2"/>
<WordCount value="6"/>
</C1G2Read>
</AccessCommand>
<AccessReportSpec>
<AccessReportTrigger value="1"/>
</AccessReportSpec>
</AccessSpec>
</Message>
BYTES:
04 3D 00 00 00 47 00 00 00 00 00 F0 00 3D 8D 2F 12 2E DE D1 AF 8A 97 10
56 FA BB 81 00 01 88 00 01 90 00 00 00 0C 01 5D 00 21 00 00 14 00 0C 00
2F 00 12 00 2E FF DE FF D1 FF AF FF 8A FF 97 00 10 00 56 FF FA FF BB
XML:
<Message type="ROAccessReport">
<TagReportData>
<EPC96>
<EPC value="2F 12 2E DE D1 AF 8A 97 10 56 FA BB "/>
</EPC96>
<AntennaID>
<AntennaID value="1"/>
</AntennaID>
<TagSeenCount>
<TagCount value="1"/>
</TagSeenCount>
<AccessSpecID>
<AccessSpecID value="12"/>
</AccessSpecID>
<C1G2ReadOpSpecResult>
<Result value="0"/>
<OpSpecID value="20"/>
<ReadDataElement value="47"/>
<ReadDataElement value="18"/>
<ReadDataElement value="46"/>
<ReadDataElement value="-34"/>
<ReadDataElement value="-47"/>
<ReadDataElement value="-81"/>
<ReadDataElement value="-118"/>
<ReadDataElement value="-105"/>
<ReadDataElement value="16"/>
<ReadDataElement value="86"/>
<ReadDataElement value="-6"/>
<ReadDataElement value="-69"/>
</C1G2ReadOpSpecResult>
</TagReportData>
</Message>
On Mon, 2008-01-28 at 09:17 -0500, Adam Webster wrote:
> We recently made a change to the LLRP portion of our Data Capture
> software such that the ROReport is generated when the
> AccessReportTrigger is activated. This change was made to reduce the
> number of unnecessary tag reports. It seems works well on our Impinj
> Speedway reader but the Rifidi 1.5 simulator fails to send a report.
>
>
> The rfid llrp inventory involves one ROSpec and one AccessSpec
> attached to it, the report triggers for ROSpec and AccessSpec are:
>
> ROSpecReport:
> Trigger: 0
> N: ignored
> (No report for ROSpec)
> AccessSpecReport:
> Trigger: 1
> (End of AccessSpec)
>
>
>
>
>
> Here is the basic flow we are seeing with our Impinj reader.
>
>
> 1. ADD_ROSPEC command:
> 4,14,0,0,0,0,0,0,0,0,0,b1,0,46,0,0,0,1,0,0,0,b2,0,12,0,b3,0,5,0,0,b6,0,9,0,0,0,0,0,0,b7,0,18,0,1,0,0,0,b8,0,9,0,0,0,0,0,0,ba,0,7,30,39,1,0,ed,0,12,0,0,1,0,ee,0,b,ff,c0,1,5c,0,5,0}
>
> 0,ed,0,12,0 ---> ROReportTrigger = 0 (NONE)
>
> 2.ADD_ACCESSSPEC command:
> 4,28,0,0,0,0,0,0,0,0,0,cf,0,65,0,0,0,1,0,0,1,0,0,0,0,1,0,d0,0,7,0,0,0,0,d1,0,49,1,52,0,27,1,53,0,23,60,0,20,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,1,55,0,f,0,1,0,0,0,0,c0,0,0,0,2,1,55,0,f,0,2,0,0,0,0,80,0,0,0,2,0,ef,0,5,1
>
> 0,ef,0,5,1 -------> AccessReportTrigger = 1 (End of AccessSpec)
>
> 3. The ROReport including AccessSpec result
>
> 4,3d(61) 0,0,0,62 0,0,9,13 0,f0(240) 0,58
> 8d,30,8,33,b2,dd,d9,5,80,35,5,0,16,89,0,0,0,1,8e,0,1,8a,30,39,81,0,1,86,d6,87,0,1,82,0,4,43,e8,96,73,2,d8,84,0,4,43,e8,96,73,2,d8,88,0,1,90,0,0,0,1,1,5d,0,d,0,0,1,0,2,60,0,0,0,1,5d,0,d,0,0,2,0,2,e2,0,10,61
>
> The last several bytes show the result report for AccessSpec:
> 90,0,0,0,1, ---> AccessSpec Id =1
> 1,5d,0,d,0,0,1,0,2,60,0,0,0,
> 1,5d,0,d,0,0,2,0,2,e2,0,10,61 ---> read operation results
>
>
> Regards,
> Adam
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________ Rifidi-developers mailing
> list [email protected]
> https://lists.sourceforge.net/lists/listinfo/rifidi-developers
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Rifidi-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rifidi-developers