Lorischider wrote, that the values vary between 232 and 245. If the decoding is correct, the exception thrown makes perfectly sense, since the values should be between 0 and 6 according to the impinj extension definition. So either the XML file or the values returned are incorrect,
However, Chris got a point with the binary list included, which really is a ImpinjPeakRSSI, Lorischider, can you do a wireshark capture of the message sent back from the reader (or even better the whole communication). Then we see whether the message sent back is incorrect or the decoding is wrong. On Wed, May 26, 2010 at 11:32 PM, Chris Delaney <[email protected]>wrote: > > It appears that the decoder is getting confused somehow. If you look at the > binary that you included, this is not an instance of the > ImpinjBlockPermalockOpSpecResult parameter type. The VendorIdentifier is > 25882 (Impinj), and the ParameterSubtype is 57 (ImpinjPeakRSSI). The > remaining word is a signed 16-bit value indicating the RSSI in dBm*100, in > this case -2750 (-27.50 dBm). I don't know much about the LTKJava parser, > but it does not appear to be properly identifying the extended parameters > included in the TagReportData LLRP parameter. > > Kind regards, > > Chris > > ________________________________________ > From: Lorischider Honório Resplandes da Silva [[email protected]] > Sent: Wednesday, May 26, 2010 1:50 PM > To: [email protected] > Subject: Re: [ltk-d] [IMPINJ] Help with ltk configuration > > Hello, thank you for your help! > > Basil Gasser, the error generated is the same but in different locations. > > I debug the class ImpinjBlockPermalockOpSpecResu > lt and noticed that the error is generated when it creates an instance of > the object ImpinjBlockPermalockResultType, specifically this code: > result = new ImpinjBlockPermalockResultType (binary.subList (position, > ImpinjBlockPermalockResultType.length ())); > > Ex: > LLRPBitList binary: > 00000000000000000110010100011010000000000000000000000000001110011111010101000010 > LLRPBitList list: 11110101 > value: 245 > > The constructor's ImpinjBlockPermalockResultType class is passed a > LLRPBitList list. I noticed that LLRPBitList was varying between 11101000 > and 11110101 (232 and 245). This value is assigned to an attribute named > "value" (attribute present in the parent class unsignedByte) and is called > isValidValue a method that checks if this value is between 0 and 6. So the > exception is thrown (throw new IllegalArgumentException ("Value not > allowed")). > > Await any suggestions. > > > ------------------------------------------------------------------------------ > > _______________________________________________ > llrp-toolkit-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/llrp-toolkit-devel >
------------------------------------------------------------------------------
_______________________________________________ llrp-toolkit-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/llrp-toolkit-devel
