Table of Contents

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

string

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

bool

IsLockSuccess

Gets a value indicating whether the transponder was locked successfully

public bool IsLockSuccess { get; }

Property Value

bool

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

string

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

DateTime

TransponderAccessErrorCode

Gets the error code specified by the reader why the tag access operation on this transponder failed

public TransponderAccessErrorCode? TransponderAccessErrorCode { get; }

Property Value

TransponderAccessErrorCode?

TransponderBackscatterErrorCode

Gets the error code specified by the transponder why the tag access operation on this transponder failed

public TransponderBackscatterErrorCode? TransponderBackscatterErrorCode { get; }

Property Value

TransponderBackscatterErrorCode?

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

string

TransponderReceived

Gets or sets the action to call for each transponder received

public Action<TransponderData, bool> TransponderReceived { get; set; }

Property Value

Action<TransponderData, bool>

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

IEnumerable<TransponderData>

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 TransponderData

The transponder properties

moreAvailable bool

True 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 string

The response line header excluding the colon e.g. 'CS' for a command started response

value string

The 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 bool

True if more transponders are pending to be notified