2017-03-03 1 views
-2

나는 그게 내가 일반적으로 그것을 실행할 때 원활하게 실행 쓴 스크립트가 스크립트가 열립니다 ./myscript -p ~ 1적절한 사용은

-n /는 파일을 생성하고 기록 데이터를 파일에 저장합니다.

하지만 1 & 파일이 생성되지만 데이터가 기록되지 않습니다 -n 배경 ./myscript -p ~ 그것을 실행하려고 할 때.

내가 뭘 잘못 했니?

코드 :

#!/usr/bin/env python2 
# -*- coding: utf-8 -*- 
################################################## 
# GNU Radio Python Flow Graph 
# Title: Myscript 
# Generated: Fri Mar 3 02:32:56 2017 
################################################## 

from gnuradio import blocks 
from gnuradio import eng_notation 
from gnuradio import gr 
from gnuradio.eng_option import eng_option 
from gnuradio.filter import firdes 
from optparse import OptionParser 
import osmosdr 
import time 


class myscript(gr.top_block): 

    def __init__(self, path="myoutput", freq=480e6): 
     gr.top_block.__init__(self, "Myscript") 

     ################################################## 
     # Parameters 
     ################################################## 
     self.path = path 
     self.freq = freq 

     ################################################## 
     # Variables 
     ################################################## 
     self.samp_rate = samp_rate = 1e6 

     ################################################## 
     # Blocks 
     ################################################## 
     self.osmosdr_source_0 = osmosdr.source(args="numchan=" + str(1) + " " + "bladerf=0") 
     self.osmosdr_source_0.set_sample_rate(samp_rate) 
     self.osmosdr_source_0.set_center_freq(freq*1e6, 0) 
     self.osmosdr_source_0.set_freq_corr(0, 0) 
     self.osmosdr_source_0.set_dc_offset_mode(0, 0) 
     self.osmosdr_source_0.set_iq_balance_mode(0, 0) 
     self.osmosdr_source_0.set_gain_mode(False, 0) 
     self.osmosdr_source_0.set_gain(10, 0) 
     self.osmosdr_source_0.set_if_gain(20, 0) 
     self.osmosdr_source_0.set_bb_gain(20, 0) 
     self.osmosdr_source_0.set_antenna("", 0) 
     self.osmosdr_source_0.set_bandwidth(0, 0) 

     self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex*1, path, False) 
     self.blocks_file_sink_0.set_unbuffered(False) 

     ################################################## 
     # Connections 
     ################################################## 
     self.connect((self.osmosdr_source_0, 0), (self.blocks_file_sink_0, 0))  

    def get_path(self): 
     return self.path 

    def set_path(self, path): 
     self.path = path 
     self.blocks_file_sink_0.open(self.path) 

    def get_freq(self): 
     return self.freq 

    def set_freq(self, freq): 
     self.freq = freq 
     self.osmosdr_source_0.set_center_freq(self.freq*1e6, 0) 

    def get_samp_rate(self): 
     return self.samp_rate 

    def set_samp_rate(self, samp_rate): 
     self.samp_rate = samp_rate 
     self.osmosdr_source_0.set_sample_rate(self.samp_rate) 


def argument_parser(): 
    parser = OptionParser(option_class=eng_option, usage="%prog: [options]") 
    parser.add_option(
     "-p", "--path", dest="path", type="string", default="myoutput", 
     help="Set myoutput [default=%default]") 
    parser.add_option(
     "-f", "--freq", dest="freq", type="eng_float", default=eng_notation.num_to_str(480e6), 
     help="Set freq [default=%default]") 
    return parser 


def main(top_block_cls=myscript, options=None): 
    if options is None: 
     options, _ = argument_parser().parse_args() 

    tb = top_block_cls(path=options.path, freq=options.freq) 
    tb.start() 
    try: 
     raw_input('Press Enter to quit: ') 
    except EOFError: 
     pass 
    tb.stop() 
    tb.wait() 


if __name__ == '__main__': 
    main() 
+0

스크립트를 보여주세요! –

+0

이것은 파일 싱크 블록을 사용하는 gnuradio companion의 생성 된 스크립트입니다. – Hunry3rd

+0

코드없이 귀하를 어떻게 도울 수 있다고 생각하십니까? –

답변

0

I는 raw_input 함수()를 제거하고 무한 루프 KeyboardInterrupt의 예외를 제외하고 시험을 변경하여 해결.