X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/02522d3c5a29ea1a3109931efe9d88bc15762120..6910f3159717ed70073b25f42ef176443a3de76f:/lib/python/Components/Sources/FrontendStatus.py diff --git a/lib/python/Components/Sources/FrontendStatus.py b/lib/python/Components/Sources/FrontendStatus.py index 02286873..8f1b36dc 100644 --- a/lib/python/Components/Sources/FrontendStatus.py +++ b/lib/python/Components/Sources/FrontendStatus.py @@ -9,8 +9,8 @@ class FrontendStatus(Source): self.frontend_source = frontend_source self.invalidate() self.poll_timer = eTimer() - self.poll_timer.timeout.get().append(self.updateFrontendStatus) - self.poll_timer.start(update_interval) + self.poll_timer.callback.append(self.updateFrontendStatus) + self.poll_timer.start(update_interval, True) def invalidate(self): self.snr = self.agc = self.ber = self.lock = self.snr_db = None @@ -20,20 +20,21 @@ class FrontendStatus(Source): if not status: self.invalidate() else: - self.snr = status.get("tuner_signal_power") - self.snr_db = status.get("tuner_signal_power_db") - self.agc = status.get("tuner_signal_quality") + self.snr = status.get("tuner_signal_quality") + self.snr_db = status.get("tuner_signal_quality_db") + self.agc = status.get("tuner_signal_power") self.ber = status.get("tuner_bit_error_rate") self.lock = status.get("tuner_locked") self.changed((self.CHANGED_ALL, )) + self.poll_timer.start(self.update_interval, True) def getFrontendStatus(self): if self.frontend_source: frontend = self.frontend_source() + dict = { } if frontend: - dict = { } frontend.getFrontendStatus(dict) - return dict + return dict elif self.service_source: service = self.service_source() feinfo = service and service.frontendInfo() @@ -45,5 +46,9 @@ class FrontendStatus(Source): if suspended: self.poll_timer.stop() else: - self.poll_timer.start(self.update_interval) + self.updateFrontendStatus() + + def destroy(self): + self.poll_timer.callback.remove(self.updateFrontendStatus) + Source.destroy(self)