GNU Radio's DVBS2RX Package
debug_level.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright (c) 2023 Igor Freire.
4 *
5 * This file is part of gr-dvbs2rx.
6 *
7 * SPDX-License-Identifier: GPL-3.0-or-later
8 */
9
10#ifndef INCLUDED_DVBS2RX_DEBUG_LEVEL_H
11#define INCLUDED_DVBS2RX_DEBUG_LEVEL_H
12
13namespace gr {
14namespace dvbs2rx {
15
16// Low-level debug logging controlled by level
17#ifdef DEBUG_LOGS
18
19#define GR_LOG_DEBUG_LEVEL(level, ...) \
20 do { \
21 if (d_debug_level >= level) { \
22 d_logger->debug(__VA_ARGS__); \
23 } \
24 } while (0)
25
26#define GR_LOG_DEBUG_LEVEL_IF(level, condition, ...) \
27 do { \
28 if (d_debug_level >= level && condition) { \
29 d_logger->debug(__VA_ARGS__); \
30 } \
31 } while (0)
32
33#else // DEBUG_LOGS
34
35#define GR_LOG_DEBUG_LEVEL(level, ...) \
36 while (false) \
37 GR_LOG_DEBUG(__VA_ARGS__)
38
39#define GR_LOG_DEBUG_LEVEL_IF(level, condition, ...) \
40 while (false) \
41 GR_LOG_DEBUG(__VA_ARGS__)
42
43#endif // DEBUG_LOGS
44
45} // namespace dvbs2rx
46} // namespace gr
47
48#endif
Fixed-length double-ended queue with contiguous volk-aligned elements.
Definition gr_bch.h:22