Thank you much for your answer. Indeed, its a shared pointer. I now
figured
out, the the only way to get the data is via .to_string(). Though, im
stuck
again. I use the following code to initialize the queue and message
sink:
self.sink_queue = gr.msg_queue()
self.gr_file_source_0 = gr.file_source(gr.sizeof_char*1, "stream",
False)
self.gr_message_sink_0 = gr.message_sink(gr.sizeof_char*1,
self.sink_queue, False)
Then I’m putting a DPSK mod and demod between and connect the output of
the
demod to the message sink:
self.connect((self.gr_file_source_0, 0), (self.gr_throttle_0, 0))
self.connect((self.gr_throttle_0, 0), (self.digital_dxpsk_mod_0, 0))
self.connect((self.digital_dxpsk_mod_0, 0),
(self.digital_dxpsk_demod_0,
0))
self.connect((self.digital_dxpsk_demod_0, 0),
(self.gr_message_sink_0, 0))
So my thought was, that all the messages then should contain one byte
(with
one bit information). At the end, my code looks like that:
tb = top_block()
tb.start()
while 1:
point=tb.sink_queue.delete_head()
point=point.to_string()
print len(point)
The first curiosity is, that the length variates from 2 up to 2048. Can
somebody explain why? The next question is, how to i convert the
“bitvalue”
of the string to an actual char?
–
View this message in context:
http://gnuradio.4.n7.nabble.com/Usage-of-Message-Queues-tp39295p39815.html
Sent from the GnuRadio mailing list archive at Nabble.com.