# HG changeset patch # User moel.mich # Date 1275942905 0 # Node ID 9ed52fa44ecfa81d192074a01e794d15eb5828fa # Parent fa2957aa06996b1879449477c3e40441791e6976 Added support for a second miniNG on the T-Balancer bigNG. diff -r fa2957aa0699 -r 9ed52fa44ecf Hardware/TBalancer/TBalancer.cs --- a/Hardware/TBalancer/TBalancer.cs Mon Jun 07 20:03:48 2010 +0000 +++ b/Hardware/TBalancer/TBalancer.cs Mon Jun 07 20:35:05 2010 +0000 @@ -56,6 +56,7 @@ private Sensor[] controls = new Sensor[4]; private Sensor[] miniNGTemperatures = new Sensor[4]; private Sensor[] miniNGFans = new Sensor[4]; + private Sensor[] miniNGControls = new Sensor[4]; private List active = new List(); private List deactivating = new List(); private int[] primaryData = new int[0]; @@ -105,9 +106,13 @@ }); for (int i = 0; i < controls.Length; i++) { - controls[i] = new Sensor("Fan Channel " + i, i, - SensorType.Control, this, null); - ActivateSensor(controls[i]); + controls[i] = new Sensor("Fan Channel " + i, i, SensorType.Control, + this, null); + } + + for (int i = 0; i < miniNGControls.Length; i++) { + miniNGControls[i] = new Sensor("miniNG #" + (i / 2 + 1) + + " Fan Channel " + (i % 2 + 1), 4 + i, SensorType.Control, this, null); } alternativeRequest = new MethodDelegate(DelayedAlternativeRequest); @@ -166,13 +171,19 @@ sensor.Value = 20.0f * data[offset + 43 + 2 * i]; ActivateSensor(sensor); } + + for (int i = 0; i < 2; i++) { + Sensor sensor = miniNGControls[number * 2 + i]; + sensor.Value = data[offset + 15 + i]; + ActivateSensor(sensor); + } } private void ReadData() { int[] data = new int[285]; for (int i = 0; i < data.Length; i++) data[i] = FTD2XX.ReadByte(handle); - + if (data[0] != STARTFLAG) { FTD2XX.FT_Purge(handle, FT_PURGE.FT_PURGE_RX); return; @@ -241,7 +252,8 @@ fans[i].Value = fans[i].Parameters[0].Value * value; ActivateSensor(fans[i]); - controls[i].Value = 100 * value; + controls[i].Value = 100 * value; + ActivateSensor(controls[i]); } } else if (data[1] == 253) { // miniNG #1 @@ -249,7 +261,7 @@ ReadminiNG(data, 0); - if (data[66] == 252) // miniNG #2 + if (data[66] == 253) // miniNG #2 ReadminiNG(data, 1); } }