summaryrefslogtreecommitdiff
path: root/gr-digital/lib/digital_constellation_receiver_cb.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/lib/digital_constellation_receiver_cb.cc')
-rw-r--r--gr-digital/lib/digital_constellation_receiver_cb.cc11
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++;
}