GNU Radio's LFAST Package
costas2.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2017 ghostop14.
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 
22 #ifndef INCLUDED_LFAST_COSTAS2_H
23 #define INCLUDED_LFAST_COSTAS2_H
24 
25 #include <lfast/api.h>
26 #include <gnuradio/sync_block.h>
27 #include <gnuradio/blocks/control_loop.h>
28 
29 namespace gr {
30  namespace lfast {
31 
32  /*!
33  * \brief <+description of block+>
34  * \ingroup lfast
35  *
36  */
38  : virtual public gr::sync_block,
39  virtual public blocks::control_loop
40  {
41  public:
42  typedef boost::shared_ptr<costas2> sptr;
43 
44  /*!
45  * \brief Return a shared_ptr to a new instance of lfast::costas2.
46  *
47  * To avoid accidental use of raw pointers, lfast::costas2's
48  * constructor is in a private implementation
49  * class. lfast::costas2::make is the public interface for
50  * creating new instances.
51  */
52  static sptr make(float loop_bw, int order, bool genPDUs);
53 
54  virtual float error() const = 0;
55  };
56 
57  } // namespace lfast
58 } // namespace gr
59 
60 #endif /* INCLUDED_LFAST_COSTAS2_H */
61 
boost::shared_ptr< costas2 > sptr
Definition: costas2.h:42
#define LFAST_API
Definition: api.h:30
<+description of block+>
Definition: costas2.h:37