aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bladerf/bladerf_common.h
diff options
context:
space:
mode:
authorDimitri Stolnikov <horiz0n@gmx.net>2013-09-20 21:41:15 +0200
committerDimitri Stolnikov <horiz0n@gmx.net>2013-09-28 00:07:49 +0200
commitba7188727c4862474d8584a564882cb276dc5e37 (patch)
treeeb2698ee1c9fdfd97e31598bce642921b63ba7e4 /lib/bladerf/bladerf_common.h
parent04b4c8b66add671c08a880843880515a78d4f033 (diff)
bladerf: migration to async api (WIP)
receive works, transmit locks up in work() after few seconds
Diffstat (limited to 'lib/bladerf/bladerf_common.h')
-rw-r--r--lib/bladerf/bladerf_common.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/lib/bladerf/bladerf_common.h b/lib/bladerf/bladerf_common.h
index a8480c0..ca95850 100644
--- a/lib/bladerf/bladerf_common.h
+++ b/lib/bladerf/bladerf_common.h
@@ -29,6 +29,7 @@
#include <boost/thread/shared_mutex.hpp>
#include <boost/thread/condition_variable.hpp>
+#include <gnuradio/thread/thread.h>
#include <gnuradio/gr_complex.h>
#include <libbladeRF.h>
@@ -52,7 +53,7 @@ class bladerf_common
{
public:
bladerf_common();
- ~bladerf_common();
+ virtual ~bladerf_common();
protected:
osmosdr::freq_range_t freq_range();
@@ -64,15 +65,24 @@ protected:
bool is_running();
void set_running(bool is_running);
- bladerf *dev;
+ bladerf *_dev;
- int16_t *raw_sample_buf;
- boost::circular_buffer<gr_complex> *sample_fifo;
- boost::mutex sample_fifo_lock;
- boost::condition_variable samples_available;
+ void **_buffers;
+ struct bladerf_stream *_stream;
+ size_t _num_buffers;
+ size_t _buf_index;
+
+ gr::thread::thread _thread;
+
+ boost::circular_buffer<gr_complex> *_fifo;
+ boost::mutex _fifo_lock;
+ boost::condition_variable _samp_avail;
+
+ osmosdr::gain_range_t _vga1_range;
+ osmosdr::gain_range_t _vga2_range;
private:
- bool running;
- boost::shared_mutex state_lock;
+ bool _is_running;
+ boost::shared_mutex _state_lock;
};
#endif