show terrestrial frontend infos in ServiceInfo dialog
[vuplus_dvbapp] / lib / python / Screens / ServiceInfo.py
index 7870259..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,9 +111,19 @@ 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 = ( ("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+                       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),
@@ -121,12 +133,29 @@ class ServiceInfo(Screen):
                                           ("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 = [ ]