From 27be12918c8a073626f197570bbf7ba2c4e9269b Mon Sep 17 00:00:00 2001 From: hadaq Date: Tue, 3 Aug 2010 16:55:36 +0000 Subject: [PATCH] com_reset() fifoToggleBit Bug fixed --- libtrbnet/trbnet.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/libtrbnet/trbnet.c b/libtrbnet/trbnet.c index 7b03adf..69db8e3 100644 --- a/libtrbnet/trbnet.c +++ b/libtrbnet/trbnet.c @@ -1,4 +1,4 @@ -const char trbnet_version[] = "$Revision: 2.75 $"; +const char trbnet_version[] = "$Revision: 2.76 $"; #include #include @@ -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; -- 2.43.0