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);
        }