GNU Radio's OWC Package
OOK_Modulator_cplus.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2024 Kunal Sangurmath from The Ubiquitous Communications and Networking(UCAN) Lab, University of Massachusetts, Boston.
4 *
5 * SPDX-License-Identifier: GPL-3.0-or-later
6 */
7
8#ifndef INCLUDED_OWC_OOK_MODULATOR_CPLUS_H
9#define INCLUDED_OWC_OOK_MODULATOR_CPLUS_H
10
11#include <gnuradio/owc/api.h>
12#include <gnuradio/sync_interpolator.h>
13
14namespace gr {
15namespace owc {
16
17/*!
18 * \brief <+description of block+>
19 * \ingroup owc
20 *
21 */
22class OWC_API OOK_Modulator_cplus : virtual public gr::sync_interpolator {
23public:
24 typedef std::shared_ptr<OOK_Modulator_cplus> sptr;
25
26 /*!
27 * \brief Return a shared_ptr to a new instance of owc::OOK_Modulator_cplus.
28 *
29 * To avoid accidental use of raw pointers, owc::OOK_Modulator_cplus's
30 * constructor is in a private implementation
31 * class. owc::OOK_Modulator_cplus::make is the public interface for
32 * creating new instances.
33 */
34 static sptr make(float max_mag, float min_mag, int samples_per_symbol);
35
36 virtual void set_max_magnitude(float max_mag) = 0;
37 virtual float max_magnitude() = 0;
38
39 virtual void set_min_magnitude(float min_mag) = 0;
40 virtual float min_magnitude() = 0;
41
43 virtual int samples_per_symbol() = 0;
44
45};
46
47} // namespace owc
48} // namespace gr
49
50#endif /* INCLUDED_OWC_OOK_MODULATOR_CPLUS_H */
#define OWC_API
Definition api.h:19
<+description of block+>
Definition OOK_Modulator_cplus.h:22
virtual float min_magnitude()=0
static sptr make(float max_mag, float min_mag, int samples_per_symbol)
Return a shared_ptr to a new instance of owc::OOK_Modulator_cplus.
virtual void set_samples_per_symbol(int samples_per_symbol)=0
virtual int samples_per_symbol()=0
virtual void set_max_magnitude(float max_mag)=0
virtual float max_magnitude()=0
std::shared_ptr< OOK_Modulator_cplus > sptr
Definition OOK_Modulator_cplus.h:24
virtual void set_min_magnitude(float min_mag)=0
Definition Hermitian_Symmetry_i_o_same_vec_size_cplus.h:31
Definition Hermitian_Symmetry_i_o_same_vec_size_cplus.h:30