Hi,

I have an OOT module that takes in vectors of length A and outputs vectors of length C using the following:
Constructor:

my_module_impl::my_module_impl (int A, int C, ...)
    : gr::sync_block("my_module",
                     gr::io_signature::make(1, 1, A*sizeof(gr_complex)),
                     gr::io_signature::make(1, 1, C*sizeof(gr_complex)))


Work function:

    int my_module_impl::work(int noutput_items,
                                  gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
    {
      const gr_complex* in = (const gr_complex*) input_items[0];
      gr_complex* out = (gr_complex*) output_items[0];
      int i;

      for (i = 0; i < noutput_items; i++) {

           ...

        memcpy(out, my_output, C*sizeof(gr_complex));
        in += A;
        out += C;
      }

      return(noutput_items);
...

At run time, I get a

ValueError: itemsize mismatch: my_module0:0 using 524264, vector_to_stream0:0 using 294912
where the first number 524264 is not what I am expecting it to be which 
should be the same as the second number. Specifically, A=65536 
(524264=8*(A-3)) and C=36864 (294912=8C).
Am I doing everything correctly? Thanks!

Grace

--
Grace K. Yeung, MS
NorthWest Research Associates
301 Webster Street
Monterey, CA 93940
gr...@nwra.com
https://www.nwra.com

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to