Anzeige Signalqualität (SNR) in dB anstatt %

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ich habe jetzt mal die hier beschriebene Methode auf meiner Ultimo 4k angewandt. Die Formel paßt natürlich nicht, ich konnte sie aber leicht anpassen, da ich noch eine DM500 HD habe.

      Das Problem ist jetzt aber, dass die FallBack Formel stumpf für alle Tuner Arten eingesetzt wird. Also bei mir für DVB-S, -T und -C. Das passt natürlich überhaupt nicht. Ich versuche nun, für die unterschiedlichen Empfangswege unterschiedliche Formeln in die FrontendInfo.py einzuarbeiten. Leider reichen meine Python Kenntnisse dafür nicht aus. Ich habe folgendes versucht, das crasht aber in Zeile 19. Das Attribut frontend_type kennt er nicht. Kann jemand da ein Tip geben?

      Quellcode

      1. @cached
      2. def getText(self):
      3. assert self.type not in (self.LOCK, self.SLOT_NUMBER), "the text output of FrontendInfo cannot be used for lock info"
      4. percent = None
      5. if self.type == self.BER: # as count
      6. count = self.source.ber
      7. if count is not None:
      8. return str(count)
      9. else:
      10. return "N/A"
      11. elif self.type == self.AGC:
      12. percent = self.source.agc
      13. elif self.type == self.SNR:
      14. percent = self.source.snr
      15. elif self.type == self.SNRdB:
      16. if self.source.snr_db is not None:
      17. return "%3.02f dB" % (self.source.snr_db / 100.0)
      18. elif self.source.snr is not None: #fallback to normal SNR...
      19. type = self.source.frontend_type
      20. if type == 'DVB-S':
      21. return "%3.02f dB" % (((self.source.snr / (65536.0 / 100.0)) * 0.1600) - 0.0000)
      22. elif type == 'DVB-C':
      23. return "%3.02f dB" % (((self.source.snr / (65536.0 / 100.0)) * 0.4000) - 0.0000)
      24. elif type == 'DVB-T':
      25. return "%3.02f dB" % (((self.source.snr / (65536.0 / 100.0)) * 0.2400) - 0.0000)
      26. return "%3.02f dB" % (((self.source.snr / (65536.0 / 100.0)) * 0.1600) - 0.0000)
      27. elif self.type == self.TUNER_TYPE:
      28. return self.source.frontend_type and self.frontend_type or "Unknown"
      29. if percent is None:
      30. return "N/A"
      31. return '{:.02f} %'.format((percent *100.00) / 65536.0000)
      Alles anzeigen