show terrestrial frontend infos in ServiceInfo dialog
[vuplus_dvbapp] / lib / python / Screens / ServiceInfo.py
index eafa42a..70d12ae 100644 (file)
@@ -64,13 +64,15 @@ class ServiceInfo(Screen):
                        "cancel": self.close,
                        "red": self.information,
                        "green": self.pids,
-                       "yellow": self.transponder
+                       "yellow": self.transponder,
+                       "blue": self.tuner
                }, -1)
                
                service = session.nav.getCurrentService()
                if service is not None:
                        self.info = service.info()
                        self.feinfo = service.frontendStatusInfo()
+                       print self.info.getInfoObject(iServiceInformation.sVideoPID);
                else:
                        self.info = None
 
@@ -78,7 +80,7 @@ class ServiceInfo(Screen):
                self["red"] = Label("Serviceinfo")
                self["green"] = Label("PIDs")
                self["yellow"] = Label("Transponder")
-               self["blue"] = Label("")
+               self["blue"] = Label("Tuner status")
        
                tlist = [ ]
 
@@ -109,19 +111,51 @@ class ServiceInfo(Screen):
        
        def transponder(self):
                frontendData = self.feinfo.getFrontendData(True)
-               print frontendData
+               Labels = self.getFEData(frontendData)
+               self.fillList(Labels)
+               
+       def tuner(self):
+               frontendData = self.feinfo.getFrontendData(False)
+               Labels = self.getFEData(frontendData)
+               self.fillList(Labels)
+               
+       def getFEData(self, frontendData):
+               if frontendData is None:
+                       return []
                if frontendData["tuner_type"] == "DVB-S":
-                       Labels = ( ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
+                       return ( ("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+                                          ("Type", frontendData["tuner_type"], TYPE_TEXT),
+                                          ("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC),
+                                          ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
                                           ("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
-                                               ("Polarization", ["horizontal", "vertical", "circular left", "circular right"][frontendData["polarization"]], TYPE_TEXT),
-                                               ("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC))
+                                          ("Polarization", frontendData["polarization"], TYPE_TEXT),
+                                          ("Inversion", frontendData["inversion"], TYPE_TEXT),
+                                          ("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
+                                               )
                elif frontendData["tuner_type"] == "DVB-C":
-                       pass
+                       return ( ("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+                                          ("Type", frontendData["tuner_type"], TYPE_TEXT),
+                                          ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
+                                          ("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
+                                          ("Modulation", frontendData["modulation"], TYPE_TEXT),
+                                          ("Inversion", frontendData["inversion"], TYPE_TEXT),
+                                          ("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
+                                               )
                elif frontendData["tuner_type"] == "DVB-T":
-                       pass
-                       
-               self.fillList(Labels)
-       
+                       return ( ("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+                                          ("Type", frontendData["tuner_type"], TYPE_TEXT),
+                                          ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
+                                          ("Inversion", frontendData["inversion"], TYPE_TEXT),
+                                          ("Bandwidth", frontendData["bandwidth"], TYPE_VALUE_DEC),
+                                          ("CodeRateLP", frontendData["code_rate_lp"], TYPE_TEXT),
+                                          ("CodeRateHP", frontendData["code_rate_hp"], TYPE_TEXT),
+                                          ("Constellation", frontendData["constellation"], TYPE_TEXT),
+                                          ("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC),
+                                          ("Transmission Mode", frontendData["transmission_mode"], TYPE_TEXT),
+                                          ("Guard Interval", frontendData["guard_interval"], TYPE_TEXT),
+                                          ("Hierarchy Inform.", frontendData["hierarchy_information"], TYPE_TEXT),
+                                               )
+               
        def fillList(self, Labels):
                tlist = [ ]