discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] How can I read byte by byte from a file and send


From: Mir Ali
Subject: Re: [Discuss-gnuradio] How can I read byte by byte from a file and send it to input stream of a block.
Date: Mon, 29 Dec 2008 16:55:35 -0600

Hi Eric ,

I know what file_source does but I was looking for something else. Please look at the code below to know what i am looking for.

tb.start()
    fil=open("/home/murtuza/t",'r')     # I first open a file to read
   
    n=0   
    while n<1:
        data = "" # then read one byte only
        n=n+1
        send_pkt(data) # then send it over the stream to a block that processes that particular byte.
        print "called"   
   
    tb.wait()

If you look at benchmark_tx.py program data is read from a file and then send_pkt() is called. send_pkt() module in transmit_path.py calls "self.packet_transmitter.send_pkt(payload, eof)" which then calls send_pkt() in mod_pkts. Here, the payload is inserted into the message queue by the statement self._pkt_input.msgq().insert_tail(msg). I want to do something similar except for the fact that I want to put the unmodified byte in the queue unlike mod_pkts which first uses message_from_string and then inserts the msg on to the queue.

If this can be done using file_source then can u tell how?

I am working on something that requires me to do this. May be this is not an ideal way of doing it but still I want to know if it is possible.
 
Thanks,
Ali

On Mon, Dec 29, 2008 at 8:35 AM, Eric Blossom <address@hidden> wrote:
On Mon, Dec 29, 2008 at 03:48:15AM -0600, Mir Ali wrote:
> Hi,
> I want to read a byte from a file and send it to an input stream. Each time
> I read one byte from the file i want to send it onto the input stream of a
> particular block and then read the next byte and do the same. I looked at
> gr.message_source() which does similar work to what I need. But I see that
> when we use gr.message_from_string(databyte) and then do
> msgq().insert_tail(msg) we add some more information to the data byte. I
> just want to send the particular byte read onto the stream. How can I do
> this?
>
> Thanks
> Ali


gr.file_source(gr.sizeof_char, "/path/to/my/file")






reply via email to

[Prev in Thread] Current Thread [Next in Thread]