summaryrefslogtreecommitdiffstats
path: root/host/apps
diff options
context:
space:
mode:
authorPhilip Balister <balister@moose.(none)>2010-05-19 13:21:45 -0400
committerPhilip Balister <balister@moose.(none)>2010-05-19 13:21:45 -0400
commit88b2a958f0a3a593230ca6b17e7c4aac3fba35e7 (patch)
tree70a235fec436f4f2cc1df93c817f5eda7e7562db /host/apps
parentad01832ca5a52d70a5f26de9c45868626b850785 (diff)
downloaduhd-88b2a958f0a3a593230ca6b17e7c4aac3fba35e7.tar.gz
uhd-88b2a958f0a3a593230ca6b17e7c4aac3fba35e7.tar.bz2
uhd-88b2a958f0a3a593230ca6b17e7c4aac3fba35e7.zip
Rename test program to match FPGA bin file name and add data rate calculation.
Diffstat (limited to 'host/apps')
-rw-r--r--host/apps/omap_debug/Makefile6
-rw-r--r--host/apps/omap_debug/usrp-e-timed.c (renamed from host/apps/omap_debug/usrp-e-fpga-rw.c)52
2 files changed, 39 insertions, 19 deletions
diff --git a/host/apps/omap_debug/Makefile b/host/apps/omap_debug/Makefile
index e2aa384f2..40e04e377 100644
--- a/host/apps/omap_debug/Makefile
+++ b/host/apps/omap_debug/Makefile
@@ -1,6 +1,6 @@
CFLAGS=-Wall -I../../lib/usrp/usrp_e/
-all : usrp-e-spi usrp-e-i2c usrp-e-rw usrp-e-uart usrp-e-led usrp-e-ctl usrp-e-button usrp-e-uart-rx fpga-downloader usrp-e-gpio usrp-e-debug-pins usrp-e-rw-random usrp-e-fpga-rw usrp-e-lb-test usrp-e-crc-rw clkgen-config
+all : usrp-e-spi usrp-e-i2c usrp-e-rw usrp-e-uart usrp-e-led usrp-e-ctl usrp-e-button usrp-e-uart-rx fpga-downloader usrp-e-gpio usrp-e-debug-pins usrp-e-rw-random usrp-e-timed usrp-e-lb-test usrp-e-crc-rw clkgen-config
usrp-e-spi : usrp-e-spi.c
@@ -9,7 +9,7 @@ usrp-e-i2c : usrp-e-i2c.c
usrp-e-rw : usrp-e-rw.c
gcc -o $@ $< -lpthread
-usrp-e-fpga-rw : usrp-e-fpga-rw.c
+usrp-e-timed : usrp-e-timed.c
gcc -o $@ $< -lpthread
usrp-e-rw-random : usrp-e-rw-random.c
@@ -41,7 +41,7 @@ clean :
rm -f usrp-e-spi
rm -f usrp-e-i2c
rm -f usrp-e-rw
- rm -f usrp-e-fpga-rw
+ rm -f usrp-e-timed
rm -f usrp-e-rw-random
rm -f usrp-e-uart
rm -f usrp-e-uart-rx
diff --git a/host/apps/omap_debug/usrp-e-fpga-rw.c b/host/apps/omap_debug/usrp-e-timed.c
index 6b585913e..69e6c07ca 100644
--- a/host/apps/omap_debug/usrp-e-fpga-rw.c
+++ b/host/apps/omap_debug/usrp-e-timed.c
@@ -40,6 +40,8 @@ static void *read_thread(void *threadid)
struct pkt *p;
int rx_pkt_cnt;
int i;
+ unsigned long bytes_transfered, elapsed_seconds;
+ struct timeval start_time, finish_time;
printf("Greetings from the reading thread!\n");
@@ -62,31 +64,30 @@ static void *read_thread(void *threadid)
printf("Error returned from read: %d\n", cnt);
rx_pkt_cnt++;
+#if 0
if (rx_pkt_cnt == 512) {
printf(".");
fflush(stdout);
rx_pkt_cnt = 0;
}
+#endif
if (rx_data->flags & RB_OVERRUN)
printf("O");
-// for (i = 0; i < 10; i++)
-// printf(" %d", p->data[i]);
-// printf("\n");
-
-// printf("Packet received, flags = %X, len = %d\n", rx_data->flags, rx_data->len);
-// printf("p->seq_num = %d\n", p->seq_num);
-
-// if (p->seq_num != prev_seq_num + 1)
-// printf("Sequence number fail, current = %X, previous = %X\n",
-// p->seq_num, prev_seq_num);
-// prev_seq_num = p->seq_num;
-
-// if (calc_checksum(p) != p->checksum)
-// printf("Checksum fail packet = %X, expected = %X\n",
-// calc_checksum(p), p->checksum);
-// printf("\n");
+ bytes_transfered += rx_data->len;
+
+ if (bytes_transfered > (100 * 1000000)) {
+ gettimeofday(&finish_time, NULL);
+ elapsed_seconds = finish_time.tv_sec - start_time.tv_sec;
+
+ printf("RX data transfer rate = %f K Bps\n",
+ (float) bytes_transfered / (float) elapsed_seconds / 1000);
+
+
+ start_time = finish_time;
+ bytes_transfered = 0;
+ }
}
}
@@ -96,6 +97,8 @@ static void *write_thread(void *threadid)
int seq_number, i, cnt, tx_pkt_cnt;
struct usrp_transfer_frame *tx_data;
struct pkt *p;
+ unsigned long bytes_transfered, elapsed_seconds;
+ struct timeval start_time, finish_time;
printf("Greetings from the write thread!\n");
@@ -120,6 +123,8 @@ static void *write_thread(void *threadid)
while (1) {
tx_pkt_cnt++;
+
+#if 0
if (tx_pkt_cnt == 512) {
printf(".");
fflush(stdout);
@@ -133,6 +138,7 @@ static void *write_thread(void *threadid)
fflush(stdout);
tx_pkt_cnt = 0;
}
+#endif
// printf("tx flags = %X, len = %d\n", tx_data->flags, tx_data->len);
p->seq_num = seq_number++;
@@ -140,6 +146,20 @@ static void *write_thread(void *threadid)
cnt = write(fp, tx_data, 2048);
if (cnt < 0)
printf("Error returned from write: %d\n", cnt);
+
+ bytes_transfered += tx_data->len;
+
+ if (bytes_transfered > (100 * 1000000)) {
+ gettimeofday(&finish_time, NULL);
+ elapsed_seconds = finish_time.tv_sec - start_time.tv_sec;
+
+ printf("TX data transfer rate = %f K Bps\n",
+ (float) bytes_transfered / (float) elapsed_seconds / 1000);
+
+
+ start_time = finish_time;
+ bytes_transfered = 0;
+ }
// sleep(1);
}
}