]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
Removed unnessecary files
authorhadaq <hadaq>
Thu, 28 Aug 2003 13:10:07 +0000 (13:10 +0000)
committerhadaq <hadaq>
Thu, 28 Aug 2003 13:10:07 +0000 (13:10 +0000)
hadaq/hwrich.c [deleted file]
hadaq/hwsam.c [deleted file]
hadaq/hwship.c [deleted file]
hadaq/hwship.h [deleted file]
hadaq/hwshow.c [deleted file]
hadaq/hwsoft.c [deleted file]
hadaq/hwtip.c [deleted file]
hadaq/hwtrig.c [deleted file]
hadaq/sam_defs.h [deleted file]
hadaq/tof_defs.h [deleted file]

diff --git a/hadaq/hwrich.c b/hadaq/hwrich.c
deleted file mode 100644 (file)
index dd1279c..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.40 2003-05-14 13:54:43 muench Exp $";
-
-#define _POSIX_C_SOURCE 199309L
-#include <unistd.h>
-
-#include <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <syslog.h>
-
-#include <allParam.h>
-#include "subevt.h"
-#include "hwrace.h"
-
-struct HardwareS {
-       size_t maxSubEvtSize;
-       int nRaces;
-       HwRace **race;
-};
-
-#include "hardware.h"
-
-size_t Hardware_maxSubEvtSize(const Hardware *my)
-{
-       return my->maxSubEvtSize;
-}
-
-int Hardware_inSpill(const Hardware *my)
-{
-       return 0;
-}
-
-Hardware *newHardware(const char *subsystem)
-{
-       Hardware *my;
-       Param paramS, *param = &paramS;
-       int i;
-       const char *ss;
-       char cardsS[PARAM_MAX_ARRAY_LEN][PARAM_MAX_VALUE_LEN];
-       char *cards[PARAM_MAX_ARRAY_LEN];
-       int nCards;
-
-       for (i = 0; i < PARAM_MAX_ARRAY_LEN; i++) {
-               cards[i] = cardsS[i];
-       }
-
-       if (strcmp(subsystem, "unknown") == 0) {
-               ss = "rich0";
-               syslog(LOG_NOTICE, "Subsystem not set, defaulting to %s", ss);
-       } else {
-               ss = subsystem;
-       }
-
-       if (0 > conSetupParam(param, getenv("DAQ_SETUP"))) {
-               syslog(LOG_ERR, "Construction of parameter source failed: %s", strerror(errno));
-               return NULL;
-       }
-       if (0 > getCards(param, ss, "race", &nCards, cards)) {
-               syslog(LOG_ERR, "Retrieval of card list failed");
-               return NULL;
-       }
-       my = malloc(sizeof(Hardware));
-       my->race = malloc(nCards * sizeof(HwRace *));
-       my->nRaces = nCards;
-
-       my->maxSubEvtSize = SubEvt_hdrSize() + (my->nRaces * 2500 * sizeof(uint32_t));
-
-       for (i = 0; i < my->nRaces; i++) {
-               my->race[i] = malloc(sizeof(HwRace));
-               if (0 > conHwRace(my->race[i], cards[i], param)) {
-                       syslog(LOG_ERR, "Construction of card %s failed:%s", cards[i], strerror(errno));
-                       return NULL;
-               }
-       }
-
-       desParam(param);
-       return my;
-}
-
-void deleteHardware(Hardware *my)
-{
-       int i;
-
-       for (i = 0; i < my->nRaces; i++) {
-               desHwRace(my->race[i]);
-               free(my->race[i]);
-       }
-       free(my->race);
-       free(my);
-}
-
-void Hardware_waitForTrigger(Hardware *my, void *subEvt)
-{
-       int i;
-
-       for (i = 0; i < my->nRaces; i++) {
-               if (HwRace_isEmpty(my->race[i])) {
-                       HwRace_requestBuffer(my->race[i]);
-#ifndef NDEBUG
-                       syslog(LOG_DEBUG, "%d buffer requested", i);
-#endif
-               }
-       }
-
-       for (i = 0; i < my->nRaces; i++) {
-               if (HwRace_isBufRequested(my->race[i])) {
-                       HwRace_getEndOfData(my->race[i]);
-               }
-       }
-}
-
-void Hardware_readout(Hardware *my, void *partEvt)
-{
-       int i;
-       int firstRace = -1;
-       void *subEvt = SubEvt_data(partEvt);
-       static unsigned long trigNr = 0;
-       unsigned trigTag;
-       int dataError;
-       int nErr;
-       uint32_t errList[32];
-
-
-       /* init partial event, necessary for  SubEvt_next() */
-       SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
-       dataError = 0;
-       SubEvt_setId(partEvt, 0);
-
-       nErr = 0;
-
-       /* read all races, check for common trigger tag */
-       for (i = 0; i < my->nRaces; i++) {
-               if (HwRace_readSubEvt(my->race[i], subEvt) == 0) {
-                       if (SubEvt_dataError(subEvt)) {
-                               errList[nErr++] = SubEvt_id(subEvt);
-                               dataError = 1;
-                       } else {
-                               if (firstRace < 0) {
-                                       trigTag = SubEvt_trigNr(subEvt) & 0xff;
-                                       firstRace = i;
-                               } else {
-                                       if (trigTag != (SubEvt_trigNr(subEvt) & 0xff)) {
-                                               dataError = 1;
-                                               syslog(LOG_ERR, "(%s)Trigger tag mismatch: 0x%08x (%d) != 0x%08x",
-                                                          my->race[i]->name, trigTag, firstRace, SubEvt_trigNr(subEvt));
-                                       }
-                               }
-                       }
-                       subEvt = SubEvt_next(partEvt, subEvt);
-               }
-       }
-
-       if (nErr > 0) {
-               int i;
-               uint32_t *data = SubEvt_data(subEvt);
-
-               SubEvt_setSize(subEvt, SubEvt_hdrSize() + (nErr + 1) * 4);
-               SubEvt_setDecoding(subEvt, SubEvtDecoding_32bitData);
-               SubEvt_setId(subEvt, 600);
-               SubEvt_setTrigNr(subEvt, trigTag);
-
-               *data++ = nErr;
-               for (i = 0; i < nErr; i++) {
-                       *data++ = errList[i];
-               }
-               subEvt = SubEvt_next(partEvt, subEvt);
-       }
-       if (dataError) {
-               SubEvt_setDataError(partEvt);
-       }
-       SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
-       SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
-
-       trigNr++;
-
-       assert(SubEvt_size(partEvt) <= my->maxSubEvtSize);
-#ifndef NDEBUG
-       syslog(LOG_DEBUG, "partEvt: %s", SubEvt_2charP(partEvt));
-#endif
-}
diff --git a/hadaq/hwsam.c b/hadaq/hwsam.c
deleted file mode 100644 (file)
index b43983b..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsam.c,v 6.19 2003-05-14 13:54:44 muench Exp $";
-
-#include <assert.h>
-#include <string.h>
-
-#include <syslog.h>
-
-#include <stdint.h>
-#include <stdlib.h>
-
-#include <lvme.h>
-
-#include <allParam.h>
-
-#include "subevt.h"
-#include "sam_defs.h"
-#include "hwsam.h"
-#define SAM_BUFOFFSET 8
-#define SAM_BUFSIZE 0x4000
-
-int conHwSam(HwSam *my, const char *name, const Param *param)
-{
-       unsigned long cardBase;
-       int paramWasFound;
-       int i;
-
-       assert(my != NULL);
-
-       strcpy(my->name, name);
-
-       Param_getInt(param, my->name, "cardbase", &paramWasFound, &cardBase);
-       if (!paramWasFound) {
-               syslog(LOG_WARNING,
-                          "Parameter %s(%s) not found, default = 0", my->name, "cardbase");
-               cardBase = 0;
-       }
-       my->cram = malloc(sizeof(LVme));
-       if (0 > conLVme(my->cram, cardBase, 0x10000L, 0x09, 0x0, 4)) {
-               syslog(LOG_ERR, "HwSam on %p not found", cardBase);
-               return -1;
-       }
-       my->regs = malloc(sizeof(LVme));
-       if (0 > conLVme(my->regs, cardBase, 0x10000L, 0x09, 0x4, 4)) {
-               syslog(LOG_ERR, "HwSam on %p not found", cardBase);
-               return -1;
-       }
-       my->bankRequested = LVme_tstBitL(my->cram, CRR, 0);     /* assumes that init is done by Sam */
-       if (my->bankRequested == 1) {
-               syslog(LOG_ERR, "HwSam readout bit = 1, should be 0, intialization bug");
-       }
-       my->currAddr = SAM_BUFSIZE;
-       my->endOfData = 0;
-
-       return 0;
-}
-
-void desHwSam(HwSam *my)
-{
-       desLVme(my->regs);
-       desLVme(my->cram);
-}
-
-void HwSam_requestBuffer(HwSam *my)
-{
-       int i;
-
-#ifndef NDEBUG
-       syslog(LOG_DEBUG, "requestBuffer in");
-#endif
-       i = my->bankRequested == 1 ? 0 : 1;
-       do {
-               if (i == 1) {
-                       LVme_setBitL(my->cram, CRR, 0);
-               } else {
-                       LVme_clrBitL(my->cram, CRR, 0);
-               }
-       } while (LVme_tstBitL(my->cram, CRR, 0) != i);
-
-       my->bankRequested = i;
-       my->currAddr = SAM_BUFSIZE * i + SAM_BUFOFFSET;
-
-       /* to indicate a buffer request state which is cleared by getEndOfData */
-       my->endOfData = 0;
-#ifndef NDEBUG
-       syslog(LOG_DEBUG, "requestBuffer out");
-#endif
-}
-
-void HwSam_getEndOfData(HwSam *my)
-{
-       /* CAUTION this ist just for clearing  buffer request state,
-       if also makes the being always empty in HwSam_isEmpty which makes
-       hwmdc.c working by coincidence */
-
-       my->endOfData = 1;
-}
-
-/* Subevent Header + some data */
-#define SAM_NODATASIZE 16
-int HwSam_readSubEvt(HwSam *my, void *subEvt)
-{
-       uint32_t *data = (uint32_t *) subEvt;
-       int lastAddr;
-       int currAddr = my->currAddr;
-       int size;
-
-#ifndef NDEBUG
-       syslog(LOG_DEBUG, "readSubEvt in");
-       syslog(LOG_DEBUG, "currAddr: 0x%08x", currAddr);
-#endif
-       size = LVme_getL(my->cram, currAddr);
-       lastAddr = currAddr + size;
-
-       if (size > SAM_BUFSIZE - SAM_BUFOFFSET) {
-               syslog(LOG_CRIT, "subEvt throw away : %d, %d", size, SAM_BUFSIZE - SAM_BUFOFFSET);
-               /* damaged data, no repair possible, skip subevent*/
-               return -1;
-       }
-       if (size <= SAM_NODATASIZE) {
-               /* skip dataless subevent */
-               return 1;
-       }
-#ifndef NDEBUG
-       syslog(LOG_DEBUG, "readSubEvt subevt: %s", SubEvt_2charP(subEvt));
-#endif
-       /* copy one sub evt from Sam to memory */
-       *data++ = size;
-       while ((currAddr += 4) < lastAddr) {
-               *data++ = LVme_getL(my->cram, currAddr);
-       }
-
-#ifndef NDEBUG
-       syslog(LOG_DEBUG, "readSubEvt out");
-#endif
-       return 0;
-}
diff --git a/hadaq/hwship.c b/hadaq/hwship.c
deleted file mode 100644 (file)
index 214e474..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwship.c,v 6.30 2003-05-14 13:54:44 muench Exp $";
-
-#define _POSIX_C_SOURCE 199309L
-#include <unistd.h>
-
-#include <assert.h>
-#include <errno.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <syslog.h>
-#include <time.h>
-
-#include <allParam.h>
-#include <lvme.h>
-
-#include "subevt.h"
-#include "ipc_basis.h"
-#include "hwship.h"
-
-static void toDbgBuf(HwShip *my)
-{
-       int i;
-
-       /* copy one sub evt from RC to memory */
-       for (i = 0; i < my->dbgBufLen; i++) {
-               my->dbgBuf[my->currDbgBuf][i] = LVme_getL(my->lvme, LVL2_OFFSET + i * sizeof(LVme_L));
-       }
-       my->currDbgBuf = (my->currDbgBuf + 1 < my->nDbgBufs) ? my->currDbgBuf + 1 : 0;
-}
-
-static void dumpDbgBufs(const HwShip *my)
-{
-       int i, j, bufNr;
-       FILE *f;
-       char n[512];
-
-       strcpy(n, my->name);
-       strcat(n, ".dump");
-
-       f = fopen(n, "w");
-       assert(f != NULL);
-
-       for (j = 0, bufNr = my->currDbgBuf; j < my->nDbgBufs; j++, bufNr = (bufNr + 1 < my->nDbgBufs) ? bufNr + 1 : 0) {
-               for (i = 0; i < my->dbgBufLen; i++) {
-                       if (i % 4 == 0) {       /* newline and the offset in the subEvt */
-                               fprintf(f, "\n%08x:", i * sizeof(uint32_t));
-                       }
-                       fprintf(f, "  0x%08x", my->dbgBuf[bufNr][i]);
-               }
-               fputc('\n', f);
-       }
-
-       fclose(f);
-}
-
-int conHwShip(HwShip *my, const char *name, const Param *param)
-{
-       unsigned long cardBase;
-       int paramWasFound;
-
-       assert(my != NULL);
-
-       strcpy(my->name, name);
-
-       Param_getInt(param, my->name, "cardbase", &paramWasFound, &cardBase);
-       if (!paramWasFound) {
-               syslog(LOG_ERR, "Parameter %s(cardbase) not found", my->name);
-               return -1;
-       }
-       my->cardBase = cardBase;        /* BUGBUG see header */
-       my->lvme = malloc(sizeof(LVme));
-       if (0 > conLVme(my->lvme, cardBase, 0x400000UL, 0x39UL, LVL2_OFFSET, 4)) {
-               syslog(LOG_ERR, "%s on %p not found", my->name, cardBase);
-               return -1;
-       }
-       /* Select VME-accessible register of LVL2-controller */
-       LVme_setW(my->lvme, LVL2_SEL_VMEREG, LVL2_SELMEM_VMEREG);
-
-       my->currAddr = 0x7fffffff;
-       my->endOfData = 0;
-
-
-       my->dbgBufLen = sizeof(uint16_t) * LVL2_SIZE / sizeof(uint32_t);
-       my->nDbgBufs = 3;
-       my->dbgBuf[0] = my->dbgBuf0;
-       my->dbgBuf[1] = my->dbgBuf1;
-       my->dbgBuf[2] = my->dbgBuf2;
-       my->currDbgBuf = 0;
-       my->isDoomed = 0;
-
-       return 0;
-}
-
-void desHwShip(HwShip *my)
-{
-       desLVme(my->lvme);
-       free(my->lvme);
-}
-
-void HwShip_requestBuffer(HwShip *my)
-{
-       int i;
-
-       syslog(LOG_DEBUG, "wait for data");
-       while ((LVme_getL(my->lvme, LVL2_ACCESS_VMEREG) >> 16 & 0xffff) <= 2) {
-#if 1
-               struct timespec tS, *t = &tS;
-               t->tv_sec = 0;
-               t->tv_nsec = 020000000;
-               nanosleep(t, NULL);
-#endif
-       }
-       syslog(LOG_DEBUG, "data available");
-       i = my->bankRequested == 1 ? 0 : 1;
-       LVme_setL(my->lvme, LVL2_ACCESS_VMEREG, i);
-
-       assert(i == LVme_tstBitL(my->lvme, LVL2_ACCESS_VMEREG, 6));
-       my->bankRequested = i;
-       my->currAddr = LVL2_OFFSET + 0x4;
-
-       /* to indicate a buffer request state which is cleared by getEndOfData */
-       my->endOfData = 0;
-}
-
-void HwShip_getEndOfData(HwShip *my)
-{
-       void toDbgBuf(HwShip *my);
-       my->endOfData = LVme_getL(my->lvme, LVL2_OFFSET) - 2 + LVL2_OFFSET;
-#ifdef SHIP_DEBUG
-       toDbgBuf(my);
-#endif
-}
-
-int HwShip_readSubEvt(HwShip *my, void *subEvt)
-{
-       int readSubEvtR;
-       unsigned long size;
-       unsigned long lastAddr;
-
-       assert(my->bankRequested == bankConfirmed(my));
-       assert(my->endOfData > 0);
-       assert(my->endOfData <= LVL2_OFFSET + sizeof(uint16_t) * LVL2_SIZE);
-
-       size = LVme_getL(my->lvme, my->currAddr);
-       lastAddr = my->currAddr + size;
-
-#ifndef SHIP_DEBUG
-       assert(size <= HwShip_maxSubEvtSize(my));
-#else
-       if (my->isDoomed) {
-               dumpDbgBufs(my);
-               syslog(LOG_EMERG, "%s: was doomed in previous buffer, dump buffer again and abort", my->name);
-               abort();
-       }
-       if (size >= HwShip_maxSubEvtSize(my)) {
-               dumpDbgBufs(my);
-               syslog(LOG_EMERG, "%s: corrupted subEvt, dump buffer and try one more", my->name);
-               my->currAddr = my->endOfData;
-               my->isDoomed = 1;
-               SubEvt_setDecoding(subEvt, 0x00020001);
-               SubEvt_setSize(subEvt, 0x10);
-               SubEvt_setId(subEvt, 399 | 0x80000000);
-               SubEvt_setTrigNr(subEvt, 0);
-               return 0;
-       }
-#endif
-
-       if (size <= HwShip_minSubEvtSize(my)) {
-               my->currAddr = lastAddr;
-               readSubEvtR = 1;
-               syslog(LOG_DEBUG, "subEvt: empty, skipped");
-       } else {
-               uint32_t *data = (uint32_t *) subEvt;
-
-               /* copy one sub evt from RC to memory */
-               while (my->currAddr < lastAddr) {
-                       *data++ = LVme_getL(my->lvme, my->currAddr);
-                       my->currAddr += 4;
-               }
-               readSubEvtR = 0;
-#ifndef NDEBUG
-               syslog(LOG_DEBUG, "subEvt: %s", SubEvt_2charP(subEvt));
-#endif
-       }
-
-       return readSubEvtR;
-}
-
-int HwShip_fillLBmaChain(HwShip *my, LBma *lbma, unsigned long virtOff)
-{
-       int fillLBmeChainR;
-       unsigned long size;
-       unsigned long lastAddr;
-
-       assert(my->bankRequested == bankConfirmed(my));
-       assert(my->endOfData > 0);
-       assert(my->endOfData <= LVL2_OFFSET + sizeof(uint16_t) * LVL2_SIZE);
-
-       size = LVme_getL(my->lvme, my->currAddr);
-       lastAddr = my->currAddr + size;
-
-#ifndef SHIP_DEBUG
-       assert(size <= HwShip_maxSubEvtSize(my));
-#else
-       if (my->isDoomed) {
-               dumpDbgBufs(my);
-               syslog(LOG_EMERG, "%s: was doomed in previous buffer, dump buffer again and abort", my->name);
-               abort();
-       }
-       if (size >= HwShip_maxSubEvtSize(my)) {
-               dumpDbgBufs(my);
-               syslog(LOG_EMERG, "%s: corrupted subEvt, dump buffer and try one more", my->name);
-               my->currAddr = my->endOfData;
-               my->isDoomed = 1;
-               SubEvt_setDecoding(subEvt, 0x00020001);
-               SubEvt_setSize(subEvt, 0x10);
-               SubEvt_setId(subEvt, 399 | 0x80000000);
-               SubEvt_setTrigNr(subEvt, 0);
-               return 0;
-       }
-#endif
-
-       if (size <= HwShip_minSubEvtSize(my)) {
-               fillLBmeChainR = 0;
-       } else {
-               if (0 > LBma_readChain(lbma, virtOff, my->currAddr + my->cardBase, size / 4, 0x3bUL)) {
-                       fillLBmeChainR = -1;
-               } else {
-#ifndef NDEBUG
-                       syslog(LOG_DEBUG, "subEvt: %s", SubEvt_2charP(LVme_getPtrL(my->lvme, my->currAddr)));
-#endif
-                       fillLBmeChainR = size;
-               }
-       }
-       my->currAddr = lastAddr;
-
-       return fillLBmeChainR;
-}
diff --git a/hadaq/hwship.h b/hadaq/hwship.h
deleted file mode 100644 (file)
index e72827b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#ifndef HwShip_H
-#define HwShip_H
-
-#undef SHIP_DEBUG
-
-#include <lvme.h>
-
-#include <allParam.h>
-#include "ipc_basis.h"
-
-typedef struct HwShipS {
-       char name[12];
-       LVme *lvme;
-       unsigned long cardBase;         /* BUGBUG workaround for stupid lvme design */
-       unsigned long currAddr;
-       int endOfData;
-       int bankRequested;
-       int currDbgBuf;
-       uint32_t dbgBuf0[sizeof(uint16_t) * LVL2_SIZE / sizeof(uint32_t)];
-       uint32_t dbgBuf1[sizeof(uint16_t) * LVL2_SIZE / sizeof(uint32_t)];
-       uint32_t dbgBuf2[sizeof(uint16_t) * LVL2_SIZE / sizeof(uint32_t)];
-       size_t dbgBufLen;
-       uint32_t *dbgBuf[3];
-       int nDbgBufs;
-       int isDoomed;
-}
-
-HwShip;
-
-
-int conHwShip(HwShip *my, const char *name, const Param *param);
-void desHwShip(HwShip *my);
-
-static size_t HwShip_minSubEvtSize(const HwShip *my)
-{
-       return 16;
-}
-
-static size_t HwShip_maxSubEvtSize(const HwShip *my)
-{
-       return 3088;
-}
-
-void HwShip_requestBuffer(HwShip *my);
-
-static int HwShip_isEmpty(HwShip *my)
-{
-       return my->currAddr >= my->endOfData;
-}
-
-int HwShip_readSubEvt(HwShip *my, void *subEvt);
-
-static int HwShip_isBufRequested(HwShip *my)
-{
-       return my->endOfData == 0;
-}
-
-void HwShip_getEndOfData(HwShip *my);
-
-static int bankConfirmed(HwShip *my)
-{
-       return LVme_tstBitL(my->lvme, LVL2_ACCESS_VMEREG, 7);
-}
-
-static int HwShip_isBusy(HwShip *my)
-{
-       return my->bankRequested != bankConfirmed(my);
-}
-
-int HwShip_fillLBmaChain(HwShip *my, LBma *lbma, unsigned long virtOff);
-#endif
diff --git a/hadaq/hwshow.c b/hadaq/hwshow.c
deleted file mode 100644 (file)
index a81904b..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwshow.c,v 6.36 2003-06-16 08:26:38 muench Exp $";
-
-#define SHIP_BLT
-
-#define _POSIX_C_SOURCE 199309L
-#include <unistd.h>
-
-#include <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <syslog.h>
-
-#include <allParam.h>
-#include <lvme.h>
-#include "subevt.h"
-#include "hwship.h"
-
-struct HardwareS {
-       size_t maxSubEvtSize;
-       int nShips;
-       HwShip **ship;
-#ifdef SHIP_BLT
-       LBma *lbma;
-       LVme_L *buf;
-#endif
-};
-
-#include "hardware.h"
-
-size_t Hardware_maxSubEvtSize(const Hardware *my)
-{
-       return my->maxSubEvtSize;
-}
-
-int Hardware_inSpill(const Hardware *my)
-{
-       return 0;
-}
-
-Hardware *newHardware(const char *subsystem)
-{
-       Hardware *my;
-       Param paramS, *param = &paramS;
-       int i;
-       const char *ss;
-       char cardsS[PARAM_MAX_ARRAY_LEN][PARAM_MAX_VALUE_LEN];
-       char *cards[PARAM_MAX_ARRAY_LEN];
-       int nCards;
-
-       for (i = 0; i < PARAM_MAX_ARRAY_LEN; i++) {
-               cards[i] = cardsS[i];
-       }
-
-       if (strcmp(subsystem, "unknown") == 0) {
-               ss = "show";
-               syslog(LOG_NOTICE, "Subsystem not set, defaulting to %s", ss);
-       } else {
-               ss = subsystem;
-       }
-
-       if (0 > conSetupParam(param, getenv("DAQ_SETUP"))) {
-               syslog(LOG_ERR, "Construction of parameter source failed: %s", strerror(errno));
-               return NULL;
-       }
-       if (0 > getCards(param, ss, "ipc", &nCards, cards)) {
-               syslog(LOG_ERR, "Retrieval of card list failed");
-               return NULL;
-       }
-       my = malloc(sizeof(Hardware));
-       my->ship = malloc(nCards * sizeof(HwShip *));
-       my->nShips = nCards;
-
-       my->maxSubEvtSize = SubEvt_hdrSize();
-
-       for (i = 0; i < my->nShips; i++) {
-               my->ship[i] = malloc(sizeof(HwShip));
-               if (0 > conHwShip(my->ship[i], cards[i], param)) {
-                       syslog(LOG_ERR, "Construction of card %s failed:%s", cards[i], strerror(errno));
-                       return NULL;
-               }
-               my->maxSubEvtSize += HwShip_maxSubEvtSize(my->ship[i]);
-       }
-
-#ifdef SHIP_BLT
-       my->lbma = malloc(sizeof(LBma));
-       if (0 > conLBma(my->lbma, 0, Hardware_maxSubEvtSize(my), 0x3b)) {
-               syslog(LOG_ERR, "%s:%d:%s", __FILE__, __LINE__, strerror(errno));
-               return NULL;
-       }
-       my->buf = LBma_getPtrL(my->lbma, 0);
-#endif
-
-       desParam(param);
-       return my;
-}
-
-void deleteHardware(Hardware *my)
-{
-       int i;
-
-#ifdef SHIP_BLT
-       desLBma(my->lbma);
-       free(my->lbma);
-#endif
-       for (i = 0; i < my->nShips; i++) {
-               desHwShip(my->ship[i]);
-               free(my->ship[i]);
-       }
-
-       free(my->ship);
-       free(my);
-}
-
-void Hardware_waitForTrigger(Hardware *my, void *subEvt)
-{
-       int i;
-       int nRequests = 0;
-       int nPoll = 0;
-       const int nPollMax = 60 / my->nShips;
-
-       for (i = 0; i < my->nShips; i++) {
-               if (HwShip_isEmpty(my->ship[i])) {
-                       HwShip_requestBuffer(my->ship[i]);
-                       ++nRequests;
-               }
-       }
-
-       do {
-               for (i = 0; i < my->nShips; i++) {
-                       if (HwShip_isBufRequested(my->ship[i])) {
-                               if (!HwShip_isBusy(my->ship[i])) {
-                                       HwShip_getEndOfData(my->ship[i]);
-                                       --nRequests;
-                               }
-                       }
-               }
-#if 1
-/*
-* This sleep prevents a tight loop which stops work on real
-* time systems if the priority of readout is not lowered.
-* When not using the sleep use option -p -2 for daq_readout.
-*/
-               if (nRequests == my->nShips && nPoll++ >= nPollMax) {
-                       struct timespec tS, *t = &tS;
-                       t->tv_sec = 0;
-                       t->tv_nsec = 020000000;
-                       nanosleep(t, NULL);
-               }
-#endif
-       } while (nRequests);
-}
-
-#ifdef SHIP_BLT
-void Hardware_readout(Hardware *my, void *partEvt)
-{
-       static unsigned long trigNr = 0;
-
-       int i;
-       void *subEvt;
-       int dataError;
-       unsigned trigTag;
-       unsigned long offset;
-
-       /* prepare BMA chain by scanning all VME cards */
-       if (0 > LBma_resetChain(my->lbma)) {
-               syslog(LOG_ERR, "%s:%d:%s", __FILE__, __LINE__, strerror(errno));
-       }
-       offset = 0;
-       for (i = 0; i < my->nShips; i++) {
-               int size;
-
-               size = HwShip_fillLBmaChain(my->ship[i], my->lbma, offset);
-               if (size > 0) {
-                       offset += size + 0x7 & ~0x7;
-               }
-       }
-       assert(SubEvt_hdrSize() + offset <= Hardware_maxSubEvtSize(my));
-
-       /* read data via VME */
-       if (0 > LBma_startChain(my->lbma)) {
-               syslog(LOG_ERR, "%s:%d:%s", __FILE__, __LINE__, strerror(errno));
-       }
-       if (0 > LBma_waitChain(my->lbma)) {
-               syslog(LOG_ERR, "%s:%d:%s", __FILE__, __LINE__, strerror(errno));
-       }
-       memcpy(SubEvt_data(partEvt), my->buf, offset);
-
-       /* check consistency and fill crate event header */
-       SubEvt_setSize(partEvt, SubEvt_hdrSize() + offset);
-       SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
-       dataError = 0;
-       trigTag = 0x100;
-       for (subEvt = SubEvt_data(partEvt); subEvt < SubEvt_end(partEvt); subEvt = SubEvt_next(partEvt, subEvt)) {
-               if (SubEvt_dataError(subEvt)) {
-                       dataError = 1;
-               }
-               if (trigTag > 0xff) {
-                       trigTag = SubEvt_trigNr(subEvt) & 0xff;
-               } else {
-                       if (trigTag != (SubEvt_trigNr(subEvt) & 0xff)) {
-                               dataError = 1;
-                               syslog(LOG_ERR, "(%s)Trigger tag mismatch: 0x%08x != 0x%08x", my->ship[i]->name, trigTag, SubEvt_trigNr(subEvt));
-                       }
-               }
-       }
-       SubEvt_setId(partEvt, 0);
-       if (dataError) {
-               SubEvt_setDataError(partEvt);
-       }
-       SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
-
-       trigNr++;
-
-       syslog(LOG_DEBUG, "partEvt: %s", SubEvt_2charP(partEvt));
-}
-
-#else
-void Hardware_readout(Hardware *my, void *partEvt)
-{
-       int i;
-       int firstShip = -1;
-       void *subEvt = SubEvt_data(partEvt);
-       static unsigned long trigNr = 0;
-       unsigned trigTag;
-       int dataError;
-
-       /* init partial event, necessary for  SubEvt_next() */
-       SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
-       dataError = 0;
-       SubEvt_setId(partEvt, 0);
-
-       /* read all ships, check for common trigger tag */
-       for (i = 0; i < my->nShips; i++) {
-               if (HwShip_readSubEvt(my->ship[i], subEvt) == 0) {
-                       if (SubEvt_dataError(subEvt)) {
-                               dataError = 1;
-                       }
-                       if (firstShip < 0) {
-                               trigTag = SubEvt_trigNr(subEvt) & 0xff;
-                               firstShip = i;
-                       } else {
-                               if (trigTag != (SubEvt_trigNr(subEvt) & 0xff)) {
-                                       dataError = 1;
-                                       syslog(LOG_ERR,
-                                                  "(%s)Trigger tag mismatch: 0x%08x (%d) != 0x%08x",
-                                                  my->ship[i]->name, trigTag, firstShip, SubEvt_trigNr(subEvt));
-                               }
-                       }
-                       subEvt = SubEvt_next(partEvt, subEvt);
-               }
-       }
-
-       if (dataError) {
-               SubEvt_setDataError(partEvt);
-       }
-       SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
-       SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
-       trigNr++;
-
-       assert(SubEvt_size(partEvt) <= Hardware_maxSubEvtSize(my));
-       syslog(LOG_DEBUG, "partEvt: %s", SubEvt_2charP(partEvt));
-}
-
-#endif
diff --git a/hadaq/hwsoft.c b/hadaq/hwsoft.c
deleted file mode 100644 (file)
index c70ef2f..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsoft.c,v 6.29 2003-05-14 13:54:44 muench Exp $";
-
-
-#define _POSIX_C_SOURCE 199309L
-#include <unistd.h>
-#include <stdlib.h>
-
-#include <sys/time.h>
-
-#include <allParam.h>
-
-#include "subevt.h"
-
-struct HardwareS {
-       size_t maxSubEvtSize;
-};
-
-#include "hardware.h"
-
-size_t Hardware_maxSubEvtSize(const Hardware *my)
-{
-       return my->maxSubEvtSize;
-}
-
-#include <syslog.h>
-
-#include <stdint.h>
-
-
-int Hardware_inSpill(const Hardware *my)
-{
-       return 0;
-}
-
-Hardware *newHardware(void)
-{
-       Hardware *my;
-       Param *param;
-       int paramWasFound;
-       unsigned long size;
-
-       my = malloc(sizeof(Hardware));
-       my->maxSubEvtSize = 2 * SubEvt_hdrSize() + 5004 * sizeof(uint32_t);
-
-       param = malloc(sizeof(Param));
-       conSetupParam(param, getenv("DAQ_SETUP"));
-       Param_getInt(param, "soft", "size", &paramWasFound, &size);
-       if (!paramWasFound) {
-               syslog(LOG_WARNING,
-                          "Parameter %s(%s) not found, defaulting to 0", "soft", "size");
-               size = 0;
-       }
-       desParam(param);
-       return my;
-}
-
-void deleteHardware(Hardware *my)
-{
-       free(my);
-}
-
-void Hardware_waitForTrigger(Hardware *my, void *partEvt)
-{
-#if 0
-       struct timespec tS, *t = &tS;
-
-       t->tv_sec = 0;
-       t->tv_nsec = 100000000;
-       nanosleep(t, NULL);
-#endif
-}
-
-void readoutTrig(void *subEvt)
-{
-       uint32_t *data;
-       uint32_t *first;
-       static uint8_t trigTag;
-       size_t size;
-
-       SubEvt_setDecoding(subEvt, SubEvtDecoding_32bitData);
-
-       data = SubEvt_data(subEvt);
-       first = data;
-
-       if (trigTag % 2 == 0) {
-               *data++ = 0x1;
-       } else {
-               *data++ = 0x2;
-       }
-
-       SubEvt_setSize(subEvt, (char *) data - (char *) subEvt);
-       SubEvt_setId(subEvt, SubEvtId_trigCode);
-       SubEvt_setTrigNr(subEvt, trigTag);
-       syslog(LOG_DEBUG, "subEvt: %s", SubEvt_2charP(subEvt));
-
-       trigTag++;
-}
-
-void readoutSoft(void *subEvt)
-{
-       uint32_t *data;
-       uint32_t *first;
-       static uint8_t trigTag;
-       uint32_t id;
-       size_t size;
-
-       SubEvt_setDecoding(subEvt, SubEvtDecoding_32bitData);
-
-       data = SubEvt_data(subEvt);
-       first = data;
-
-       *data++ = 0x55aa00FF;
-       *data++ = 0x55aa00FF;
-       *data++ = 0x55aa00FF;
-#if 1
-       data += (int) ((1000.0 * rand()) / RAND_MAX);
-       data += (int) ((1000.0 * rand()) / RAND_MAX);
-       data += (int) ((1000.0 * rand()) / RAND_MAX);
-       data += (int) ((1000.0 * rand()) / RAND_MAX);
-       data += (int) ((1000.0 * rand()) / RAND_MAX);
-#endif
-
-       size = (char *) data - (char *) subEvt;
-       id = SubEvtId_test1;
-#if 1
-       if (size > 5000) {
-               size = 5000;
-               id |= 0x80000000;
-       }
-#endif
-       SubEvt_setSize(subEvt, size);
-       SubEvt_setId(subEvt, id);
-       SubEvt_setTrigNr(subEvt, trigTag);
-       syslog(LOG_DEBUG, "subEvt: %s", SubEvt_2charP(subEvt));
-
-       trigTag++;
-}
-
-void Hardware_readout(Hardware *my, void *partEvt)
-{
-       void *subEvt = SubEvt_data(partEvt);
-       static uint32_t trigNr;
-       static uint8_t trigTag;
-       uint8_t trigCode;
-       int err = 0;
-
-       SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
-
-       readoutTrig(subEvt);
-       if (SubEvt_dataError(subEvt)) {
-               err = 1;
-       }
-       if (trigTag > SubEvt_trigNr(subEvt)) {
-               trigNr++;
-       }
-       trigTag = SubEvt_trigNr(subEvt);
-       trigCode = SubEvt_dataValue(subEvt, 0);
-       subEvt = SubEvt_next(partEvt, subEvt);
-
-       readoutSoft(subEvt);
-       if (SubEvt_dataError(subEvt)) {
-               err = 1;
-       }
-       subEvt = SubEvt_next(partEvt, subEvt);
-
-       SubEvt_setId(partEvt, trigCode);
-       if (err) {
-               SubEvt_setDataError(partEvt);
-       }
-       SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
-       SubEvt_setTrigNr(partEvt, (trigNr << 8) | trigTag);
-       syslog(LOG_DEBUG, "partEvt: %s", SubEvt_2charP(partEvt));
-}
diff --git a/hadaq/hwtip.c b/hadaq/hwtip.c
deleted file mode 100644 (file)
index 4b180c0..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtip.c,v 1.35 2003-07-09 16:21:03 hadaq Exp $";
-
-#include <assert.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/time.h>
-#include <syslog.h>
-
-#include <stdint.h>
-#include <stdlib.h>
-
-#include <lvme.h>
-
-#include <allParam.h>
-
-#include "hwtip.h"
-
-
-#define min(x,y)    ( (x>y) ? y : x )
-#define max(x,y)    ( (x>y) ? x : y )
-
-
-/* undef if you don't want PRINTOUT if there was an error in the tdc data, mt*/
-#define BUFFER_PRINTOUT_ENABLED
-
-static int ourVmeAccessOK;
-
-void sigbusHandler(int sig)
-{
-       struct timespec tS, *t = &tS;
-
-       ourVmeAccessOK = 0;
-       t->tv_sec = 0;
-       t->tv_nsec = 20000000;
-       nanosleep(t, NULL);
-}
-
-
-#define TIP_BUFSIZE 0x40000
-int conHwTip(HwTip *my, const char *name, const Param *param)
-{
-       unsigned long cardBase;
-       int paramWasFound;
-       int i;
-
-       assert(my != NULL);
-
-       signal(SIGBUS, sigbusHandler);
-       strcpy(my->name, name);
-
-       Param_getInt(param, my->name, "cardbase", &paramWasFound, &cardBase);
-       if (!paramWasFound) {
-               syslog(LOG_WARNING, "Parameter %s(%s) not found, default = 0", my->name, "cardbase");
-               cardBase = 0;
-       }
-       syslog(LOG_INFO, "conc cardbase %.8x", cardBase);
-
-       my->lvme = (LVme *) malloc(sizeof(LVme));
-       if (0 > conLVme(my->lvme, cardBase, 0x3000000UL, 0x09UL, 0, 0)) {
-               syslog(LOG_ERR, "HwTip on %p not found", cardBase);
-               return -1;
-       }
-       my->currAddr = 0x7fffffff;      /* start at the end */
-       my->bankRequested = 1;          /* of the empty bank */
-       my->endOfData = 0;
-       my->daqRq = _LVL2_PIPE2_RQ;
-       my->daqGr = _LVL2_PIPE2_GR;
-       my->fifo = MEMBASE + TIP_BUFSIZE;
-
-       return 0;
-}
-
-void desHwTip(HwTip *my)
-{
-       desLVme(my->lvme);
-       signal(SIGBUS, SIG_DFL);
-}
-
-void HwTip_requestBuffer(HwTip *my)
-{
-
-       LVme_clrBitL(my->lvme, CONFIG1BASE + CFG_MASTER_CONTROL, my->daqRq);
-
-       while (LVme_tstBitL(my->lvme, CONFIG1BASE + CFG_MASTER_STATUS, my->daqGr)) {
-#if 1
-               struct timespec tS, *t = &tS;
-               t->tv_sec = 0;
-               t->tv_nsec = 20000000;
-               nanosleep(t, NULL);
-#endif
-       }
-       if (my->bankRequested == 0) {
-               my->bankRequested = 1;
-               my->daqRq = _LVL2_PIPE2_RQ;
-               my->daqGr = _LVL2_PIPE2_GR;
-               my->fifo = MEMBASE + TIP_BUFSIZE;
-       } else {
-               my->bankRequested = 0;
-               my->daqRq = _LVL2_PIPE1_RQ;
-               my->daqGr = _LVL2_PIPE1_GR;
-               my->fifo = MEMBASE;
-       }
-
-       LVme_setBitL(my->lvme, CONFIG1BASE + CFG_MASTER_CONTROL, my->daqRq);
-
-       my->currAddr = my->fifo + 0x4;
-}
-
-
-
-
-int HwTip_readSubEvt(HwTip *my, void *subEvt)
-{
-
-#define SUBHEADER_STATE      (1)
-#define TDC_HEADER_STATE     (2)
-#define TDC_DATA_STATE       (3)
-#define TDC_TRAILER_STATE    (4)
-#define LATCH_STATE          (5)
-#define IGNORE_ALL_STATE     (6)
-
-
-       uint32_t *data = (uint32_t *) subEvt;
-       unsigned long currAddr = my->currAddr;
-       unsigned long header;
-       int size;
-       int byteSize;
-       int statusWord, crateNumber = 0xff;
-       int foundCBLTTrailerFlag = 0;
-       int foundCBLTHeaderFlag = 0;
-       int errorFlag = 0;
-       int calEvtFlag = 0;
-       unsigned long dataWord;
-       unsigned long tdcCounter = 0;
-       unsigned long tdcEventCounter, trigTag, evtC, subEvtHeader;
-       int arrayCounter = 0, i;
-       unsigned long presentState;
-
-#ifdef BUFFER_PRINTOUT_ENABLED
-       unsigned long tempArray[500];
-#endif
-       char str[200], buff[200];
-       unsigned long lastGeo = 0, currentGeo;
-       unsigned long lastCrate = 0;
-
-       header = LVme_getL(my->lvme, currAddr);
-       size = header & 0xfff;
-       byteSize = size << 2;
-
-       my->currAddr += byteSize;
-
-       if (byteSize > (TIP_BUFSIZE - my->currAddr + my->fifo)) {
-               syslog(LOG_ERR, "size too large! size: %.8x ", size);
-               size = (TIP_BUFSIZE - my->currAddr + my->fifo) >> 2;
-               header &= 0x80000000;
-       }
-       trigTag = ((header >> 16) & 0xff);
-
-       calEvtFlag = ((header >> 24) & 0xf) != 0x9;
-
-       presentState = TDC_HEADER_STATE;
-
-       /* copy one sub evt from RC to memory */
-       while (--size) {
-
-               /* *data++ = LVme_getL(my->lvme, currAddr+=4); */
-               dataWord = LVme_getL(my->lvme, currAddr += 4);
-               *data++ = dataWord;
-#ifdef BUFFER_PRINTOUT_ENABLED
-               tempArray[arrayCounter++] = dataWord;
-#endif
-
-               statusWord = ((dataWord >> 24) & 0x6);
-
-
-               if (presentState == TDC_DATA_STATE) {
-                       if (statusWord == 4) {
-                               /* Trailer */
-                               presentState = TDC_TRAILER_STATE;
-                       }
-               }
-
-               if (presentState == TDC_HEADER_STATE) {
-                       if (statusWord == 0) {
-                               /* Ingo TIP Header */
-                               presentState = SUBHEADER_STATE;
-                       }
-               }
-
-               switch (presentState) {
-               case SUBHEADER_STATE:
-                       presentState = IGNORE_ALL_STATE;
-
-                       break;
-               case TDC_HEADER_STATE:
-                       tdcCounter++;
-                       crateNumber = ((dataWord >> 16) & 0xff);
-
-                       if (lastCrate == 0) {
-                               lastCrate = crateNumber;
-                       }
-
-                       if (lastCrate != crateNumber) {
-                               /* reset last Geo, if change of crate */
-                               lastGeo = 0;
-                       }
-
-                       if (statusWord != 2) {
-                               syslog(LOG_ERR, "status word of tdc not 2, for header it should be 2, header: %.8x, data: %.8x", header, dataWord);
-                               errorFlag = 1;
-                       }
-                       if (foundCBLTHeaderFlag == 1) {
-                               syslog(LOG_ERR, "header: %.8x, at least two headers came without a trailer,  data: %.8x", header, dataWord);
-                               errorFlag = 1;
-                       }
-
-                       currentGeo = (dataWord >> 27) & 0x1f;
-
-                       if (lastGeo == 0) {
-                               lastGeo = currentGeo - 1;
-                       }
-                       if (lastGeo >= currentGeo) {
-                               syslog(LOG_ERR,
-                                          "header: %.8x, Geo not incremental, crate: %d data: %.8x, lastGeo %d, currentGeo %d",
-                                          header, crateNumber, dataWord, lastGeo, currentGeo);
-                               errorFlag = 1;
-                       }
-
-                       foundCBLTHeaderFlag = 1;
-
-                       presentState = TDC_DATA_STATE;
-                       break;
-
-
-               case TDC_DATA_STATE:
-                       /* data word, nothing to do..., but check for trailer */
-                       break;
-
-               case TDC_TRAILER_STATE:
-                       tdcEventCounter = dataWord & 0xffffff;
-                       foundCBLTTrailerFlag = 1;
-                       if (foundCBLTTrailerFlag == 1 && foundCBLTHeaderFlag == 0) {
-                               syslog(LOG_ERR, "header: %.8x, trailer came before header! data: %.8x", header, dataWord);
-                               errorFlag = 1;
-                       }
-                       evtC = (tdcEventCounter & 0xff);
-
-                       if ((tdcEventCounter & 0xff) != trigTag) {
-                               /* if(  (max(evtC, trigTag) - min(evtC, trigTag) >=2) && (max(evtC, trigTag) - min(evtC, trigTag) <= 0xfe )) { */
-                               syslog(LOG_ERR,
-                                          "header: %.8x, crate: %d, tdc_num: %d, tag (%.8x) != EvtCounter (%.8x), dataWord: %.8x ",
-                                          header, crateNumber, tdcCounter, trigTag, tdcEventCounter, dataWord);
-                               errorFlag = 1;
-                       }
-
-                       foundCBLTTrailerFlag = 0;
-                       foundCBLTHeaderFlag = 0;
-
-                       presentState = TDC_HEADER_STATE;
-                       break;
-
-               case LATCH_STATE:
-
-                       break;
-
-               case IGNORE_ALL_STATE:
-                       break;
-
-               }                                               /* End switch */
-
-
-
-               /* TEST COUNTER */
-#if 0
-               if ((dataWord & 0xf) != 0) {
-                       syslog(LOG_ERR, "TEST: %.8x != 1", dataWord);
-                       errorFlag = 1;
-               }
-#endif
-
-
-       }
-
-
-
-
-#ifdef BUFFER_PRINTOUT_ENABLED
-       if (errorFlag) {
-               str[0] = 0;
-               for (i = 0; i < arrayCounter; i++) {
-                       sprintf(buff, "%.8x   ", tempArray[i]);
-                       strcpy((char *) ((unsigned int) str + strlen(str)), buff);
-                       if (((i + 1) % 4) == 0) {
-                               syslog(LOG_ERR, str);
-                               str[0] = 0;
-                       }
-               }
-               if ((i % 4)) {
-                       syslog(LOG_ERR, str);
-                       str[0] = 0;
-               }
-       }
-#endif
-
-       return header;
-
-}
diff --git a/hadaq/hwtrig.c b/hadaq/hwtrig.c
deleted file mode 100644 (file)
index 00b4c38..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtrig.c,v 6.38 2003-07-09 16:13:09 hadaq Exp $";
-
-#define _POSIX_C_SOURCE 199309L
-#include <unistd.h>
-
-#include <assert.h>
-#include <errno.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <syslog.h>
-#include <time.h>
-
-#include <allParam.h>
-#include <lvme.h>
-
-#include "subevt.h"
-#include "hardware.h"
-
-#include "hwtip.h"
-
-/* Number of TOF crates */
-#define NCRATES 1
-
-#define MU_EVT_COUNT    0x0e8014UL
-#define MU_FIFO         0x0000UL
-#define MU_FIFO_STATUS  0x0008UL
-
-struct HardwareS {
-       LVme *lvme0;
-       LVme *lvme4;
-       LVme *lvme6;
-       LVme_L evtCount;
-       LVme_L old_evtCount;
-       HwTip *tip;
-       size_t maxSubEvtSize;
-       int nConcs;
-};
-
-size_t Hardware_maxSubEvtSize(const Hardware *my)
-{
-       return my->maxSubEvtSize;
-}
-
-int Hardware_inSpill(const Hardware *my)
-{
-       return 0;
-}
-
-Hardware *newHardware(const char *subsystem)
-{
-       Hardware *my;
-       Param paramS, *param = &paramS;
-       int i;
-       const char *ss;
-       char cardsS[PARAM_MAX_ARRAY_LEN][PARAM_MAX_VALUE_LEN];
-       char *cards[PARAM_MAX_ARRAY_LEN];
-       char mu[PARAM_MAX_VALUE_LEN];
-       char conc[PARAM_MAX_VALUE_LEN];
-       int nCards;
-       unsigned long cardBase;
-       int paramWasFound;
-
-       for (i = 0; i < PARAM_MAX_ARRAY_LEN; i++) {
-               cards[i] = cardsS[i];
-       }
-
-       if (strcmp(subsystem, "unknown") == 0) {
-               ss = "trigconc";
-               syslog(LOG_NOTICE, "Subsystem not set, defaulting to %s", ss);
-       } else {
-               ss = subsystem;
-       }
-
-       if (0 > conSetupParam(param, getenv("DAQ_SETUP"))) {
-               syslog(LOG_ERR, "Construction of parameter source failed: %s", strerror(errno));
-               return NULL;
-       }
-       if (0 > getCards(param, ss, "mu", &nCards, cards)) {
-               syslog(LOG_ERR, "Retrieval of card list failed");
-               return NULL;
-       }
-       strcpy(mu, cards[0]);
-       if (0 > getCards(param, ss, "tip", &nCards, cards)) {
-               syslog(LOG_ERR, "Retrieval of card list failed");
-               return NULL;
-       }
-       strcpy(conc, cards[0]);
-
-       my = malloc(sizeof(Hardware));
-       my->maxSubEvtSize = (SubEvt_hdrSize() + 2 * 500 * sizeof(uint16_t))     /* MU */
-               +(NCRATES * (SubEvt_hdrSize() + 620 * sizeof(uint32_t)));       /* CONC */
-       my->nConcs = nCards;
-
-       my->evtCount = 0;
-       my->old_evtCount = 0;
-
-       Param_getInt(param, mu, "cardbase", &paramWasFound, &cardBase);
-       if (!paramWasFound) {
-               syslog(LOG_ERR, "Parameter %s(cardbase) not found, default = 0", mu);
-               return NULL;
-       }
-       syslog(LOG_INFO, "MU cardbase %.8x", cardBase);
-
-       my->lvme0 = malloc(sizeof(LVme));
-       if (0 > conLVme(my->lvme0, cardBase, 0x100000UL, 0x09UL, 0, 0)) {
-               syslog(LOG_ERR, "MU on %p not found", cardBase);
-               return NULL;
-       }
-       my->lvme4 = malloc(sizeof(LVme));
-       if (0 > conLVme(my->lvme4, cardBase + 0x4000000, 0x10000UL, 0x09UL, 0, 0)) {
-               syslog(LOG_ERR, "MU on %p not found", cardBase);
-               return NULL;
-       }
-       my->lvme6 = malloc(sizeof(LVme));
-       if (0 > conLVme(my->lvme6, cardBase + 0x6000000, 0x10000UL, 0x09UL, 0, 0)) {
-               syslog(LOG_ERR, "MU on %p not found", cardBase);
-               return NULL;
-       }
-       if (my->nConcs > 0) {
-               my->tip = malloc(sizeof(HwTip));
-               if (0 > conHwTip(my->tip, conc, param)) {
-                       syslog(LOG_ERR, "Construction of card %s failed:%s", conc, strerror(errno));
-                       return NULL;
-               }
-       }
-       desParam(param);
-       return my;
-}
-
-void deleteHardware(Hardware *my)
-{
-       if (my->nConcs > 0) {
-               desHwTip(my->tip);
-               free(my->tip);
-       }
-       desLVme(my->lvme6);
-       free(my->lvme6);
-       desLVme(my->lvme4);
-       free(my->lvme4);
-       desLVme(my->lvme0);
-       free(my->lvme0);
-       free(my);
-}
-
-void Hardware_waitForTrigger(Hardware *my, void *partEvt)
-{
-
-       syslog(LOG_DEBUG, "check if MU is ready");
-       /*
-          only read the Matching Unit Count register, when all pending
-          events are processed. This is recommended, because it is very
-          "expensive" to read from an Sharc Register in the Matching Unit.
-        */
-
-       if (my->evtCount == my->old_evtCount) {
-               while ((my->old_evtCount = LVme_getL(my->lvme0, MU_EVT_COUNT)) == my->evtCount) {
-                       /* wait for some time for not disturbing the DSP */
-                       struct timespec tS, *t = &tS;
-                       t->tv_sec = 0;
-                       t->tv_nsec = 20000000UL;
-                       nanosleep(t, NULL);
-
-               }
-               syslog(LOG_DEBUG, "evtCount: %d, oldEvtCount: %d", my->evtCount, my->old_evtCount);
-       }
-       my->evtCount++;
-
-       if (my->nConcs > 0) {
-               syslog(LOG_DEBUG, "check if CONC is ready");
-
-               if (HwTip_isEmpty(my->tip)) {
-                       HwTip_requestBuffer(my->tip);
-                       while (HwTip_isBusy(my->tip)) {
-                               /* wait for some time for not disturbing the DSP */
-                               struct timespec tS, *t = &tS;
-                               t->tv_sec = 0;
-                               t->tv_nsec = 20000000UL;
-                               nanosleep(t, NULL);
-                       }
-                       HwTip_getEndOfData(my->tip);
-               }
-       }
-}
-
-int readoutTrig(Hardware *my, void *subEvt)
-{
-       uint32_t *header = (uint32_t *) subEvt;
-       uint16_t *data;
-       uint16_t *dataEnd;
-
-       if (!((LVme_getW(my->lvme6, MU_FIFO_STATUS) >> 3) & 0x1)) {
-               LVme_getW(my->lvme4, MU_FIFO);
-       }
-       /*
-          old MU assumes its 16 bit words get expanded to 32 Bit.
-          This is not the case, see SubEvt_setDecoding(..)
-        */
-       *header = ((LVme_getW(my->lvme4, MU_FIFO) & 0xffff) >> 1) + 8;
-       /*
-          *header contains subevent size in char's.
-          It is added to the pointer to evt begin.
-        */
-       dataEnd = (uint16_t *) ((uint32_t) header + *header);
-
-       *++header = LVme_getW(my->lvme4, MU_FIFO) & 0xffff;
-       *++header = LVme_getW(my->lvme4, MU_FIFO) & 0xffff;
-       *++header = LVme_getW(my->lvme4, MU_FIFO) & 0xffff;
-       SubEvt_setDecoding(subEvt, SubEvtDecoding_16bitData);
-
-       data = (uint16_t *) ++header;
-
-       while (data < dataEnd) {
-               *data++ = (uint16_t) LVme_getW(my->lvme4, MU_FIFO);
-       }
-
-       syslog(LOG_DEBUG, "subEvt: %s", SubEvt_2charP(subEvt));
-
-       /* return trigger code = first MU data word */
-       return *(uint16_t *) header;
-}
-
-void Hardware_readout(Hardware *my, void *partEvt)
-{
-       void *subEvt = SubEvt_data(partEvt);
-       static unsigned long trigNr = 0;
-       unsigned trigTag;
-       int trigCode;
-       int i;
-       int dataError;
-
-       SubEvt_setDecoding(partEvt, SubEvtDecoding_SubEvts);
-       dataError = 0;
-
-       syslog(LOG_DEBUG, "read out MU");
-       trigCode = readoutTrig(my, subEvt);
-       if (SubEvt_dataError(subEvt)) {
-               dataError = 1;
-       }
-       SubEvt_setId(partEvt, trigCode);
-       trigTag = SubEvt_trigNr(subEvt) & 0xff;
-
-       subEvt = SubEvt_next(partEvt, subEvt);
-
-       if (my->nConcs > 0) {
-               uint32_t *data = SubEvt_data(subEvt);
-               int header;
-               uint32_t *subEvtInfo;
-
-               syslog(LOG_DEBUG, "read out CONC");
-               SubEvt_setDecoding(subEvt, SubEvtDecoding_32bitData);
-               SubEvt_setId(subEvt, 0x19c);
-               SubEvt_setTrigNr(subEvt, trigTag);
-
-               subEvtInfo = data++;    /* leave space for an info word */
-
-               for (i = 0; i < NCRATES; i++) {
-                       header = HwTip_readSubEvt(my->tip, data);
-                       if (SubEvt_dataError(subEvt)) {
-                               dataError = 1;
-                       }
-                       if (trigTag != ((header >> 16) & 0xff)) {
-                               dataError = 1;
-                               syslog(LOG_ERR, "(%s)Trigger tag mismatch: (crate: %d) 0x%08x (MU) != 0x%08x",
-                                          my->tip->name, i, trigTag, (header >> 16) & 0xff);
-                       }
-                       data += (header & 0xfff) - 1;
-               }
-
-               *subEvtInfo = (header >> 16) | ((trigCode << 12) & 0xff000);
-               SubEvt_setSize(subEvt, (char *) data - (char *) subEvt);
-
-               subEvt = SubEvt_next(partEvt, subEvt);
-       }
-       if (dataError) {
-               SubEvt_setDataError(partEvt);
-       }
-       SubEvt_setTrigNr(partEvt, trigNr << 8 | trigTag);
-       SubEvt_setSize(partEvt, (char *) subEvt - (char *) partEvt);
-       trigNr++;
-
-       assert(SubEvt_size(partEvt) <= my->maxSubEvtSize);
-
-       syslog(LOG_DEBUG, "partEvt: %s", SubEvt_2charP(partEvt));
-}
diff --git a/hadaq/sam_defs.h b/hadaq/sam_defs.h
deleted file mode 100644 (file)
index b283f8c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#ifndef SAM_DEFS_H
-#define SAM_DEFS_H
-
-#define VMSR  0x8004
-#define KSR   0x0004
-#define CRAM  0x0000
-#define CRR   0x8000
-
-#endif
diff --git a/hadaq/tof_defs.h b/hadaq/tof_defs.h
deleted file mode 100644 (file)
index 501156c..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-
-/****  Headerfile for TOF-IPU registers */
-/****  created: E.Lins 13-Jan-2000 */
-
-/* $Id: tof_defs.h,v 1.6 2003-05-14 13:54:46 muench Exp $ */
-/* $Source: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/tof_defs.h,v $ */
-
-
-/****************************************************************/
-
-/* Onboard components base addresses... */
-
-/* the DSPs */
-#define SHARC1BASE     0x01000000
-#define SHARC2BASE     0x01200000
-#define SHARC3BASE     0x01400000
-#define SHARC4BASE     0x01600000
-#define SHARC5BASE     0x01800000
-#define SHARC6BASE     0x01a00000
-
-/* the other stuff */
-#define MEMBASE                0x02000000
-#define MEMTOP          0x020f9fff
-
-#define SCV64BASE      0x02400000
-#define DISPBASE       0x02500000
-#define STATUSBASE     0x02600000
-#define FIFOBASE        0x02700000
-#define LINKBASE        0x02800000
-
-
-
-/****************************************************************/
-
-/* special purpose area in internal memory */
-/* DSP#1 */
-#define CONFIG1BASE            (SHARC1BASE + 0x000a0000)
-#define CONFIG2BASE            (SHARC2BASE + 0x000a0000)
-#define CONFIG3BASE            (SHARC3BASE + 0x000a0000)
-#define CONFIG4BASE            (SHARC4BASE + 0x000a0000)
-#define CONFIG5BASE            (SHARC5BASE + 0x000a0000)
-#define CONFIG6BASE            (SHARC5BASE + 0x000a0000)
-
-/* register offsets (32bit words) in configbase area */
-#define CFG_MASTER_CONTROL    0x0000
-#define _START_TIP            0
-#define _LVL2_TRIG_ACTIVE     1
-#define _LVL2_LINK_ACTIVE     2
-#define _MU_LINK_ACTIVE       3
-#define _LVL2_PIPE1_RQ        4
-#define _LVL2_PIPE2_RQ        5
-
-#define CFG_MASTER_STATUS     0x0004
-#define _LVL1_PIPE_FULL       0
-#define _LVL2_PIPE1_FULL      1
-#define _LVL2_PIPE2_FULL      2
-#define _LVL2_PIPE            3
-#define _LVL2_PIPE1_GR        4
-#define _LVL2_PIPE2_GR        5
-
-#define CFG_DEBUG_CONTROL     0x0008
-#define _DEBUG_DUMP           3
-
-#define CFG_LVL1_PIPE_SIZE    0x000c
-
-#define CFG_T_BEGIN_RUN       0x0010
-#define CFG_T_END_RUN         0x0014
-#define CFG_T_SPILL_ON        0x0018
-#define CFG_T_SPILL_OFF       0x001c
-
-#define CFG_TOTAL_EVENTS      0x0020
-
-
-/* number of vme modules to be rout */
-#define CFG_NOF_MODULES       0x002c
-
-/* declaration of vme modules toread out starts here */
-#define CFG_VME_MODULES       0x0030
-/* one vme module is described with ... words */
-#define CFG_SOURCE_ADDRESS    0x0
-#define CFG_BLT_FLAG          0x4
-#define CFG_CYCLE_COUNT       0x8
-#define CFG_DUMMY_WORD        0xc
-
-/* special purpose areas in external memory */
-
-#define SNIFF1BASE       (MEMBASE + 0x000fa000)
-#define SNIFF1TOP        (MEMBASE + 0x000faf00)
-#define SNIFF2BASE       (MEMBASE + 0x000fb000)
-#define SNIFF2TOP        (MEMBASE + 0x000fbf00)
-#define SNIFF3BASE       (MEMBASE + 0x000fc000)
-#define SNIFF3TOP        (MEMBASE + 0x000fcf00)
-#define SNIFF4BASE       (MEMBASE + 0x000fd000)
-#define SNIFF4TOP        (MEMBASE + 0x000fdf00)
-#define SNIFF5BASE       (MEMBASE + 0x000fe000)
-#define SNIFF5TOP        (MEMBASE + 0x000fef00)
-#define SNIFF6BASE       (MEMBASE + 0x000ff000)
-#define SNIFF6TOP        (MEMBASE + 0x000fff00)
-
-/****************************************************************/
-
-
-
-#define LVL1_PIPE_BASE     0x00000000
-
-
-/* define bits of the XILINX internal status register STATUSBASE */
-
-#define _KBERR              0
-#define _KHALT              1
-#define _VMEINT             2
-
-#define _XGP1               4
-#define _XGP2               5
-#define _XGP3               6
-#define _XGSR               7
-
-#define _START_MU           8
-#define _FIFOFULL           9
-#define _ADDRESSMATCH       10
-#define _KSIZE1             11
-
-
-
-/* define the BUSYs */
-#define _LVL1_BUSY          4
-#define _LVL2_BUSY          5
-
-
-
-/* TUNDRA internal registers */
-
-#define DMALAR          0x00
-#define DMAVAR          0x04
-#define DMATC           0x08
-#define DCSR            0x0c
-#define VMEBAR          0x10
-#define RXDATA          0x14
-#define RXADDR          0x18
-#define RXCTL           0x1c
-#define BUSSEL          0x20
-#define IVECT           0x24
-#define APBR            0x28
-#define TXDATA          0x2c
-#define TXADDR          0x30
-#define TXCTL           0x34
-#define LMFIFO          0x38
-#define MODE            0x3c
-#define SA64BAR         0x40
-#define MA64BAR         0x44
-#define LAG             0x48
-#define DMAVTC          0x4c
-
-#define STAT0           0x80
-#define STAT1           0x84
-#define GENCTL          0x88
-#define VINT            0x8c
-#define VREQ            0x90
-#define VARB            0x94
-#define ID              0x98
-#define CTL2            0x9c
-#define I7S             0xa0
-#define LIS             0xa4
-#define I7E             0xa8
-#define LIE             0xac
-#define VIE             0xb0
-#define IC10            0xb4
-#define IC32            0xb8
-#define IC54            0xbc
-#define MISC            0xc0
-#define DLCT            0xc4
-#define DLST1           0xc8
-#define DLST2           0xcc
-#define DLST3           0xd0
-#define MBOX0           0xd4
-#define MBOX1           0xd8
-#define MBOX2           0xdc
-#define MBOX3           0xe0
-
-/* DISPLAY registers */
-
-#define DIGIT1         0x0c
-#define DIGIT2         0x08
-#define DIGIT3         0x04
-#define DIGIT4         0x00
-
-/* Trigger Codes */
-
-#define T_NORMAL       0x01
-#define T_BEGIN                0x02
-#define T_END          0x03
-#define T_CALIB                0x04
-#define T_SPILLON      0x05
-#define T_SPILLOFF     0x06