Dear Johnathan,
Not figured out yet. I read over the code again and I found the packages are
sent in this way:(The notes are added by myself)
def main():
......
packet = tb.audio_rx.get_encoded_voice_packet() #### packet:
my_top_block -> audio_rx -> get_encoded_voice_packet() -> *
gr.msg_queue().delete_head()*. refer to gr.msg_queue().delete_head()....
#####
s = packet.to_string() ##### convert to string to send diiferent
from the type of int 16bits in OFDM example)
send_pkt(s) #### send the package
......
Why packages are generated from gr.msg_queue(), not "packet_sink" which is
the end of "audio_rx"? The packages going to be sent should be the encoded
GSM symbol, right? Below is the description of function
"get_encoded_voice_packet" which I am not quite understand, could you please
help me? Thank you for your help.
class audio_rx(gr.hier_block2):
def __init__(self, audio_input_dev):
........
self.packets_from_encoder = gr.msg_queue() #### why
gr.msg_queue() ????
........
def get_encoded_voice_packet(self):
return self.packets_from_encoder.delete_head() #### ????
Thank you,
Milo
On Mon, Aug 24, 2009 at 11:33 AM, Johnathan Corgan <
[email protected]> wrote:
> Did you ever get this figured out?
>
> On Thu, Aug 20, 2009 at 11:00, Milo Wong<[email protected]> wrote:
> > Hi all,
> >
> > I am working on tx_voice.py and I got something I don't quite understand:
> > As I know that audio_rx samples from audio source and applies GSM
> encoding
> > with 33bit packages outputs, but there's no connection between txpath and
> > audio_rx. How could 33bits packages be sent to the transmit path? What's
> the
> > purpose of using multiple flow graphs here? Below is the code FYI.
> >
> > ------------------------------Part of
> > tx_voice.py-----------------------------------------------
> > class audio_rx(gr.hier_block2): ### get voice
> samples
> > from audio source input
> > def __init__(self, audio_input_dev):
> > gr.hier_block2.__init__(self, "audio_rx",
> > gr.io_signature(0, 0, 0), # Input signature
> > gr.io_signature(0, 0, 0)) # Output signature
> > sample_rate = 8000 ###Change to 44100 next time
> > src = audio.source(sample_rate, audio_input_dev) ### samples from
> > audio source
> > ............
> > self.connect(src, src_scale, f2s, voice_coder, packet_sink)
> >
> > def get_encoded_voice_packet(self):
> > return self.packets_from_encoder.delete_head()
> >
> >
> > class my_top_block(gr.top_block):
> >
> > def __init__(self, modulator_class, options):
> > gr.top_block.__init__(self)
> > self.txpath =
> usrp_transmit_path.usrp_transmit_path(modulator_class,
> > options)
> > self.audio_rx = audio_rx(options.audio_input)
> > self.connect(self.txpath) ###########No connection
> > ###########
> > self.connect(self.audio_rx) ############# Here!
> > ###########
> >
> > .......................
> >
> ---------------------------------------------------------------------------------------------------------
> >
> > Thanks for all the help,
> >
> > Sincerely,
> >
> > Yuan
> >
> >
> >
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > [email protected]
> > http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
> >
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio