void StateChangedEvent(object sender, CSLibrary.Events.OnStateChangedEventArgs e) { //InvokeOnMainThread(() => //{ switch (e.state) { case CSLibrary.Constants.RFState.IDLE: ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); _cancelVoltageValue = true; switch (BleMvxApplication._reader.rfid.LastMacErrorCode) { case 0x00: // normal end break; case 0x0309: // _userDialogs.Alert("Too near to metal, please move CS108 away from metal and start inventory again."); break; default: _userDialogs.Alert("Mac error : 0x" + BleMvxApplication._reader.rfid.LastMacErrorCode.ToString("X4")); break; } break; } //}); }
void StartInventory() { if (BleMvxApplication._reader.BLEBusy) { _userDialogs.ShowSuccess("Configuring Reader, Please Wait", 1000); return; } _startInventoryButtonText = "Stop Inventory"; TagList.Clear(); _tagPerSecond = 0; _newTagPerSecond = 0; minRSSIEPC = ""; minRSSI = 10000; _InventoryScanning = true; StartTagCount(); InventoryStartTime = DateTime.Now; UpdateScreen(); BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_EXERANGING); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.INVENTORY); _cancelVoltageValue = true; RaisePropertyChanged(() => startInventoryButtonText); }
void StartInventory() { if (_startInventory == false) { return; } //TagInfoList.Clear(); StartTagCount(); //if (BleMvxApplication._config.RFID_OperationMode == CSLibrary.Constants.RadioOperationMode.CONTINUOUS) { _startInventory = false; _startInventoryButtonText = "Stop Inventory"; } _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); }
public override void Suspend() { _InventoryScanning = false; StopInventory(); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); if (BleMvxApplication._config.RFID_Vibration) { BleMvxApplication._reader.barcode.VibratorOff(); } SetEvent(false); try { Page currentPage; currentPage = ((TabbedPage)Application.Current.MainPage.Navigation.NavigationStack[1]).CurrentPage; //if (currentPage.Title != "Barcode Scan") { BleMvxApplication._reader.barcode.FastBarcodeMode(false); } } catch (Exception ex) { } // don't turn off event handler is you need program work in sleep mode. //SetEvent(false); base.Suspend(); }
void StartInventory() { if (BleMvxApplication._reader.BLEBusy) { _userDialogs.ShowSuccess("Configuring Reader, Please Wait", 1000); return; } StartTagCount(); _InventoryScanning = true; _startInventoryButtonText = "Stop Inventory"; _ListViewRowHeight = 40 + (int)(BleMvxApplication._reader.rfid.Options.TagRanging.multibanks * 10); RaisePropertyChanged(() => ListViewRowHeight); InventoryStartTime = DateTime.Now; _Vibrating = false; _noNewTag = 0; if (BleMvxApplication._config.RFID_Vibration && BleMvxApplication._config.RFID_VibrationTag) { BleMvxApplication._reader.barcode.VibratorOn(CSLibrary.BarcodeReader.VIBRATORMODE.INVENTORYON, BleMvxApplication._config.RFID_VibrationTime); } //SetPower(BleMvxApplication._xerxes_Power); BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_EXERANGING); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.INVENTORY); _cancelVoltageValue = true; RaisePropertyChanged(() => startInventoryButtonText); }
public override void Suspend() { BleMvxApplication._reader.rfid.StopOperation(); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); SetEvent(false); base.Suspend(); }
void StateChangedEvent(object sender, CSLibrary.Events.OnStateChangedEventArgs e) { if (e.state == CSLibrary.Constants.RFState.INITIALIZATION_COMPLETE) { BleMvxApplication._batteryLow = false; RaisePropertyChanged(() => labelVoltageTextColor); // for cloud server //BleMvxApplication._reader.siliconlabIC.GetSerialNumber(); // Set Country and Region information if (BleMvxApplication._config.RFID_Region == CSLibrary.Constants.RegionCode.UNKNOWN) { BleMvxApplication._config.RFID_Region = BleMvxApplication._reader.rfid.SelectedRegionCode; if (BleMvxApplication._reader.rfid.IsFixedChannel) { BleMvxApplication._config.RFID_FrequenceSwitch = 1; BleMvxApplication._config.RFID_FixedChannel = BleMvxApplication._reader.rfid.SelectedChannel; } else { BleMvxApplication._config.RFID_FrequenceSwitch = 0; // Hopping } } // the library auto cancel the task if the setting no change switch (BleMvxApplication._config.RFID_FrequenceSwitch) { case 0: BleMvxApplication._reader.rfid.SetHoppingChannels(BleMvxApplication._config.RFID_Region); break; case 1: BleMvxApplication._reader.rfid.SetFixedChannel(BleMvxApplication._config.RFID_Region, BleMvxApplication._config.RFID_FixedChannel); break; case 2: BleMvxApplication._reader.rfid.SetAgileChannels(BleMvxApplication._config.RFID_Region); break; } if (BleMvxApplication._reader.rfid.GetFirmwareVersion() < 0x00020614 || BleMvxApplication._reader.siliconlabIC.GetFirmwareVersion() < 0x00010009 || BleMvxApplication._reader.bluetoothIC.GetFirmwareVersion() < 0x0001000E) { _userDialogs.AlertAsync("Firmware too old" + Environment.NewLine + "Please upgrade firmware to at least :" + Environment.NewLine + "RFID Processor firmware: V2.6.20" + Environment.NewLine + "SiliconLab Firmware: V1.0.9" + Environment.NewLine + "Bluetooth Firmware: V1.0.14"); } ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); } }
public override void Suspend() { _InventoryScanning = false; StopInventory(); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); if (BleMvxApplication._config.RFID_Vibration) { BleMvxApplication._reader.barcode.VibratorOff(); } SetEvent(false); // don't turn off event handler is you need program work in sleep mode. //SetEvent(false); base.Suspend(); }
public override void Suspend() { _InventoryScanning = false; StopInventory(); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); BleMvxApplication._reader.rfid.OnAsyncCallback -= new EventHandler <CSLibrary.Events.OnAsyncCallbackEventArgs>(TagInventoryEvent); BleMvxApplication._reader.rfid.OnStateChanged -= new EventHandler <CSLibrary.Events.OnStateChangedEventArgs>(StateChangedEvent); // Key Button event handler BleMvxApplication._reader.notification.OnKeyEvent -= new EventHandler <CSLibrary.Notification.HotKeyEventArgs>(HotKeys_OnKeyEvent); BleMvxApplication._reader.notification.OnVoltageEvent -= new EventHandler <CSLibrary.Notification.VoltageEventArgs>(VoltageEvent); // don't turn off event handler is you need program work in sleep mode. //SetEvent(false); base.Suspend(); }
public override void Suspend() { BleMvxApplication._reader.rfid.CancelAllSelectCriteria(); // Confirm cancel all filter BleMvxApplication._reader.rfid.StopOperation(); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); BleMvxApplication._reader.barcode.Stop(); // Cancel RFID event handler BleMvxApplication._reader.rfid.OnAsyncCallback -= new EventHandler <CSLibrary.Events.OnAsyncCallbackEventArgs>(TagInventoryEvent); BleMvxApplication._reader.rfid.OnStateChanged += new EventHandler <CSLibrary.Events.OnStateChangedEventArgs>(StateChangedEvent); // Key Button event handler BleMvxApplication._reader.notification.OnKeyEvent -= new EventHandler <CSLibrary.Notification.HotKeyEventArgs>(HotKeys_OnKeyEvent); BleMvxApplication._reader.notification.OnVoltageEvent -= new EventHandler <CSLibrary.Notification.VoltageEventArgs>(VoltageEvent); base.Suspend(); }
public override void Suspend() { BleMvxApplication._reader.rfid.StopOperation(); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); BleMvxApplication._reader.barcode.Stop(); // Cancel RFID event handler BleMvxApplication._reader.rfid.OnAsyncCallback -= new EventHandler <CSLibrary.Events.OnAsyncCallbackEventArgs>(TagInventoryEvent); // Cancel Barcode event handler BleMvxApplication._reader.barcode.OnCapturedNotify -= new EventHandler <CSLibrary.Barcode.BarcodeEventArgs>(Linkage_CaptureCompleted); // Key Button event handler BleMvxApplication._reader.notification.OnKeyEvent -= new EventHandler <CSLibrary.Notification.HotKeyEventArgs>(HotKeys_OnKeyEvent); BleMvxApplication._reader.notification.OnVoltageEvent -= new EventHandler <CSLibrary.Notification.VoltageEventArgs>(VoltageEvent); base.Suspend(); }
void StartInventory() { if (_startInventory == false) { return; } StartTagCount(); { _startInventory = false; _startInventoryButtonText = "Stop Inventory"; } InventoryStartTime = DateTime.Now; BleMvxApplication._reader.rfid.StartOperation(CSLibrary.Constants.Operation.TAG_EXERANGING); ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.INVENTORY); _cancelVoltageValue = true; RaisePropertyChanged(() => startInventoryButtonText); }
void StateChangedEvent(object sender, CSLibrary.Events.OnStateChangedEventArgs e) { if (e.state == CSLibrary.Constants.RFState.INITIALIZATION_COMPLETE) { BleMvxApplication._batteryLow = false; RaisePropertyChanged(() => labelVoltageTextColor); // Set Country and Region information if (BleMvxApplication._config.RFID_Region == CSLibrary.Constants.RegionCode.UNKNOWN || BleMvxApplication._config.readerModel != BleMvxApplication._reader.rfid.GetModel()) { BleMvxApplication._config.readerModel = BleMvxApplication._reader.rfid.GetModel(); BleMvxApplication._config.RFID_Region = BleMvxApplication._reader.rfid.SelectedRegionCode; if (BleMvxApplication._reader.rfid.IsFixedChannel) { BleMvxApplication._config.RFID_FrequenceSwitch = 1; BleMvxApplication._config.RFID_FixedChannel = BleMvxApplication._reader.rfid.SelectedChannel; } else { BleMvxApplication._config.RFID_FrequenceSwitch = 0; // Hopping } } // the library auto cancel the task if the setting no change switch (BleMvxApplication._config.RFID_FrequenceSwitch) { case 0: BleMvxApplication._reader.rfid.SetHoppingChannels(BleMvxApplication._config.RFID_Region); break; case 1: BleMvxApplication._reader.rfid.SetFixedChannel(BleMvxApplication._config.RFID_Region, BleMvxApplication._config.RFID_FixedChannel); break; case 2: BleMvxApplication._reader.rfid.SetAgileChannels(BleMvxApplication._config.RFID_Region); break; } uint portNum = BleMvxApplication._reader.rfid.GetAntennaPort(); for (uint cnt = 0; cnt < portNum; cnt++) { BleMvxApplication._reader.rfid.SetAntennaPortState(cnt, BleMvxApplication._config.RFID_AntennaEnable[cnt] ? CSLibrary.Constants.AntennaPortState.ENABLED : CSLibrary.Constants.AntennaPortState.DISABLED); BleMvxApplication._reader.rfid.SetPowerLevel(BleMvxApplication._config.RFID_Antenna_Power[cnt], cnt); BleMvxApplication._reader.rfid.SetInventoryDuration(BleMvxApplication._config.RFID_Antenna_Dwell[cnt], cnt); } if ((BleMvxApplication._reader.bluetoothIC.GetFirmwareVersion() & 0x0F0000) != 0x030000) // ignore CS463 { if (BleMvxApplication._reader.rfid.GetFirmwareVersion() < 0x0002061D || BleMvxApplication._reader.siliconlabIC.GetFirmwareVersion() < 0x00010009 || BleMvxApplication._reader.bluetoothIC.GetFirmwareVersion() < 0x0001000E) { _userDialogs.AlertAsync("Firmware too old" + Environment.NewLine + "Please upgrade firmware to at least :" + Environment.NewLine + "RFID Processor firmware: V2.6.29" + Environment.NewLine + "SiliconLab Firmware: V1.0.9" + Environment.NewLine + "Bluetooth Firmware: V1.0.14"); } } ClassBattery.SetBatteryMode(ClassBattery.BATTERYMODE.IDLE); } }
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); }