GNU Radio Manual and C++ API Reference
3.10.5.1
The Free & Open Software Radio Ecosystem
crc16_async_bb.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2021 Cesar Martinez.
4
*
5
* This file is part of GNU Radio
6
*
7
* SPDX-License-Identifier: GPL-3.0-or-later
8
9
*
10
*
11
*/
12
13
14
#ifndef INCLUDED_DIGITAL_CRC16_ASYNC_BB_H
15
#define INCLUDED_DIGITAL_CRC16_ASYNC_BB_H
16
17
#include <
gnuradio/block.h
>
18
#include <
gnuradio/digital/api.h
>
19
20
namespace
gr
{
21
namespace
digital {
22
23
/*!
24
* \brief Byte-stream CRC block for async messages
25
* \ingroup packet_operators_blk
26
* \ingroup deprecated_blk
27
*
28
* \details
29
*
30
* Processes packets (as async PDU messages) for CRC16. The \p
31
* check parameter determines if the block acts to check and strip
32
* the CRC or to calculate and append the CRC16.
33
*
34
* The input PDU is expected to be a message of packet bytes.
35
*
36
* When using check mode, if the CRC passes, the output is a
37
* payload of the message with the CRC stripped, so the output
38
* will be 2 bytes smaller than the input.
39
*
40
* When using calculate mode (check == false), then the CRC is
41
* calculated on the PDU and appended to it. The output is then 2
42
* bytes longer than the input.
43
*
44
* This block implements the CRC16 using the standard generator 0x1021.
45
*/
46
class
DIGITAL_API
crc16_async_bb
:
virtual
public
block
47
{
48
public
:
49
typedef
std::shared_ptr<crc16_async_bb>
sptr
;
50
51
/*!
52
* \param check Set to true if you want to check CRC, false to create CRC.
53
*/
54
static
sptr
make(
bool
check =
false
);
55
};
56
57
}
// namespace digital
58
}
// namespace gr
59
60
#endif
/* INCLUDED_DIGITAL_CRC16_ASYNC_BB_H */
gr::digital::crc16_async_bb
Byte-stream CRC block for async messages.
Definition:
crc16_async_bb.h:46
DIGITAL_API
#define DIGITAL_API
Definition:
gr-digital/include/gnuradio/digital/api.h:18
gr::digital::crc16_async_bb::sptr
std::shared_ptr< crc16_async_bb > sptr
Definition:
crc16_async_bb.h:49
gr::block
The abstract base class for all 'terminal' processing blocks.
Definition:
gnuradio-runtime/include/gnuradio/block.h:62
api.h
gr
GNU Radio logging wrapper.
Definition:
basic_block.h:29
block.h
gr-digital
include
gnuradio
digital
crc16_async_bb.h
Generated by
1.8.17