Exemplo n.º 1
0
        public void SensorRemove(ConsultSensor sens)
        {
            _log.WriteEntry(this,
                String.Format("Removing live sensor: [{0}]", sens.ToString()),
                EventEntryType.Debug);

            //Если сейчас идет прием данных
            if (_flagIsScanning)
            {
                this.SensorStopLive();

                //Дождемся завершения приема данных
                lock (this)
                {
                    //удалим информацию о сенсоре
                    _sensors.Remove(sens);
                }

                //стартанем скан сенсоров заново
                this.SensorStartLive();
            }
            else
            {
                _sensors.Remove(sens);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Добавить сенсор для сканирования
        /// </summary>
        public void SensorAdd(ConsultSensor sens)
        {
            _log.WriteEntry(this,
                String.Format("Adding live sensor: [{0}]", sens.ToString()),
                EventEntryType.Debug);

            if (CountOfSensors + 1 > (int)ECUConst.ECU_REG_MAX_READS)
                throw new ConsultException("Достигнуто максимальное количество сенсоров - " + (int)ECUConst.ECU_REG_MAX_READS);
            if (_flagIsScanning)
            {
                SensorStopLive();
                lock (this)
                {
                    _sensors.Add(sens);
                }
                this.SensorStartLive();
            }
            else
            {
                _sensors.Add(sens);
            }
        }