+ self.scan_sat.frequency.value = 11015
+ returnvalue = (self.scan_sat.frequency.value,
+ 0,
+ tab_pol[pol],
+ 0,
+ 0,
+ orb[0],
+ eDVBFrontendParametersSatellite.System_DVB_S,
+ 0,
+ 0,
+ 0)
+ self.tuner.tune(returnvalue)
+
+ if self.getNimSocket(self.feid) < 0:
+ print "can't find i2c number!!"
+ return
+
+ cmd = "vuplus_blindscan %d %d %d %d %d %d %d %d" % (self.blindscan_start_frequency.value/1000000, self.blindscan_stop_frequency.value/1000000, self.blindscan_start_symbol.value/1000000, self.blindscan_stop_symbol.value/1000000, tab_pol[pol], tab_hilow[band], self.feid, self.getNimSocket(self.feid))
+ print "prepared command : [%s]" % (cmd)
+ self.blindscan_container = eConsoleAppContainer()
+ self.blindscan_container.appClosed.append(self.blindscanContainerClose)
+ self.blindscan_container.dataAvail.append(self.blindscanContainerAvail)
+ self.blindscan_container.execute(cmd)
+
+ tmpstr = "Look for available transponders.\nThis works will take several minutes.\n\n - Current Status : %d/%d\n - Orbital Positions : %s\n - Polarization : %s\n - Bandwidth : %s" %(self.running_count, self.max_count, orb[1], pol, band)
+ if is_scan :
+ self.blindscan_session = self.session.openWithCallback(self.blindscanSessionClose, MessageBox, _(tmpstr), MessageBox.TYPE_INFO)
+ else:
+ self.blindscan_session = self.session.openWithCallback(self.blindscanSessionNone, MessageBox, _(tmpstr), MessageBox.TYPE_INFO)
+
+ def blindscanContainerClose(self, retval):
+ lines = self.full_data.split('\n')
+ for line in lines:
+ data = line.split()
+ print "cnt :", len(data), ", data :", data
+ if len(data) >= 10:
+ if data[0] == 'OK':
+ parm = eDVBFrontendParametersSatellite()
+ sys = { "DVB-S" : eDVBFrontendParametersSatellite.System_DVB_S,
+ "DVB-S2" : eDVBFrontendParametersSatellite.System_DVB_S2}
+ qam = { "QPSK" : parm.Modulation_QPSK,
+ "8PSK" : parm.Modulation_8PSK}
+ inv = { "INVERSION_OFF" : parm.Inversion_Off,
+ "INVERSION_ON" : parm.Inversion_On,
+ "INVERSION_AUTO" : parm.Inversion_Unknown}
+ fec = { "FEC_AUTO" : parm.FEC_Auto,
+ "FEC_1_2" : parm.FEC_1_2,
+ "FEC_2_3" : parm.FEC_2_3,
+ "FEC_3_4" : parm.FEC_3_4,
+ "FEC_5_6": parm.FEC_5_6,
+ "FEC_7_8" : parm.FEC_7_8,
+ "FEC_8_9" : parm.FEC_8_9,
+ "FEC_3_5" : parm.FEC_3_5,
+ "FEC_9_10" : parm.FEC_9_10,
+ "FEC_NONE" : parm.FEC_None}
+ roll ={ "ROLLOFF_20" : parm.RollOff_alpha_0_20,
+ "ROLLOFF_25" : parm.RollOff_alpha_0_25,
+ "ROLLOFF_35" : parm.RollOff_alpha_0_35}
+ pilot={ "PILOT_ON" : parm.Pilot_On,
+ "PILOT_OFF" : parm.Pilot_Off}
+ pol = { "HORIZONTAL" : parm.Polarisation_Horizontal,
+ "VERTICAL" : parm.Polarisation_Vertical}
+ try :
+ parm.orbital_position = self.orb_position
+ parm.polarisation = pol[data[1]]
+ parm.frequency = int(data[2])
+ parm.symbol_rate = int(data[3])
+ parm.system = sys[data[4]]
+ parm.inversion = inv[data[5]]
+ parm.pilot = pilot[data[6]]
+ parm.fec = fec[data[7]]
+ parm.modulation = qam[data[8]]
+ parm.rolloff = roll[data[9]]
+ self.tmp_tplist.append(parm)
+ except:
+ pass
+ self.blindscan_session.close(True)
+
+ def blindscanContainerAvail(self, str):
+ print str
+ #if str.startswith("OK"):
+ self.full_data = self.full_data + str
+
+ def blindscanSessionNone(self, *val):
+ import time
+ self.blindscan_container.sendCtrlC()
+ self.blindscan_container = None
+ time.sleep(2)
+
+ if self.frontend:
+ self.frontend = None
+ del self.raw_channel
+
+ if val[0] == False:
+ self.tmp_tplist = []
+ self.running_count = self.max_count
+
+ self.is_runable = True