/// <summary> /// Clear all components created by this form before Inventroring /// </summary> public void Clear() { // Clear Mainform tsslblCounter.Text = "0"; tsslRunTime.Text = new TimeSpan(0, 0, 0, 0).ToString(); _startTime = DateTime.Now; // Clear TagTableForm if (_tagTableForm.Visible) { _tagTableForm.ClearDataGridView(); } // Clear RSSIGraphForm if (_rssiGraphForm.Visible) { _rssiGraphForm.Clear(); } // Clear PhaseGraphForm if (_phaseGraphForm.Visible) { _phaseGraphForm.Clear(); } ClearHolographics(); _tagsTable.Clear(); PhaseLocating.getInstance().Clear(); ClearTagInfo(_tagsQueue); }
public void StartInventory() { SARParameter.IsSimulation = false; PhaseLocating.getInstance().started = true; IImpinjControlService impinjControlService = ServiceManager.getOneImpinjControlService(); impinjControlService.startInventory(RFIDReaderParameter.antennaConfiguration, RFIDReaderParameter.rOReportSpec); ServiceManager.closeService(impinjControlService); // this.UpdateComponentStatus((int)ENUM_ROSpecEventType.Start_Of_ROSpec, SARParameter.IsSimulation); StartDequeueThread(); }
/// <summary> /// Dequeue tagInfo from tags queue /// </summary> public void DequeueTagInfo() { while (true) { List <TagInfo> tagInfoList = null; TagInfo tagInfo = null; if (SARParameter.IsSimulation) { if (_tagsQueue.TryDequeue(out tagInfo)) { tagInfoList = new List <TagInfo>(); tagInfoList.Add(tagInfo); } } else { try { IImpinjControlService impinjControlService = ServiceManager.getOneImpinjControlService(); TagInfo[] tagInfoArray = impinjControlService.tryDeque(); ServiceManager.closeService(impinjControlService); tagInfoList = new List <TagInfo>(tagInfoArray); } catch { } } if (tagInfoList != null && tagInfoList.Count > 0) { foreach (TagInfo tagInfoInList in tagInfoList) { PhaseLocating.getInstance().addPhaseRecord(tagInfoInList); this.BeginInvoke(method: new Action(() => { this.UpdateDisplayForms(tagInfoInList, SARParameter.IsSimulation); })); if (_sortingBooksForm.Visible) { if (SARParameter.IsSimulation) { //处于模拟中,使用SAR(tagInfo) _sortingBooksForm.SAR(tagInfoInList); } } } TagInfo lastTagInfo = tagInfoList.Last(); UpdateStatusStrip(lastTagInfo, false); this._systemInfoForm.updateTime((long)lastTagInfo.FirstSeenTime); } Thread.Sleep(10); } }
public void StopInventory() { PhaseLocating.getInstance().started = false; StopDequeueThread(); if (tsbtnStop.Enabled) { IImpinjControlService impinjControlService = ServiceManager.getOneImpinjControlService(); impinjControlService.stopInventory(); ServiceManager.closeService(impinjControlService); // this.UpdateComponentStatus((int)ENUM_ROSpecEventType.End_Of_ROSpec, SARParameter.IsSimulation); } }
/// <summary> /// Save tag file Manually /// </summary> /// <param name="filename">tag file name</param> public void SaveAsCSV(string filename) { SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.RestoreDirectory = true; fileDialog.InitialDirectory = _filepath; fileDialog.Filter = "CSV文件|*.csv*|XML文件|*.xml"; fileDialog.FileName = filename.Substring(1, filename.Length - 1); fileDialog.RestoreDirectory = true; if (fileDialog.ShowDialog() == DialogResult.OK) { CSVFileHelper.SaveCSV(_tagsTable.Tags, fileDialog.FileName); TagsWithPosTable tagsWithPosTable = PhaseLocating.getInstance().tagsWithPosTable; CSVFileHelper.SaveCSV(tagsWithPosTable.tags, fileDialog.FileName + "WithPos.csv"); } }
public void updatePos() { while (true) { IDmcControlService service = ServiceManager.getOneDmcControlService(); List <DMCPosDto> posList = new List <DMCPosDto>(service.tryDequeue()); ServiceManager.closeService(service); if (posList.Count > 0) { foreach (DMCPosDto dmcPosDto in posList) { PhaseLocating.getInstance().addPositionRecord(dmcPosDto.x, dmcPosDto.y, dmcPosDto.microSecond); } DMCPosDto lastPosDto = posList.Last(); D posD = new D(showPosition); this.btnHorizontalRun.Invoke(posD, lastPosDto.x, lastPosDto.y); } Thread.Sleep(10); } }