GNSS-SDR  0.0.21
An Open Source GNSS Software Defined Receiver
ad936x_iio_samples.h
Go to the documentation of this file.
1 /*!
2  * \file ad936x_iio_samples.h
3  * \brief A class that holds a custom sample buffer for Analog Devices AD936x family front-ends.
4  * \author Javier Arribas, jarribas(at)cttc.es
5  *
6  * -----------------------------------------------------------------------------
7  *
8  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
9  * This file is part of GNSS-SDR.
10  *
11  * Copyright (C) 2010-2022 (see AUTHORS file for a list of contributors)
12  * SPDX-License-Identifier: GPL-3.0-or-later
13  *
14  * -----------------------------------------------------------------------------
15  */
16 
17 
18 #ifndef GNSS_SDR_AD936X_IIO_SAMPLES_H
19 #define GNSS_SDR_AD936X_IIO_SAMPLES_H
20 
21 #define IIO_DEFAULTAD936XAPIFIFOSIZE_SAMPLES 32768 * 4
22 #define IIO_INPUTRAMFIFOSIZE 256
23 
24 #include <cstdint>
25 #include <memory>
26 #include <vector>
27 
28 /** \addtogroup Signal_Source
29  * \{ */
30 /** \addtogroup Signal_Source_libs
31  * \{ */
32 
34 {
35 public:
36  ad936x_iio_samples() = default;
37  uint32_t n_bytes{0};
38  uint32_t n_interleaved_iq_samples{0};
39  uint16_t n_channels{0};
40  uint16_t step_bytes{0};
41  char buffer[IIO_DEFAULTAD936XAPIFIFOSIZE_SAMPLES * 4 * 4]; // max 16 bits samples per buffer (4 channels, 2-bytes per I + 2-bytes per Q)
42 };
43 
44 /** \} */
45 /** \} */
46 #endif