[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8583 - in usrp2/trunk/host-ng: apps include/usrp2 lib,
jcorgan <=