diff options
author | Marcus Müller <mmueller@gnuradio.org> | 2019-08-07 21:45:12 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2019-08-09 23:04:28 +0200 |
commit | f7bbf2c1d8d780294f3e016aff239ca35eb6516e (patch) | |
tree | e09ab6112e02b2215b2d59ac24d3d6ea2edac745 /gr-analog/lib/squelch_base_ff_impl.cc | |
parent | 78431dc6941e3acc67c858277dfe4a0ed583643c (diff) |
Tree: clang-format without the include sorting
Diffstat (limited to 'gr-analog/lib/squelch_base_ff_impl.cc')
-rw-r--r-- | gr-analog/lib/squelch_base_ff_impl.cc | 159 |
1 files changed, 69 insertions, 90 deletions
diff --git a/gr-analog/lib/squelch_base_ff_impl.cc b/gr-analog/lib/squelch_base_ff_impl.cc index 2f164be363..abe18e786c 100644 --- a/gr-analog/lib/squelch_base_ff_impl.cc +++ b/gr-analog/lib/squelch_base_ff_impl.cc @@ -30,129 +30,108 @@ #include <pmt/pmt.h> namespace gr { - namespace analog { - - squelch_base_ff_impl::squelch_base_ff_impl(const char *name, int ramp, bool gate) - : block(name, - io_signature::make(1, 1, sizeof(float)), - io_signature::make(1, 1, sizeof(float))), - d_sob_key(pmt::intern("squelch_sob")), - d_eob_key(pmt::intern("squelch_eob")), - d_tag_next_unmuted(true) - { - set_ramp(ramp); - set_gate(gate); - d_state = ST_MUTED; - d_envelope = d_ramp ? 0.0 : 1.0; - d_ramped = 0; - } +namespace analog { - squelch_base_ff_impl::~squelch_base_ff_impl() - { - } +squelch_base_ff_impl::squelch_base_ff_impl(const char* name, int ramp, bool gate) + : block(name, + io_signature::make(1, 1, sizeof(float)), + io_signature::make(1, 1, sizeof(float))), + d_sob_key(pmt::intern("squelch_sob")), + d_eob_key(pmt::intern("squelch_eob")), + d_tag_next_unmuted(true) +{ + set_ramp(ramp); + set_gate(gate); + d_state = ST_MUTED; + d_envelope = d_ramp ? 0.0 : 1.0; + d_ramped = 0; +} - int - squelch_base_ff_impl::ramp() const - { - return d_ramp; - } +squelch_base_ff_impl::~squelch_base_ff_impl() {} - void - squelch_base_ff_impl::set_ramp(int ramp) - { - d_ramp = ramp; - } +int squelch_base_ff_impl::ramp() const { return d_ramp; } - bool - squelch_base_ff_impl::gate() const - { - return d_gate; - } +void squelch_base_ff_impl::set_ramp(int ramp) { d_ramp = ramp; } - void - squelch_base_ff_impl::set_gate(bool gate) - { - d_gate = gate; - } +bool squelch_base_ff_impl::gate() const { return d_gate; } - bool - squelch_base_ff_impl::unmuted() const - { - return (d_state == ST_UNMUTED || d_state == ST_ATTACK); - } +void squelch_base_ff_impl::set_gate(bool gate) { d_gate = gate; } - int - squelch_base_ff_impl::general_work(int noutput_items, - gr_vector_int &ninput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - const float *in = (const float *) input_items[0]; - float *out = (float *) output_items[0]; +bool squelch_base_ff_impl::unmuted() const +{ + return (d_state == ST_UNMUTED || d_state == ST_ATTACK); +} - int j = 0; +int squelch_base_ff_impl::general_work(int noutput_items, + gr_vector_int& ninput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + const float* in = (const float*)input_items[0]; + float* out = (float*)output_items[0]; - for(int i = 0; i < noutput_items; i++) { + int j = 0; + + for (int i = 0; i < noutput_items; i++) { update_state(in[i]); // Adjust envelope based on current state - switch(d_state) { - case ST_MUTED: - if(!mute()) { - // If not ramping, go straight to unmuted - d_state = d_ramp ? ST_ATTACK : ST_UNMUTED; - if(d_state == ST_UNMUTED) - d_tag_next_unmuted = true; + switch (d_state) { + case ST_MUTED: + if (!mute()) { + // If not ramping, go straight to unmuted + d_state = d_ramp ? ST_ATTACK : ST_UNMUTED; + if (d_state == ST_UNMUTED) + d_tag_next_unmuted = true; } break; - case ST_UNMUTED: - if(d_tag_next_unmuted) { - d_tag_next_unmuted = false; - add_item_tag(0, nitems_written(0) + j, d_sob_key, pmt::PMT_NIL); + case ST_UNMUTED: + if (d_tag_next_unmuted) { + d_tag_next_unmuted = false; + add_item_tag(0, nitems_written(0) + j, d_sob_key, pmt::PMT_NIL); } - if(mute()) { - // If not ramping, go straight to muted - d_state = d_ramp ? ST_DECAY : ST_MUTED; - if(d_state == ST_MUTED) - add_item_tag(0, nitems_written(0) + j, d_eob_key, pmt::PMT_NIL); + if (mute()) { + // If not ramping, go straight to muted + d_state = d_ramp ? ST_DECAY : ST_MUTED; + if (d_state == ST_MUTED) + add_item_tag(0, nitems_written(0) + j, d_eob_key, pmt::PMT_NIL); } break; - case ST_ATTACK: + case ST_ATTACK: // FIXME: precalculate window for speed - d_envelope = 0.5-std::cos(GR_M_PI*(++d_ramped)/d_ramp)/2.0; + d_envelope = 0.5 - std::cos(GR_M_PI * (++d_ramped) / d_ramp) / 2.0; // use >= in case d_ramp is set to lower value elsewhere - if(d_ramped >= d_ramp) { - d_state = ST_UNMUTED; - d_tag_next_unmuted = true; - d_envelope = 1.0; + if (d_ramped >= d_ramp) { + d_state = ST_UNMUTED; + d_tag_next_unmuted = true; + d_envelope = 1.0; } break; - case ST_DECAY: + case ST_DECAY: // FIXME: precalculate window for speed - d_envelope = 0.5-std::cos(GR_M_PI*(--d_ramped)/d_ramp)/2.0; - if(d_ramped == 0.0) { - d_state = ST_MUTED; - add_item_tag(0, nitems_written(0) + j, d_eob_key, pmt::PMT_NIL); + d_envelope = 0.5 - std::cos(GR_M_PI * (--d_ramped) / d_ramp) / 2.0; + if (d_ramped == 0.0) { + d_state = ST_MUTED; + add_item_tag(0, nitems_written(0) + j, d_eob_key, pmt::PMT_NIL); } break; }; // If unmuted, copy input times envelope to output // Otherwise, if not gating, copy zero to output - if(d_state != ST_MUTED) - out[j++] = in[i]*d_envelope; - else - if(!d_gate) + if (d_state != ST_MUTED) + out[j++] = in[i] * d_envelope; + else if (!d_gate) out[j++] = 0.0; - } - - consume_each(noutput_items); // Use all the inputs - return j; // But only report outputs copied } - } /* namespace analog */ + consume_each(noutput_items); // Use all the inputs + return j; // But only report outputs copied +} + +} /* namespace analog */ } /* namespace gr */ |