aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-08-26 10:54:46 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-08-26 10:54:46 +0000
commit92362f1b73f1e61ad0cb1c581b318b360e0bb6fe (patch)
tree1e351add90b8bbd3d9b822d313bc6b4d56a9350e /lib/python
parent92929c357751afc31f7f1acbe3e724bdf307cf23 (diff)
downloadenigma2-92362f1b73f1e61ad0cb1c581b318b360e0bb6fe.tar.gz
enigma2-92362f1b73f1e61ad0cb1c581b318b360e0bb6fe.zip
add support for dm8000 rtc,
add support for dm8000 deepstandby wakeup, go back to deepstandby after deepstandby timer wakeup even when not explicitely selected (this needs new drivers and / or new atmel firmware) add some sanity checks to dont break anything even with old drivers/atmel firmware
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Screens/Standby.py8
-rw-r--r--lib/python/Tools/DreamboxHardware.py49
2 files changed, 47 insertions, 10 deletions
diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py
index f7c819de..fd7ca8ef 100644
--- a/lib/python/Screens/Standby.py
+++ b/lib/python/Screens/Standby.py
@@ -93,7 +93,7 @@ from time import time
inTryQuitMainloop = False
class TryQuitMainloop(MessageBox):
- def __init__(self, session, retvalue=1, timeout=-1):
+ def __init__(self, session, retvalue=1, timeout=-1, default_yes = True):
self.retval=retvalue
recordings = len(session.nav.getRecordings())
self.connected = False
@@ -102,13 +102,13 @@ class TryQuitMainloop(MessageBox):
next_rec_time = session.nav.RecordTimer.getNextRecordingTime()
if recordings or (next_rec_time > 0 and (next_rec_time - time()) < 360):
if retvalue == 1:
- MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really shutdown now?"), type = MessageBox.TYPE_YESNO, timeout = timeout)
+ MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really shutdown now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes)
elif retvalue == 2:
- MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really reboot now?"), type = MessageBox.TYPE_YESNO, timeout = timeout)
+ MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really reboot now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes)
elif retvalue == 4:
pass
else:
- MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really restart now?"), type = MessageBox.TYPE_YESNO, timeout = timeout)
+ MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really restart now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes)
self.skinName = "MessageBox"
session.nav.record_event.append(self.getRecordEvent)
self.connected = True
diff --git a/lib/python/Tools/DreamboxHardware.py b/lib/python/Tools/DreamboxHardware.py
index 5eaaeeca..2a0ddeee 100644
--- a/lib/python/Tools/DreamboxHardware.py
+++ b/lib/python/Tools/DreamboxHardware.py
@@ -1,17 +1,54 @@
+from fcntl import ioctl
+from struct import pack, unpack
+
def getFPVersion():
- from fcntl import ioctl
try:
fp = open("/dev/dbox/fp0")
return ioctl(fp.fileno(),0)
except IOError:
+ print "getFPVersion failed!"
return None
def setFPWakeuptime(wutime):
- from fcntl import ioctl
- from struct import pack
+ try:
+ open("/proc/stb/fp/wakeup_time", "w").write(str(wutime))
+ except IOError:
+ try:
+ fp = open("/dev/dbox/fp0")
+ ioctl(fp.fileno(), 6, pack('L', wutime)) # set wake up
+ except IOError:
+ print "setFPWakeupTime failed!"
+def getFPWakeuptime():
+ ret = 0
try:
- fp = open("/dev/dbox/fp0")
- ioctl(fp.fileno(), 6, pack('L', wutime)) # set wake up
+ ret = long(open("/proc/stb/fp/wakeup_time", "r").read())
except IOError:
- pass
+ try:
+ fp = open("/dev/dbox/fp0")
+ ret = unpack('L', ioctl(fp.fileno(), 5, ' '))[0] # get wakeuptime
+ except IOError:
+ print "getFPWakeupTime failed!"
+ return ret
+
+def getFPWasTimerWakeup():
+ was_wakeup = False
+ try:
+ was_wakeup = int(open("/proc/stb/fp/was_timer_wakeup", "r").read()) and True or False
+ except:
+ try:
+ fp = open("/dev/dbox/fp0")
+ was_wakeup = unpack('B', ioctl(fp.fileno(), 9, ' '))[0] and True or False
+ except IOError:
+ print "wasTimerWakeup failed!"
+ return was_wakeup
+
+def clearFPWasTimerWakeup():
+ try:
+ open("/proc/stb/fp/was_timer_wakeup", "w").write('0')
+ except:
+ try:
+ fp = open("/dev/dbox/fp0")
+ ioctl(fp.fileno(), 10)
+ except IOError:
+ print "clearFPWasTimerWakeup failed!"