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