-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 <assert.h>
#include <string.h>
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;
}
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;
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;
}
#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);