void InventorySetting() { BleMvxApplication._reader.rfid.Options.TagRanging.flags = CSLibrary.Constants.SelectFlags.ZERO; // Setting 1 BleMvxApplication._reader.rfid.SetInventoryTimeDelay((uint)BleMvxApplication._config.RFID_InventoryDelayTime); BleMvxApplication._reader.rfid.SetInventoryCycleDelay(BleMvxApplication._config.RFID_InventoryCycleDelayTime); BleMvxApplication._reader.rfid.SetInventoryDuration((uint)BleMvxApplication._config.RFID_DWellTime); BleMvxApplication._reader.rfid.SetPowerLevel((uint)BleMvxApplication._config.RFID_Power); // Setting 3 BleMvxApplication._reader.rfid.SetDynamicQParms(BleMvxApplication._config.RFID_DynamicQParms); // Setting 4 BleMvxApplication._reader.rfid.SetFixedQParms(BleMvxApplication._config.RFID_FixedQParms); // Setting 2 BleMvxApplication._reader.rfid.SetOperationMode(BleMvxApplication._config.RFID_OperationMode); BleMvxApplication._reader.rfid.SetTagGroup(BleMvxApplication._config.RFID_TagGroup); BleMvxApplication._reader.rfid.SetCurrentSingulationAlgorithm(BleMvxApplication._config.RFID_Algorithm); BleMvxApplication._reader.rfid.SetCurrentLinkProfile(BleMvxApplication._config.RFID_Profile); // Select Criteria filter if (BleMvxApplication._PREFILTER_Enable) { BleMvxApplication._reader.rfid.Options.TagSelected.flags = CSLibrary.Constants.SelectMaskFlags.ENABLE_TOGGLE; BleMvxApplication._reader.rfid.Options.TagSelected.bank = CSLibrary.Constants.MemoryBank.EPC; BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK(BleMvxApplication._PREFILTER_MASK_EPC); BleMvxApplication._reader.rfid.Options.TagSelected.epcMaskOffset = 0; BleMvxApplication._reader.rfid.Options.TagSelected.epcMaskLength = (uint)(BleMvxApplication._PREFILTER_MASK_EPC.Length) * 4; BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_PREFILTER); BleMvxApplication._reader.rfid.Options.TagRanging.flags |= CSLibrary.Constants.SelectFlags.SELECT; } // Post Match Criteria filter if (BleMvxApplication._POSTFILTER_MASK_Enable) { BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK(BleMvxApplication._POSTFILTER_MASK_EPC); CSLibrary.Structures.SingulationCriterion[] sel = new CSLibrary.Structures.SingulationCriterion[1]; sel[0] = new CSLibrary.Structures.SingulationCriterion(); sel[0].match = BleMvxApplication._POSTFILTER_MASK_MatchNot ? 0U : 1U; sel[0].mask = new CSLibrary.Structures.SingulationMask(BleMvxApplication._POSTFILTER_MASK_Offset, (uint)(BleMvxApplication._POSTFILTER_MASK_EPC.Length * 4), BleMvxApplication._reader.rfid.Options.TagSelected.epcMask.ToBytes()); BleMvxApplication._reader.rfid.SetPostMatchCriteria(sel); BleMvxApplication._reader.rfid.Options.TagRanging.flags |= CSLibrary.Constants.SelectFlags.POSTMATCH; } // Multi bank inventory BleMvxApplication._reader.rfid.Options.TagRanging.multibanks = 0; BleMvxApplication._reader.rfid.Options.TagRanging.compactmode = true; BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_PRERANGING); //ShowDialog("Configuring RFID"); }
void InventorySetting() { BleMvxApplication._reader.rfid.Options.TagRanging.flags = CSLibrary.Constants.SelectFlags.ZERO; // Setting 1 SetConfigPower(); // Setting 3 BleMvxApplication._config.RFID_DynamicQParms.toggleTarget = BleMvxApplication._config.RFID_ToggleTarget ? 1U : 0; BleMvxApplication._reader.rfid.SetDynamicQParms(BleMvxApplication._config.RFID_DynamicQParms); // Setting 4 BleMvxApplication._config.RFID_FixedQParms.toggleTarget = BleMvxApplication._config.RFID_ToggleTarget ? 1U : 0; BleMvxApplication._reader.rfid.SetFixedQParms(BleMvxApplication._config.RFID_FixedQParms); // Setting 2 BleMvxApplication._reader.rfid.SetOperationMode(BleMvxApplication._config.RFID_OperationMode); BleMvxApplication._reader.rfid.SetTagGroup(BleMvxApplication._config.RFID_TagGroup); BleMvxApplication._reader.rfid.SetCurrentSingulationAlgorithm(BleMvxApplication._config.RFID_Algorithm); BleMvxApplication._reader.rfid.SetCurrentLinkProfile(BleMvxApplication._config.RFID_Profile); // Select Criteria filter if (BleMvxApplication._PREFILTER_Enable) { BleMvxApplication._reader.rfid.Options.TagSelected.flags = CSLibrary.Constants.SelectMaskFlags.ENABLE_TOGGLE; if (BleMvxApplication._PREFILTER_Bank == 1) // if EPC { BleMvxApplication._reader.rfid.Options.TagSelected.bank = CSLibrary.Constants.MemoryBank.EPC; BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK(BleMvxApplication._PREFILTER_MASK_EPC); BleMvxApplication._reader.rfid.Options.TagSelected.epcMaskOffset = 0; BleMvxApplication._reader.rfid.Options.TagSelected.epcMaskLength = (uint)(BleMvxApplication._PREFILTER_MASK_EPC.Length) * 4; } else { BleMvxApplication._reader.rfid.Options.TagSelected.bank = (CSLibrary.Constants.MemoryBank)(BleMvxApplication._PREFILTER_Bank); BleMvxApplication._reader.rfid.Options.TagSelected.Mask = CSLibrary.Tools.Hex.ToBytes(BleMvxApplication._PREFILTER_MASK_EPC); BleMvxApplication._reader.rfid.Options.TagSelected.MaskOffset = 0; BleMvxApplication._reader.rfid.Options.TagSelected.MaskLength = (uint)(BleMvxApplication._PREFILTER_MASK_EPC.Length) * 4; } BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_PREFILTER); BleMvxApplication._reader.rfid.Options.TagRanging.flags |= CSLibrary.Constants.SelectFlags.SELECT; } // Post Match Criteria filter if (BleMvxApplication._POSTFILTER_MASK_Enable) { BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK(BleMvxApplication._POSTFILTER_MASK_EPC); CSLibrary.Structures.SingulationCriterion[] sel = new CSLibrary.Structures.SingulationCriterion[1]; sel[0] = new CSLibrary.Structures.SingulationCriterion(); sel[0].match = BleMvxApplication._POSTFILTER_MASK_MatchNot ? 0U : 1U; sel[0].mask = new CSLibrary.Structures.SingulationMask(BleMvxApplication._POSTFILTER_MASK_Offset, (uint)(BleMvxApplication._POSTFILTER_MASK_EPC.Length * 4), BleMvxApplication._reader.rfid.Options.TagSelected.epcMask.ToBytes()); BleMvxApplication._reader.rfid.SetPostMatchCriteria(sel); BleMvxApplication._reader.rfid.Options.TagRanging.flags |= CSLibrary.Constants.SelectFlags.POSTMATCH; } // Multi bank inventory BleMvxApplication._reader.rfid.Options.TagRanging.multibanks = 0; if (BleMvxApplication._config.RFID_MBI_MultiBank1Enable) { BleMvxApplication._reader.rfid.Options.TagRanging.multibanks++; BleMvxApplication._reader.rfid.Options.TagRanging.bank1 = BleMvxApplication._config.RFID_MBI_MultiBank1; BleMvxApplication._reader.rfid.Options.TagRanging.offset1 = BleMvxApplication._config.RFID_MBI_MultiBank1Offset; BleMvxApplication._reader.rfid.Options.TagRanging.count1 = BleMvxApplication._config.RFID_MBI_MultiBank1Count; } if (BleMvxApplication._config.RFID_MBI_MultiBank2Enable) { BleMvxApplication._reader.rfid.Options.TagRanging.multibanks++; if (BleMvxApplication._reader.rfid.Options.TagRanging.multibanks == 1) { BleMvxApplication._reader.rfid.Options.TagRanging.bank1 = BleMvxApplication._config.RFID_MBI_MultiBank2; BleMvxApplication._reader.rfid.Options.TagRanging.offset1 = BleMvxApplication._config.RFID_MBI_MultiBank2Offset; BleMvxApplication._reader.rfid.Options.TagRanging.count1 = BleMvxApplication._config.RFID_MBI_MultiBank2Count; } else { BleMvxApplication._reader.rfid.Options.TagRanging.bank2 = BleMvxApplication._config.RFID_MBI_MultiBank2; BleMvxApplication._reader.rfid.Options.TagRanging.offset2 = BleMvxApplication._config.RFID_MBI_MultiBank2Offset; BleMvxApplication._reader.rfid.Options.TagRanging.count2 = BleMvxApplication._config.RFID_MBI_MultiBank2Count; } } BleMvxApplication._reader.rfid.Options.TagRanging.compactmode = false; BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_PRERANGING); //ShowDialog("Configuring RFID"); }
void StartInventory() { if (_startInventory == false) { return; } //TagInfoList.Clear(); StartTagCount(); //if (BleMvxApplication._config.RFID_OperationMode == CSLibrary.Constants.RadioOperationMode.CONTINUOUS) { _startInventory = false; _startInventoryButtonText = "Stop Inventory"; } #if speeddown BleMvxApplication._reader.rfid.Options.TagRanging.flags = CSLibrary.Constants.SelectFlags.ZERO; // Setting 1 BleMvxApplication._reader.rfid.SetInventoryTimeDelay((uint)BleMvxApplication._config.RFID_InventoryDelayTime); BleMvxApplication._reader.rfid.SetInventoryDuration((uint)BleMvxApplication._config.RFID_DWellTime); BleMvxApplication._reader.rfid.SetPowerLevel((uint)BleMvxApplication._config.RFID_Power); // Setting 3 BleMvxApplication._reader.rfid.SetDynamicQParms(BleMvxApplication._config.RFID_DynamicQParms); // Setting 4 BleMvxApplication._reader.rfid.SetFixedQParms(BleMvxApplication._config.RFID_FixedQParms); // Setting 2 BleMvxApplication._reader.rfid.SetOperationMode(BleMvxApplication._config.RFID_OperationMode); BleMvxApplication._reader.rfid.SetTagGroup(BleMvxApplication._config.RFID_TagGroup); BleMvxApplication._reader.rfid.SetCurrentSingulationAlgorithm(BleMvxApplication._config.RFID_Algorithm); BleMvxApplication._reader.rfid.SetCurrentLinkProfile(BleMvxApplication._config.RFID_Profile); // Select Criteria filter if (BleMvxApplication._config.RFID_PREFILTER_Enable) { BleMvxApplication._reader.rfid.Options.TagSelected.flags = CSLibrary.Constants.SelectMaskFlags.ENABLE_TOGGLE; BleMvxApplication._reader.rfid.Options.TagSelected.bank = CSLibrary.Constants.MemoryBank.EPC; BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK(BleMvxApplication._config.RFID_PREFILTER_MASK_EPC); BleMvxApplication._reader.rfid.Options.TagSelected.epcMaskOffset = 0; BleMvxApplication._reader.rfid.Options.TagSelected.epcMaskLength = (uint)(BleMvxApplication._config.RFID_PREFILTER_MASK_EPC.Length) * 4; BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_PREFILTER); BleMvxApplication._reader.rfid.Options.TagRanging.flags |= CSLibrary.Constants.SelectFlags.SELECT; } // Post Match Criteria filter if (BleMvxApplication._config.RFID_POSTFILTER_MASK_Enable) { BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK(BleMvxApplication._config.RFID_POSTFILTER_MASK_EPC); CSLibrary.Structures.SingulationCriterion[] sel = new CSLibrary.Structures.SingulationCriterion[1]; sel[0] = new CSLibrary.Structures.SingulationCriterion(); sel[0].match = BleMvxApplication._config.RFID_POSTFILTER_MASK_MatchNot ? 0U : 1U; sel[0].mask = new CSLibrary.Structures.SingulationMask(BleMvxApplication._config.RFID_POSTFILTER_MASK_Offset, (uint)(BleMvxApplication._config.RFID_POSTFILTER_MASK_EPC.Length * 4), BleMvxApplication._reader.rfid.Options.TagSelected.epcMask.ToBytes()); BleMvxApplication._reader.rfid.SetPostMatchCriteria(sel); BleMvxApplication._reader.rfid.Options.TagRanging.flags |= CSLibrary.Constants.SelectFlags.POSTMATCH; } // Multi bank inventory BleMvxApplication._reader.rfid.Options.TagRanging.multibanks = 0; if (BleMvxApplication._config.RFID_MBI_MultiBank1Enable) { BleMvxApplication._reader.rfid.Options.TagRanging.multibanks++; BleMvxApplication._reader.rfid.Options.TagRanging.bank1 = BleMvxApplication._config.RFID_MBI_MultiBank1; BleMvxApplication._reader.rfid.Options.TagRanging.offset1 = BleMvxApplication._config.RFID_MBI_MultiBank1Offset; BleMvxApplication._reader.rfid.Options.TagRanging.count1 = BleMvxApplication._config.RFID_MBI_MultiBank1Count; } if (BleMvxApplication._config.RFID_MBI_MultiBank2Enable) { BleMvxApplication._reader.rfid.Options.TagRanging.multibanks++; if (BleMvxApplication._reader.rfid.Options.TagRanging.multibanks == 1) { BleMvxApplication._reader.rfid.Options.TagRanging.bank1 = BleMvxApplication._config.RFID_MBI_MultiBank2; BleMvxApplication._reader.rfid.Options.TagRanging.offset1 = BleMvxApplication._config.RFID_MBI_MultiBank2Offset; BleMvxApplication._reader.rfid.Options.TagRanging.count1 = BleMvxApplication._config.RFID_MBI_MultiBank2Count; } else { BleMvxApplication._reader.rfid.Options.TagRanging.bank2 = BleMvxApplication._config.RFID_MBI_MultiBank2; BleMvxApplication._reader.rfid.Options.TagRanging.offset2 = BleMvxApplication._config.RFID_MBI_MultiBank2Offset; BleMvxApplication._reader.rfid.Options.TagRanging.count2 = BleMvxApplication._config.RFID_MBI_MultiBank2Count; } } _ListViewRowHeight = 40 + (int)(BleMvxApplication._reader.rfid.Options.TagRanging.multibanks * 10); RaisePropertyChanged(() => ListViewRowHeight); // Start Inventory BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_RANGING); #endif _ListViewRowHeight = 40 + (int)(BleMvxApplication._reader.rfid.Options.TagRanging.multibanks * 10); RaisePropertyChanged(() => ListViewRowHeight); InventoryStartTime = DateTime.Now; BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_EXERANGING); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.INVENTORY); _cancelVoltageValue = true; RaisePropertyChanged(() => startInventoryButtonText); }
void StartInventoryClick() { if (_startInventory) { EPCData.Clear(); TagData.Clear(); StartTagCount(); if (BleMvxApplication._config.RFID_OperationMode == CSLibrary.Constants.RadioOperationMode.CONTINUOUS) { _startInventory = false; _startInventoryButtonText = "Stop Inventory"; } // Setting 1 BleMvxApplication._reader.rfid.SetInventoryTimeDelay((uint)BleMvxApplication._config.RFID_InventoryDelayTime); BleMvxApplication._reader.rfid.SetInventoryDuration((uint)BleMvxApplication._config.RFID_DWellTime); BleMvxApplication._reader.rfid.SetPowerLevel((uint)BleMvxApplication._config.RFID_Power); // Setting 2 BleMvxApplication._reader.rfid.SetOperationMode(BleMvxApplication._config.RFID_OperationMode); BleMvxApplication._reader.rfid.SetTagGroup(BleMvxApplication._config.RFID_TagGroup); BleMvxApplication._reader.rfid.SetCurrentSingulationAlgorithm(BleMvxApplication._config.RFID_Algorithm); BleMvxApplication._reader.rfid.SetCurrentLinkProfile(BleMvxApplication._config.RFID_Profile); // Setting 3 BleMvxApplication._reader.rfid.SetDynamicQParms(BleMvxApplication._config.RFID_DynamicQParms); // Setting 4 BleMvxApplication._reader.rfid.SetFixedQParms(BleMvxApplication._config.RFID_FixedQParms); // Select Criteria filter /* * BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK("709999"); * * CSLibrary.Structures.SelectCriterion[] critlist = new CSLibrary.Structures.SelectCriterion[1]; * critlist[0] = new CSLibrary.Structures.SelectCriterion(); * critlist[0].mask = new CSLibrary.Structures.SelectMask(CSLibrary.Constants.MemoryBank.EPC, 0x20, 24, BleMvxApplication._reader.rfid.Options.TagSelected.epcMask.ToBytes()); * critlist[0].action = new CSLibrary.Structures.SelectAction(CSLibrary.Constants.Target.SELECTED, CSLibrary.Constants.Action.ASLINVA_DSLINVB, 0); * * BleMvxApplication._reader.rfid.SetSelectCriteria(critlist); */ // Post Match Criteria filter BleMvxApplication._reader.rfid.Options.TagSelected.epcMask = new CSLibrary.Structures.S_MASK(BleMvxApplication._config.MASK_EPC); CSLibrary.Structures.SingulationCriterion[] sel = new CSLibrary.Structures.SingulationCriterion[1]; sel[0] = new CSLibrary.Structures.SingulationCriterion(); sel[0].match = BleMvxApplication._config.MASK_Enable ? 0U : 1U; sel[0].mask = new CSLibrary.Structures.SingulationMask(BleMvxApplication._config.MASK_Offset, (uint)(BleMvxApplication._config.MASK_EPC.Length * 4), BleMvxApplication._reader.rfid.Options.TagSelected.epcMask.ToBytes()); BleMvxApplication._reader.rfid.SetPostMatchCriteria(sel); // Start Inventory BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_RANGING); } else { _startInventory = true; _startInventoryButtonText = "Start Inventory"; _tagCount = false; BleMvxApplication._reader.rfid.StopOperation(); } RaisePropertyChanged(() => startInventoryButtonText); }