def reset_frontend(): if not dvb.dvb_tune(FrontEnd_fd, FrontEnd_poll, Frequency, Polarity, SymbolRate): print 'Fail! No DVB frontend device detected!' exit(True)
current += 1 print ' Finding transponder %d/%s/%d' % (Frequency, Polarity, SymbolRate), if sys.argv[current].upper() == 'EAST': print 'EASTwards' diseqc_command = dvb.DISEQC_DRIVE_E else: print 'WESTwards' diseqc_command = dvb.DISEQC_DRIVE_W found = 0 steps = 0 strengths = [] finished = False while not found or (found and not finished): # find an active signal dvb.dvb_tune(FrontEnd_fd, FrontEnd_poll, Frequency, Polarity, SymbolRate) status, ber, snr, strength, params = dvb.dvb_fe_status(FrontEnd_fd) if status.status & dvb.FE_HAS_LOCK and snr > 0 and ber == 0: # filter out random crap by checking again time.sleep(1) status, ber, snr, strength, params = dvb.dvb_fe_status( FrontEnd_fd) if status.status & dvb.FE_HAS_LOCK and snr > 0 and ber == 0: if not found: print ' Found after %d steps' % steps found += 1 # expect signal strength to rise steadily after the first couple of # erroneous 'edge' signals strengths.append(strength) else: if found:
SymbolRate= int(sys.argv[current]) current += 1 print ' Finding transponder %d/%s/%d' % (Frequency, Polarity, SymbolRate), if sys.argv[current].upper() == 'EAST': print 'EASTwards' diseqc_command= dvb.DISEQC_DRIVE_E else: print 'WESTwards' diseqc_command= dvb.DISEQC_DRIVE_W found= 0 steps= 0 strengths= [] finished= False while not found or (found and not finished): # find an active signal dvb.dvb_tune(FrontEnd_fd, FrontEnd_poll, Frequency, Polarity, SymbolRate) status, ber, snr, strength, params = dvb.dvb_fe_status(FrontEnd_fd) if status.status & dvb.FE_HAS_LOCK and snr > 0 and ber == 0: # filter out random crap by checking again time.sleep(1) status, ber, snr, strength, params = dvb.dvb_fe_status(FrontEnd_fd) if status.status & dvb.FE_HAS_LOCK and snr > 0 and ber == 0: if not found: print ' Found after %d steps' % steps found += 1 # expect signal strength to rise steadily after the first couple of # erroneous 'edge' signals strengths.append(strength) else: if found: finished= True