]> jspc29.x-matter.uni-frankfurt.de Git - trbnettools.git/commitdiff
com_reset() fifoToggleBit Bug fixed
authorhadaq <hadaq>
Tue, 3 Aug 2010 16:55:36 +0000 (16:55 +0000)
committerhadaq <hadaq>
Tue, 3 Aug 2010 16:55:36 +0000 (16:55 +0000)
libtrbnet/trbnet.c

index 7b03adf32455de40d1e4e7bba7d302dc2c007998..69db8e3cae8f66a6fed41c7f69a38625998ef09b 100644 (file)
@@ -1,4 +1,4 @@
-const char trbnet_version[] = "$Revision: 2.75 $";
+const char trbnet_version[] = "$Revision: 2.76 $";
 
 #include <stdlib.h>
 #include <signal.h>
@@ -1078,7 +1078,7 @@ int init_ports()
   
   close(memfd);
 
-  if (lockPorts(0) == -1) return -1;
+  if (lockPorts(1) == -1) return -1;
 
   /* Set output enabled if not done yet */
   if ((*GPIOB_OE_OFFSET != GPIOB_OE_PINS) ||
@@ -1091,10 +1091,9 @@ int init_ports()
   }
   
   /* Reset Ports */
-  setbitsPC(0x30000);
-  clrbitsPC(0x30000);    
+  com_reset();
   
-  if (unlockPorts(0) == -1) return -1;
+  if (unlockPorts(1) == -1) return -1;
  
   return 0;
 }
@@ -1677,13 +1676,14 @@ int fpga_register_write(uint16_t reg_address, uint32_t value)
 
 int network_reset()
 {
+  uint32_t tt;
+  uint32_t dd = 0;
   trb_errno = TRB_NONE;
   
   if (lockPorts(1) == -1) return -1;
 
   com_reset();
-  usleep(1000);
-
+  
   /* DEBUG INFO */
   if (trb_debug > 0) {
     fprintf(stderr, "network_reset started.\n");
@@ -1691,9 +1691,12 @@ int network_reset()
   
   write32_to_FPGA(0x10, 0x0000);  
   usleep(1000);
-  write32_to_FPGA(0x10, 0x8000);  
-  sleep(7);
+   
+  write32_to_FPGA(0x10, 0x8000);
+  sleep(8);
   
+  com_reset();
+     
   if (unlockPorts(1) == -1) return -1;
   
   return 0;
@@ -1712,7 +1715,11 @@ int com_reset()
   
   setbitsPC(0x30000);
   clrbitsPC(0x30000);
+  usleep(1000);
   
+  // Reset FifoToggleBit
+  fifoToggleBit = 0;
+
   if (unlockPorts(0) == -1) return -1;
 
   return 0;