UniPRT SDK  v1.0.0.0
RfidMonitor Class Reference

Provide support for RFID related services. Module to facilitate listening/retrieval of printer unsolicited messaging related to RFID. More...

Inheritance diagram for RfidMonitor:
IRfidMonitor

Public Member Functions

 RfidMonitor (JsonComm mgmtComm)
 Constructor called when an mgmt comm object already exists for listening for mgmt msgs. More...
 
 RfidMonitor (String commDescriptor)
 Constructor called when creating a connection managed by the SDK. More...
 
 RfidMonitor (TcpConnection connection)
 Must pass an opened comm connection that can remain opened for listening for unsolicited RFID reports. More...
 
void close () throws Exception
 
void Dispose ()
 
RfidReportNotice GetRfidReportCallback ()
 Inherited from IRfidMonitor.RfidReportCallback

 
boolean GetRfidReportListening ()
 Inherited from IRfidMonitor.RfidReportListening.
 
void SetRfidReportCallback (RfidReportNotice callback)
 Holds the function to call when RFID reports are received. Function must match the signature of RfidReportNotice. More...
 
void SetRfidReportListening (boolean listening)
 Enable/disable listening/parsing unsolicited RFID reports sent from the printer. More...
 

Protected Member Functions

void Dispose (boolean disposing)
 
void finalize () throws Throwable
 

Detailed Description

Provide support for RFID related services. Module to facilitate listening/retrieval of printer unsolicited messaging related to RFID.

Unsolicited messages, if enabled on printer, can be sent at any time. This module requires a constant "status" connection to the printer's management port in order to listen for any messaging sent out by printer.

Remarks

  • For RFID reports to be sent out by printer the following settings must be present:
    • On printer RFID menus: "AutoID Mgr Rpt = Enable"

Examples

package com.test.UniPRTSdk;
import java.util.Arrays;
import com.UniPRT.Sdk.Json.PrinterMonitor;
public class PrinterMonitorSnippet {
// setup a comm and xml parser for listening to xml msgs from printer
private static PrinterMonitor _PrinterMntr = null;
public static void main(String[] args) {
System.out.println("Monitoring Printer.");
try {
_PrinterMntr = new PrinterMonitor("192.168.1.57");
// setup for listening for alerts
_PrinterMntr.SetAlertStatusListening(true); // enable unsolicited alert status msgs from printer
_PrinterMntr.SetAlertStatusCallback(PrinterMonitorSnippet::PtrAlertNoticeListener);
// setup for listening for Engine Status
_PrinterMntr.SetEngineStatusListening(true); // enable unsolicited engine status msgs from printer
_PrinterMntr.SetEngineStatusCallback(PrinterMonitorSnippet::PtrEngineStatusNoticeListener);
// setup for listening for display text msgs
_PrinterMntr.SetDisplayStatusListening(true); // enable unsolicited display text msgs from printer
_PrinterMntr.SetDisplayStatusCallback(PrinterMonitorSnippet::PtrDisplayStatusNoticeListener);
while (true) { // wait for something to happen
// pretend to be busy doing some other work here...
Thread.sleep(1000); // simulate work
}
} catch (Exception e) {
System.out.printf("Exception Msg: %s%n", e.getMessage());
} finally {
if (_PrinterMntr != null) {
_PrinterMntr.Dispose();
}
}
}
private static void PtrAlertNoticeListener(String[] newAlertText) {
// Print out alerts: e.g. "2418" ("Print Head Open" fault/alert)
System.out.printf("Printer Alert #: %n %s - %s%n", newAlertText[0], newAlertText[1]);
}
private static void PtrEngineStatusNoticeListener(String newEngineStatus) {
// Print out engine status: e.g. "idle", "offline", "online", "printing"...
System.out.printf("Engine Status: %n %s%n", newEngineStatus);
}
private static void PtrDisplayStatusNoticeListener(String[] newDisplayText) {
// Print display msgs: e.g. "ONLINE" "ETHERNET/PGL/LP+" or "PRINT HEAD UP" "Close Print Head"
System.out.println("Printer Display: ");
Arrays.stream(newDisplayText).forEach(txtLine -> System.out.printf(" %s%n", txtLine));
}
}

Output

Result after sending print job with that writes to EPC, USR and reads USR memory.

Output


Constructor & Destructor Documentation

◆ RfidMonitor() [1/3]

RfidMonitor ( TcpConnection  connection)

Must pass an opened comm connection that can remain opened for listening for unsolicited RFID reports.

A connection is necessary to send/receive msgs.

◆ RfidMonitor() [2/3]

RfidMonitor ( JsonComm  mgmtComm)

Constructor called when an mgmt comm object already exists for listening for mgmt msgs.

JsonComm object per printer that is listening and parsing fully formed mgmt msgs and forwarding to all mgmt msg listeners.

◆ RfidMonitor() [3/3]

RfidMonitor ( String  commDescriptor)

Constructor called when creating a connection managed by the SDK.

commDescriptor is descriptor for the communication used to connect with printer.
TCP descriptor format: "ip" or "ip:port"
e.g. "127.0.0.1" or "127.0.0.1:3007"
If port is not provided, default value is used.

Member Function Documentation

◆ SetRfidReportCallback()

void SetRfidReportCallback ( RfidReportNotice  callback)

Holds the function to call when RFID reports are received. Function must match the signature of RfidReportNotice.

The parameter passed into the function is an OdvReport object representing the RFID report received.

Implements IRfidMonitor.

◆ SetRfidReportListening()

void SetRfidReportListening ( boolean  listening)

Enable/disable listening/parsing unsolicited RFID reports sent from the printer.

Note that this must be enabled in order to receive any notifications, RfidReportCallback, when RFID reports are received.

Implements IRfidMonitor.