I'm having trouble outputting data from a block through multiple outputs of
unequal length. The first four output one int, the second four output
num_channels int (which is determined by the value passed in from the
constructor).

If I try to output my data like so, it doesn't work, everything is 0:

int32_t * out0 = reinterpret_cast<int32_t *>(output_items[0]);
...
int32_t * out7 = reinterpret_cast<int32_t *>(output_items[7]);

out0[0] = val0;
...
out3[0] = val3;

for (std::size_t i = 0; i < num_channels; ++i) {
  out4[i] = val4[i];
  ...
  out7[i] = val7[i];
}

The next block connected to the last port was getting all zero values, so I
just did

int32_t * out = reinterpret_cast<int32_t *>(output_items[0]);
memset(out, 0x08, noutput_items);

That finally resulted in non-zero values popping being outputted. I can't
set any value with what I want it to be, though, so the sole value coming
out of the first  output is always zero when I'm not memsetting every byte
to the same value.

Regards,
Sean

-- 
Sean Horton
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to