This is one huge / ugly patch. It uses the new 3.7 namespaces and include path stuff. I stayed away from that _impl pattern because that's just dumb. Based on original patch by Dimitri Stolnikov <horiz0n@gmx.net> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>gr3.7 v0.37.0
parent
0039c7fec6
commit
022ec6859f
@ -0,0 +1,62 @@ |
||||
/* -*- c++ -*- */ |
||||
/*
|
||||
* Copyright 2013 Sylvain Munaut <tnt@246tNt.com> |
||||
* |
||||
* This is free software; you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation; either version 3, or (at your option) |
||||
* any later version. |
||||
* |
||||
* This software is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this software; see the file COPYING. If not, write to |
||||
* the Free Software Foundation, Inc., 51 Franklin Street, |
||||
* Boston, MA 02110-1301, USA. |
||||
*/ |
||||
|
||||
|
||||
#ifndef INCLUDED_IQBALANCE_FIX_CC_H |
||||
#define INCLUDED_IQBALANCE_FIX_CC_H |
||||
|
||||
#include <gnuradio/iqbalance/api.h> |
||||
#include <gnuradio/sync_block.h> |
||||
|
||||
namespace gr { |
||||
namespace iqbalance { |
||||
|
||||
class IQBALANCE_API fix_cc : public gr::sync_block |
||||
{ |
||||
private: |
||||
fix_cc(float mag, float phase); |
||||
|
||||
float d_mag, d_phase; |
||||
|
||||
public: |
||||
typedef boost::shared_ptr<fix_cc> sptr; |
||||
|
||||
static sptr make(float mag=0.0f, float phase=0.0f); |
||||
|
||||
~fix_cc(); |
||||
|
||||
void set_mag(float mag) { this->d_mag = mag; } |
||||
void set_phase(float phase) { this->d_phase = phase; } |
||||
|
||||
float mag() const { return this->d_mag; } |
||||
float phase() const { return this->d_phase; } |
||||
|
||||
void apply_new_corrections (pmt::pmt_t msg); |
||||
|
||||
int work (int noutput_items, |
||||
gr_vector_const_void_star &input_items, |
||||
gr_vector_void_star &output_items); |
||||
}; |
||||
|
||||
} // namespace iqbalance
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IQBALANCE_FIX_CC_H */ |
||||
|
@ -0,0 +1,70 @@ |
||||
/* -*- c++ -*- */ |
||||
/*
|
||||
* Copyright 2013 Sylvain Munaut <tnt@246tNt.com> |
||||
* |
||||
* This is free software; you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation; either version 3, or (at your option) |
||||
* any later version. |
||||
* |
||||
* This software is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this software; see the file COPYING. If not, write to |
||||
* the Free Software Foundation, Inc., 51 Franklin Street, |
||||
* Boston, MA 02110-1301, USA. |
||||
*/ |
||||
|
||||
|
||||
#ifndef INCLUDED_IQBALANCE_OPTIMIZE_C_H |
||||
#define INCLUDED_IQBALANCE_OPTIMIZE_C_H |
||||
|
||||
#include <gnuradio/iqbalance/api.h> |
||||
#include <gnuradio/sync_block.h> |
||||
|
||||
namespace gr { |
||||
namespace iqbalance { |
||||
|
||||
class IQBALANCE_API optimize_c : public gr::sync_block |
||||
{ |
||||
private: |
||||
optimize_c(int period); |
||||
|
||||
int d_period, d_count; |
||||
bool d_first; |
||||
float d_mag, d_phase; |
||||
|
||||
public: |
||||
typedef boost::shared_ptr<optimize_c> sptr; |
||||
|
||||
static sptr make(int period=0); |
||||
|
||||
~optimize_c(); |
||||
|
||||
void set_period(int period) { this->d_period = period; } |
||||
int period() const { return this->d_period; } |
||||
|
||||
float mag() const { return this->d_mag; } |
||||
float phase() const { return this->d_phase; } |
||||
|
||||
void reset(void) { |
||||
this->d_first = true; |
||||
this->d_count = 0; |
||||
this->d_mag = this->d_phase = 0.0f; |
||||
} |
||||
|
||||
void forecast (int noutput_items, gr_vector_int &ninput_items_required); |
||||
|
||||
int work (int noutput_items, |
||||
gr_vector_const_void_star &input_items, |
||||
gr_vector_void_star &output_items); |
||||
}; |
||||
|
||||
} // namespace iqbalance
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IQBALANCE_OPTIMIZE_C_H */ |
||||
|
@ -1,65 +0,0 @@ |
||||
/* -*- c++ -*- */ |
||||
/*
|
||||
* Copyright 2013 Sylvain Munaut <tnt@246tNt.com> |
||||
*
|
||||
* This is free software; you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation; either version 3, or (at your option) |
||||
* any later version. |
||||
*
|
||||
* This software is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
*
|
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this software; see the file COPYING. If not, write to |
||||
* the Free Software Foundation, Inc., 51 Franklin Street, |
||||
* Boston, MA 02110-1301, USA. |
||||
*/ |
||||
|
||||
|
||||
#ifndef INCLUDED_IQBALANCE_FIX_CC_H |
||||
#define INCLUDED_IQBALANCE_FIX_CC_H |
||||
|
||||
#include <iqbalance_api.h> |
||||
#include <gr_sync_block.h> |
||||
|
||||
class iqbalance_fix_cc; |
||||
|
||||
typedef boost::shared_ptr<iqbalance_fix_cc> iqbalance_fix_cc_sptr; |
||||
|
||||
IQBALANCE_API iqbalance_fix_cc_sptr iqbalance_make_fix_cc (float mag=0.0f, float phase=0.0f); |
||||
|
||||
/*!
|
||||
* \brief <+description+> |
||||
* \ingroup block |
||||
* |
||||
*/ |
||||
class IQBALANCE_API iqbalance_fix_cc : public gr_sync_block |
||||
{ |
||||
private: |
||||
friend IQBALANCE_API iqbalance_fix_cc_sptr iqbalance_make_fix_cc (float mag, float phase); |
||||
|
||||
iqbalance_fix_cc(float mag, float phase); |
||||
|
||||
float d_mag, d_phase; |
||||
|
||||
public: |
||||
~iqbalance_fix_cc(); |
||||
|
||||
void set_mag(float mag) { this->d_mag = mag; } |
||||
void set_phase(float phase) { this->d_phase = phase; } |
||||
|
||||
float mag() const { return this->d_mag; } |
||||
float phase() const { return this->d_phase; } |
||||
|
||||
void apply_new_corrections (pmt::pmt_t msg); |
||||
|
||||
int work (int noutput_items, |
||||
gr_vector_const_void_star &input_items, |
||||
gr_vector_void_star &output_items); |
||||
}; |
||||
|
||||
#endif /* INCLUDED_IQBALANCE_FIX_CC_H */ |
||||
|
@ -1,73 +0,0 @@ |
||||
/* -*- c++ -*- */ |
||||
/*
|
||||
* Copyright 2013 Sylvain Munaut <tnt@246tNt.com> |
||||
*
|
||||
* This is free software; you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation; either version 3, or (at your option) |
||||
* any later version. |
||||
*
|
||||
* This software is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
*
|
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this software; see the file COPYING. If not, write to |
||||
* the Free Software Foundation, Inc., 51 Franklin Street, |
||||
* Boston, MA 02110-1301, USA. |
||||
*/ |
||||
|
||||
|
||||
#ifndef INCLUDED_IQBALANCE_OPTIMIZE_C_H |
||||
#define INCLUDED_IQBALANCE_OPTIMIZE_C_H |
||||
|
||||
#include <iqbalance_api.h> |
||||
#include <gr_sync_block.h> |
||||
|
||||
class iqbalance_optimize_c; |
||||
|
||||
typedef boost::shared_ptr<iqbalance_optimize_c> iqbalance_optimize_c_sptr; |
||||
|
||||
IQBALANCE_API iqbalance_optimize_c_sptr iqbalance_make_optimize_c (int period=0); |
||||
|
||||
/*!
|
||||
* \brief <+description+> |
||||
* \ingroup block |
||||
* |
||||
*/ |
||||
class IQBALANCE_API iqbalance_optimize_c : public gr_sync_block |
||||
{ |
||||
private: |
||||
friend IQBALANCE_API iqbalance_optimize_c_sptr iqbalance_make_optimize_c (int period); |
||||
|
||||
iqbalance_optimize_c(int period); |
||||
|
||||
int d_period, d_count; |
||||
bool d_first; |
||||
float d_mag, d_phase; |
||||
|
||||
public: |
||||
~iqbalance_optimize_c(); |
||||
|
||||
void set_period(int period) { this->d_period = period; } |
||||
int period() const { return this->d_period; } |
||||
|
||||
float mag() const { return this->d_mag; } |
||||
float phase() const { return this->d_phase; } |
||||
|
||||
void reset(void) { |
||||
this->d_first = true; |
||||
this->d_count = 0; |
||||
this->d_mag = this->d_phase = 0.0f; |
||||
} |
||||
|
||||
void forecast (int noutput_items, gr_vector_int &ninput_items_required); |
||||
|
||||
int work (int noutput_items, |
||||
gr_vector_const_void_star &input_items, |
||||
gr_vector_void_star &output_items); |
||||
}; |
||||
|
||||
#endif /* INCLUDED_IQBALANCE_OPTIMIZE_C_H */ |
||||
|
Loading…
Reference in new issue