internal FanProfile(XmlNode node, GeneralOptions defaults)
        {
            Name          = node.Attributes["name"].Value;
            this.Interval = Utils.ParseInt32(node.SelectSingleNode("interval")?.InnerText, defaults.interval);

            XmlNode hysteresis = node.SelectSingleNode("hysteresis");

            UpHysteresis   = Utils.ParseByte(hysteresis?.Attributes["up"]?.Value, defaults.UpHysteresis);
            DownHysteresis = Utils.ParseByte(hysteresis?.Attributes["down"]?.Value, defaults.DownHysteresis);

            bool.TryParse(node.Attributes["default"]?.Value, out IsDefault);

            XmlNodeList cfgPoints = node.SelectNodes("point");

            this.Points = new TemperaturePoint[cfgPoints.Count];
            for (var i = 0; i < this.Points.Length; i++)
            {
                node = cfgPoints[i];
                ref TemperaturePoint pt = ref Points[i];
                pt.Temperature = byte.Parse(node.Attributes["temp"].Value);
                pt.FanSpeed    = byte.Parse(node.Attributes["fan"].Value);
            }
Example #2
0
        public void ReadInitTxtFile(string filename)
        {
            CultureInfo provider = CultureInfo.InvariantCulture;
            var         format   = "yyyy-MM-dd HH:mm:ss";

            if (filename.Contains("Tdata"))
            {
                foreach (var str in File.ReadAllLines(filename))
                {
                    string[] split = Parser.ParseString(str);
                    if (Convert.ToInt32(split[5]) >= 8)
                    {
                        split[3] = split[3].Replace('.', ',');
                        var temperaturePoint = new TemperaturePoint(Convert.ToDouble(split[3]),
                                                                    DateTime.ParseExact(split[1], format, provider));
                        points[sensorBuildingPairs[Convert.ToInt32(split[0])] - 1].Add(temperaturePoint);
                    }
                }
            }
            else
            {
                Console.WriteLine("Choose correct file.");
            }
        }