add handleCommand to converter
[enigma2.git] / lib / python / Components / NimManager.py
index c8aa3c91ee4ce556409d7f9b487dd7232d3d7be3..c24d8d351f718b6b17f8a3c0594c5d97f9e77fb3 100644 (file)
@@ -251,11 +251,11 @@ class SecConfigure:
                                                
                                                if currentConfigSelectionElement(currLnb.diseqcRepeats) == "none":
                                                        sec.setRepeats(0)
-                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "One":
+                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "one":
                                                        sec.setRepeats(1)
-                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "Two":
+                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "two":
                                                        sec.setRepeats(2)
-                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "Three":
+                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "three":
                                                        sec.setRepeats(3)
                                                
                                        setCommandOrder=False
@@ -348,17 +348,18 @@ class NimManager:
                                self.satList.append( (tname, tpos) )
                                self.parsedSat = int(tpos)
                        elif (name == "transponder"):
-                               system = int(attrs.get('system',"0"))
+                               modulation = int(attrs.get('modulation',"1")) # QPSK default
+                               system = int(attrs.get('system',"0")) # DVB-S default
                                freq = int(attrs.get('frequency',""))
                                sr = int(attrs.get('symbol_rate',""))
                                pol = int(attrs.get('polarization',""))
-                               fec = int(attrs.get('fec_inner',""))
+                               fec = int(attrs.get('fec_inner',"0")) # AUTO default
                                if self.parsedSat in self.transponders:
                                        pass
                                else:
                                        self.transponders[self.parsedSat] = [ ]
 
-                               self.transponders[self.parsedSat].append((0, freq, sr, pol, fec, system))
+                               self.transponders[self.parsedSat].append((0, freq, sr, pol, fec, system, modulation))
 
        class parseCables(ContentHandler):
                def __init__(self, cablesList, transponders):
@@ -375,8 +376,8 @@ class NimManager:
                        elif (name == "transponder"):
                                freq = int(attrs.get('frequency',""))
                                sr = int(attrs.get('symbol_rate',""))
-                               mod = int(attrs.get('modulation',""))
-                               fec = int(attrs.get('fec_inner',""))
+                               mod = int(attrs.get('modulation',"3")) # QAM64 default
+                               fec = int(attrs.get('fec_inner',"0")) # AUTO default
                                if self.parsedCab in self.transponders:
                                        pass
                                else:
@@ -399,14 +400,18 @@ class NimManager:
                        elif (name == "transponder"):
                                # TODO finish this!
                                freq = int(attrs.get('centre_frequency',""))
-                               bw = int(attrs.get('bandwidth',""))
-                               const = int(attrs.get('constellation',""))
-                               crh = int(attrs.get('code_rate_hp',""))
-                               crl = int(attrs.get('code_rate_lp',""))
-                               guard = int(attrs.get('guard_interval',""))
-                               transm = int(attrs.get('transmission_mode',""))
-                               hierarchy = int(attrs.get('hierarchy_information',""))
-                               inv = int(attrs.get('inversion',""))
+                               bw = int(attrs.get('bandwidth',"3")) # AUTO
+                               const = int(attrs.get('constellation',"1")) # AUTO
+                               crh = int(attrs.get('code_rate_hp',"5")) # AUTO
+                               if crh > 5: # our terrestrial.xml is buggy... 6 for AUTO
+                                       crh = 5
+                               crl = int(attrs.get('code_rate_lp',"5")) # AUTO
+                               if crl > 5: # our terrestrial.xml is buggy... 6 for AUTO
+                                       crl = 5
+                               guard = int(attrs.get('guard_interval',"4")) # AUTO
+                               transm = int(attrs.get('transmission_mode',"2")) # AUTO
+                               hierarchy = int(attrs.get('hierarchy_information',"4")) # AUTO
+                               inv = int(attrs.get('inversion',"2")) # AUTO
                                if self.parsedTer in self.transponders:
                                        pass
                                else:
@@ -583,6 +588,11 @@ class NimManager:
                        #print "self.satellites:", self.satList[config.Nims[slotid].diseqcA.value]
                        #print "diseqcA:", config.Nims[slotid].diseqcA.value
                        configMode = currentConfigSelectionElement(config.Nims[slotid].configMode)
+
+                       if configMode == "equal":
+                               slotid=0 #FIXME add handling for more than two tuners !!!
+                               configMode = currentConfigSelectionElement(config.Nims[slotid].configMode)
+
                        if configMode == "simple":
                                if (config.Nims[slotid].diseqcMode.value <= 3):
                                        list.append(self.satList[config.Nims[slotid].diseqcA.value])
@@ -598,6 +608,7 @@ class NimManager:
                                for x in self.satList:
                                        if config.Nims[slotid].advanced.sat[x[1]].lnb.value != 0:
                                                list.append(x)
+
                return list
 
        def getRotorSatListForNim(self, slotid):
@@ -768,9 +779,11 @@ def InitNimManager(nimmgr):
                        for x in nimmgr.terrestrialsList:
                                list.append(x[0])
                        nim.terrestrial = configElement(cname + "terrestrial", configSelection, 0, list, False);
+                       nim.terrestrial_5V = configElement(cname + "terrestrial_5V", configSelection, 1, (("on", _("On")), ("off", _("Off"))), True);
                else:
                        print "pls add support for this frontend type!"         
 
        nimmgr.sec = SecConfigure(nimmgr)
 
+
 nimmanager = NimManager()