GNU Radio's SATNOGS Package
iq_sink_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * gr-satnogs: SatNOGS GNU Radio Out-Of-Tree Module
4 *
5 * Copyright (C) 2017, Libre Space Foundation <http://librespacefoundation.org/>
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef INCLUDED_SATNOGS_IQ_SINK_IMPL_H
22#define INCLUDED_SATNOGS_IQ_SINK_IMPL_H
23
24#include <gnuradio/blocks/file_sink_base.h>
26#include <chrono>
27#include <fstream>
28
29namespace gr {
30namespace satnogs {
31
32class iq_sink_impl : public iq_sink, public gr::blocks::file_sink_base
33{
34private:
35 /**
36 * The different values for iq sink status
37 */
38 typedef enum {
39 IQ_SINK_STATUS_NULL =
40 0, //!< IQ_SINK_STATUS_NULL IQ sink block behaves just like a null sink
41 IQ_SINK_STATUS_ACTIVE = 1, //!< IQ_SINK_STATUS_ACTIVE IQ sink block is active
42 } iq_sink_status_t;
43
44 iq_sink_status_t d_status;
45 size_t d_num_points;
46 float d_scale;
47 int16_t* d_out;
48
49public:
50 iq_sink_impl(const float scale, const char* filename, bool append, const int status);
52
53 int work(int noutput_items,
54 gr_vector_const_void_star& input_items,
55 gr_vector_void_star& output_items);
56};
57
58} // namespace satnogs
59} // namespace gr
60
61#endif /* INCLUDED_SATNOGS_IQ_SINK_IMPL_H */
Definition: iq_sink_impl.h:33
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
iq_sink_impl(const float scale, const char *filename, bool append, const int status)
This block converts a complex float input stream to short and stores it to a file....
Definition: iq_sink.h:39
Definition: amsat_duv_decoder.h:29