User Tools

Site Tools


usingimpinjllrp

LLRP Application Documentation

This page is meant to provide information and how-to discussions on the Reader App.
Questions? Head on over to the discussion board.

Please see the Reader Application page to download the app or see version history information.

Information:


Image Files for Impinj Reader 2.0 (New Version)
levels_of_hierarchy.pdflevels_of_hierarchy.pdf


control_flow.pdfcontrol_flow.pdf


tagparsing_flow.pdftagparsing_flow.pdf



Project Organization for Impinj Reader 1.5 (Obsolete)

  • There are three levels of hierarchy.
  • At the top level is the MainFrm GUI in the LLRPTest project.
  • At the bottom level is the LLRP/Ethernet code in the LLRP project.
  • In the middle is a wrapper for the LLRP code called RFID Reader. This class supports:
  • Connecting/disconnecting from the reader via Connect(string ipAddress) and Disconnect()
  • Starting and stopping inventory mode via StartInventory() and StopInventory()
  • Reading available reader settings via getReaderConfig()
  • Writing reader settings via readerconfig.setReaderConfig(ReaderConfig config)
  • There are several supporting classes
  • MyTag is a wrapper for a tag seen by the reader. MyTag knows how to parse out sensor data from the tag. RFIDReader generates MyTags and passes them to the GUI layer for display.
  • TagStats keeps track of tags that have been seen and updates the grid box tag list on the gui.
  • Stage, Saturn, and other classes in the SaturnDemo project are for the Saturn accelerometer demo
  • Fifo is unused
  • There is a lot of Impinj LLRP code in the LLRP project.


Theory of Operation:

  • Reader runs autonomously, generates a report every 100ms.
  • UpdateROReport(…) thread in the RFIDReader class parses the reports and calls HandleTagReceived(…) in the GUI MainFrm class with each tag, encapsulated in a MyTag object.
  • HandleTagReceived asks MyTag objects to parse out sensor data, but doesn't touch GUI!
  • timerUpdateGUI runs at 10 to 20 hz, and puts data stored by HandleTagReceived onto the GUI.



Adding a new sensor demo:

  • First, provide parsing and identifier information to the MyTag class
  • Second, generate a new handler method in the MainFrm class. Ex, see HandleAccelTagStats
  • Third, edit the HandleTagReceived function to call your handler method upon seeing your sensor
  • Fourth, edit timerUpdateGUI to display your data on the GUI.
  • Do not add GUI code to the handler method, this can cause instability on some computers.



Block Diagram:

Data Sheets:



Graphing:

We are using open source ZedGraph:






The last modification was made by - yeagerd yeagerd on Apr 26, 2012 9:28 am

usingimpinjllrp.txt · Last modified: 2018/07/11 08:26 (external edit)