cobble a temporary changelog entry to keep this test build straight
[debian/gnuradio] / gr-usrp2 / src / usrp2_source_32fc.cc
index 0d34931a5f550705a57f6f44249e5f36faf1f993..89b4bea0ed0adcefb2358ef4c775c8933dde846b 100644 (file)
 #include <gr_io_signature.h>
 #include <iostream>
 
-#define USRP2_SOURCE_32FC_DEBUG 0
-
 usrp2_source_32fc_sptr
 usrp2_make_source_32fc(const std::string &ifc, const std::string &mac_addr) 
   throw (std::runtime_error)
 {
-  return usrp2_source_32fc_sptr(new usrp2_source_32fc(ifc, mac_addr));
+  return gnuradio::get_initial_sptr(new usrp2_source_32fc(ifc, mac_addr));
 }
 
 usrp2_source_32fc::usrp2_source_32fc(const std::string &ifc, const std::string &mac_addr) 
@@ -49,6 +47,7 @@ usrp2_source_32fc::usrp2_source_32fc(const std::string &ifc, const std::string &
 
 usrp2_source_32fc::~usrp2_source_32fc()
 {
+  // NOP
 }
 
 int
@@ -56,22 +55,15 @@ usrp2_source_32fc::work(int noutput_items,
                        gr_vector_const_void_star &input_items,
                        gr_vector_void_star &output_items)
 {
-  if (USRP2_SOURCE_32FC_DEBUG)
-    printf("work: noutput_items=%i\n", noutput_items);
-  
   gr_complex *out = (gr_complex *)output_items[0];
 
   rx_32fc_handler::sptr handler = rx_32fc_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_32FC_DEBUG)
-    printf("work: produced=%i items from %i frames\n\n", j, f);  
-    
-  return j;
+  return handler->nsamples();
 }