remove agc
[enigma2.git] / lib / python / Plugins / SystemPlugins / PositionerSetup / plugin.py
index 048722cff79ac81993d0212e9ec99a9c988b3489..c8aa2718002ab2c73e2408916a283c1aad5794e9 100644 (file)
@@ -28,16 +28,13 @@ class PositionerSetup(Screen):
                        <widget name="blue" position="420,155" size="140,80" backgroundColor="blue" halign="center" valign="center" font="Regular;21" />
                        
                        <widget name="snr" text="SNR:" position="0,245" size="60,22" font="Regular;21" />
-                       <widget name="agc" text="AGC:" position="0,270" size="60,22" font="Regular;21" />
-                       <widget name="ber" text="BER:" position="0,295" size="60,22" font="Regular;21" />
+                       <widget name="ber" text="BER:" position="0,270" size="60,22" font="Regular;21" />
                        <widget name="lock" text="Lock:" position="0,320" size="60,22" font="Regular;21" />
                        <widget name="snr_percentage" position="220,245" size="60,22" font="Regular;21" />
-                       <widget name="agc_percentage" position="220,270" size="60,22" font="Regular;21" />
-                       <widget name="ber_value" position="220,295" size="60,22" font="Regular;21" />
+                       <widget name="ber_value" position="220,270" size="60,22" font="Regular;21" />
                        <widget name="lock_state" position="60,320" size="150,22" font="Regular;21" />
                        <widget name="snr_bar" position="60,245" size="150,22" />
-                       <widget name="agc_bar" position="60,270" size="150,22" />
-                       <widget name="ber_bar" position="60,295" size="150,22" />
+                       <widget name="ber_bar" position="60,270" size="150,22" />
 
                        <widget name="frequency" text="Frequency:" position="300,245" size="120,22" font="Regular;21" />
                        <widget name="symbolrate" text="Symbolrate:" position="300,270" size="120,22" font="Regular;21" />
@@ -87,14 +84,11 @@ class PositionerSetup(Screen):
                self.createSetup()
                
                self["snr"] = Label()
-               self["agc"] = Label()
                self["ber"] = Label()
                self["lock"] = Label()
                self["snr_percentage"] = TunerInfo(TunerInfo.SNR_PERCENTAGE, statusDict = self.frontendStatus)
-               self["agc_percentage"] = TunerInfo(TunerInfo.AGC_PERCENTAGE, statusDict = self.frontendStatus)
                self["ber_value"] = TunerInfo(TunerInfo.BER_VALUE, statusDict = self.frontendStatus)
                self["snr_bar"] = TunerInfo(TunerInfo.SNR_BAR, statusDict = self.frontendStatus)
-               self["agc_bar"] = TunerInfo(TunerInfo.AGC_BAR, statusDict = self.frontendStatus)
                self["ber_bar"] = TunerInfo(TunerInfo.BER_BAR, statusDict = self.frontendStatus)
                self["lock_state"] = TunerInfo(TunerInfo.LOCK_STATE, statusDict = self.frontendStatus)
 
@@ -123,17 +117,22 @@ class PositionerSetup(Screen):
                self.updateColors("tune")
                
                self.statusTimer = eTimer()
-               self.statusTimer.timeout.get().append(self.updateStatus)
-               self.statusTimer.start(50, False)
+               self.statusTimer.callback.append(self.updateStatus)
+               self.statusTimer.start(50, True)
+               self.onClose.append(self.__onClose)
+
+       def __onClose(self):
+               self.session.nav.playService(self.oldref)
 
        def restartPrevService(self, yesno):
                if yesno:
                        if self.frontend:
                                self.frontend = None
                                del self.raw_channel
-                       self.session.nav.playService(self.oldref)
-               self.close(None)
-       
+               else:
+                       self.oldref=None
+               self.close(None)        
+
        def keyCancel(self):
                if self.oldref:
                        self.session.openWithCallback(self.restartPrevService, MessageBox, _("Zap back to service before positioner setup?"), MessageBox.TYPE_YESNO)
@@ -325,10 +324,8 @@ class PositionerSetup(Screen):
                if self.frontend:
                        self.frontend.getFrontendStatus(self.frontendStatus)
                self["snr_percentage"].update()
-               self["agc_percentage"].update()
                self["ber_value"].update()
                self["snr_bar"].update()
-               self["agc_bar"].update()
                self["ber_bar"].update()
                self["lock_state"].update()
                transponderdata = self.tuner.getTransponderData()
@@ -340,6 +337,7 @@ class PositionerSetup(Screen):
                        self.isMoving = False
                        self.stopOnLock = False
                        self.updateColors(self.getCurrentConfigPath())
+               self.statusTimer.start(50, True)
 
        def tune(self, transponder):
                if transponder is not None:
@@ -482,6 +480,8 @@ class TunerScreen(ScanSetup):
                                        pol = "CL"
                                elif x[3] == 3:
                                        pol = "CR"
+                               else:
+                                       pol = "??"
                                if x[4] == 0:
                                        fec = "FEC_AUTO"
                                elif x[4] == 1:
@@ -494,10 +494,18 @@ class TunerScreen(ScanSetup):
                                        fec = "FEC_5_6"
                                elif x[4] == 5:
                                        fec = "FEC_7_8"
-                               elif x[4] == 5:
-                                       fec = "FEC_8_9"
                                elif x[4] == 6:
+                                       fec = "FEC_8_9"
+                               elif x[4] == 7:
+                                       fec = "FEC_3_5"
+                               elif x[4] == 8:
+                                       fec = "FEC_4_5"
+                               elif x[4] == 9:
+                                       fec = "FEC_9_10"
+                               elif x[4] == 15:
                                        fec = "FEC_None"
+                               else:
+                                       fec = "FEC_Unknown"
                                tps.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec)
                        tuning.transponder = ConfigSelection(choices=tps)
 
@@ -520,7 +528,7 @@ class TunerScreen(ScanSetup):
        def keyCancel(self):
                self.close(None)
 
-class NimSelection(Screen):
+class RotorNimSelection(Screen):
        skin = """
                <screen position="140,165" size="400,100" title="select Slot">
                        <widget name="nimlist" position="20,10" size="360,75" />
@@ -529,11 +537,10 @@ class NimSelection(Screen):
        def __init__(self, session):
                Screen.__init__(self, session)
 
-               nimlist = nimmanager.getNimListOfType(nimmanager.nimType["DVB-S"])
+               nimlist = nimmanager.getNimListOfType("DVB-S")
                nimMenuList = []
                for x in nimlist:
-                       n = nimmanager.nim_slots[x]
-                       nimMenuList.append((n.friendly_full_name, x))
+                       nimMenuList.append((nimmanager.nim_slots[x].friendly_full_description, x))
                
                self["nimlist"] = MenuList(nimMenuList)
 
@@ -563,13 +570,13 @@ def PositionerMain(session, **kwargs):
                        if len(usableNims) == 1:
                                session.open(PositionerSetup, usableNims[0])
                        elif len(usableNims) > 1:
-                               session.open(NimSelection)
+                               session.open(RotorNimSelection)
                        else:
                                session.open(MessageBox, _("No tuner is configured for use with a diseqc positioner!"), MessageBox.TYPE_ERROR)
 
 def PositionerSetupStart(menuid, **kwargs):
        if menuid == "scan":
-               return [(_("Positioner setup"), PositionerMain)]
+               return [(_("Positioner setup"), PositionerMain, "positioner_setup", None)]
        else:
                return []