}
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, 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, 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)
return -1;
}
my->trigNr = 0;
+ my->currAddr = 0xffffffff; /* behind end of memory */
standbyMode(my);
acquireMode(my);
void HwShip_requestBuffer(HwShip *my) {
int i;
-#if 1
+#if 0
if (my->oldBankConfirmed == bankConfirmed(my)) {
msglog(LOG_ERR, "same bank twice: 0x%02x\n", my->oldBankConfirmed);
}
nanosleep(t, NULL);
#endif
}
- msglog(LOG_DEBUG, "data available\n");
+ msglog(LOG_DEBUG,
+ "%d evts available\n", LVme_getW(my->lvme, LVL2_STAT_READ) >> 9 & 0x7f);
i = bankRequested(my) == 1 ? 0 : 1;
LVme_setW(my->lvme, LVL2_STAT_WRITE, (i << 1) | ZEROSUP);
}
int HwShip_isEmpty(HwShip *my) {
- return my->currAddr >= endOfData(my);
+ int retVal;
+
+ if (my->currAddr == 0xffffffff) {
+ retVal = 1;
+ } else {
+ retVal = my->currAddr >= endOfData(my);
+ }
+ return retVal;
}
int HwShip_readSubEvt(HwShip *my, void *subEvt) {
trigTag = SubEvt_trigNr(subEvt) & 0xff;
-#if 1
+#if 0
if ((my->trigNr & 0xff) != trigTag) {
msglog(LOG_ERR,
"%s trigTag consistency: 0x%02x != 0x%02x offset: 0x%08x\n", my->name, my->trigNr, trigTag, my->currAddr);