made rxdspno a parameter for: start/stop streaming, and quadradio32fc
authorJosh Blum <josh@joshknows.com>
Tue, 22 Sep 2009 18:17:29 +0000 (11:17 -0700)
committerJosh Blum <josh@joshknows.com>
Tue, 22 Sep 2009 18:17:29 +0000 (11:17 -0700)
gr-vrt/src/vrt_quadradio_source_32fc.cc
gr-vrt/src/vrt_quadradio_source_32fc.h
vrt/apps/simple_rx_samples.cc
vrt/include/vrt/quadradio.h
vrt/lib/quadradio.cc

index 0aac86991f074edc216b47a8452059d20cafc435..03d75c78d8f58f8c604067e691a9e92831b51f74 100644 (file)
 vrt_quadradio_source_32fc_sptr
 vrt_make_quadradio_source_32fc(const std::string &ip, 
                               size_t rx_bufsize,
-                              size_t samples_per_pkt)
+                              size_t samples_per_pkt,
+                   int rxdspno)
 {
   return gnuradio::get_initial_sptr(new vrt_quadradio_source_32fc(ip,
                                                                  rx_bufsize,
-                                                                 samples_per_pkt));
+                                                                 samples_per_pkt,
+                                  rxdspno));
 }
 
 vrt_quadradio_source_32fc::vrt_quadradio_source_32fc(const std::string &ip,
                                                     size_t rx_bufsize,
-                                                    size_t samples_per_pkt)
+                                                    size_t samples_per_pkt,
+                             int rxdspno)
   : vrt_source_32fc("quadradio_source_32fc"),
-    d_samples_per_pkt(samples_per_pkt == 0 ? 800 : samples_per_pkt),
-    d_qr(vrt::quadradio::sptr(new vrt::quadradio(ip, rx_bufsize)))
+    d_samples_per_pkt(samples_per_pkt == 0 ? (rxdspno == 0 ? 800 : 200) : samples_per_pkt),
+    d_qr(vrt::quadradio::sptr(new vrt::quadradio(ip, rx_bufsize))),
+    d_rxdspno(rxdspno)
 {
 }
 
 vrt_quadradio_source_32fc::~vrt_quadradio_source_32fc()
 {
-  d_qr->stop_streaming();
+  d_qr->stop_streaming(d_rxdspno);
 }
 
 vrt::rx::sptr 
@@ -64,13 +68,13 @@ vrt_quadradio_source_32fc::start()
   vrt_rx()->rx_packets(&nop, true);
   d_checker.resync();
 
-  return d_qr->start_streaming(d_samples_per_pkt);
+  return d_qr->start_streaming(d_rxdspno, d_samples_per_pkt);
 }  
 
 bool
 vrt_quadradio_source_32fc::stop()
 {
-  return d_qr->stop_streaming();
+  return d_qr->stop_streaming(d_rxdspno);
 }
 
 bool 
index 6193efa102bde88943b1833a36c3f9fa62e35c2e..eaf2741c125f2ce9654e42a206dfb8a4389d9e29 100644 (file)
@@ -33,19 +33,21 @@ typedef boost::shared_ptr<vrt_quadradio_source_32fc> vrt_quadradio_source_32fc_s
 vrt_quadradio_source_32fc_sptr
 vrt_make_quadradio_source_32fc(const std::string &ip,
                               size_t rx_bufsize = 0,
-                              size_t samples_per_pkt = 0);
+                              size_t samples_per_pkt = 0,
+                   int rxdspno = 0);
 
 class vrt_quadradio_source_32fc : public vrt_source_32fc
 {
   size_t                               d_samples_per_pkt;
   boost::shared_ptr<vrt::quadradio>    d_qr;
+  int d_rxdspno;
 
   vrt_quadradio_source_32fc(const std::string &ip, size_t rx_bufsize,
-                           size_t samples_per_pkt);
+                           size_t samples_per_pkt, int rxdspno);
 
   friend vrt_quadradio_source_32fc_sptr
   vrt_make_quadradio_source_32fc(const std::string &ip, size_t rx_bufsize,
-                                size_t samples_per_pkt);
+                                size_t samples_per_pkt, int rxdspno);
 
 public:
   virtual ~vrt_quadradio_source_32fc();
index 6b09afda51f90c81460f8d7f28ead55ad393ad2e..08f01c9ccc41d0d7208cb8261283f2d5defec128 100644 (file)
@@ -365,7 +365,7 @@ main(int argc, char **argv)
 
   printf("samples_per_pkt = %d\n", samples_per_pkt);
 
-  if (!qr->start_streaming(samples_per_pkt)){
+  if (!qr->start_streaming(0, samples_per_pkt)){
     fprintf(stderr, "failed to send_rx_command\n");
     return 1;
   }
@@ -383,7 +383,7 @@ main(int argc, char **argv)
     }
   }
 
-  qr->stop_streaming();
+  qr->stop_streaming(0);
 
   printf("%llu packets received, %llu bad pkt_cnt field values, %llu samples\n",
         handler->npackets(), handler->nwrong_pkt_cnt(), handler->nsamples());
index d30ee14f128ed2ebce92e2b89d7857ab185942b6..525a177a82c8b4a7cf2a42a9e487d6c08bd924ff 100644 (file)
@@ -96,11 +96,9 @@ namespace vrt {
 
     vrt::rx::sptr vrt_rx() const { return d_rx; }
 
-    // FIXME add rxdspno as the first parameter
-    bool start_streaming(int samples_per_pkt = 0);
+    bool start_streaming(int rxdspno, int samples_per_pkt = 0);
 
-    // FIXME add rxdspno as the first parameter
-    bool stop_streaming();
+    bool stop_streaming(int rxdspno);
 
     /* convenience methods that ultimately write the dboard pins */
     bool set_center_freq(double target_freq);
index a8bc3e525bdb5eea535c128d29b74c5b7b0d30ad..906f88df48598b2f326a23c21b48cd927c489108 100644 (file)
@@ -74,19 +74,15 @@ vrt::quadradio::open(const char *ip)
 }
 
 bool
-vrt::quadradio::start_streaming(int samples_per_pkt)
+vrt::quadradio::start_streaming(int rxdspno, int samples_per_pkt)
 {
-  int rxdspno = 0;     // FIXME make it the first param
-
   return send_rx_command(d_ctrl_fd, rxdspno, true, d_ctrl_port_inaddr,
                         d_data_port, samples_per_pkt);
 }
 
 bool
-vrt::quadradio::stop_streaming()
+vrt::quadradio::stop_streaming(int rxdspno)
 {
-  int rxdspno = 0;     // FIXME make it the first param
-
   return send_stop_rx_command(d_ctrl_fd, rxdspno);
 }