GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
freedv_tx_ss.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2016-2019 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_VOCODER_FREEDV_TX_H
12 #define INCLUDED_VOCODER_FREEDV_TX_H
13 
14 #include <gnuradio/sync_block.h>
15 #include <gnuradio/vocoder/api.h>
17 
18 namespace gr {
19 namespace vocoder {
20 
21 /*!
22  * \brief FreeDV modulator
23  * \ingroup audio_blk
24  *
25  * Input: Speech (audio) signal as 16-bit shorts.
26  *
27  * Output: Signal (audio) as 16-bit shorts.
28  *
29  */
30 class VOCODER_API freedv_tx_ss : virtual public gr::block
31 {
32 public:
33  typedef std::shared_ptr<freedv_tx_ss> sptr;
34 
35  /*!
36  * \brief Make FreeDV Modem modulator block.
37  *
38  * \param mode Operating Mode designation
39  * \param msg_txt Low Rate message text (callsign, location)
40  * \param interleave_frames FreeDV 700D mode number of frames to average error
41  */
42  static sptr make(int mode = freedv_api::MODE_1600,
43  const std::string msg_txt = "GNU Radio",
44  int interleave_frames = 1);
45 };
46 
47 } /* namespace vocoder */
48 } /* namespace gr */
49 
50 #endif /* INCLUDED_VOCODER_FREEDV_TX_H */
The abstract base class for all 'terminal' processing blocks.
Definition: gnuradio-runtime/include/gnuradio/block.h:63
FreeDV modulator.
Definition: freedv_tx_ss.h:31
static sptr make(int mode=freedv_api::MODE_1600, const std::string msg_txt="GNU Radio", int interleave_frames=1)
Make FreeDV Modem modulator block.
std::shared_ptr< freedv_tx_ss > sptr
Definition: freedv_tx_ss.h:33
#define VOCODER_API
Definition: gr-vocoder/include/gnuradio/vocoder/api.h:18
GNU Radio logging wrapper.
Definition: basic_block.h:29