Fixed Issue 69.
authormoel.mich
Sun, 06 Jun 2010 11:07:57 +0000
changeset 1348b3b9b2e28e5
parent 133 9ad699538c89
child 135 51a15cf90d22
Fixed Issue 69.
GUI/MainForm.Designer.cs
GUI/MainForm.cs
GUI/SensorNode.cs
Hardware/ATI/ATIGPU.cs
Hardware/CPU/AMD0FCPU.cs
Hardware/CPU/AMD10CPU.cs
Hardware/CPU/IntelCPU.cs
Hardware/ISensor.cs
Hardware/Mainboard/SuperIOHardware.cs
Hardware/Nvidia/NvidiaGPU.cs
Hardware/Sensor.cs
Hardware/TBalancer/TBalancer.cs
     1.1 --- a/GUI/MainForm.Designer.cs	Sat Jun 05 18:59:54 2010 +0000
     1.2 +++ b/GUI/MainForm.Designer.cs	Sun Jun 06 11:07:57 2010 +0000
     1.3 @@ -67,14 +67,12 @@
     1.4        this.value = new Aga.Controls.Tree.TreeColumn();
     1.5        this.min = new Aga.Controls.Tree.TreeColumn();
     1.6        this.max = new Aga.Controls.Tree.TreeColumn();
     1.7 -      this.limit = new Aga.Controls.Tree.TreeColumn();
     1.8        this.nodeImage = new Aga.Controls.Tree.NodeControls.NodeIcon();
     1.9        this.nodeCheckBox = new Aga.Controls.Tree.NodeControls.NodeCheckBox();
    1.10        this.nodeTextBoxText = new Aga.Controls.Tree.NodeControls.NodeTextBox();
    1.11        this.nodeTextBoxValue = new Aga.Controls.Tree.NodeControls.NodeTextBox();
    1.12        this.nodeTextBoxMin = new Aga.Controls.Tree.NodeControls.NodeTextBox();
    1.13        this.nodeTextBoxMax = new Aga.Controls.Tree.NodeControls.NodeTextBox();
    1.14 -      this.nodeTextBoxLimit = new Aga.Controls.Tree.NodeControls.NodeTextBox();
    1.15        this.menuStrip = new System.Windows.Forms.MenuStrip();
    1.16        this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.17        this.saveReportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.18 @@ -87,7 +85,6 @@
    1.19        this.valueMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.20        this.minMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.21        this.maxMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.22 -      this.limitMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.23        this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.24        this.startMinMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.25        this.minTrayMenuItem = new System.Windows.Forms.ToolStripMenuItem();
    1.26 @@ -118,7 +115,6 @@
    1.27        this.treeView.Columns.Add(this.value);
    1.28        this.treeView.Columns.Add(this.min);
    1.29        this.treeView.Columns.Add(this.max);
    1.30 -      this.treeView.Columns.Add(this.limit);
    1.31        this.treeView.DefaultToolTipProvider = null;
    1.32        this.treeView.Dock = System.Windows.Forms.DockStyle.Fill;
    1.33        this.treeView.DragDropMarkColor = System.Drawing.Color.Black;
    1.34 @@ -134,7 +130,6 @@
    1.35        this.treeView.NodeControls.Add(this.nodeTextBoxValue);
    1.36        this.treeView.NodeControls.Add(this.nodeTextBoxMin);
    1.37        this.treeView.NodeControls.Add(this.nodeTextBoxMax);
    1.38 -      this.treeView.NodeControls.Add(this.nodeTextBoxLimit);
    1.39        this.treeView.RowHeight = 18;
    1.40        this.treeView.SelectedNode = null;
    1.41        this.treeView.Size = new System.Drawing.Size(410, 488);
    1.42 @@ -172,13 +167,6 @@
    1.43        this.max.TooltipText = null;
    1.44        this.max.Width = 100;
    1.45        // 
    1.46 -      // limit
    1.47 -      // 
    1.48 -      this.limit.Header = "Limit";
    1.49 -      this.limit.SortOrder = System.Windows.Forms.SortOrder.None;
    1.50 -      this.limit.TooltipText = null;
    1.51 -      this.limit.Width = 100;
    1.52 -      // 
    1.53        // nodeImage
    1.54        // 
    1.55        this.nodeImage.DataPropertyName = "Image";
    1.56 @@ -222,14 +210,6 @@
    1.57        this.nodeTextBoxMax.LeftMargin = 3;
    1.58        this.nodeTextBoxMax.ParentColumn = this.max;
    1.59        // 
    1.60 -      // nodeTextBoxLimit
    1.61 -      // 
    1.62 -      this.nodeTextBoxLimit.DataPropertyName = "Limit";
    1.63 -      this.nodeTextBoxLimit.EditEnabled = true;
    1.64 -      this.nodeTextBoxLimit.IncrementalSearchEnabled = true;
    1.65 -      this.nodeTextBoxLimit.LeftMargin = 3;
    1.66 -      this.nodeTextBoxLimit.ParentColumn = this.limit;
    1.67 -      // 
    1.68        // menuStrip
    1.69        // 
    1.70        this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
    1.71 @@ -305,8 +285,7 @@
    1.72        this.columnsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
    1.73              this.valueMenuItem,
    1.74              this.minMenuItem,
    1.75 -            this.maxMenuItem,
    1.76 -            this.limitMenuItem});
    1.77 +            this.maxMenuItem});
    1.78        this.columnsToolStripMenuItem.Name = "columnsToolStripMenuItem";
    1.79        this.columnsToolStripMenuItem.Size = new System.Drawing.Size(188, 22);
    1.80        this.columnsToolStripMenuItem.Text = "Columns";
    1.81 @@ -317,7 +296,7 @@
    1.82        this.valueMenuItem.CheckOnClick = true;
    1.83        this.valueMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
    1.84        this.valueMenuItem.Name = "valueMenuItem";
    1.85 -      this.valueMenuItem.Size = new System.Drawing.Size(103, 22);
    1.86 +      this.valueMenuItem.Size = new System.Drawing.Size(152, 22);
    1.87        this.valueMenuItem.Text = "Value";
    1.88        this.valueMenuItem.CheckedChanged += new System.EventHandler(this.valueMenuItem_CheckedChanged);
    1.89        // 
    1.90 @@ -327,7 +306,7 @@
    1.91        this.minMenuItem.CheckOnClick = true;
    1.92        this.minMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
    1.93        this.minMenuItem.Name = "minMenuItem";
    1.94 -      this.minMenuItem.Size = new System.Drawing.Size(103, 22);
    1.95 +      this.minMenuItem.Size = new System.Drawing.Size(152, 22);
    1.96        this.minMenuItem.Text = "Min";
    1.97        this.minMenuItem.CheckedChanged += new System.EventHandler(this.minMenuItem_CheckedChanged);
    1.98        // 
    1.99 @@ -337,20 +316,10 @@
   1.100        this.maxMenuItem.CheckOnClick = true;
   1.101        this.maxMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
   1.102        this.maxMenuItem.Name = "maxMenuItem";
   1.103 -      this.maxMenuItem.Size = new System.Drawing.Size(103, 22);
   1.104 +      this.maxMenuItem.Size = new System.Drawing.Size(152, 22);
   1.105        this.maxMenuItem.Text = "Max";
   1.106        this.maxMenuItem.CheckedChanged += new System.EventHandler(this.maxMenuItem_CheckedChanged);
   1.107        // 
   1.108 -      // limitMenuItem
   1.109 -      // 
   1.110 -      this.limitMenuItem.Checked = true;
   1.111 -      this.limitMenuItem.CheckOnClick = true;
   1.112 -      this.limitMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
   1.113 -      this.limitMenuItem.Name = "limitMenuItem";
   1.114 -      this.limitMenuItem.Size = new System.Drawing.Size(103, 22);
   1.115 -      this.limitMenuItem.Text = "Limit";
   1.116 -      this.limitMenuItem.CheckedChanged += new System.EventHandler(this.limitMenuItem_CheckedChanged);
   1.117 -      // 
   1.118        // optionsToolStripMenuItem
   1.119        // 
   1.120        this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
   1.121 @@ -476,7 +445,7 @@
   1.122        // sensorContextMenuStrip
   1.123        // 
   1.124        this.sensorContextMenuStrip.Name = "sensorContextMenuStrip";
   1.125 -      this.sensorContextMenuStrip.Size = new System.Drawing.Size(153, 26);
   1.126 +      this.sensorContextMenuStrip.Size = new System.Drawing.Size(61, 4);
   1.127        // 
   1.128        // saveFileDialog
   1.129        // 
   1.130 @@ -536,8 +505,6 @@
   1.131      private Aga.Controls.Tree.NodeControls.NodeCheckBox nodeCheckBox;
   1.132      private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
   1.133      private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
   1.134 -    private Aga.Controls.Tree.TreeColumn limit;
   1.135 -    private Aga.Controls.Tree.NodeControls.NodeTextBox nodeTextBoxLimit;
   1.136      private System.Windows.Forms.ToolStripMenuItem saveReportToolStripMenuItem;
   1.137      private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
   1.138      private System.Windows.Forms.ToolStripMenuItem hddMenuItem;
   1.139 @@ -554,7 +521,6 @@
   1.140      private System.Windows.Forms.ToolStripMenuItem valueMenuItem;
   1.141      private System.Windows.Forms.ToolStripMenuItem minMenuItem;
   1.142      private System.Windows.Forms.ToolStripMenuItem maxMenuItem;
   1.143 -    private System.Windows.Forms.ToolStripMenuItem limitMenuItem;
   1.144      private System.Windows.Forms.ToolStripMenuItem temperatureUnitsToolStripMenuItem;
   1.145      private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
   1.146      private System.Windows.Forms.ToolStripMenuItem celciusToolStripMenuItem;
     2.1 --- a/GUI/MainForm.cs	Sat Jun 05 18:59:54 2010 +0000
     2.2 +++ b/GUI/MainForm.cs	Sun Jun 06 11:07:57 2010 +0000
     2.3 @@ -73,7 +73,6 @@
     2.4        nodeTextBoxValue.DrawText += nodeTextBoxText_DrawText;
     2.5        nodeTextBoxMin.DrawText += nodeTextBoxText_DrawText;
     2.6        nodeTextBoxMax.DrawText += nodeTextBoxText_DrawText;
     2.7 -      nodeTextBoxLimit.DrawText += nodeTextBoxLimit_DrawText;
     2.8  
     2.9        if (Utilities.Config.Contains("mainForm.Location.X")) {
    2.10          int x = Utilities.Config.Get("mainForm.Location.X", Location.X);
    2.11 @@ -131,7 +130,6 @@
    2.12        valueMenuItem.Checked = Config.Get(valueMenuItem.Name, true);
    2.13        minMenuItem.Checked = Config.Get(minMenuItem.Name, false);
    2.14        maxMenuItem.Checked = Config.Get(maxMenuItem.Name, true);
    2.15 -      limitMenuItem.Checked = Config.Get(limitMenuItem.Name, false);
    2.16  
    2.17        startMinMenuItem.Checked = Config.Get(startMinMenuItem.Name, false); 
    2.18        minTrayMenuItem.Checked = Config.Get(minTrayMenuItem.Name, true);
    2.19 @@ -193,12 +191,6 @@
    2.20          root.Nodes.Remove(node);
    2.21      }
    2.22  
    2.23 -    private void nodeTextBoxLimit_DrawText(object sender, DrawEventArgs e) {
    2.24 -      SensorNode sensorNode = e.Node.Tag as SensorNode;
    2.25 -      if (sensorNode != null) 
    2.26 -        e.Text = sensorNode.ValueToString(sensorNode.Sensor.Limit);
    2.27 -    }
    2.28 -
    2.29      private void nodeTextBoxText_DrawText(object sender, DrawEventArgs e) {       
    2.30        Node node = e.Node.Tag as Node;
    2.31        if (node != null) {
    2.32 @@ -262,7 +254,6 @@
    2.33        Config.Set(valueMenuItem.Name, valueMenuItem.Checked);
    2.34        Config.Set(minMenuItem.Name, minMenuItem.Checked);
    2.35        Config.Set(maxMenuItem.Name, maxMenuItem.Checked);
    2.36 -      Config.Set(limitMenuItem.Name, limitMenuItem.Checked);
    2.37  
    2.38        Config.Set(startMinMenuItem.Name, startMinMenuItem.Checked);
    2.39        Config.Set(minTrayMenuItem.Name, minTrayMenuItem.Checked);
    2.40 @@ -443,10 +434,6 @@
    2.41        treeView.Columns[3].IsVisible = maxMenuItem.Checked;
    2.42      }
    2.43  
    2.44 -    private void limitMenuItem_CheckedChanged(object sender, EventArgs e) {
    2.45 -      treeView.Columns[4].IsVisible = limitMenuItem.Checked;
    2.46 -    }
    2.47 -
    2.48      private void celciusToolStripMenuItem_Click(object sender, EventArgs e) {
    2.49        celciusToolStripMenuItem.Checked = true;
    2.50        fahrenheitToolStripMenuItem.Checked = false;
     3.1 --- a/GUI/SensorNode.cs	Sat Jun 05 18:59:54 2010 +0000
     3.2 +++ b/GUI/SensorNode.cs	Sun Jun 06 11:07:57 2010 +0000
     3.3 @@ -111,18 +111,6 @@
     3.4        get { return ValueToString(sensor.Max); }
     3.5      }
     3.6  
     3.7 -    public String Limit {
     3.8 -      get {
     3.9 -        return sensor.Limit.ToString();
    3.10 -      }
    3.11 -      set {
    3.12 -        if (value != "")
    3.13 -          sensor.Limit = float.Parse(value);
    3.14 -        else
    3.15 -          sensor.Limit = null;
    3.16 -      }
    3.17 -    }
    3.18 -
    3.19      public override bool Equals(System.Object obj) {
    3.20        if (obj == null) 
    3.21          return false;
     4.1 --- a/Hardware/ATI/ATIGPU.cs	Sat Jun 05 18:59:54 2010 +0000
     4.2 +++ b/Hardware/ATI/ATIGPU.cs	Sun Jun 06 11:07:57 2010 +0000
     4.3 @@ -69,8 +69,7 @@
     4.4  
     4.5        this.temperature = 
     4.6          new Sensor("GPU Core", 0, SensorType.Temperature, this);
     4.7 -      this.fan = new Sensor("GPU", 0, speedInfo.MaxRPM, SensorType.Fan, this,
     4.8 -        null);
     4.9 +      this.fan = new Sensor("GPU", 0, SensorType.Fan, this, null);
    4.10        this.coreClock = new Sensor("GPU Core", 0, SensorType.Clock, this);
    4.11        this.memoryClock = new Sensor("GPU Memory", 1, SensorType.Clock, this);
    4.12        this.coreVoltage = new Sensor("GPU Core", 0, SensorType.Voltage, this);
     5.1 --- a/Hardware/CPU/AMD0FCPU.cs	Sat Jun 05 18:59:54 2010 +0000
     5.2 +++ b/Hardware/CPU/AMD0FCPU.cs	Sun Jun 06 11:07:57 2010 +0000
     5.3 @@ -88,7 +88,7 @@
     5.4          coreTemperatures = new Sensor[coreCount];
     5.5          for (int i = 0; i < coreCount; i++) {
     5.6            coreTemperatures[i] =
     5.7 -            new Sensor("Core #" + (i + 1), i, null, SensorType.Temperature,
     5.8 +            new Sensor("Core #" + (i + 1), i, SensorType.Temperature,
     5.9                this, new ParameterDescription[] { 
    5.10                  new ParameterDescription("Offset [°C]", 
    5.11                    "Temperature offset of the thermal sensor.\n" + 
     6.1 --- a/Hardware/CPU/AMD10CPU.cs	Sat Jun 05 18:59:54 2010 +0000
     6.2 +++ b/Hardware/CPU/AMD10CPU.cs	Sun Jun 06 11:07:57 2010 +0000
     6.3 @@ -85,7 +85,7 @@
     6.4        
     6.5        // AMD family 10h processors support only one temperature sensor
     6.6        coreTemperature = new Sensor(
     6.7 -        "Core" + (coreCount > 1 ? " #1 - #" + coreCount : ""), 0, null,
     6.8 +        "Core" + (coreCount > 1 ? " #1 - #" + coreCount : ""), 0,
     6.9          SensorType.Temperature, this, new ParameterDescription[] {
    6.10              new ParameterDescription("Offset [°C]", "Temperature offset.", 0)
    6.11            });
     7.1 --- a/Hardware/CPU/IntelCPU.cs	Sat Jun 05 18:59:54 2010 +0000
     7.2 +++ b/Hardware/CPU/IntelCPU.cs	Sun Jun 06 11:07:57 2010 +0000
     7.3 @@ -172,7 +172,7 @@
     7.4        {
     7.5          coreTemperatures = new Sensor[coreCount];
     7.6          for (int i = 0; i < coreTemperatures.Length; i++) {
     7.7 -          coreTemperatures[i] = new Sensor(CoreString(i), i, tjMax[i],
     7.8 +          coreTemperatures[i] = new Sensor(CoreString(i), i,
     7.9              SensorType.Temperature, this, new ParameterDescription[] { 
    7.10                new ParameterDescription(
    7.11                  "TjMax [°C]", "TjMax temperature of the core.\n" + 
     8.1 --- a/Hardware/ISensor.cs	Sat Jun 05 18:59:54 2010 +0000
     8.2 +++ b/Hardware/ISensor.cs	Sun Jun 06 11:07:57 2010 +0000
     8.3 @@ -72,8 +72,7 @@
     8.4  
     8.5      float? Value { get; }
     8.6      float? Min { get; }
     8.7 -    float? Max { get; }
     8.8 -    float? Limit { get; set; }
     8.9 +    float? Max { get; }    
    8.10  
    8.11      IEnumerable<ISensorEntry> Plot { get; }
    8.12    }
     9.1 --- a/Hardware/Mainboard/SuperIOHardware.cs	Sat Jun 05 18:59:54 2010 +0000
     9.2 +++ b/Hardware/Mainboard/SuperIOHardware.cs	Sun Jun 06 11:07:57 2010 +0000
     9.3 @@ -431,7 +431,7 @@
     9.4        foreach (Voltage voltage in v) 
     9.5          if (voltage.Index < superIO.Voltages.Length) {
     9.6            Sensor sensor = new Sensor(voltage.Name, voltage.Index, 
     9.7 -            voltage.Hidden, null, SensorType.Voltage, this, 
     9.8 +            voltage.Hidden, SensorType.Voltage, this, 
     9.9              new ParameterDescription[] {
    9.10              new ParameterDescription("Ri [kΩ]", "Input resistance.\n" + 
    9.11                formula, voltage.Ri),
    9.12 @@ -445,7 +445,7 @@
    9.13  
    9.14        foreach (Temperature temperature in t) 
    9.15          if (temperature.Index < superIO.Temperatures.Length) {
    9.16 -        Sensor sensor = new Sensor(temperature.Name, temperature.Index, null,
    9.17 +        Sensor sensor = new Sensor(temperature.Name, temperature.Index,
    9.18            SensorType.Temperature, this, new ParameterDescription[] {
    9.19            new ParameterDescription("Offset [°C]", "Temperature offset.", 0)
    9.20          });
    9.21 @@ -454,7 +454,7 @@
    9.22  
    9.23        foreach (Fan fan in f)
    9.24          if (fan.Index < superIO.Fans.Length) {
    9.25 -          Sensor sensor = new Sensor(fan.Name, fan.Index, null, SensorType.Fan,
    9.26 +          Sensor sensor = new Sensor(fan.Name, fan.Index, SensorType.Fan,
    9.27              this, null);
    9.28            fans.Add(sensor);
    9.29          }
    10.1 --- a/Hardware/Nvidia/NvidiaGPU.cs	Sat Jun 05 18:59:54 2010 +0000
    10.2 +++ b/Hardware/Nvidia/NvidiaGPU.cs	Sun Jun 06 11:07:57 2010 +0000
    10.3 @@ -74,8 +74,8 @@
    10.4            case NvThermalTarget.UNKNOWN: name = "GPU Unknown"; break;
    10.5            default: name = "GPU"; break;
    10.6          }
    10.7 -        temperatures[i] = new Sensor(name, i, sensor.DefaultMaxTemp,
    10.8 -          SensorType.Temperature, this, new ParameterDescription[0]);
    10.9 +        temperatures[i] = new Sensor(name, i, SensorType.Temperature, this, 
   10.10 +          new ParameterDescription[0]);
   10.11          ActivateSensor(temperatures[i]);
   10.12        }
   10.13  
    11.1 --- a/Hardware/Sensor.cs	Sat Jun 05 18:59:54 2010 +0000
    11.2 +++ b/Hardware/Sensor.cs	Sun Jun 06 11:07:57 2010 +0000
    11.3 @@ -53,8 +53,6 @@
    11.4      private float? value;
    11.5      private float? min;
    11.6      private float? max;
    11.7 -    private float? limit;
    11.8 -    private float? defaultLimit;
    11.9      private Queue<ISensorEntry> entries = 
   11.10        new Queue<ISensorEntry>(MAX_MINUTES * 15);
   11.11      
   11.12 @@ -64,22 +62,21 @@
   11.13      private const int MAX_MINUTES = 120;
   11.14     
   11.15      public Sensor(string name, int index, SensorType sensorType,
   11.16 -      IHardware hardware) : this(name, index, null, sensorType, hardware, 
   11.17 +      IHardware hardware) : this(name, index, sensorType, hardware, 
   11.18        null) { }
   11.19  
   11.20 -    public Sensor(string name, int index, float? limit, SensorType sensorType,
   11.21 +    public Sensor(string name, int index, SensorType sensorType,
   11.22        IHardware hardware, ParameterDescription[] parameterDescriptions) :
   11.23 -      this(name, index, false, limit, sensorType, hardware,
   11.24 +      this(name, index, false, sensorType, hardware,
   11.25          parameterDescriptions) { }
   11.26  
   11.27      public Sensor(string name, int index, bool defaultHidden, 
   11.28 -      float? limit, SensorType sensorType, IHardware hardware, 
   11.29 +      SensorType sensorType, IHardware hardware, 
   11.30        ParameterDescription[] parameterDescriptions) 
   11.31      {
   11.32        this.defaultName = name;      
   11.33        this.index = index;
   11.34        this.defaultHidden = defaultHidden;
   11.35 -      this.defaultLimit = limit;
   11.36        this.sensorType = sensorType;
   11.37        this.hardware = hardware;
   11.38        Parameter[] parameters = new Parameter[parameterDescriptions == null ?
   11.39 @@ -94,12 +91,6 @@
   11.40          this.name = configName;
   11.41        else
   11.42          this.name = name;
   11.43 -      string configLimit = Config.Settings[
   11.44 -        new Identifier(Identifier, "limit").ToString()];
   11.45 -      if (configLimit != null && configLimit != "")
   11.46 -        this.limit = float.Parse(configLimit);
   11.47 -      else
   11.48 -        this.limit = limit;
   11.49      }
   11.50  
   11.51      public IHardware Hardware {
   11.52 @@ -172,23 +163,6 @@
   11.53      public float? Min { get { return min; } }
   11.54      public float? Max { get { return max; } }
   11.55  
   11.56 -    public float? Limit {
   11.57 -      get {
   11.58 -        return limit;
   11.59 -      }
   11.60 -
   11.61 -      set {
   11.62 -        if (value.HasValue) {
   11.63 -          limit = value;
   11.64 -          Config.Settings[new Identifier(Identifier, "limit").ToString()] =
   11.65 -            limit.ToString();
   11.66 -        } else {
   11.67 -          limit = defaultLimit;
   11.68 -          Config.Settings[new Identifier(Identifier, "limit").ToString()] = "";          
   11.69 -        }        
   11.70 -      }
   11.71 -    }
   11.72 -
   11.73      public IEnumerable<ISensorEntry> Plot {
   11.74        get { return entries; }
   11.75      }
    12.1 --- a/Hardware/TBalancer/TBalancer.cs	Sat Jun 05 18:59:54 2010 +0000
    12.2 +++ b/Hardware/TBalancer/TBalancer.cs	Sun Jun 06 11:07:57 2010 +0000
    12.3 @@ -78,34 +78,34 @@
    12.4        int offset = 0;
    12.5        for (int i = 0; i < digitalTemperatures.Length; i++)
    12.6          digitalTemperatures[i] = new Sensor("Digital Sensor " + i,
    12.7 -          offset + i, null, SensorType.Temperature, this, parameter);
    12.8 +          offset + i, SensorType.Temperature, this, parameter);
    12.9        offset += digitalTemperatures.Length;
   12.10  
   12.11        for (int i = 0; i < analogTemperatures.Length; i++)
   12.12          analogTemperatures[i] = new Sensor("Analog Sensor " + (i + 1),
   12.13 -          offset + i, null, SensorType.Temperature, this, parameter);
   12.14 +          offset + i, SensorType.Temperature, this, parameter);
   12.15        offset += analogTemperatures.Length;
   12.16  
   12.17        for (int i = 0; i < sensorhubTemperatures.Length; i++)
   12.18          sensorhubTemperatures[i] = new Sensor("Sensorhub Sensor " + i,
   12.19 -          offset + i, null, SensorType.Temperature, this, parameter);
   12.20 +          offset + i, SensorType.Temperature, this, parameter);
   12.21        offset += sensorhubTemperatures.Length;
   12.22  
   12.23        for (int i = 0; i < miniNGTemperatures.Length; i++)
   12.24          miniNGTemperatures[i] = new Sensor("miniNG #" + (i / 2 + 1) +
   12.25 -          " Sensor " + (i % 2 + 1), offset + i, null, SensorType.Temperature, 
   12.26 +          " Sensor " + (i % 2 + 1), offset + i, SensorType.Temperature, 
   12.27            this, parameter);
   12.28        offset += miniNGTemperatures.Length;
   12.29  
   12.30        for (int i = 0; i < sensorhubFlows.Length; i++)
   12.31          sensorhubFlows[i] = new Sensor("Flowmeter " + (i + 1),
   12.32 -          i, null, SensorType.Flow, this, new ParameterDescription[] {
   12.33 +          i, SensorType.Flow, this, new ParameterDescription[] {
   12.34              new ParameterDescription("Impulse Rate", 
   12.35                "The impulse rate of the flowmeter in pulses/L", 509)
   12.36            });
   12.37  
   12.38        for (int i = 0; i < controls.Length; i++) {
   12.39 -        controls[i] = new Sensor("Fan Channel " + i, i, null, 
   12.40 +        controls[i] = new Sensor("Fan Channel " + i, i, 
   12.41            SensorType.Control, this, null);
   12.42          ActivateSensor(controls[i]);
   12.43        }
   12.44 @@ -159,7 +159,7 @@
   12.45          if (miniNGFans[number * 2 + i] == null)
   12.46            miniNGFans[number * 2 + i] = 
   12.47              new Sensor("miniNG #" + (number + 1) + " Fan Channel " + (i + 1),
   12.48 -            4 + number * 2 + i, maxRPM, SensorType.Fan, this, null);
   12.49 +            4 + number * 2 + i, SensorType.Fan, this, null);
   12.50          
   12.51          Sensor sensor = miniNGFans[number * 2 + i];
   12.52  
   12.53 @@ -226,7 +226,7 @@
   12.54            float maxRPM = 11.5f * ((data[149 + 2 * i] << 8) | data[148 + 2 * i]);
   12.55  
   12.56            if (fans[i] == null)
   12.57 -            fans[i] = new Sensor("Fan Channel " + i, i, maxRPM, SensorType.Fan,
   12.58 +            fans[i] = new Sensor("Fan Channel " + i, i, SensorType.Fan,
   12.59                this, new ParameterDescription[] {
   12.60                  new ParameterDescription("MaxRPM", 
   12.61                    "Maximum revolutions per minute (RPM) of the fan.", maxRPM)