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
25#include <pmt/pmt.h>
26#include <deque>
27
28namespace gr {
29namespace 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 */
44{
45public:
46 typedef std::shared_ptr<encoder> encoder_sptr;
47
48 static int base_unique_id;
49
50 int unique_id() const;
51
52
54
55 virtual ~encoder();
56
57 virtual pmt::pmt_t encode(pmt::pmt_t pdu) = 0;
58
59private:
60 const int d_id;
61};
62
63} // namespace satnogs
64} // namespace gr
65
66#endif /* INCLUDED_SATNOGS_ENCODER_H */
#define SATNOGS_API
Definition: api.h:19
Abstract class defining the API of the SatNOGS Encoders.
Definition: encoder.h:44
int unique_id() const
virtual pmt::pmt_t encode(pmt::pmt_t pdu)=0
static int base_unique_id
Definition: encoder.h:48
Definition: amsat_duv_decoder.h:29