refs bug #429
[enigma2.git] / lib / python / Components / FanControl.py
index d7986c25c5fa3433dfd24c372d27f4db38fd4566..cee0523ee6b916f4f2365f4c22268411df751358 100644 (file)
@@ -11,6 +11,20 @@ class FanControl:
                else:
                        self.fancount = 0
                self.createConfig()
+               config.misc.standbyCounter.addNotifier(self.standbyCounterChanged, initial_call = False)
+
+       def leaveStandby(self):
+               for fanid in range(self.getFanCount()):
+                       cfg = self.getConfig(fanid)
+                       self.setVoltage(fanid, cfg.vlt.value)
+                       self.setPWM(fanid, cfg.pwm.value)
+
+       def standbyCounterChanged(self, configElement):
+               from Screens.Standby import inStandby
+               inStandby.onClose.append(self.leaveStandby)
+               for fanid in range(self.getFanCount()):
+                       self.setVoltage(fanid, 0)
+                       self.setPWM(fanid, 0)
 
        def createConfig(self):
                def setVlt(fancontrol, fanid, configElement):
@@ -20,11 +34,9 @@ class FanControl:
                
                config.fans = ConfigSubList()
                for fanid in range(self.getFanCount()):
-                       default_vlt = self.getVoltage(fanid)
-                       default_pwm = self.getPWM(fanid)
                        fan = ConfigSubsection()
-                       fan.vlt = ConfigSlider(default = default_vlt, increment = 10, limits = (0, 255))
-                       fan.pwm = ConfigSlider(default = default_vlt, increment = 10, limits = (0, 255))
+                       fan.vlt = ConfigSlider(default = 16, increment = 5, limits = (0, 255))
+                       fan.pwm = ConfigSlider(default = 0, increment = 5, limits = (0, 255))
                        fan.vlt.addNotifier(boundFunction(setVlt, self, fanid))
                        fan.pwm.addNotifier(boundFunction(setPWM, self, fanid))
                        config.fans.append(fan)