X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FTunerInfo.py;h=39f54c0b2e4277b9df119ed3d6bc3cc2e44fd8aa;hp=24950221ef217cbe19e31fdb341840ed1d78de81;hb=c437ed274b0155ecdeb7382d6ee46d67a53755b9;hpb=b9bda8a0d43be892f2e5d96ea45ba8d4b2fdae20 diff --git a/lib/python/Components/TunerInfo.py b/lib/python/Components/TunerInfo.py index 2495022..39f54c0 100644 --- a/lib/python/Components/TunerInfo.py +++ b/lib/python/Components/TunerInfo.py @@ -10,13 +10,14 @@ class TunerInfo(GUIComponent): BER = 2 LOCK = 3 SNR_PERCENTAGE = 0 - AGC_PERCENTAGE = 1 - BER_VALUE = 2 - SNR_BAR = 3 - AGC_BAR = 4 - BER_BAR = 5 - LOCK_STATE = 6 - SYNC_STATE = 7 + SNR_DB = 1 + AGC_PERCENTAGE = 2 + BER_VALUE = 3 + SNR_BAR = 4 + AGC_BAR = 5 + BER_BAR = 6 + LOCK_STATE = 7 + SYNC_STATE = 8 def __init__(self, type, servicefkt = None, frontendfkt = None, statusDict = None): GUIComponent.__init__(self) @@ -47,7 +48,9 @@ class TunerInfo(GUIComponent): return val*100/65535 def update(self): - if self.type == self.SNR_PERCENTAGE or self.type == self.SNR_BAR: + if self.type == self.SNR_DB: + value = self.getValue(self.SNR_DB) + elif self.type == self.SNR_PERCENTAGE or self.type == self.SNR_BAR: value = self.getValue(self.SNR) * 100 / 65536 elif self.type == self.AGC_PERCENTAGE or self.type == self.AGC_BAR: value = self.getValue(self.AGC) * 100 / 65536 @@ -55,8 +58,13 @@ class TunerInfo(GUIComponent): value = self.getValue(self.BER) elif self.type == self.LOCK_STATE: value = self.getValue(self.LOCK) - - if self.type == self.SNR_PERCENTAGE or self.type == self.AGC_PERCENTAGE: + + if self.type == self.SNR_DB: + if value != 0x12345678: + self.setText("%3.02f dB" % (value / 100.0)) + else: + self.setText("") + elif self.type == self.SNR_PERCENTAGE or self.type == self.AGC_PERCENTAGE: self.setText("%d%%" % (value)) elif self.type == self.BER_VALUE: self.setText("%d" % (value)) @@ -72,10 +80,12 @@ class TunerInfo(GUIComponent): def getValue(self, what): if self.statusDict: - if what == self.SNR: - return self.statusDict.get("tuner_signal_power", 0) - elif what == self.AGC: + if what == self.SNR_DB: + return self.statusDict.get("tuner_signal_quality_db", 0x12345678) + elif what == self.SNR: return self.statusDict.get("tuner_signal_quality", 0) + elif what == self.AGC: + return self.statusDict.get("tuner_signal_power", 0) elif what == self.BER: return self.statusDict.get("tuner_bit_error_rate", 0) elif what == self.LOCK: @@ -85,10 +95,12 @@ class TunerInfo(GUIComponent): if service is not None: feinfo = service.frontendInfo() if feinfo is not None: - if what == self.SNR: - return feinfo.getFrontendInfo(iFrontendInformation.signalPower) - elif what == self.AGC: + if what == self.SNR_DB: + return feinfo.getFrontendInfo(iFrontendInformation.signalQualitydB) + elif what == self.SNR: return feinfo.getFrontendInfo(iFrontendInformation.signalQuality) + elif what == self.AGC: + return feinfo.getFrontendInfo(iFrontendInformation.signalPower) elif what == self.BER: return feinfo.getFrontendInfo(iFrontendInformation.bitErrorRate) elif what == self.LOCK: @@ -96,10 +108,12 @@ class TunerInfo(GUIComponent): elif self.frontendfkt: frontend = self.frontendfkt() if frontend: - if what == self.SNR: - return frontend.readFrontendData(iFrontendInformation.signalPower) - elif what == self.AGC: + if what == self.SNR_DB: + return frontend.readFrontendData(iFrontendInformation.signalQualitydB) + elif what == self.SNR: return frontend.readFrontendData(iFrontendInformation.signalQuality) + elif what == self.AGC: + return frontend.readFrontendData(iFrontendInformation.signalPower) elif what == self.BER: return frontend.readFrontendData(iFrontendInformation.bitErrorRate) elif what == self.LOCK: