Metratec devices library 3.1.1.0
Public Member Functions | Protected Member Functions | Properties | List of all members
MetraTecDevices.MetratecReaderGen1< T > Class Template Referenceabstract

The reader class for the ASCII based metratec reader. More...

Inheritance diagram for MetraTecDevices.MetratecReaderGen1< T >:
MetraTecDevices.MetratecReader< T >

Public Member Functions

 MetratecReaderGen1 (ICommunicationInterface connection)
 The reader class for all Metratec reader.
 
 MetratecReaderGen1 (ICommunicationInterface connection, ILogger logger)
 The reader class for all Metratec reader.
 
 MetratecReaderGen1 (ICommunicationInterface connection, string id)
 The reader class for all Metratec reader.
 
 MetratecReaderGen1 (ICommunicationInterface connection, string id, ILogger logger)
 The reader class for all Metratec reader.
 
void EnableAntennaReport (bool enable=true)
 Enable or Disable the antenna report. If the reader is used with an antenna multiplexer, you can enable this to get the antenna information in the inventory response.
 
void EnableCrcCheck (bool enable=true)
 Enable the Cyclic Redundancy Check (CRC) of the computer to reader communication.
 
String GetCommand (String command)
 u Send a command and return the response
 
override string ExecuteCommand (string command, int timeout=10000)
 Send a command and returns the response.
 
override bool GetInput (int pin)
 Returns true if the input pin is high, otherwise false.
 
override void SetOutput (int pin, bool value)
 Sets a output pin.
 
override void SetAntenna (int antennaPort)
 Sets the current antenna to use.
 
override void SetAntennaMultiplex (int antennasToUse)
 Sets the number of antennas to be multiplexed.
 
override void StopInventory ()
 Stops the continuous inventory scan.
 
- Public Member Functions inherited from MetraTecDevices.MetratecReader< T >
 MetratecReader (ICommunicationInterface connection)
 The reader class for all Metratec reader.
 
 MetratecReader (ICommunicationInterface connection, ILogger logger)
 The reader class for all Metratec reader.
 
 MetratecReader (ICommunicationInterface connection, string id)
 The reader class for all Metratec reader.
 
 MetratecReader (ICommunicationInterface connection, string id, ILogger logger)
 The reader class for all Metratec reader.
 
void Connect ()
 Connect the reader.
 
void Connect (int timeout)
 Connect the reader and wait for the connection established.
 
void Disconnect ()
 Disconnect the reader.
 
abstract string ExecuteCommand (string command, int timeout=10000)
 Send a command and returns the response.
 
abstract void SetPower (int power)
 Set the reader power.
 
abstract void SetAntenna (int antennaPort)
 Sets the current antenna to use.
 
abstract void SetAntennaMultiplex (int antennasToUse)
 Sets the number of antennas to be multiplexed.
 
abstract List< T > GetInventory ()
 Scan for the current inventory.
 
abstract void StartInventory ()
 Starts the continuous inventory scan. If the inventory event handler is set, any transponder found will be delivered via it. If the event handler is not set, the found transponders can be fetched via the method FetchInventory
 
abstract void StopInventory ()
 Stops the continuous inventory scan.
 
abstract bool GetInput (int pin)
 Returns true if the input pin is high, otherwise false.
 
abstract void SetOutput (int pin, bool value)
 Sets a output pin.
 
List< T > FetchInventory ()
 Can be called when an inventory has been started and no inventory callback is set. Returns a list with the currently found transponders.
 

Protected Member Functions

override void HandleResponse (string response)
 Process the reader response...override for event check The base implementation must be called after success.
 
override void SendCommand (string command)
 Send a command.
 
override void PrepareReader ()
 Configure the reader. The base implementation must be called after success.
 
void EnableEndOfFrame (bool enable=true)
 Enable or Disable end of frame.
 
void SetCommand (String command)
 Send a command and check if the response contains "OK".
 
string[] SplitResponse (string response)
 Split a multiline response (and check the crc)
 
abstract void HandleInventoryResponse (string response)
 Called if a new inventory response is received.
 
InvalidOperationException ParseErrorResponse (String response)
 Parse the error response and throw a InvalidOperationException with a detailed message.
 
override void SetHeartBeatInterval (int intervalInSec)
 Set the HeartBeatInterval ... override for send the heartbeat command. The base implementation must be called after success.
 
override void UpdateDeviceRevisions ()
 Returns the firmware revision ({firmware} {version})
 
void SetVerbosityLevel (int level)
 Set the verbosity level.
 
- Protected Member Functions inherited from MetraTecDevices.MetratecReader< T >
void SetEndOfFrame (String endOfFrame)
 Set the connection end of frame string.
 
virtual void SendCommand (string command)
 Send a command.
 
virtual string GetResponse ()
 Returns the next response.
 
List< string > ClearResponseBuffer ()
 Deletes the currently waiting responses from the buffer and returns them.
 
