diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2006-02-27 02:46:44 +0000 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2006-02-27 02:46:44 +0000 |
| commit | be296b411e8fc29f652799bf752d80db374d6672 (patch) | |
| tree | 7afc06ec3793aabe2e0dbfce042971a0ba43807d | |
| parent | 9b6b96172d1d20d9daf3c11bc5f0222f487d53d7 (diff) | |
| download | enigma2-be296b411e8fc29f652799bf752d80db374d6672.tar.gz enigma2-be296b411e8fc29f652799bf752d80db374d6672.zip | |
wake up from deep standby five minute before the timer starts. if we don't have 5 minutes till timer start, we wake the box
up in 30 seconds.
| -rw-r--r-- | RecordTimer.py | 2 | ||||
| -rw-r--r-- | lib/python/Tools/DreamboxHardware.py | 10 | ||||
| -rw-r--r-- | mytest.py | 10 | ||||
| -rw-r--r-- | timer.py | 5 |
4 files changed, 26 insertions, 1 deletions
diff --git a/RecordTimer.py b/RecordTimer.py index cf4160cc..08ea8590 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -221,7 +221,7 @@ class RecordTimer(timer.Timer): self.loadTimer() except IOError: print "unable to load timers from file!" - + def isRecording(self): isRunning = False for timer in self.timer_list: diff --git a/lib/python/Tools/DreamboxHardware.py b/lib/python/Tools/DreamboxHardware.py index 4f873e9e..5eaaeeca 100644 --- a/lib/python/Tools/DreamboxHardware.py +++ b/lib/python/Tools/DreamboxHardware.py @@ -5,3 +5,13 @@ def getFPVersion(): return ioctl(fp.fileno(),0) except IOError: return None + +def setFPWakeuptime(wutime): + from fcntl import ioctl + from struct import pack + + try: + fp = open("/dev/dbox/fp0") + ioctl(fp.fileno(), 6, pack('L', wutime)) # set wake up + except IOError: + pass @@ -302,6 +302,15 @@ def runScreenTest(): configfile.save() + from Tools.DreamboxHardware import setFPWakeuptime + from time import time + nextRecordingTime = session.nav.RecordTimer.getNextRecordingTime() + if nextRecordingTime != -1: + if (nextRecordingTime < 330): # no time to switch box back on + setFPWakeuptime(time() + 30) # so switch back on in 30 seconds + else: + setFPWakeuptime(nextRecordingTime - (300)) + session.nav.shutdown() return 0 @@ -340,6 +349,7 @@ import Components.NimManager # first, setup a screen try: runScreenTest() + plugins.shutdown() except: print 'EXCEPTION IN PYTHON STARTUP CODE:' @@ -113,6 +113,11 @@ class Timer: for f in self.on_state_change: f(entry) + def getNextRecordingTime(self): + if len(self.timer_list) > 0: + return self.timer_list[0].begin + return -1 + def cleanup(self): self.processed_timers = [entry for entry in self.processed_timers if entry.disabled] |
