commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r8583 - in usrp2/trunk/host-ng: apps include/usrp2 lib


From: jcorgan
Subject: [Commit-gnuradio] r8583 - in usrp2/trunk/host-ng: apps include/usrp2 lib
Date: Wed, 11 Jun 2008 22:39:54 -0600 (MDT)

Author: jcorgan
Date: 2008-06-11 22:39:45 -0600 (Wed, 11 Jun 2008)
New Revision: 8583

Modified:
   usrp2/trunk/host-ng/apps/test_eth.cc
   usrp2/trunk/host-ng/include/usrp2/copy_handler.h
   usrp2/trunk/host-ng/include/usrp2/data_handler.h
   usrp2/trunk/host-ng/lib/eth_buffer.cc
Log:
cleanup, bug fixes

Modified: usrp2/trunk/host-ng/apps/test_eth.cc
===================================================================
--- usrp2/trunk/host-ng/apps/test_eth.cc        2008-06-12 01:02:14 UTC (rev 
8582)
+++ usrp2/trunk/host-ng/apps/test_eth.cc        2008-06-12 04:39:45 UTC (rev 
8583)
@@ -30,12 +30,19 @@
 {
 public:
   
-  virtual uint32_t operator()(const void *base, unsigned int len) {
-    printf("@%p: %u bytes\n", base, len);
-    return 0;
-  }
+  virtual unsigned int operator()(const void *base, unsigned int len);
 };
 
+unsigned int
+print_handler::operator()(const void *base, unsigned int len)
+{
+  int i;
+  for (i = 0; i < len; i++)
+    printf("%02X ", ((uint8_t *)base)[i]);
+
+  printf("\n");
+}
+
 int
 main(int argc, char **argv)
 {
@@ -43,7 +50,7 @@
   if (rt != RT_OK)
     std::cerr << "Failed to enable realtime scheduling" << std::endl;
 
-  usrp2::eth_buffer buf;
+  usrp2::eth_buffer buf(65536);
   if (!buf.open("eth1", 0)) {
     std::cerr << "Failed to open eth_buffer." << std::endl;;
     return 1;
@@ -51,11 +58,11 @@
   
   int res;
   print_handler p;
+
   do {
     res = buf.rx_frames(&p, 1000);
   }
   while (res != -1);
     
-  std::cerr << std::endl;
   return 0;
 }

Modified: usrp2/trunk/host-ng/include/usrp2/copy_handler.h
===================================================================
--- usrp2/trunk/host-ng/include/usrp2/copy_handler.h    2008-06-12 01:02:14 UTC 
(rev 8582)
+++ usrp2/trunk/host-ng/include/usrp2/copy_handler.h    2008-06-12 04:39:45 UTC 
(rev 8583)
@@ -26,8 +26,8 @@
 
 namespace usrp2 {
 
-  class copy_handler : data_handler, boost::noncopyable {
-
+  class copy_handler : data_handler, boost::noncopyable 
+  {
     uint8_t *d_dest;      // next write pointer
     unsigned int d_space; // space left in destination buffer
     unsigned int d_bytes; // total bytes copied

Modified: usrp2/trunk/host-ng/include/usrp2/data_handler.h
===================================================================
--- usrp2/trunk/host-ng/include/usrp2/data_handler.h    2008-06-12 01:02:14 UTC 
(rev 8582)
+++ usrp2/trunk/host-ng/include/usrp2/data_handler.h    2008-06-12 04:39:45 UTC 
(rev 8583)
@@ -28,16 +28,17 @@
   /*!
    * \brief abstract function object called to handle received data blocks
    */
-  class data_handler {
+  class data_handler 
+  {
   public:
-    static const uint32_t KEEP = 0x0001; // do not discard data
-    static const uint32_t DONE = 0x0010; // do not call this object again
+    static const unsigned int KEEP = 0x0001; // do not discard data
+    static const unsigned int DONE = 0x0002; // do not call this object again
     
     /*!
      * \param base points to the beginning of the data
      * \param len is the length in bytes of the data
      */
-      virtual uint32_t operator()(const void *base, unsigned int len) = 0;
+      virtual unsigned int operator()(const void *base, unsigned int len) = 0;
       virtual ~data_handler();
   };
 

Modified: usrp2/trunk/host-ng/lib/eth_buffer.cc
===================================================================
--- usrp2/trunk/host-ng/lib/eth_buffer.cc       2008-06-12 01:02:14 UTC (rev 
8582)
+++ usrp2/trunk/host-ng/lib/eth_buffer.cc       2008-06-12 04:39:45 UTC (rev 
8583)
@@ -206,11 +206,11 @@
       
       // Get start of ethernet frame and length
       tpacket_hdr *hdr = (tpacket_hdr *)d_ring[d_head];
-      void *base = (uint8_t *)hdr+TPACKET_HDRLEN;
+      void *base = (uint8_t *)hdr+hdr->tp_mac;
       unsigned int len = hdr->tp_len;
       
       // Invoke data handler
-      int r = 0;
+      unsigned int r = 0;
       if (f)
         r = (*f)(base, len);
       





reply via email to

[Prev in Thread] Current Thread [Next in Thread]