21 #ifndef INCLUDED_ELAD_FDM_SOURCE_I_IMPL_H 22 #define INCLUDED_ELAD_FDM_SOURCE_I_IMPL_H 24 #define DEFAULT_READLEN 12288 25 #define DEFAULT_BUFFER_MUL 8 26 #define DEFAULT_BUFFER_LEVEL 0.5f 27 #define WAIT_FUDGE (1.2+0.3) 33 #include <boost/thread.hpp> 34 #include <boost/thread/condition.hpp> 35 #include <boost/thread/recursive_mutex.hpp> 47 size_t m_recv_samples_per_packet;
48 uint64_t m_nSamplesReceived;
49 uint32_t m_nOverflows;
51 boost::recursive_mutex d_mutex;
52 boost::thread m_pCaptureThread;
53 uint32_t m_nBufferSize;
54 uint32_t m_nBufferStart;
55 uint32_t m_nBufferItems;
56 boost::condition m_hPacketEvent;
57 uint8_t* m_pUSBBuffer;
59 uint32_t m_nReadLength;
60 uint32_t m_nBufferMultiplier;
63 uint32_t m_nReadPacketCount;
64 uint32_t m_nBufferOverflowCount;
65 uint32_t m_nBufferUnderrunCount;
66 uint32_t m_bytes_per_sample;
67 boost::xtime m_wait_delay, m_wait_next;
68 libusb_device_handle *m_dev_handle;
83 libusb_device_handle *deviceHandle;
84 unsigned char deviceSpeed;
92 void capture_thread();
95 fdm_source_c_impl(
long LOfreq,
int filter,
int atten,
char *serial,
int resampling);
97 void fdm_cb_in(
struct libusb_transfer * transfer );
101 int work(
int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
102 void set_filter(
long freq,
int filter,
int atten);
103 void set_atten(
long freq,
int filter,
int atten);
void set_filter(long freq, int filter, int atten)
int d_filter
Definition: fdm_source_c_impl.h:108
int d_atten
Definition: fdm_source_c_impl.h:109
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
Definition: fdm_source_c_impl.h:43
long d_LOfreq
Definition: fdm_source_c_impl.h:107
void set_FREQ(long LOfreq)
Return a shared_ptr to a new instance of elad::fdm_source_c.
void calc_delay(long dSampleRate)
fdm_source_c_impl(long LOfreq, int filter, int atten, char *serial, int resampling)
Definition: fdm_source_c.h:28
<+description of block+>
Definition: fdm_source_c.h:36
void set_atten(long freq, int filter, int atten)
void fdm_cb_in(struct libusb_transfer *transfer)