virtual void SetHeartBeatInterval (int intervalInSec)
 Set the HeartBeatInterval ... override for send the heartbeat command. The base implementation must be called after success.
 
virtual void PrepareReader ()
 Configure the reader. The base implementation must be called after success.
 
abstract void ConfigureReader ()
 Configure the reader. The base implementation must be called after success.
 
abstract void UpdateDeviceRevisions ()
 Update the the firmware name and version ({firmware} {version})
 
virtual void HandleResponse (string response)
 Process the reader response...override for event check The base implementation adds the response to the responses queue.
 
void FireInventoryEvent (List< T > tags, bool continuous)
 Fire a inventory event.
 

Properties

int CurrentAntennaPort [get, set]
 Current antenna port.
 
- Properties inherited from MetraTecDevices.MetratecReader< T >
bool FireEmptyInventories [get, set]
 If the event handler for new inventory is set and this value is true, an empty inventory also triggers the event handler.
 
int ResponseTimeout [get, set]
 Reader response timeout.
 
string? FirmwareName [get, protected set]
 Reader firmware name.
 
string? HardwareName [get, protected set]
 Reader hardware name.
 
string? FirmwareVersion [get, protected set]
 Reader firmware version.
 
int? FirmwareMajorVersion [get, set]
 Reader major firmware version.
 
int? FirmwareMinorVersion [get, set]
 Firmware minor firmware version.
 
string? HardwareVersion [get, protected set]
 Reader hardware version.
 
string? SerialNumber [get, protected set]
 Reader serial number.
 
bool Connected [get]
 The reader connection state.
 

Additional Inherited Members

- Protected Attributes inherited from MetraTecDevices.MetratecReader< T >
string id
 Reader id.
 
readonly ILogger Logger
 Logger.
 
- Events inherited from MetraTecDevices.MetratecReader< T >
EventHandler< StatusEventArgs >? StatusChanged
 Status change event handler.
 
EventHandler< NewInventoryEventArgs< T > >? NewInventory
 new inventory event handler
 

Detailed Description

The reader class for the ASCII based metratec reader.

Type Constraints
T :RfidTag 

Constructor & Destructor Documentation

◆ MetratecReaderGen1() [1/4]

The reader class for all Metratec reader.

Parameters
connectionThe connection interface

◆ MetratecReaderGen1() [2/4]

The reader class for all Metratec reader.

Parameters
connectionThe connection interface
loggerThe connection interface

◆ MetratecReaderGen1() [3/4]

The reader class for all Metratec reader.

Parameters
connectionThe connection interface

///

Parameters
idThe reader id

◆ MetratecReaderGen1() [4/4]

MetraTecDevices.MetratecReaderGen1< T >.MetratecReaderGen1 ( ICommunicationInterface  connection,
string  id,
ILogger  logger 
)

The reader class for all Metratec reader.

Parameters
connectionThe connection interface
idThe reader id
loggerThe connection interface

Member Function Documentation

◆ EnableAntennaReport()

void MetraTecDevices.MetratecReaderGen1< T >.EnableAntennaReport ( bool  enable = true)

Enable or Disable the antenna report. If the reader is used with an antenna multiplexer, you can enable this to get the antenna information in the inventory response.

Parameters
enable

◆ EnableCrcCheck()

void MetraTecDevices.MetratecReaderGen1< T >.EnableCrcCheck ( bool  enable = true)

Enable the Cyclic Redundancy Check (CRC) of the computer to reader communication.

Parameters
enabletrue for enable

◆ EnableEndOfFrame()

void MetraTecDevices.MetratecReaderGen1< T >.EnableEndOfFrame ( bool  enable = true)
protected

Enable or Disable end of frame.

Parameters
enable

◆ ExecuteCommand()

override string MetraTecDevices.MetratecReaderGen1< T >.ExecuteCommand ( string  command,
int  timeout = 10000 
)
virtual

Send a command and returns the response.

Parameters
commandthe command
timeoutthe response timeout, defaults to 2000ms
Returns
Exceptions
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

Implements MetraTecDevices.MetratecReader< T >.

◆ GetCommand()

String MetraTecDevices.MetratecReaderGen1< T >.GetCommand ( String  command)

u Send a command and return the response

Parameters
commandthe command to send
Returns
the command response
Exceptions
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

◆ GetInput()

override bool MetraTecDevices.MetratecReaderGen1< T >.GetInput ( int  pin)
virtual

Returns true if the input pin is high, otherwise false.

Parameters
pinThe requested input pin number
Returns
True if the input pin is high, otherwise false
Exceptions
T:System.InvalidOperationExceptionThrown in case exceptions occur during PC/reader communication (port busy, reading / writing error, wrong answer from reader) or if reader type does not support the command
T:System.InvalidOperationExceptionIf the reader return an error
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

Implements MetraTecDevices.MetratecReader< T >.

