Пример #1
0
        public FanSpeedManager(FanConfiguration config, int criticalTemperature)
        {
            this.fanConfig             = config;
            this.criticalTemperature   = criticalTemperature;
            this.overriddenPercentages = new Dictionary <float, int>();
            this.overriddenValues      = new Dictionary <int, float>();

            if (config.TemperatureThresholds != null &&
                config.TemperatureThresholds.Count > 0)
            {
                this.threshMan = new TemperatureThresholdManager(config.TemperatureThresholds);
            }
            else
            {
                this.threshMan = new TemperatureThresholdManager(FanConfiguration.DefaultTemperatureThresholds);
            }

            foreach (FanSpeedPercentageOverride o in config.FanSpeedPercentageOverrides)
            {
                if (!this.overriddenPercentages.ContainsKey(o.FanSpeedPercentage))
                {
                    this.overriddenPercentages.Add(o.FanSpeedPercentage, o.FanSpeedValue);
                }

                if (!this.overriddenValues.ContainsKey(o.FanSpeedValue))
                {
                    this.overriddenValues.Add(o.FanSpeedValue, o.FanSpeedPercentage);
                }
            }
        }
Пример #2
0
        public FanSpeedManager(FanConfiguration config, int criticalTemperature)
        {
            this.fanConfig = config;
            this.criticalTemperature = criticalTemperature;
            this.overriddenPercentages = new Dictionary<float, int>();
            this.overriddenValues = new Dictionary<int, float>();

            if (config.TemperatureThresholds != null
                && config.TemperatureThresholds.Count > 0)
            {
                this.threshMan = new TemperatureThresholdManager(config.TemperatureThresholds);
            }
            else
            {
                this.threshMan = new TemperatureThresholdManager(FanConfiguration.DefaultTemperatureThresholds);
            }

            foreach (FanSpeedPercentageOverride o in config.FanSpeedPercentageOverrides)
            {
                if (!this.overriddenPercentages.ContainsKey(o.FanSpeedPercentage))
                {
                    this.overriddenPercentages.Add(o.FanSpeedPercentage, o.FanSpeedValue);
                }

                if (!this.overriddenValues.ContainsKey(o.FanSpeedValue))
                {
                    this.overriddenValues.Add(o.FanSpeedValue, o.FanSpeedPercentage);
                }
            }
        }
Пример #3
0
        public Fan(IEmbeddedController ec, FanConfiguration config, int criticalTemperature, bool readWriteWords)
        {
            this.ec                  = ec;
            this.fanConfig           = config;
            this.criticalTemperature = criticalTemperature;
            this.readWriteWords      = readWriteWords;

            this.overriddenPercentages = new Dictionary <float, FanSpeedPercentageOverride>();
            this.overriddenValues      = new Dictionary <int, FanSpeedPercentageOverride>();

            this.minSpeedValueWrite = config.MinSpeedValue;
            this.maxSpeedValueWrite = config.MaxSpeedValue;

            if (config.IndependentReadMinMaxValues)
            {
                this.minSpeedValueRead = config.MinSpeedValueRead;
                this.maxSpeedValueRead = config.MaxSpeedValueRead;
            }
            else
            {
                this.minSpeedValueRead = this.minSpeedValueWrite;
                this.maxSpeedValueRead = this.maxSpeedValueWrite;
            }

            this.minSpeedValueReadAbs = Math.Min(this.minSpeedValueRead, this.maxSpeedValueRead);
            this.maxSpeedValueReadAbs = Math.Max(this.minSpeedValueRead, this.maxSpeedValueRead);

            if (config.TemperatureThresholds != null &&
                config.TemperatureThresholds.Count > 0)
            {
                this.threshMan = new TemperatureThresholdManager(config.TemperatureThresholds);
            }
            else
            {
                this.threshMan = new TemperatureThresholdManager(FanConfiguration.DefaultTemperatureThresholds);
            }

            foreach (FanSpeedPercentageOverride o in config.FanSpeedPercentageOverrides)
            {
                if (o.TargetOperation.HasFlag(OverrideTargetOperation.Write) &&
                    !this.overriddenPercentages.ContainsKey(o.FanSpeedPercentage))
                {
                    this.overriddenPercentages.Add(o.FanSpeedPercentage, o);
                }

                if (o.TargetOperation.HasFlag(OverrideTargetOperation.Read) &&
                    !this.overriddenValues.ContainsKey(o.FanSpeedValue))
                {
                    this.overriddenValues.Add(o.FanSpeedValue, o);
                }
            }
        }
Пример #4
0
        public FanSpeedManager(FanConfiguration config, int criticalTemperature)
        {
            this.fanConfig = config;
            this.criticalTemperature = criticalTemperature;
            this.overriddenPercentages = new Dictionary<float, FanSpeedPercentageOverride>();
            this.overriddenValues = new Dictionary<int, FanSpeedPercentageOverride>();

            this.MinSpeedValueWrite = config.MinSpeedValue;
            this.MaxSpeedValueWrite = config.MaxSpeedValue;

            if (config.IndependentReadMinMaxValues)
            {
                this.MinSpeedValueRead = config.MinSpeedValueRead;
                this.MaxSpeedValueRead = config.MaxSpeedValueRead;
            }
            else
            {
                this.MinSpeedValueRead = this.MinSpeedValueWrite;
                this.MaxSpeedValueRead = this.MaxSpeedValueWrite;
            }

            this.MinSpeedValueReadAbs = Math.Min(this.MinSpeedValueRead, this.MaxSpeedValueRead);
            this.MinSpeedValueReadAbs = Math.Max(this.MinSpeedValueRead, this.MaxSpeedValueRead);

            if (config.TemperatureThresholds != null
                && config.TemperatureThresholds.Count > 0)
            {
                this.threshMan = new TemperatureThresholdManager(config.TemperatureThresholds);
            }
            else
            {
                this.threshMan = new TemperatureThresholdManager(FanConfiguration.DefaultTemperatureThresholds);
            }

            foreach (FanSpeedPercentageOverride o in config.FanSpeedPercentageOverrides)
            {
                if (o.TargetOperation.HasFlag(OverrideTargetOperation.Write) 
                    && !this.overriddenPercentages.ContainsKey(o.FanSpeedPercentage))
                {
                    this.overriddenPercentages.Add(o.FanSpeedPercentage, o);
                }

                if (o.TargetOperation.HasFlag(OverrideTargetOperation.Read) 
                    && !this.overriddenValues.ContainsKey(o.FanSpeedValue))
                {
                    this.overriddenValues.Add(o.FanSpeedValue, o);
                }
            }
        }