diff options
Diffstat (limited to 'lib/hackrf/hackrf_sink_c.h')
-rw-r--r-- | lib/hackrf/hackrf_sink_c.h | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/lib/hackrf/hackrf_sink_c.h b/lib/hackrf/hackrf_sink_c.h index 08ff2ca..a7e7ab8 100644 --- a/lib/hackrf/hackrf_sink_c.h +++ b/lib/hackrf/hackrf_sink_c.h @@ -1,35 +1,34 @@ /* -*- c++ -*- */ /* * Copyright 2013 Dimitri Stolnikov <horiz0n@gmx.net> - * Copyright 2020 Clayton Smith <argilo@gmail.com> * - * gr-osmosdr is free software; you can redistribute it and/or modify + * GNU Radio is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3, or (at your option) * any later version. * - * gr-osmosdr is distributed in the hope that it will be useful, + * GNU Radio is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with gr-osmosdr; see the file COPYING. If not, write to + * along with GNU Radio; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, * Boston, MA 02110-1301, USA. */ #ifndef INCLUDED_HACKRF_SINK_C_H #define INCLUDED_HACKRF_SINK_C_H +#include <gnuradio/thread/thread.h> #include <gnuradio/sync_block.h> -#include <condition_variable> -#include <mutex> +#include <boost/thread/mutex.hpp> +#include <boost/thread/condition_variable.hpp> #include <libhackrf/hackrf.h> #include "sink_iface.h" -#include "hackrf_common.h" class hackrf_sink_c; @@ -68,8 +67,7 @@ hackrf_sink_c_sptr make_hackrf_sink_c (const std::string & args = ""); class hackrf_sink_c : public gr::sync_block, - public sink_iface, - protected hackrf_common + public sink_iface { private: // The friend declaration allows hackrf_make_sink_c to @@ -126,16 +124,29 @@ public: private: static int _hackrf_tx_callback(hackrf_transfer* transfer); int hackrf_tx_callback(unsigned char *buffer, uint32_t length); + static void _hackrf_wait(hackrf_sink_c *obj); + void hackrf_wait(); + + static int _usage; + static boost::mutex _usage_mutex; + + hackrf_device *_dev; +// gr::thread::thread _thread; circular_buffer_t _cbuf; int8_t *_buf; unsigned int _buf_num; unsigned int _buf_used; - bool _stopping; - std::mutex _buf_mutex; - std::condition_variable _buf_cond; - + boost::mutex _buf_mutex; + boost::condition_variable _buf_cond; + + double _sample_rate; + double _center_freq; + double _freq_corr; + bool _auto_gain; + double _amp_gain; double _vga_gain; + double _bandwidth; }; #endif /* INCLUDED_HACKRF_SINK_C_H */ |