commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r7426 - usrp2/trunk/firmware/apps


From: eb
Subject: [Commit-gnuradio] r7426 - usrp2/trunk/firmware/apps
Date: Sun, 13 Jan 2008 19:16:22 -0700 (MST)

Author: eb
Date: 2008-01-13 19:16:22 -0700 (Sun, 13 Jan 2008)
New Revision: 7426

Modified:
   usrp2/trunk/firmware/apps/tx_drop.c
   usrp2/trunk/firmware/apps/tx_drop2.c
   usrp2/trunk/firmware/apps/tx_only.c
Log:
tx_drop receives ethernet at 900Mb/s ;)

Modified: usrp2/trunk/firmware/apps/tx_drop.c
===================================================================
--- usrp2/trunk/firmware/apps/tx_drop.c 2008-01-14 01:53:30 UTC (rev 7425)
+++ usrp2/trunk/firmware/apps/tx_drop.c 2008-01-14 02:16:22 UTC (rev 7426)
@@ -114,8 +114,8 @@
 {
   putchar('U');
 
+  dbsm_stop(&dsp_tx_sm);
   dsp_tx_regs->clear_state = 1;
-  dbsm_stop(&dsp_tx_sm);
   dbsm_start(&dsp_tx_sm);  // restart sm so we're listening to ethernet again
 
   // putstr("\nirq: underrun\n");
@@ -156,8 +156,6 @@
 inline static void
 buffer_irq_handler(unsigned irq)
 {
-  //hal_toggle_leds(0x2);
-
   uint32_t  status = buffer_pool_status->status;
 
   if (status & BPS_ERROR_ALL){
@@ -170,8 +168,12 @@
 
     print_rmon_regs();
 
-    while(1)
-      ;
+    if (status & (BPS_ERROR(DSP_TX_BUF_0) | BPS_ERROR(DSP_TX_BUF_1))){
+      dbsm_stop(&dsp_tx_sm);           
+      dsp_tx_regs->clear_state = 1; // try to restart
+      dbsm_start(&dsp_tx_sm);
+      return;
+    }
   }
 
   dbsm_process_status(&dsp_tx_sm, status);
@@ -192,6 +194,8 @@
 bool
 nop_eth_pkt_inspector(dbsm_t *sm, int bufno)
 {
+  hal_toggle_leds(0x1);
+
   u2_eth_packet_t *pkt = (u2_eth_packet_t *) buffer_ram(bufno);
   size_t byte_len = (buffer_pool_status->last_line[bufno] - 1) * 4;
 

Modified: usrp2/trunk/firmware/apps/tx_drop2.c
===================================================================
--- usrp2/trunk/firmware/apps/tx_drop2.c        2008-01-14 01:53:30 UTC (rev 
7425)
+++ usrp2/trunk/firmware/apps/tx_drop2.c        2008-01-14 02:16:22 UTC (rev 
7426)
@@ -142,8 +142,8 @@
 {
   putchar('U');
 
+  dbsm_stop(&dsp_tx_sm);
   dsp_tx_regs->clear_state = 1;
-  dbsm_stop(&dsp_tx_sm);
   dbsm_start(&dsp_tx_sm);  // restart sm so we're listening to ethernet again
 
   // putstr("\nirq: underrun\n");
@@ -186,8 +186,6 @@
 inline static void
 buffer_irq_handler(unsigned irq)
 {
-  //hal_toggle_leds(0x2);
-
   uint32_t  status = buffer_pool_status->status;
 
   if (status & BPS_ERROR_ALL){
@@ -222,6 +220,8 @@
 bool
 nop_eth_pkt_inspector(dbsm_t *sm, int bufno)
 {
+  hal_toggle_leds(0x1);
+
   u2_eth_packet_t *pkt = (u2_eth_packet_t *) buffer_ram(bufno);
   size_t byte_len = (buffer_pool_status->last_line[bufno] - 1) * 4;
 

Modified: usrp2/trunk/firmware/apps/tx_only.c
===================================================================
--- usrp2/trunk/firmware/apps/tx_only.c 2008-01-14 01:53:30 UTC (rev 7425)
+++ usrp2/trunk/firmware/apps/tx_only.c 2008-01-14 02:16:22 UTC (rev 7426)
@@ -132,8 +132,8 @@
 {
   putchar('U');
 
+  dbsm_stop(&dsp_tx_sm);
   dsp_tx_regs->clear_state = 1;
-  dbsm_stop(&dsp_tx_sm);
   dbsm_start(&dsp_tx_sm);  // restart sm so we're listening to ethernet again
 
   // putstr("\nirq: underrun\n");





reply via email to

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