So basically i tried assigning the sync words only in the first call to work() and the result was that only the first packet was transmitted successfully, so either gnuradio scheduler is erasing all the output buffer before the call to the work function, or the output buffer is a new allocation and has nothing to do with the output buffer of the previous call to work.
In any case, is there a way i can make that gnuradio just allocs that buffer once and does not change the values of it, so i can be sure that in successive calls to work the buffer retains the values written by previous calls to work, if none of the consumer blocks changes their input buffer? Thanks in advantage. 2016-03-13 14:44 GMT-03:00 Gonzalo Arcos <[email protected]>: > Do output buffers of a block are always allocated in the same address > throughout the same execution of the flowgraph? I need to know this because > it would allow me to do some optimization. > > > For example: > > Suppose i have the OFDM Carrier Allocator Block connected to the IFFT > block. > > On every execution of work() the carrier allocator copies the synch words > to the beggining of the output buffer. However, i know that my synch words > will always remain the same throughout the entire execution of the > flowgraph. Additionally, the fft should not change anything in its input > buffer, which is ofdm carrier allocator's output buffer. > > So basically, i only need to copy that information once, on the first run, > since then that data will remain in the buffer. > > This happens ONLY if the ofdm carrier allocator output buffer is not > freed/alloc'ed by the gnuradio scheduler more than once per execution of > the flowgraph. > > Can somebody confirm this? > > Thanks >
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