◆ HandleInventoryResponse()

abstract void MetraTecDevices.MetratecReaderGen1< T >.HandleInventoryResponse ( string  response)
protectedpure virtual

Called if a new inventory response is received.

Parameters
responseinventory response

Implemented in MetraTecDevices.HfReaderGen1.

◆ HandleResponse()

override void MetraTecDevices.MetratecReaderGen1< T >.HandleResponse ( string  response)
protectedvirtual

Process the reader response...override for event check The base implementation must be called after success.

Parameters
responsea reader response

Reimplemented from MetraTecDevices.MetratecReader< T >.

◆ ParseErrorResponse()

InvalidOperationException MetraTecDevices.MetratecReaderGen1< T >.ParseErrorResponse ( String  response)
protected

Parse the error response and throw a InvalidOperationException with a detailed message.

Parameters
response
Returns
the InvalidOperationException

◆ PrepareReader()

override void MetraTecDevices.MetratecReaderGen1< T >.PrepareReader ( )
protectedvirtual

Configure the reader. The base implementation must be called after success.

Reimplemented from MetraTecDevices.MetratecReader< T >.

◆ SendCommand()

override void MetraTecDevices.MetratecReaderGen1< T >.SendCommand ( string  command)
protectedvirtual

Send a command.

Parameters
commandthe command
Exceptions
T:System.ObjectDisposedExceptionThrown if the reader is not connected

Reimplemented from MetraTecDevices.MetratecReader< T >.

◆ SetAntenna()

override void MetraTecDevices.MetratecReaderGen1< T >.SetAntenna ( int  antennaPort)
virtual

Sets the current antenna to use.

Parameters
antennaPortthe antenna to use
Exceptions
T:System.InvalidOperationExceptionIf the reader return an error
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

Implements MetraTecDevices.MetratecReader< T >.

◆ SetAntennaMultiplex()

override void MetraTecDevices.MetratecReaderGen1< T >.SetAntennaMultiplex ( int  antennasToUse)
virtual

Sets the number of antennas to be multiplexed.

Parameters
antennasToUsethe antenna count to use
Exceptions
T:System.InvalidOperationExceptionIf the reader return an error
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

Implements MetraTecDevices.MetratecReader< T >.

◆ SetCommand()

void MetraTecDevices.MetratecReaderGen1< T >.SetCommand ( String  command)
protected

Send a command and check if the response contains "OK".

Parameters
commandthe command to send
Exceptions
T:System.InvalidOperationExceptionIf the reader return an error
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

◆ SetHeartBeatInterval()

override void MetraTecDevices.MetratecReaderGen1< T >.SetHeartBeatInterval ( int  intervalInSec)
protectedvirtual

Set the HeartBeatInterval ... override for send the heartbeat command. The base implementation must be called after success.

Parameters
intervalInSecHeartbeat interval in seconds

Reimplemented from MetraTecDevices.MetratecReader< T >.

◆ SetOutput()

override void MetraTecDevices.MetratecReaderGen1< T >.SetOutput ( int  pin,
bool  value 
)
virtual

Sets a output pin.

Parameters
pinThe output pin number
valueTrue for set the pin high
Exceptions
T:System.InvalidOperationExceptionIf the reader return an error
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

Implements MetraTecDevices.MetratecReader< T >.

◆ SetVerbosityLevel()

void MetraTecDevices.MetratecReaderGen1< T >.SetVerbosityLevel ( int  level)
protected

Set the verbosity level.

Parameters
level0.. Only necessary data (EPC, User Data, etc.) is returned. 1..Default, most tag communication errors added. 2: All tag communication errors including RXE and CRE normally indicating a collision are send.

◆ SplitResponse()

string[] MetraTecDevices.MetratecReaderGen1< T >.SplitResponse ( string  response)
protected

Split a multiline response (and check the crc)

Parameters
response
Returns

◆ StopInventory()

override void MetraTecDevices.MetratecReaderGen1< T >.StopInventory ( )
virtual

Stops the continuous inventory scan.

Exceptions
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedException/// If the reader is not connected or the connection is lost

Implements MetraTecDevices.MetratecReader< T >.

◆ UpdateDeviceRevisions()

override void MetraTecDevices.MetratecReaderGen1< T >.UpdateDeviceRevisions ( )
protectedvirtual

Returns the firmware revision ({firmware} {version})

Returns
The firmware revision ({firmware} {version})
Exceptions
T:System.InvalidOperationExceptionIf the reader return an error
T:System.TimeoutExceptionThrown if the reader does not responding in time
T:System.ObjectDisposedExceptionIf the reader is not connected or the connection is lost

Implements MetraTecDevices.MetratecReader< T >.

Property Documentation

◆ CurrentAntennaPort

int MetraTecDevices.MetratecReaderGen1< T >.CurrentAntennaPort
getsetprotected

Current antenna port.


The documentation for this class was generated from the following file: