diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-08-26 10:54:46 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-08-26 10:54:46 +0000 |
| commit | 92362f1b73f1e61ad0cb1c581b318b360e0bb6fe (patch) | |
| tree | 1e351add90b8bbd3d9b822d313bc6b4d56a9350e /lib/python/Tools/DreamboxHardware.py | |
| parent | 92929c357751afc31f7f1acbe3e724bdf307cf23 (diff) | |
| download | enigma2-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/Tools/DreamboxHardware.py')
| -rw-r--r-- | lib/python/Tools/DreamboxHardware.py | 49 |
1 files changed, 43 insertions, 6 deletions
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!" |
