support for ssh108 automatic scan.
authorkos <kos@dev3>
Tue, 29 Oct 2013 09:34:22 +0000 (18:34 +0900)
committerkos <kos@dev3>
Tue, 29 Oct 2013 09:34:22 +0000 (18:34 +0900)
lib/python/Screens/ScanSetup.py

index ea37e26..19075b3 100644 (file)
@@ -170,6 +170,33 @@ class CableTransponderSearchSupport:
                        self.cable_search_session["text"].setText(tmpstr)
 
        def startCableTransponderSearch(self, nim_idx):
+               def GetCommand(nimIdx):
+                       _supportNimType   = { 'SSH108':'ssh108' }
+                       _nimSocket = {}
+                       fp = file('/proc/bus/nim_sockets')
+
+                       sNo, sName = -1, ""
+                       for line in fp:
+                               line = line.strip()
+                               if line.startswith('NIM Socket'):
+                                       try:    sNo = line.split()[2][:-1]
+                                       except: sNo = -1
+                               elif line.startswith('Name:'):
+                                       try:    sName = line.split()[3][4:-1]
+                                       except: sName = ""
+                               if sNo >= 0 and sName != "":
+                                       _nimSocket[sNo] = sName
+                                       sNo, sName = -1, ''
+                       fp.close()
+                       print 'parsed nim_sockets :', _nimSocket
+
+                       try:
+                               sName = _nimSocket[str(nimIdx)]
+                               sType = _supportNimType[sName]
+                               return sType
+                       except: pass
+                       return 'tda1002x'
+
                if not self.tryGetRawFrontend(nim_idx):
                        self.session.nav.stopService()
                        if not self.tryGetRawFrontend(nim_idx):
@@ -193,8 +220,9 @@ class CableTransponderSearchSupport:
                if tunername == "CXD1981":
                        cmd = "cxd1978 --init --scan --verbose --wakeup --inv 2 --bus %d" % bus
                else:
-                       cmd = "tda1002x --init --scan --verbose --wakeup --inv 2 --bus %d" % bus
-               
+                       bin_name = GetCommand(nim_idx)
+                       cmd = "%(BIN_NAME)s --init --scan --verbose --wakeup --inv 2 --bus %(BUS)d" % {'BIN_NAME':bin_name , 'BUS':bus}
+
                if cableConfig.scan_type.value == "bands":
                        cmd += " --scan-bands "
                        bands = 0
@@ -248,7 +276,7 @@ class CableTransponderSearchSupport:
                        cmd += " --sr "
                        cmd += str(cableConfig.scan_sr_ext2.value)
                        cmd += "000"
-               print "TDA1002x CMD is", cmd
+               print bin_name, " CMD is", cmd
 
                self.cable_search_container.execute(cmd)
                tmpstr = _("Try to find used transponders in cable network.. please wait...")
@@ -527,7 +555,7 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
                                        defaultCab["inversion"] = frontendData.get("inversion", eDVBFrontendParametersCable.Inversion_Unknown)
                                        defaultCab["fec"] = frontendData.get("fec_inner", eDVBFrontendParametersCable.FEC_Auto)
                                        defaultCab["modulation"] = frontendData.get("modulation", eDVBFrontendParametersCable.Modulation_QAM16)
-                               elif ttype == "DVB-T" :
+                               elif ttype == "DVB-T":
                                        defaultTer["frequency"] = frontendData.get("frequency", 0)
                                        defaultTer["inversion"] = frontendData.get("inversion", eDVBFrontendParametersTerrestrial.Inversion_Unknown)
                                        defaultTer["bandwidth"] = frontendData.get("bandwidth", eDVBFrontendParametersTerrestrial.Bandwidth_7MHz)