aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hackrf/hackrf_source_c.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/hackrf/hackrf_source_c.h')
-rw-r--r--lib/hackrf/hackrf_source_c.h36
1 files changed, 11 insertions, 25 deletions
diff --git a/lib/hackrf/hackrf_source_c.h b/lib/hackrf/hackrf_source_c.h
index 6ae81d2..e9aacb9 100644
--- a/lib/hackrf/hackrf_source_c.h
+++ b/lib/hackrf/hackrf_source_c.h
@@ -1,36 +1,35 @@
/* -*- c++ -*- */
/*
* Copyright 2013 Dimitri Stolnikov <horiz0n@gmx.net>
+ * Copyright 2020 Clayton Smith <argilo@gmail.com>
*
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
+ * gr-osmosdr 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.
*
- * GNU Radio is distributed in the hope that it will be useful,
+ * gr-osmosdr 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 GNU Radio; see the file COPYING. If not, write to
+ * along with gr-osmosdr; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street,
* Boston, MA 02110-1301, USA.
*/
#ifndef INCLUDED_HACKRF_SOURCE_C_H
#define INCLUDED_HACKRF_SOURCE_C_H
-#include <gnuradio/thread/thread.h>
#include <gnuradio/sync_block.h>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/condition_variable.hpp>
+#include <condition_variable>
+#include <mutex>
#include <libhackrf/hackrf.h>
#include "source_iface.h"
+#include "hackrf_common.h"
class hackrf_source_c;
@@ -62,12 +61,12 @@ hackrf_source_c_sptr make_hackrf_source_c (const std::string & args = "");
*/
class hackrf_source_c :
public gr::sync_block,
- public source_iface
+ public source_iface,
+ protected hackrf_common
{
private:
// The friend declaration allows make_hackrf_source_c to
// access the private constructor.
-
friend hackrf_source_c_sptr make_hackrf_source_c (const std::string & args);
/*!
@@ -123,35 +122,22 @@ public:
private:
static int _hackrf_rx_callback(hackrf_transfer* transfer);
int hackrf_rx_callback(unsigned char *buf, uint32_t len);
- static void _hackrf_wait(hackrf_source_c *obj);
- void hackrf_wait();
-
- static int _usage;
- static boost::mutex _usage_mutex;
std::vector<gr_complex> _lut;
- hackrf_device *_dev;
- gr::thread::thread _thread;
unsigned short **_buf;
unsigned int _buf_num;
unsigned int _buf_len;
unsigned int _buf_head;
unsigned int _buf_used;
- boost::mutex _buf_mutex;
- boost::condition_variable _buf_cond;
+ std::mutex _buf_mutex;
+ std::condition_variable _buf_cond;
unsigned int _buf_offset;
int _samp_avail;
- double _sample_rate;
- double _center_freq;
- double _freq_corr;
- bool _auto_gain;
- double _amp_gain;
double _lna_gain;
double _vga_gain;
- double _bandwidth;
};
#endif /* INCLUDED_HACKRF_SOURCE_C_H */