Support duo4k.
[vuplus_dvbapp] / lib / python / Components / TuneTest.py
index de7b009..9fb5143 100644 (file)
@@ -1,11 +1,11 @@
 from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParameters, eDVBResourceManager, eTimer
 
 class Tuner:
-       def __init__(self, frontend):
+       def __init__(self, frontend, ignore_rotor=False):
                self.frontend = frontend
+               self.ignore_rotor = ignore_rotor
 
-       # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, system, modulation)
-       #                    0         1             2         3       4         5       6        7
+       # transponder = (0:frequency 1:symbolrate 2:polarisation 3:fec 4:inversion 5:orbpos 6:system 7:modulation 8:rolloff 9:pilot 10:is_id 11:pls_mode 12:pls_code 13:tsid 14:onid)
        def tune(self, transponder):
                if self.frontend:
                        print "tuning to transponder with data", transponder
@@ -20,8 +20,16 @@ class Tuner:
                        parm.modulation = transponder[7]
                        parm.rolloff = transponder[8]
                        parm.pilot = transponder[9]
+                       if len(transponder) > 12:
+                               parm.is_id = transponder[10]
+                               parm.pls_mode = transponder[11]
+                               parm.pls_code = transponder[12]
+                       else:
+                               parm.is_id = -1
+                               parm.pls_mode = eDVBFrontendParametersSatellite.PLS_Unknown
+                               parm.pls_code = 0
                        feparm = eDVBFrontendParameters()
-                       feparm.setDVBS(parm)
+                       feparm.setDVBS(parm, self.ignore_rotor)
                        self.lastparm = feparm
                        self.frontend.tune(feparm)
 
@@ -95,22 +103,22 @@ class TuneTest:
                else:
                        if dict["tuner_state"] == "LOSTLOCK" or dict["tuner_state"] == "FAILED":
                                self.tuningtransponder = self.nextTransponder()
-                               self.failedTune.append([self.currTuned, self.oldTuned, "tune_failed"])
+                               self.failedTune.append([self.currTuned, self.oldTuned, "tune_failed", dict])  # last parameter is the frontend status)
                                if self.stopOnError != -1 and self.stopOnError <= len(self.failedTune):
                                        stop = True
                        elif dict["tuner_state"] == "LOCKED":
                                pidsFailed = False
                                if self.checkPIDs:
                                        if self.currTuned is not None:
-                                               if self.tsid != self.currTuned[8] or self.onid != self.currTuned[9]:
-                                                       self.failedTune.append([self.currTuned, self.oldTuned, "pids_failed", {"real": (self.tsid, self.onid), "expected": (self.currTuned[8], self.currTuned[9])}])
+                                               if self.tsid != self.currTuned[13] or self.onid != self.currTuned[14]:
+                                                       self.failedTune.append([self.currTuned, self.oldTuned, "pids_failed", {"real": (self.tsid, self.onid), "expected": (self.currTuned[13], self.currTuned[14])}, dict])  # last parameter is the frontend status
                                                        pidsFailed = True
                                                else:
-                                                       self.successfullyTune.append([self.currTuned, self.oldTuned])
+                                                       self.successfullyTune.append([self.currTuned, self.oldTuned, dict])  # 3rd parameter is the frontend status
                                                        if self.stopOnSuccess != -1 and self.stopOnSuccess <= len(self.successfullyTune):
                                                                stop = True
                                elif not self.checkPIDs or (self.checkPids and not pidsFailed):  
-                                       self.successfullyTune.append([self.currTuned, self.oldTuned])
+                                       self.successfullyTune.append([self.currTuned, self.oldTuned, dict]) # 3rd parameter is the frontend status
                                        if self.stopOnSuccess != -1 and self.stopOnSuccess <= len(self.successfullyTune):
                                                                stop = True
                                self.tuningtransponder = self.nextTransponder()
@@ -140,7 +148,7 @@ class TuneTest:
                        # check for tsid != -1 and onid != -1 
                        print "index:", index
                        print "len(self.transponderlist):", len(self.transponderlist)
-                       while (index < len(self.transponderlist) and (self.transponderlist[index][8] == -1 or self.transponderlist[index][9] == -1)):
+                       while (index < len(self.transponderlist) and (self.transponderlist[index][13] == -1 or self.transponderlist[index][14] == -1)):
                                index += 1
                print "FirstTransponder final index:", index
                return index
@@ -153,7 +161,7 @@ class TuneTest:
                        # check for tsid != -1 and onid != -1 
                        print "index:", index
                        print "len(self.transponderlist):", len(self.transponderlist)
-                       while (index < len(self.transponderlist) and (self.transponderlist[index][8] == -1 or self.transponderlist[index][9] == -1)):
+                       while (index < len(self.transponderlist) and (self.transponderlist[index][13] == -1 or self.transponderlist[index][14] == -1)):
                                index += 1
 
                print "next transponder index:", index
@@ -203,8 +211,7 @@ class TuneTest:
                self.progressCallback((self.getProgressLength(), self.tuningtransponder, self.STATUS_START, self.currTuned))
                self.timer.start(100, True)
        
-       # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, <system>, <modulation>, <tsid>, <onid>)
-       #                    0         1             2         3       4         5       6        7              8      9
+       # transponder = (0:frequency 1:symbolrate 2:polarisation 3:fec 4:inversion 5:orbpos 6:system 7:modulation 8:rolloff 9:pilot 10:is_id 11:pls_mode 12:pls_code 13:tsid 14:onid)
        def addTransponder(self, transponder):
                self.transponderlist.append(transponder)