private int FillRodeSwartzPowerMeterList() { try { int c = NRP_Z211PowerMeter.GetSensorCount(); if (c == 0) { return(c); } m_sensorsName = new string[c]; string SensorType = string.Empty; string SensorName = string.Empty; string SensorSerial = string.Empty; for (int i = 1; i < (c + 1); i++) { NRP_Z211PowerMeter.GetSensorInfo(i, out SensorType, out SensorName, out SensorSerial); m_sensorsName[i - 1] = SensorName; } return(c); } catch (Exception err) { throw (new SystemException(err.Message)); } }
bool AllocatePowerMeterResources(PowerMeterSelect[] pmSelect) { Label[] lbl = { label1, label2, label3, label4 }; lock (this) { string str = string.Empty; for (int i = 0; i < 4; i++) { lbl[i].Text = "0"; if (m_powerMeter[i] != null) { m_powerMeter[i].Close(); } m_powerMeter[i] = null; if (pmSelect[i].ampId != -1) { str += "Channel " + (i + 1) + " assign to " + pmSelect[i].sensorName + Environment.NewLine; label7.Text = str; m_powerMeter[i] = new NRP_Z211PowerMeter(); NRP_Z211PowerMeter m_nrp = (NRP_Z211PowerMeter)m_powerMeter[i]; m_nrp.Mode = NRP_Z211_Modes.NONBURSTED; if (m_powerMeter[i].Initialize(pmSelect[i].sensorName) == true) { } } } if (m_PowerMeterThread == null) { m_PowerMeterThread = new Thread(new ThreadStart(PowerMeterThreadProcess)); m_PowerMeterThread.Priority = ThreadPriority.Highest; m_PowerMeterThread.Start(); } else if (m_PowerMeterThread.IsAlive == false) { m_PowerMeterThread.Start(); } } return(true); }