GNU Radio's DVBS2RX Package
xfecframe_demapper_cb.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2023 Igor Freire.
4 *
5 * SPDX-License-Identifier: GPL-3.0-or-later
6 */
7
8#ifndef INCLUDED_DVBS2RX_XFECFRAME_DEMAPPER_CB_H
9#define INCLUDED_DVBS2RX_XFECFRAME_DEMAPPER_CB_H
10
11#include <gnuradio/block.h>
14
15namespace gr {
16namespace dvbs2rx {
17
18/*!
19 * \brief XFECFRAME Constellation Demapper.
20 * \ingroup dvbs2rx
21 *
22 */
23class DVBS2RX_API xfecframe_demapper_cb : virtual public gr::block
24{
25public:
26 typedef std::shared_ptr<xfecframe_demapper_cb> sptr;
27
28 /*!
29 * \brief Return a shared_ptr to a new instance of dvbs2rx::xfecframe_demapper_cb.
30 *
31 * To avoid accidental use of raw pointers, dvbs2rx::xfecframe_demapper_cb's
32 * constructor is in a private implementation class.
33 * dvbs2rx::xfecframe_demapper_cb::make is the public interface for creating new
34 * instances.
35 */
36 static sptr make(dvb_framesize_t framesize,
37 dvb_code_rate_t rate,
38 dvb_constellation_t constellation);
39
40 /*!
41 * \brief Get the measured SNR.
42 * \return float Measured SNR.
43 */
44 virtual float get_snr() = 0;
45};
46
47} // namespace dvbs2rx
48} // namespace gr
49
50#endif /* INCLUDED_DVBS2RX_XFECFRAME_DEMAPPER_CB_H */
XFECFRAME Constellation Demapper.
Definition xfecframe_demapper_cb.h:24
static sptr make(dvb_framesize_t framesize, dvb_code_rate_t rate, dvb_constellation_t constellation)
Return a shared_ptr to a new instance of dvbs2rx::xfecframe_demapper_cb.
std::shared_ptr< xfecframe_demapper_cb > sptr
Definition xfecframe_demapper_cb.h:26
virtual float get_snr()=0
Get the measured SNR.
#define DVBS2RX_API
Definition include/gnuradio/dvbs2rx/api.h:19
dvb_framesize_t
Definition dvb_config.h:74
dvb_constellation_t
Definition dvb_config.h:80
dvb_code_rate_t
Definition dvb_config.h:20
Fixed-length double-ended queue with contiguous volk-aligned elements.
Definition gr_bch.h:22