GNU Radio Manual and C++ API Reference 3.8.5.0
The Free & Open Software Radio Ecosystem
 
Loading...
Searching...
No Matches
freedv_api.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 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
11 *
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
21 */
22
23#ifndef _VOCODER_FREEDV_H_
24#define _VOCODER_FREEDV_H_
25
27
28// version >=0.9.1 contains fixes that doesn't require "extern C"
29// between 0.8.1 and 0.9.1 the build fail
30#ifdef CODEC2_LEGACY
31extern "C" {
32#endif
33#include <codec2/codec2.h>
34#include <codec2/freedv_api.h>
35#include <codec2/modem_stats.h>
36#ifdef CODEC2_LEGACY
37}
38#endif
39
40namespace gr {
41namespace vocoder {
42
44{
45public:
47#ifdef FREEDV_MODE_1600
48 MODE_1600 = FREEDV_MODE_1600,
49#endif
50#ifdef FREEDV_MODE_700
51 MODE_700 = FREEDV_MODE_700,
52#endif
53#ifdef FREEDV_MODE_700B
54 MODE_700B = FREEDV_MODE_700B,
55#endif
56#ifdef FREEDV_MODE_2400A
57 MODE_2400A = FREEDV_MODE_2400A,
58#endif
59#ifdef FREEDV_MODE_2400B
60 MODE_2400B = FREEDV_MODE_2400B,
61#endif
62#ifdef FREEDV_MODE_800XA
63 MODE_800XA = FREEDV_MODE_800XA,
64#endif
65#ifdef FREEDV_MODE_700C
66 MODE_700C = FREEDV_MODE_700C,
67#endif
68#ifdef FREEDV_MODE_700D
69 MODE_700D = FREEDV_MODE_700D,
70 SYNC_UNSYNC = FREEDV_SYNC_UNSYNC,
71 SYNC_AUTO = FREEDV_SYNC_AUTO,
72 SYNC_MANUAL = FREEDV_SYNC_MANUAL,
73#endif
74 };
75
76private:
77};
78
79} /* namespace vocoder */
80} /* namespace gr */
81
82#endif /* _VOCODER_FREEDV_H_ */
Definition freedv_api.h:44
freedv_modes
Definition freedv_api.h:46
#define VOCODER_API
Definition gr-vocoder/include/gnuradio/vocoder/api.h:30
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition basic_block.h:46