*/
#ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
#endif
#include <usrp2_source_16sc.h>
#include <gr_io_signature.h>
#include <iostream>
-#define USRP2_SOURCE_16SC_DEBUG 0
-
usrp2_source_16sc_sptr
usrp2_make_source_16sc(const std::string &ifc, const std::string &mac_addr)
throw (std::runtime_error)
{
- return usrp2_source_16sc_sptr(new usrp2_source_16sc(ifc, mac_addr));
+ return gnuradio::get_initial_sptr(new usrp2_source_16sc(ifc, mac_addr));
}
usrp2_source_16sc::usrp2_source_16sc(const std::string &ifc, const std::string &mac_addr)
usrp2_source_16sc::~usrp2_source_16sc()
{
+ // NOP
}
int
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
- if (USRP2_SOURCE_16SC_DEBUG)
- printf("work: noutput_items=%i\n", noutput_items);
-
std::complex<int16_t> *out = (std::complex<int16_t> *)output_items[0];
rx_16sc_handler::sptr handler = rx_16sc_handler::make(noutput_items, USRP2_MIN_RX_SAMPLES, out);
- bool ok = d_u2->rx_samples(0, handler.get());
- if (!ok)
+ bool ok = d_u2->rx_samples(0, handler.get()); // FIXME: channel number instead of 0
+ if (!ok){
std::cerr << "usrp2::rx_samples() failed" << std::endl;
+ return -1; // say we're done
+ }
- int j = handler->nsamples();
- int f = handler->nframes();
-
- if (USRP2_SOURCE_16SC_DEBUG)
- printf("work: produced=%i items from %i frames\n\n", j, f);
-
- return j;
+ return handler->nsamples();
}