git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
keep selected event when modifying sort order (Moritz Venn)
[enigma2.git]
/
lib
/
python
/
Components
/
Converter
/
FrontendInfo.py
diff --git
a/lib/python/Components/Converter/FrontendInfo.py
b/lib/python/Components/Converter/FrontendInfo.py
index a1064b97d5eda085bb8eee4521399010d2f6bcfa..d4788b0b67c6ee99533b2fa1c28deeaf9ddaefe2 100644
(file)
--- a/
lib/python/Components/Converter/FrontendInfo.py
+++ b/
lib/python/Components/Converter/FrontendInfo.py
@@
-1,24
+1,30
@@
from Components.Converter.Converter import Converter
from Components.Converter.Converter import Converter
+from Components.Element import cached
class FrontendInfo(Converter, object):
BER = 0
SNR = 1
AGC = 2
LOCK = 3
class FrontendInfo(Converter, object):
BER = 0
SNR = 1
AGC = 2
LOCK = 3
+ SNRdB = 4
- def __init__(self, type
, *args, **kwargs
):
- Converter.__init__(self)
+ def __init__(self, type):
+ Converter.__init__(self
, type
)
if type == "BER":
self.type = self.BER
elif type == "SNR":
self.type = self.SNR
if type == "BER":
self.type = self.BER
elif type == "SNR":
self.type = self.SNR
+ elif type == "SNRdB":
+ self.type = self.SNRdB
elif type == "AGC":
self.type = self.AGC
else:
self.type = self.LOCK
elif type == "AGC":
self.type = self.AGC
else:
self.type = self.LOCK
+ @cached
def getText(self):
assert self.type != self.LOCK, "the text output of FrontendInfo cannot be used for lock info"
def getText(self):
assert self.type != self.LOCK, "the text output of FrontendInfo cannot be used for lock info"
+ percent = None
if self.type == self.BER: # as count
count = self.source.ber
if count is not None:
if self.type == self.BER: # as count
count = self.source.ber
if count is not None:
@@
-29,20
+35,29
@@
class FrontendInfo(Converter, object):
percent = self.source.agc
elif self.type == self.SNR:
percent = self.source.snr
percent = self.source.agc
elif self.type == self.SNR:
percent = self.source.snr
-
+ elif self.type == self.SNRdB:
+ if self.source.snr_db is not None:
+ return "%3.02f dB" % (self.source.snr_db / 100.0)
+ elif self.source.snr is not None: #fallback to normal SNR...
+ percent = self.source.snr
if percent is None:
return "N/A"
return "%d %%" % (percent * 100 / 65536)
if percent is None:
return "N/A"
return "%d %%" % (percent * 100 / 65536)
+ @cached
def getBool(self):
def getBool(self):
- assert self.type == LOCK, "the boolean output of FrontendInfo can only be used for lock info"
- return self.source.lock
+ assert self.type in [self.LOCK, self.BER], "the boolean output of FrontendInfo can only be used for lock or BER info"
+ if self.type == self.LOCK:
+ return self.source.lock
+ else:
+ return self.source.ber > 0
text = property(getText)
text = property(getText)
- bool = property(getBool)
+ bool
ean
= property(getBool)
+ @cached
def getValue(self):
assert self.type != self.LOCK, "the value/range output of FrontendInfo can not be used for lock info"
if self.type == self.AGC:
def getValue(self):
assert self.type != self.LOCK, "the value/range output of FrontendInfo can not be used for lock info"
if self.type == self.AGC: