Class TransponderResponder
- Namespace
- TechnologySolutions.Rfid.AsciiProtocol
- Assembly
- TechnologySolutions.Rfid.AsciiProtocol.Core.dll
Processes responses looking for transponder header and collects into a transponder. Calls the TransponderReceivedHandler for each transponder received
public class TransponderResponder
- Inheritance
-
TransponderResponder
- Inherited Members
Remarks
Captures the EP CR PC RI TD PH CF responses to form a TransponderData instance. Captures WW as WordsWritten and RD as data read Captures OK ER to raise TransponderReceived at the end of a response;
The delegate is called if: - A new EPC is received and the current EPC is valid (moreAvailable = true). Just received the EPC of the next response - OK or ER is received and the current EPC is valid (moreAvailable = false). End of the command - TransponderComplete is called. This is provided for when a base class handles OR or ER and needs to complete a transponder
Constructors
TransponderResponder()
Initializes a new instance of the TransponderResponder class
public TransponderResponder()
TransponderResponder(IList<TransponderData>)
Initializes a new instance of the TransponderResponder class
public TransponderResponder(IList<TransponderData> transponders)
Parameters
transponders
IList<TransponderData>The list of transponders to update
Properties
ChannelFrequency
Gets the last received transponder channel frequency (CF:)
public int? ChannelFrequency { get; }
Property Value
- int?
Remarks
The reader will only output this value if the command is enabled to do so. This will return null (Nothing in Visual Basic) if not received for the current transponder
Crc
Gets the last received transponder CRC
public int? Crc { get; }
Property Value
- int?
Remarks
The reader will only output this value if the command is enabled to do so. This will return null (Nothing in Visual Basic) if not received for the current transponder
Epc
Gets the last received transponder EPC
public string Epc { get; }
Property Value
Index
Gets the last received transponder index
public int? Index { get; }
Property Value
- int?
Remarks
The reader will only output this value if the command is enabled to do so. This will return null (Nothing in Visual Basic) if not received for the current transponder
IsKillSuccess
Gets a value indicating whether the transponder was killed successfully
public bool IsKillSuccess { get; }
Property Value
IsLockSuccess
Gets a value indicating whether the transponder was locked successfully
public bool IsLockSuccess { get; }
Property Value
Pc
Gets the last received transponder PC
public int? Pc { get; }
Property Value
- int?
Remarks
The reader will only output this value if the command is enabled to do so. This will return null (Nothing in Visual Basic) if not received for the current transponder
Phase
Gets the last received transponder phase
public int? Phase { get; }
Property Value
- int?
Remarks
The reader will only output this value if the command is enabled to do sp. "-ip" reported as "PH:" This will return null (Nothing in Visual Basic) if not received for the current transponder
Qt
Gets the last received QT word
public int? Qt { get; }
Property Value
- int?
Remarks
The reader will only output this value if the read command is issue with QtMode AccessControlWord
ReadData
Gets the data read from the transponder in hex
public string ReadData { get; }
Property Value
Rssi
Gets the last received transponder RSSI
public int? Rssi { get; }
Property Value
- int?
Remarks
The reader will only output this value if the command is enabled to do so. This will return null (Nothing in Visual Basic) if not received for the current transponder
RssiPercent
Gets the last received transponder RSSI Percentage
public int? RssiPercent { get; }
Property Value
- int?
Remarks
The reader will only output this value if the command is enabled to do so. This will return null (Nothing in Visual Basic) if not received for the current transponder
Timestamp
Gets the timestamp reported by the reader if reported as DT otherwise DateTime.MinValue
public DateTime Timestamp { get; }
Property Value
TransponderAccessErrorCode
Gets the error code specified by the reader why the tag access operation on this transponder failed
public TransponderAccessErrorCode? TransponderAccessErrorCode { get; }
Property Value
TransponderBackscatterErrorCode
Gets the error code specified by the transponder why the tag access operation on this transponder failed
public TransponderBackscatterErrorCode? TransponderBackscatterErrorCode { get; }
Property Value
TransponderIdentifier
Gets the transponder identifier reported as part of an inventory response when using Fast ID in the Impinj extensions
public string TransponderIdentifier { get; }
Property Value
TransponderReceived
Gets or sets the action to call for each transponder received
public Action<TransponderData, bool> TransponderReceived { get; set; }
Property Value
Remarks
TransponderData - The transponder received. bool - True if more transponders are queued to follow
Transponders
Gets the transponders received since the last call to ClearLastResponse()
public IEnumerable<TransponderData> Transponders { get; }
Property Value
WordsWritten
Gets the number of words successfully written to the transponder
public int? WordsWritten { get; }
Property Value
- int?
Methods
ClearLastResponse()
Clears the list of transponders seen and the current transponder
public void ClearLastResponse()
ClearLastTransponder()
Clears the cache of values ready to receive a new transponder
public void ClearLastTransponder()
OnTransponderComplete(TransponderData, bool)
Calls the TransponderReceived action for each transponder received
protected virtual void OnTransponderComplete(TransponderData transponder, bool moreAvailable)
Parameters
transponder
TransponderDataThe transponder properties
moreAvailable
boolTrue if more transponders are buffered to be notified
ProcessReceivedLine(string, string)
Each correctly terminated line from the device is passed to this method for processing
public bool ProcessReceivedLine(string header, string value)
Parameters
header
stringThe response line header excluding the colon e.g. 'CS' for a command started response
value
stringThe response line following the colon e.g. '.iv'
Returns
- bool
Return true if this line should NOT be passed to any other responder.
TransponderComplete(bool)
When called this method creates a TransponderData instance then OnTransponderComplete(TransponderData, bool) is called to notify the delegate of the transponder received. Once called the response is reset with ClearLastResponse()
public void TransponderComplete(bool moreAvailable)
Parameters
moreAvailable
boolTrue if more transponders are pending to be notified