aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hackrf/hackrf_sink_c.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/hackrf/hackrf_sink_c.h')
-rw-r--r--lib/hackrf/hackrf_sink_c.h37
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 */