X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FManualFancontrol%2FInstandbyOn.py;h=b4af0ad84efc1ade4ceb29e02700416fa8380fa0;hp=e1c914f26b27d527a79282943289d689e0217511;hb=ae49c64044d1a591af5d8a5f1bfa79d9f43e080b;hpb=131b56110765786c73f5406979fdbbab0afb2d81;ds=sidebyside diff --git a/lib/python/Plugins/SystemPlugins/ManualFancontrol/InstandbyOn.py b/lib/python/Plugins/SystemPlugins/ManualFancontrol/InstandbyOn.py index e1c914f..b4af0ad 100755 --- a/lib/python/Plugins/SystemPlugins/ManualFancontrol/InstandbyOn.py +++ b/lib/python/Plugins/SystemPlugins/ManualFancontrol/InstandbyOn.py @@ -36,24 +36,24 @@ class instandbyOn: self.checkStstusTimer.callback.append(self.checkStstus) if config.plugins.manualfancontrols.pwmvalue.value == 0: self.fanoffmode = 'ON' - if self.fanoffmode == 'ON': - self.checkStatusLoopStart() - - config.misc.standbyCounter.addNotifier(self.standbyBegin, initial_call = False) - print " init : self.fanoffmode : ", self.fanoffmode - print " init : config.plugins.manualfancontrols.pwmvalue.value : ", config.plugins.manualfancontrols.pwmvalue.value + if self.check_fan_pwm(): + if self.fanoffmode == 'ON': + self.checkStatusLoopStart() + config.misc.standbyCounter.addNotifier(self.standbyBegin, initial_call = False) +# print "[ManualFancontrol] init : self.fanoffmode : ", self.fanoffmode +# print "[ManualFancontrol] init : config.plugins.manualfancontrols.pwmvalue.value : ", config.plugins.manualfancontrols.pwmvalue.value def checkStatusLoopStart(self): - print " checkStatusLoopStart" +# print "[ManualFancontrol] checkStatusLoopStart" self.checkStstusTimer.start(int(config.plugins.manualfancontrols.checkperiod.value) * 1000) def checkStatusLoopStop(self): - print " checkStatusLoopStop" +# print "[ManualFancontrol] checkStatusLoopStop" self.checkStstusTimer.stop() def checkStstus(self): from Screens.Standby import inStandby - print " checkStstus, fanoffmode : %s, "%self.fanoffmode,"inStandby : ",inStandby and True or False + print "[ManualFancontrol] checkStstus, fanoffmode : %s, "%self.fanoffmode,"inStandby : ",inStandby and True or False if self.fanoffmode is 'ON' : # pwmvalue is '0' if self.isRecording() or self.isHDDActive(): self.setPWM(self.minimum_pwm) @@ -64,11 +64,13 @@ class instandbyOn: self.setPWM(config.plugins.manualfancontrols.pwmvalue.value) else: self.setPWM(0) - elif self.getPWM() != config.plugins.manualfancontrols.pwmvalue.value : # normal mode - self.setPWM(config.plugins.manualfancontrols.pwmvalue.value) + else: + pwm = self.getPWM() + if pwm is not None and pwm != config.plugins.manualfancontrols.pwmvalue.value : # normal mode + self.setPWM(config.plugins.manualfancontrols.pwmvalue.value) def standbyBegin(self, configElement): - print " Standby Begin" +# print "[ManualFancontrol] Standby Begin" if config.plugins.manualfancontrols.standbymode.value == "yes" and self.fanoffmode is "OFF": from Screens.Standby import inStandby inStandby.onClose.append(self.StandbyEnd) @@ -77,19 +79,19 @@ class instandbyOn: self.checkStstus() def StandbyEnd(self): - print " Standby End" +# print "[ManualFancontrol] Standby End" if self.fanoffmode is "OFF": self.removeRecordEventCB() self.checkStatusLoopStop() self.checkStstus() def addRecordEventCB(self): - print " addRecordEventCB" +# print "[ManualFancontrol] addRecordEventCB" if self.getRecordEvent not in NavigationInstance.instance.record_event: NavigationInstance.instance.record_event.append(self.getRecordEvent) def removeRecordEventCB(self): - print " removeRecordEventCB" +# print "[ManualFancontrol] removeRecordEventCB" if self.getRecordEvent in NavigationInstance.instance.record_event: NavigationInstance.instance.record_event.remove(self.getRecordEvent) @@ -114,17 +116,31 @@ class instandbyOn: return False def getPWM(self): - f = open("/proc/stb/fp/fan_pwm", "r") - value = int(f.readline().strip(), 16) - f.close() - print " getPWM : %d "%value - return value + try: + f = open("/proc/stb/fp/fan_pwm", "r") + value = int(f.readline().strip(), 16) + f.close() + print "[ManualFancontrol] getPWM : %d "%value + return value + except: + print "[ManualFancontrol] /proc/stb/fp/fan_pwm is not exist" + return None def setPWM(self, value): - print " setPWM to : %d"%value - f = open("/proc/stb/fp/fan_pwm", "w") - f.write("%x" % value) - f.close() + try: + f = open("/proc/stb/fp/fan_pwm", "w") + f.write("%x" % value) + f.close() + print "[ManualFancontrol] setPWM to : %d"%value + except: + print "[ManualFancontrol] /proc/stb/fp/fan_pwm is not exist" + + def check_fan_pwm(self): + from os import access, F_OK + if access("/proc/stb/fp/fan_pwm", F_OK): + return True + else: + return False instandbyon = instandbyOn()