From c10fbffa795e25703d4b1e57eef2879b78788261 Mon Sep 17 00:00:00 2001 From: hades Date: Thu, 10 May 2001 13:04:25 +0000 Subject: [PATCH] 7 bit event counter encountered overflow, look on 16bit word counter instead. --- hadaq/Makefile | 2 +- hadaq/hwship.c | 78 ++++---------------------------------------------- 2 files changed, 7 insertions(+), 73 deletions(-) diff --git a/hadaq/Makefile b/hadaq/Makefile index 79433bb..06a1ed2 100644 --- a/hadaq/Makefile +++ b/hadaq/Makefile @@ -11,7 +11,7 @@ # $ . makeenv LYNXOS TOF # $ . makeenv UNIX SOFT -COPTS = -g -UNDEBUG +COPTS = -O3 -finline-functions -DNDEBUG CFLAGS = $(COPTS) $(INCLUDES) $(DEFINES) DAQCTRL_OBJS = daqctrl.o daq_lib.o \ diff --git a/hadaq/hwship.c b/hadaq/hwship.c index a25dba2..2db1f9c 100644 --- a/hadaq/hwship.c +++ b/hadaq/hwship.c @@ -1,4 +1,4 @@ -static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwship.c,v 6.14 2001-04-12 09:56:24 hades Exp $"; +static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwship.c,v 6.15 2001-05-10 13:04:25 hades Exp $"; #include #include @@ -18,14 +18,14 @@ static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hada static int bankRequested(HwShip *my) { UInt2 val; - val = LVme_tstBitW(my->lvme, LVL2_STAT_READ, 6); + val = LVme_tstBitL(my->lvme, LVL2_STAT_READ, 6); return val; } static int bankConfirmed(HwShip *my) { UInt2 val; - val = LVme_tstBitW(my->lvme, LVL2_STAT_READ, 8); + val = LVme_tstBitL(my->lvme, LVL2_STAT_READ, 8); return val; } @@ -33,62 +33,6 @@ static int endOfData(HwShip *my) { return (LVme_getL(my->lvme, LVL2_OFFSET) - 2 + LVL2_OFFSET); } -static void standbyMode(HwShip *my) { -#if 0 - LVme_setW(my->lvme, ID_CTR_ACCESS_ON, 0); - LVme_setW(my->lvme, ID_CTR_STANDBY_MODE, 0); - LVme_setW(my->lvme, ID_CTR_SW_TO_LUT12, 0); - LVme_setW(my->lvme, LUT_CTR_STANDBY_MODE, 0); - LVme_setW(my->lvme, ID_CTR_SW_TO_LUT34, 0); - LVme_setW(my->lvme, LUT_CTR_STANDBY_MODE, 0); - LVme_setW(my->lvme, ID_CTR_ACCESS_OFF, 0); - LVme_setW(my->lvme, PEDAS_ACCESS_ON, 0); - LVme_setW(my->lvme, PEDAS_STANDBY_MODE, 0); - LVme_setW(my->lvme, PEDAS_ACCESS_OFF, 0); - LVme_setW(my->lvme, RC1_ACCESS_ON, 0); - LVme_setW(my->lvme, RC1_STANDBY_MODE, 0); - LVme_setW(my->lvme, RC1_ACCESS_OFF, 0); - LVme_setW(my->lvme, LVL2_ACCESS_ON, 0); - LVme_setW(my->lvme, LVL2_STANDBY_MODE, 0); - LVme_setW(my->lvme, LVL2_ACCESS_OFF, 0); - LVme_setW(my->lvme, RC3_ACCESS_ON, 0); - LVme_setW(my->lvme, RC3_STANDBY_MODE, 0); - LVme_setW(my->lvme, RC3_ACCESS_OFF, 0); - LVme_setW(my->lvme, ADDON_ACCESS_ON, 0); - LVme_setW(my->lvme, ADDON_STANDBY_MODE, 0); - LVme_setW(my->lvme, ADDON_ACCESS_OFF, 0); -#endif -} - -static void acquireMode(HwShip *my) { -#if 0 - LVme_setW(my->lvme, ID_CTR_ACCESS_ON, 0); - LVme_setW(my->lvme, ID_CTR_STANDBY_MODE, 0); - LVme_setW(my->lvme, ID_CTR_SW_TO_LUT12, 0); - LVme_setW(my->lvme, LUT_CTR_SHOWER_MODE, 0); - LVme_setW(my->lvme, ID_CTR_SW_TO_LUT34, 0); - LVme_setW(my->lvme, LUT_CTR_SHOWER_MODE, 0); - LVme_setW(my->lvme, ID_CTR_ACCESS_OFF, 0); - LVme_setW(my->lvme, RC1_ACCESS_ON, 0); - LVme_setW(my->lvme, RC1_SHOWER_MODE, 0); - LVme_setW(my->lvme, RC1_ACCESS_OFF, 0); - LVme_setW(my->lvme, PEDAS_ACCESS_ON, 0); - LVme_setW(my->lvme, PEDAS_SHOWER_MODE, 0); - LVme_setW(my->lvme, PEDAS_ACCESS_OFF, 0); - LVme_setW(my->lvme, LVL2_ACCESS_ON, 0); - LVme_setW(my->lvme, LVL2_SHOWER_MODE, 0); - LVme_setW(my->lvme, LVL2_STAT_WRITE, ZEROSUP); - LVme_setW(my->lvme, LVL2_ACCESS_OFF, 0); - LVme_setW(my->lvme, RC3_ACCESS_ON, 0); - LVme_setW(my->lvme, RC3_SHOWER_MODE, 0); - LVme_setW(my->lvme, RC3_ACCESS_OFF, 0); - LVme_setW(my->lvme, ADDON_ACCESS_ON, 0); - LVme_setW(my->lvme, ADDON_SHOWER_MODE, 0); - LVme_setW(my->lvme, ADDON_ACCESS_OFF, 0); - LVme_setW(my->lvme, LVL2_ACCESS_ON, 0); -#endif -} - int conHwShip(HwShip * my, const char *name, const Param *param) { unsigned long cardBase; @@ -114,32 +58,22 @@ int conHwShip(HwShip * my, const char *name, const Param *param) my->trigNr = 0; my->currAddr = 0xffffffff; /* behind end of memory */ - standbyMode(my); - acquireMode(my); return 0; } void desHwShip(HwShip * my) { - standbyMode(my); desLVme(my->lvme); } void HwShip_requestBuffer(HwShip *my) { int i; -#if 0 - if (my->oldBankConfirmed == bankConfirmed(my)) { - msglog(LOG_ERR, "same bank twice: 0x%02x\n", my->oldBankConfirmed); - } - my->oldBankConfirmed = bankConfirmed(my); -#endif - #ifndef NDEBUG msglog(LOG_DEBUG, "wait for data\n"); #endif - while ((LVme_getW(my->lvme, LVL2_STAT_READ) >> 9 & 0x7f) == 0) { -#if 1 + while ((LVme_getL(my->lvme, LVL2_STAT_READ) >> 16 & 0xffff) <= 2) { +#if 0 struct timespec tS, *t = &tS; t->tv_sec = 0; t->tv_nsec = 020000000; @@ -148,7 +82,7 @@ void HwShip_requestBuffer(HwShip *my) { } #ifndef NDEBUG msglog(LOG_DEBUG, - "%d evts available\n", LVme_getW(my->lvme, LVL2_STAT_READ) >> 9 & 0x7f); + "%d evts available\n", LVme_getL(my->lvme, LVL2_STAT_READ) >> 9 & 0x7f); #endif i = bankRequested(my) == 1 ? 0 : 1; LVme_setW(my->lvme, LVL2_STAT_WRITE, (i << 1) | ZEROSUP); -- 2.43.0