1 diff --git a/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py b/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py
2 index aa80aa2a..d12a67e6 100755
3 --- a/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py
4 +++ b/lib/python/Plugins/SystemPlugins/Blindscan/plugin.py
5 @@ -19,7 +19,7 @@ from Tools.Directories import resolveFilename, SCOPE_DEFAULTPARTITIONMOUNTDIR, S
6 from enigma import eTimer, eDVBFrontendParametersSatellite, eComponentScan, eDVBSatelliteEquipmentControl, eDVBFrontendParametersTerrestrial, eDVBFrontendParametersCable, eConsoleAppContainer, eDVBResourceManager, getDesktop
8 _modelName = file('/proc/stb/info/vumodel').read().strip()
9 -_supportNimType = { 'AVL1208':'', 'AVL6222':'6222_', 'AVL6211':'6211_', 'BCM7356':'bcm7346_'}
10 +_supportNimType = { 'AVL1208':'', 'AVL6222':'6222_', 'AVL6211':'6211_', 'BCM7356':'bcm7346_', 'SI2166':'si2166_'}
12 class Blindscan(ConfigListScreen, Screen):
14 @@ -502,57 +502,68 @@ class Blindscan(ConfigListScreen, Screen):
17 print "cnt :", len(data), ", data :", data
20 - parm = eDVBFrontendParametersSatellite()
21 - sys = { "DVB-S" : eDVBFrontendParametersSatellite.System_DVB_S,
22 - "DVB-S2" : eDVBFrontendParametersSatellite.System_DVB_S2,
23 - "DVB-S2X" : eDVBFrontendParametersSatellite.System_DVB_S2X}
24 - qam = { "QPSK" : parm.Modulation_QPSK,
25 - "8PSK" : parm.Modulation_8PSK}
26 - inv = { "INVERSION_OFF" : parm.Inversion_Off,
27 - "INVERSION_ON" : parm.Inversion_On,
28 - "INVERSION_AUTO" : parm.Inversion_Unknown}
29 - fec = { "FEC_AUTO" : parm.FEC_Auto,
30 - "FEC_1_2" : parm.FEC_1_2,
31 - "FEC_2_3" : parm.FEC_2_3,
32 - "FEC_3_4" : parm.FEC_3_4,
33 - "FEC_5_6": parm.FEC_5_6,
34 - "FEC_7_8" : parm.FEC_7_8,
35 - "FEC_8_9" : parm.FEC_8_9,
36 - "FEC_3_5" : parm.FEC_3_5,
37 - "FEC_9_10" : parm.FEC_9_10,
38 - "FEC_NONE" : parm.FEC_None,
39 - "FEC_13_45" : parm.FEC_13_45, "FEC_9_20" : parm.FEC_9_20, "FEC_11_20" : parm.FEC_11_20, "FEC_23_36" : parm.FEC_23_36, "FEC_25_36" : parm.FEC_25_36,
40 - "FEC_13_18" : parm.FEC_13_18, "FEC_26_45" : parm.FEC_26_45, "FEC_28_45" : parm.FEC_28_45, "FEC_7_9" : parm.FEC_7_9, "FEC_77_90" : parm.FEC_77_90,
41 - "FEC_32_45" : parm.FEC_32_45, "FEC_11_15" : parm.FEC_11_15, "FEC_1_2_L" : parm.FEC_1_2_L, "FEC_8_15_L" : parm.FEC_8_15_L, "FEC_3_5_L" : parm.FEC_3_5_L,
42 - "FEC_2_3_L" : parm.FEC_2_3_L, "FEC_5_9_L" : parm.FEC_5_9_L, "FEC_26_45_L" : parm.FEC_26_45_L}
43 - roll ={ "ROLLOFF_20" : parm.RollOff_alpha_0_20,
44 - "ROLLOFF_25" : parm.RollOff_alpha_0_25,
45 - "ROLLOFF_35" : parm.RollOff_alpha_0_35}
46 - pilot={ "PILOT_ON" : parm.Pilot_On,
47 - "PILOT_OFF" : parm.Pilot_Off,
48 - "PILOT_AUTO" : parm.Pilot_Unknown}
49 - pol = { "HORIZONTAL" : parm.Polarisation_Horizontal,
50 - "VERTICAL" : parm.Polarisation_Vertical}
52 - parm.orbital_position = self.orb_position
53 - parm.polarisation = pol[data[1]]
54 - parm.frequency = int(data[2])
55 - parm.symbol_rate = int(data[3])
56 - parm.system = sys[data[4]]
57 - parm.inversion = inv[data[5]]
58 - parm.pilot = pilot[data[6]]
59 - parm.fec = fec[data[7]]
60 - parm.modulation = qam[data[8]]
61 - parm.rolloff = roll[data[9]]
63 - parm.pls_mode = eDVBFrontendParametersSatellite.PLS_Unknown
65 - self.tmp_tplist.append(parm)
67 + if len(data) >= 12: # multi stream channel
68 + is_id_list = data[11:]
69 + for is_id in is_id_list:
70 + self.appendFrontendParams(data[:10] + [is_id])
71 + elif len(data) >= 10:
72 + self.appendFrontendParams(data + ["-1"])
74 self.blindscan_session.close(True)
76 + def appendFrontendParams(self, data):
78 + parm = eDVBFrontendParametersSatellite()
79 + sys = { "DVB-S" : eDVBFrontendParametersSatellite.System_DVB_S,
80 + "DVB-S2" : eDVBFrontendParametersSatellite.System_DVB_S2,
81 + "DVB-S2X" : eDVBFrontendParametersSatellite.System_DVB_S2X}
82 + qam = { "QPSK" : parm.Modulation_QPSK,
83 + "8PSK" : parm.Modulation_8PSK,
84 + "16APSK" : parm.Modulation_16APSK,
85 + "32APSK" : parm.Modulation_32APSK,
86 + "8APSK" : parm.Modulation_8APSK}
87 + inv = { "INVERSION_OFF" : parm.Inversion_Off,
88 + "INVERSION_ON" : parm.Inversion_On,
89 + "INVERSION_AUTO" : parm.Inversion_Unknown}
90 + fec = { "FEC_AUTO" : parm.FEC_Auto,
91 + "FEC_1_2" : parm.FEC_1_2,
92 + "FEC_2_3" : parm.FEC_2_3,
93 + "FEC_3_4" : parm.FEC_3_4,
94 + "FEC_5_6": parm.FEC_5_6,
95 + "FEC_7_8" : parm.FEC_7_8,
96 + "FEC_8_9" : parm.FEC_8_9,
97 + "FEC_3_5" : parm.FEC_3_5,
98 + "FEC_9_10" : parm.FEC_9_10,
99 + "FEC_NONE" : parm.FEC_None,
100 + "FEC_13_45" : parm.FEC_13_45, "FEC_9_20" : parm.FEC_9_20, "FEC_11_20" : parm.FEC_11_20, "FEC_23_36" : parm.FEC_23_36, "FEC_25_36" : parm.FEC_25_36,
101 + "FEC_13_18" : parm.FEC_13_18, "FEC_26_45" : parm.FEC_26_45, "FEC_28_45" : parm.FEC_28_45, "FEC_7_9" : parm.FEC_7_9, "FEC_77_90" : parm.FEC_77_90,
102 + "FEC_32_45" : parm.FEC_32_45, "FEC_11_15" : parm.FEC_11_15, "FEC_1_2_L" : parm.FEC_1_2_L, "FEC_8_15_L" : parm.FEC_8_15_L, "FEC_3_5_L" : parm.FEC_3_5_L,
103 + "FEC_2_3_L" : parm.FEC_2_3_L, "FEC_5_9_L" : parm.FEC_5_9_L, "FEC_26_45_L" : parm.FEC_26_45_L}
104 + roll ={ "ROLLOFF_20" : parm.RollOff_alpha_0_20,
105 + "ROLLOFF_25" : parm.RollOff_alpha_0_25,
106 + "ROLLOFF_35" : parm.RollOff_alpha_0_35}
107 + pilot={ "PILOT_ON" : parm.Pilot_On,
108 + "PILOT_OFF" : parm.Pilot_Off,
109 + "PILOT_AUTO" : parm.Pilot_Unknown}
110 + pol = { "HORIZONTAL" : parm.Polarisation_Horizontal,
111 + "VERTICAL" : parm.Polarisation_Vertical}
113 + parm.orbital_position = self.orb_position
114 + parm.polarisation = pol[data[1]]
115 + parm.frequency = int(data[2])
116 + parm.symbol_rate = int(data[3])
117 + parm.system = sys[data[4]]
118 + parm.inversion = inv[data[5]]
119 + parm.pilot = pilot[data[6]]
120 + parm.fec = fec[data[7]]
121 + parm.modulation = qam[data[8]]
122 + parm.rolloff = roll[data[9]]
123 + parm.is_id = int(data[10])
124 + parm.pls_mode = eDVBFrontendParametersSatellite.PLS_Unknown
126 + self.tmp_tplist.append(parm)
129 def blindscanContainerAvail(self, str):
131 #if str.startswith("OK"):
132 @@ -579,7 +590,7 @@ class Blindscan(ConfigListScreen, Screen):
134 if self.tmp_tplist != None and self.tmp_tplist != []:
135 for p in self.tmp_tplist:
136 - print "data : [%d][%d][%d][%d][%d][%d][%d][%d][%d][%d]" % (p.orbital_position, p.polarisation, p.frequency, p.symbol_rate, p.system, p.inversion, p.pilot, p.fec, p.modulation, p.modulation)
137 + print "data : [%d][%d][%d][%d][%d][%d][%d][%d][%d][%d][%d]" % (p.orbital_position, p.polarisation, p.frequency, p.symbol_rate, p.system, p.inversion, p.pilot, p.fec, p.modulation, p.modulation, p.is_id)
139 self.startScan(self.tmp_tplist, self.feid)