diff options
Diffstat (limited to 'gr-digital/lib/digital_constellation_receiver_cb.cc')
-rw-r--r-- | gr-digital/lib/digital_constellation_receiver_cb.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gr-digital/lib/digital_constellation_receiver_cb.cc b/gr-digital/lib/digital_constellation_receiver_cb.cc index b9239962a..faaa760fd 100644 --- a/gr-digital/lib/digital_constellation_receiver_cb.cc +++ b/gr-digital/lib/digital_constellation_receiver_cb.cc @@ -47,13 +47,13 @@ digital_make_constellation_receiver_cb(digital_constellation_sptr constell, fmin, fmax)); } -static int ios[] = {sizeof(char), sizeof(float), sizeof(float), sizeof(float)}; +static int ios[] = {sizeof(char), sizeof(float), sizeof(float), sizeof(float), sizeof(gr_complex)}; static std::vector<int> iosig(ios, ios+sizeof(ios)/sizeof(int)); digital_constellation_receiver_cb::digital_constellation_receiver_cb (digital_constellation_sptr constellation, float loop_bw, float fmin, float fmax) : gr_block ("constellation_receiver_cb", gr_make_io_signature (1, 1, sizeof (gr_complex)), - gr_make_io_signaturev (1, 4, iosig)), + gr_make_io_signaturev (1, 5, iosig)), gri_control_loop(loop_bw, fmax, fmin), d_constellation(constellation), d_current_const_point(0) @@ -93,10 +93,12 @@ digital_constellation_receiver_cb::general_work (int noutput_items, gr_complex sample, nco; float *out_err = 0, *out_phase = 0, *out_freq = 0; - if(output_items.size() == 4) { + gr_complex *out_symbol; + if(output_items.size() == 5) { out_err = (float *) output_items[1]; out_phase = (float *) output_items[2]; out_freq = (float *) output_items[3]; + out_symbol = (gr_complex*)output_items[4]; } while((i < noutput_items) && (i < ninput_items[0])) { @@ -109,10 +111,11 @@ digital_constellation_receiver_cb::general_work (int noutput_items, out[i] = sym_value; - if(output_items.size() == 4) { + if(output_items.size() == 5) { out_err[i] = phase_error; out_phase[i] = d_phase; out_freq[i] = d_freq; + out_symbol[i] = sample; } i++; } |