GNU Radio's DVBS2RX Package
bbdeheader_bb_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2018 Ron Economos.
4 *
5 * This is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3, or (at your option)
8 * any later version.
9 *
10 * This software is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this software; see the file COPYING. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street,
18 * Boston, MA 02110-1301, USA.
19 */
20
21#ifndef INCLUDED_DVBS2RX_BBDEHEADER_BB_IMPL_H
22#define INCLUDED_DVBS2RX_BBDEHEADER_BB_IMPL_H
23
24#include "dvb_defines.h"
26
27typedef struct {
28 int ts_gs;
31 int issyi;
32 int npd;
33 int ro;
34 int isi;
35 unsigned int upl;
36 unsigned int dfl;
37 int sync;
38 unsigned int syncd;
39} BBHeader;
40
41typedef struct {
44
45namespace gr {
46 namespace dvbs2rx {
47
49 {
50 private:
51 unsigned int kbch;
52 unsigned int max_dfl;
53 unsigned int dvb_standard;
54 unsigned int df_remaining;
55 unsigned int count;
56 unsigned int synched;
57 unsigned char crc;
58 unsigned int distance;
59 unsigned int spanning;
60 unsigned int index;
61 FrameFormat m_format[1];
62 unsigned char crc_tab[256];
63 unsigned char packet[188];
64 void
65 build_crc8_table(void);
66 unsigned int
67 check_crc8_bits(const unsigned char *, int);
68
69 public:
71 dvb_framesize_t framesize,
72 dvb_code_rate_t rate);
74
75 // Where all the action really happens
76 void
77 forecast(int noutput_items, gr_vector_int &ninput_items_required);
78
79 int
80 general_work(int noutput_items,
81 gr_vector_int &ninput_items,
82 gr_vector_const_void_star &input_items,
83 gr_vector_void_star &output_items);
84 };
85
86 } // namespace dvbs2rx
87} // namespace gr
88
89#endif /* INCLUDED_DVBS2RX_BBDEHEADER_BB_IMPL_H */
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
bbdeheader_bb_impl(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate)
<+description of block+>
Definition bbdeheader_bb.h:39
dvb_framesize_t
Definition dvb_config.h:85
dvb_code_rate_t
Definition dvb_config.h:31
dvb_standard_t
Definition dvb_config.h:26
Definition bbdeheader_bb.h:30
Definition bbdeheader_bb_impl.h:27
int isi
Definition bbdeheader_bb_impl.h:34
int ccm_acm
Definition bbdeheader_bb_impl.h:30
int issyi
Definition bbdeheader_bb_impl.h:31
unsigned int upl
Definition bbdeheader_bb_impl.h:35
unsigned int syncd
Definition bbdeheader_bb_impl.h:38
int npd
Definition bbdeheader_bb_impl.h:32
unsigned int dfl
Definition bbdeheader_bb_impl.h:36
int sync
Definition bbdeheader_bb_impl.h:37
int sis_mis
Definition bbdeheader_bb_impl.h:29
int ts_gs
Definition bbdeheader_bb_impl.h:28
int ro
Definition bbdeheader_bb_impl.h:33
Definition bbdeheader_bb_impl.h:41
BBHeader bb_header
Definition bbdeheader_bb_impl.h:42