GNU Radio's SATNOGS Package
encoder.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* gr-satnogs: SatNOGS GNU Radio Out-Of-Tree Module
4
*
5
* Copyright (C) 2020, Libre Space Foundation <http://libre.space>
6
*
7
* This program 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 of the License, or
10
* (at your option) any later version.
11
*
12
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#ifndef INCLUDED_SATNOGS_ENCODER_H
22
#define INCLUDED_SATNOGS_ENCODER_H
23
24
#include <
gnuradio/satnogs/api.h
>
25
#include <pmt/pmt.h>
26
#include <deque>
27
28
namespace
gr
{
29
namespace
satnogs {
30
31
/*!
32
* \brief Abstract class defining the API of the SatNOGS Encoders
33
*
34
* Abstract class defining the API of the SatNOGS Encoders
35
*
36
* The gr-satnogs module tries to provide a unified encoding framework,
37
* for various satellites and framing schemes.
38
*
39
* Specialization is performed by passing to the generic encoding block
40
* (\ref frame_encoder() ) the appropriate encoder class that implements
41
* this abstract class API.
42
*/
43
class
SATNOGS_API
encoder
44
{
45
public
:
46
typedef
std::shared_ptr<encoder> encoder_sptr;
47
48
static
int
base_unique_id
;
49
50
int
unique_id
()
const
;
51
52
53
encoder
();
54
55
virtual
~encoder
();
56
57
virtual
pmt::pmt_t
encode
(pmt::pmt_t pdu) = 0;
58
59
private
:
60
const
int
d_id;
61
};
62
63
}
// namespace satnogs
64
}
// namespace gr
65
66
#endif
/* INCLUDED_SATNOGS_ENCODER_H */
api.h
SATNOGS_API
#define SATNOGS_API
Definition
api.h:19
gr::satnogs::encoder
Abstract class defining the API of the SatNOGS Encoders.
Definition
encoder.h:44
gr::satnogs::encoder::~encoder
virtual ~encoder()
gr::satnogs::encoder::unique_id
int unique_id() const
gr::satnogs::encoder::encode
virtual pmt::pmt_t encode(pmt::pmt_t pdu)=0
gr::satnogs::encoder::encoder
encoder()
gr::satnogs::encoder::base_unique_id
static int base_unique_id
Definition
encoder.h:48
gr
Definition
amsat_duv_decoder.h:29
include
gnuradio
satnogs
encoder.h
Generated by
1.9.8