// Function to get rfid event private void rfidDev_NotifyRFIDEvent(object sender, SDK_SC_RfidReader.rfidReaderArgs args) { switch (args.RN_Value) { // Event when failed to connect case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_FailedToConnect: Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID : Failed to Connect"; }); Invoke((MethodInvoker) delegate { buttonCreate.Enabled = true; }); Invoke((MethodInvoker) delegate { buttonDispose.Enabled = false; }); Invoke((MethodInvoker) delegate { groupBoxCtrl.Enabled = false; }); Invoke((MethodInvoker) delegate { groupBoxFP.Enabled = false; }); break; // Event when release the object case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Disconnected: Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID : Device Disconnected"; }); Invoke((MethodInvoker) delegate { buttonCreate.Enabled = true; }); Invoke((MethodInvoker) delegate { buttonDispose.Enabled = false; }); Invoke((MethodInvoker) delegate { groupBoxCtrl.Enabled = false; }); Invoke((MethodInvoker) delegate { groupBoxFP.Enabled = false; }); break; //Event when device is connected case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Connected: Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID : Device Connected"; }); Invoke((MethodInvoker) delegate { buttonCreate.Enabled = false; }); Invoke((MethodInvoker) delegate { buttonDispose.Enabled = true; }); Invoke((MethodInvoker) delegate { groupBoxCtrl.Enabled = true; }); Invoke((MethodInvoker) delegate { groupBoxFP.Enabled = true; }); break; // Event when scan started case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanStarted: Invoke((MethodInvoker) delegate { buttonScan.Enabled = false; }); Invoke((MethodInvoker) delegate { buttonStop.Enabled = true; }); Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID : Scan Started"; }); listBoxTag.Invoke((MethodInvoker) delegate { listBoxTag.Items.Clear(); }); labelInventoryTagCount.Invoke((MethodInvoker) delegate { labelInventoryTagCount.Text = "Tag(s): 0"; }); break; //event when fail to start scan case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ReaderFailToStartScan: Invoke((MethodInvoker) delegate { buttonScan.Enabled = true; }); Invoke((MethodInvoker) delegate { buttonStop.Enabled = false; }); Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID: Failed to start scan"; }); break; //event when a new tag is identify case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_TagAdded: listBoxTag.Invoke((MethodInvoker) delegate { listBoxTag.Items.Add(args.Message); }); labelInventoryTagCount.Invoke((MethodInvoker) delegate { labelInventoryTagCount.Text = "Tag(s) : " + listBoxTag.Items.Count.ToString("000"); }); break; // Event when scan completed case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanCompleted: Invoke((MethodInvoker) delegate { buttonScan.Enabled = true; }); Invoke((MethodInvoker) delegate { buttonStop.Enabled = false; }); Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID: Scan Completed"; }); break; //error when error during scan case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ReaderScanTimeout: case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ErrorDuringScan: Invoke((MethodInvoker) delegate { buttonScan.Enabled = true; }); Invoke((MethodInvoker) delegate { buttonStop.Enabled = false; }); Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID: Scan has error"; }); break; // Scan cancel by user case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanCancelByHost: Invoke((MethodInvoker) delegate { buttonScan.Enabled = true; }); Invoke((MethodInvoker) delegate { buttonStop.Enabled = false; }); Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID : Scan cancel by host"; }); break; case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Door_Opened: Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID : Door Open"; }); break; case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Door_Closed: Invoke((MethodInvoker) delegate { toolStripStatusLabelInfo.Text = "Info RFID : Door Close"; }); break; } Application.DoEvents(); }
/// <summary> /// RFID events handling. /// </summary> private void rfidDev_NotifyRFIDEvent(object sender, SDK_SC_RfidReader.rfidReaderArgs args) { switch (args.RN_Value) { // Event when failed to connect case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_FailedToConnect: UpdateStatusBar("Info : Failed to connect"); Invoke((MethodInvoker) delegate { buttonCreateDevice.Enabled = true; buttonDispose.Enabled = false; scanGroup.Enabled = false; }); break; // Event when release the object case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Disconnected: UpdateStatusBar("Info : Device disconnected"); Invoke((MethodInvoker) delegate { buttonCreateDevice.Enabled = true; buttonDispose.Enabled = false; scanGroup.Enabled = false; }); break; //Event when device is connected case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Connected: UpdateStatusBar("Info : Device connected"); Invoke((MethodInvoker) delegate { buttonCreateDevice.Enabled = false; buttonDispose.Enabled = true; buttonStart.Enabled = true; scanGroup.Enabled = true; }); break; // Event when scan started case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanStarted: Invoke((MethodInvoker) delegate { buttonStart.Enabled = false; buttonStop.Enabled = true; buttonLedOn.Enabled = false; }); UpdateStatusBar("Info : Scan started"); break; //event when fail to start scan case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ReaderFailToStartScan: Invoke((MethodInvoker) delegate { buttonStart.Enabled = true; buttonStop.Enabled = false; }); UpdateStatusBar("Info : Failed to start scan"); break; //event when a new tag is identify case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_TagAdded: tagsCountLabel.Invoke((MethodInvoker) delegate { if (!listBoxTag.Items.Contains(args.Message)) { listBoxTag.Items.Add(args.Message); } tagsCountLabel.Text = listBoxTag.Items.Count.ToString(); }); Application.DoEvents(); break; // Event when scan completed case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanCompleted: Invoke((MethodInvoker) delegate { buttonStart.Enabled = true; buttonStop.Enabled = false; }); UpdateStatusBar("Info : Scan completed"); break; //error when error during scan case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ReaderScanTimeout: case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ErrorDuringScan: Invoke((MethodInvoker) delegate { buttonStart.Enabled = true; buttonStop.Enabled = false; }); UpdateStatusBar("Info : Scan has error"); break; case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanCancelByHost: Invoke((MethodInvoker) delegate { buttonStart.Enabled = true; buttonStop.Enabled = false; }); UpdateStatusBar("Info : Scan cancel by host"); break; } Application.DoEvents(); }
// Function to get rfid event private void rfidDev_NotifyRFIDEvent(object sender, SDK_SC_RfidReader.rfidReaderArgs args) { switch (args.RN_Value) { // Event when failed to connect case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_FailedToConnect: updatelabel("Info : Failed to Connect"); break; // Event when release the object case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Disconnected: updatelabel("Info : Device Disconnected"); break; //Event when device is connected case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_Connected: updatelabel("Info : Device Connected"); break; // Event when scan started case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanStarted: updatelabel("Info : Scan Started"); break; //event when fail to start scan case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ReaderFailToStartScan: updatelabel("Info : Failed to start scan"); break; //event when a new tag is identify case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_TagAdded: break; // Event when scan completed case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanCompleted: if (device.currentInventory.nbTagAll == 0) { updatelabel("Info : No Tag Found"); // feed the printer PrinterClass printer = new PrinterClass(); PrinterClass.MAPI_FEED_RETURN_TYPE ret = printer.FeedPrinter(printInfo.PrinterIP, 9100); if (ret == PrinterClass.MAPI_FEED_RETURN_TYPE.MAPI_FEED_RETURN_SUCCEED) { updatelabel("Feed Succeed"); System.Threading.Thread.Sleep(1000); } } else if (device.currentInventory.nbTagAll > 1) { updatelabel("Info : More than one tag scanned - Please check the printer"); } else { updatelabel("Info : Scan Completed - Tag Scanned : " + device.currentInventory.listTagAll[0].ToString()); TagUidPrinted = device.currentInventory.listTagAll[0].ToString(); print(TagUidPrinted); } break; //error when error during scan case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ReaderScanTimeout: case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ErrorDuringScan: updatelabel("Info : Scan has error"); break; case SDK_SC_RfidReader.rfidReaderArgs.ReaderNotify.RN_ScanCancelByHost: updatelabel("Info : Scan cancel by host"); break; } Application.DoEvents(); }