#include <daqdatatypes.h>
Go to the source code of this file.
Defines | |
#define | putbufw(word) (*bufpt = (INT16)(word)); ++bufpt |
#define | putbufl(l) |
#define | savebufpt(var) var = (INT32)bufpt |
#define | rstbufpt(var) bufpt = ((INT16 *)var) |
#define | IAND(a, b) ((a) & (b)) |
#define | IOR(a, b) ((a) | (b)) |
#define | ISHIFT(a, b) ((a) << (b)) |
#define | EQ == |
#define | NE != |
#define | GT > |
#define | GE >= |
#define | LT < |
#define | LE <= |
#define | AND && |
#define | OR || |
#define | NOT ! |
#define | TRUE 1 |
#define | FALSE 0 |
#define | IF if |
#define | THEN { |
#define | ELSE } else { |
#define | ENDIF } |
#define | DO |
#define | WHILE(expr) while(expr) { |
#define | ENDDO } |
#define | CALL |
#define | sleep(sec) pause_p((int)((sec)*second)) |
#define | LOGICAL UINT32 |
#define | WORD INT16 |
#define | INTEGER INT32 |
#define | REAL float |
#define | qstoptobuf(b, c, n, a, f) |
#define | rdtobuf16(b, c, n, a, f) putbufw(camread16((b),(c),(n),(a),(f))) |
#define | rdtobuf24(b, c, n, a, f) putbufl(camread24((b),(c),(n),(a),(f))) |
#define | READBIT(b, c, n, a, f, d) |
#define | INIT811(b, c, n) |
#define | CLR811(b, c, n) camctl((b),(c),(n),12,11) |
#define | READ811(b, c, n, a) rdtobuf16((b),(c),(n),(a),0) |
#define | INIT22XX(b, c, n) |
#define | CLR22XX(b, c, n) camctl((b),(c),(n),0,9) |
#define | READ22XX(b, c, n, a) rdtobuf16((b),(c),(n),(a),0) |
#define | FERA_OFS 0x8000 |
#define | FERA_CLE 0x4000 |
#define | FERA_CSR 0x2000 |
#define | FERA_CCE 0x1000 |
#define | FERA_CPS 0x0800 |
#define | FERA_EEN 0x0400 |
#define | FERA_ECE 0x0200 |
#define | FERA_EPS 0x0100 |
#define | busy(br, cr, sl) |
#define | INITFERA(b, c, n, cmd, ped) |
#define | CLRFERA(b, c, n) camctl((b),(c),(n),0, 9) |
#define | READFERA(b, c, n, a) rdtobuf16((b),(c),(n),(a),2) |
#define | READFERAALL(b, c, n) qstoptobuf((b),(c),(n),0,2) |
#define | INIT812F(b, c, n, cmd, ped) |
#define | INIT4418(b, c, n, cmd, thrsh) |
#define | READ4418(b, c, n, a) rdtobuf16((b),(c),(n),(a), 2) |
#define | RDHDR4418(b, c, n) camread16((b),(c),(n),14, 2) |
#define | RDPAT4418(b, c, n) camread16((b),(c),(n),15, 2) |
#define | BLKREAD4418(b, c, n) qstoptobuf((b),(c),(n),0, 2) |
#define | INITBIT(b, c, n) |
#define | CLRBIT(b, c, n) camctl((b),(c),(n),0,11) |
#define | RDBIT(b, c, n, a) rdtobuf16((b),(c),(n),(a),0) |
#define | NIMOUT(b, c, n, pattern) camwrite16((b),(c),(n),0,16,pattern) |
#define | ECLSCL_TEST 0x8000 |
#define | ECLSCL_BD 0x2000 |
#define | ECLSCL_RD 0x0080 |
#define | ECLSCL_CL 0x0040 |
#define | ECLSCL_LD 0X0020 |
#define | ECLSCL_NPOS 8 |
#define | INITGSIS(b, c, n) |
#define | CLRGSIS(b, c, n) INITGSIS((b),(c),(n)) |
#define | READALLGSIS(b, c, n) |
#define | INIT4434(b, c, n) |
#define | CLR4434(b, c, n) INIT4434((b),(c),(n)) |
#define | READ4434(b, c, n, a) |
#define | READALL4434(b, c, n) |
#define | INIT2551(b, c, n) camctl((b),(c),(n),0,9) |
#define | CLR2551(b, c, n) INIT2551((b),(c),(n)) |
#define | READ2551(b, c, n, a) |
#define | READALL2551(b, c, n) |
#define | INIT7164(b, c, n, cmd, ped) |
#define | INIT7186(b, c, n, ip, ilow, iup, ped) |
#define | READ7164(b, c, n, a) putbufw(camread16((b),(c),(n),(a),0) & 0x0fff) |
#define | READ7186(b, c, n, a) putbufw(camread16((b),(c),(n),(a),0)) |
#define | CLR7164(b, c, n) camctl((b),(c),(n),0,9) |
#define | STARTUSR1TRIG(frequency) trig1init((frequency)) |
#define | STOPUSR1TRIG trig1kill |
#define | msg(txt) fprintf (stderr, txt) |
#define | hexout(val) fprintf (stderr, "%x", val) |
#define | decout(val) fprintf (stderr, "%d", val) |
#define | newline fprintf (stderr, "\n") |
#define | Packet(size, type) |
#define | EndPacket } |
#define | VPacket(type) |
#define | EndVPacket |
#define | Reserve(ptr, n) ptr = bufpt; bufpt += (n); |
Functions | |
bool | daq_isJumboBuffer () |
static long | getlong (volatile void *a) |
static void | putlong (INT32 v, volatile void *a) |
#define BLKREAD4418 | ( | b, | |||
c, | |||||
n | ) | qstoptobuf((b),(c),(n),0, 2) |
#define busy | ( | br, | |||
cr, | |||||
sl | ) |
#define EndVPacket |
Value:
if (daq_isJumboBuffer()) { \ UINT32 __size = bufpt.GetIndex() - _pktstart.GetIndex(); \ *_pktstart = (UINT16)(__size & 0xffff); \ ++_pktstart; \ *_pktstart = (UINT16)((__size >> 16) & 0xffff); \ } else { \ *_pktstart = (UINT16)(bufpt.GetIndex() - \ _pktstart.GetIndex()); \ } \ }
#define INIT22XX | ( | b, | |||
c, | |||||
n | ) |
#define INIT4418 | ( | b, | |||
c, | |||||
n, | |||||
cmd, | |||||
thrsh | ) |
Value:
{ \ INT16 i; \ INT32 *_p; \ do{ \ camctl(b,c,n,0,9); /* clear */ \ camwrite16(b,c,n,14,20,cmd); /* write status word */ \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ _p = &userints[thrsh]; \ do{ \ camwrite16(b,c,n,9,20,*_p); /* write common threashold */ \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ ++_p; \ /* write LLD value */ \ for(i=8;i<16;_p++,i++)do{ \ camwrite16(b,c,n,i,17,*_p); \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ /* write offset value */ \ for(i=0;i<8;_p++,i++)do{ \ camwrite16(b,c,n,i,20,*_p); \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ /* write LLD value */ \ for(i=0;i<8;_p++,i++)do{ \ camwrite16(b,c,n,i,17,*_p); \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ }
#define INIT4434 | ( | b, | |||
c, | |||||
n | ) |
#define INIT7164 | ( | b, | |||
c, | |||||
n, | |||||
cmd, | |||||
ped | ) |
Value:
{ \ INT16 i; \ INT32 *_p; \ camctl(b,c,n,0,9); /* clear */ \ do{ \ camwrite16(b,c,n,0,19,cmd); \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ _p = &userints[ped]; \ for(i=0;i<16;_p++,i++)do{ \ camwrite16(b,c,n,0,17,i); /* ped to follow*/ \ camwrite16(b,c,n,i,20,*_p); /* here it is */ \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ camctl(b,c,n,0,26); \ }
#define INIT7186 | ( | b, | |||
c, | |||||
n, | |||||
ip, | |||||
ilow, | |||||
iup, | |||||
ped | ) |
Value:
{ \ INT16 i,ibit,icmd=0; \ INT32 *_p; \ camctl(b,c,n,0,9); /* clear */ \ if(ip)icmd |= 1; /* set pedestals */ \ if(ilow)icmd |= 2; /* set lower thresh */ \ if(iup)icmd |= 4; /* set upper thresh */ \ camwrite16(b,c,n,0,19,icmd); \ _p = &userints[ped]; \ for(ibit=0;ibit<3; ibit++){ /* ped, low, upper */ \ if((1 < ibit) & icmd){ \ camwrite16(b,c,n,ibit,17,0); \ for(i=0; i<16; _p++,i++)do{ \ camwrite16(b,c,n,i,20,*_p); \ if(!qtst(b))busy(b,c,n); \ }while(!qtst(b)); \ } \ } \ camctl(b,c,n,0,26); /* enable LAM */ \ }
#define INIT811 | ( | b, | |||
c, | |||||
n | ) |
#define INIT812F | ( | b, | |||
c, | |||||
n, | |||||
cmd, | |||||
ped | ) |
Value:
{ INT16 _sub; \ INT32 *_p; \ do \ { \ camctl((b),(c),(n),0,9); \ camwrite16((b),(c),(n),0,16,cmd); \ if(!qtst(b)) \ busy((b),(c),(n)); \ }while (!qtst((b))); \ _p = &userints[ped]; \ for(_sub=0;_sub<=7; _p++,_sub++) \ do \ { \ camctl((b),(c),(n),0,9); \ camwrite16((b),(c),(n),_sub, \ 17,*_p); \ if(!qtst(b)) \ busy((b),(c),(n)); \ } while(!qtst(b)); \ }
#define INITBIT | ( | b, | |||
c, | |||||
n | ) |
#define INITFERA | ( | b, | |||
c, | |||||
n, | |||||
cmd, | |||||
ped | ) |
Value:
{ INT16 _sub; \ INT32 *_p; \ do \ { \ camctl((b),(c),(n),0,9); \ camwrite16((b),(c),(n),0,16,cmd); \ if(!qtst(b)) \ busy((b),(c),(n)); \ }while (!qtst((b))); \ _p = &userints[ped]; \ for(_sub=0;_sub<=15; _p++,_sub++) \ do \ { \ camctl((b),(c),(n),0,9); \ camwrite16((b),(c),(n),_sub, \ 17,*_p); \ if(!qtst(b)) \ busy((b),(c),(n)); \ } while(!qtst(b)); \ }
#define INITGSIS | ( | b, | |||
c, | |||||
n | ) |
Value:
{ camwrite16((b),(c),(n),0,16,0); \ camctl((b),(c),(n),0,9); \ camctl((b),(c),(n),0,1); }
#define msg | ( | txt | ) | fprintf (stderr, txt) |
Definition at line 407 of file camac.h.
Referenced by sis3820tests::AllChannelsCount(), sis3820tests::ClearChannels(), sis3820tests::ClearOnLatch(), sis3600tests::Construction(), sis3600tests::FClearWindow(), sis3820tests::LatchTest(), sis3820tests::MapTestFail(), sis3820tests::MapTestOk(), sis3600tests::Read1(), sis3820tests::Read1Channel(), CCAENV830::ReadCounter(), CCAENV560::ReadCounter(), CAENV890::SetWindowOffset(), CAENcard_767::slotInit(), sis3820tests::TestInputModes(), sis3820tests::TestLNESource(), ThrowIfBadChannel(), ThrowIfBadSection(), ThrowIntString(), and CSIS3820::ValidChannel().
#define NIMOUT | ( | b, | |||
c, | |||||
n, | |||||
pattern | ) | camwrite16((b),(c),(n),0,16,pattern) |
#define Packet | ( | size, | |||
type | ) |
#define putbufl | ( | l | ) |
#define qstoptobuf | ( | b, | |||
c, | |||||
n, | |||||
a, | |||||
f | ) |
#define rdtobuf16 | ( | b, | |||
c, | |||||
n, | |||||
a, | |||||
f | ) | putbufw(camread16((b),(c),(n),(a),(f))) |
#define rdtobuf24 | ( | b, | |||
c, | |||||
n, | |||||
a, | |||||
f | ) | putbufl(camread24((b),(c),(n),(a),(f))) |
#define READ22XX | ( | b, | |||
c, | |||||
n, | |||||
a | ) | rdtobuf16((b),(c),(n),(a),0) |
#define READ2551 | ( | b, | |||
c, | |||||
n, | |||||
a | ) |
#define READ4418 | ( | b, | |||
c, | |||||
n, | |||||
a | ) | rdtobuf16((b),(c),(n),(a), 2) |
#define READ4434 | ( | b, | |||
c, | |||||
n, | |||||
a | ) |
Value:
camwrite16((b),(c),(n),0,16, \ (ECLSCL_LD) | \ (a)); \ rdtobuf24((b),(c),(n),0,0);
#define READ7164 | ( | b, | |||
c, | |||||
n, | |||||
a | ) | putbufw(camread16((b),(c),(n),(a),0) & 0x0fff) |
#define READ7186 | ( | b, | |||
c, | |||||
n, | |||||
a | ) | putbufw(camread16((b),(c),(n),(a),0)) |
#define READALL2551 | ( | b, | |||
c, | |||||
n | ) |
#define READALL4434 | ( | b, | |||
c, | |||||
n | ) |
Value:
{ INT16 _a; \ camwrite16((b),(c),(n),0,16, \ (ECLSCL_LD) | \ (31 << ECLSCL_NPOS)); \ for(_a = 31; _a != -1; _a--) \ { \ putbufl( \ camread24((b),(c),(n),0,2)); \ } \ }
#define READALLGSIS | ( | b, | |||
c, | |||||
n | ) |
#define READBIT | ( | b, | |||
c, | |||||
n, | |||||
a, | |||||
f, | |||||
d | ) |
#define READFERA | ( | b, | |||
c, | |||||
n, | |||||
a | ) | rdtobuf16((b),(c),(n),(a),2) |
#define sleep | ( | sec | ) | pause_p((int)((sec)*second)) |
Definition at line 120 of file camac.h.
Referenced by sis3820tests::ClearOnLatch(), sis3820tests::Count2sec(), CAENcard_767::reset(), and CAENcard_767::slotInit().
#define VPacket | ( | type | ) |
Value:
{ \ DAQWordBufferPtr _pktstart = bufpt; \ ++bufpt; \ if (daq_isJumboBuffer()) ++bufpt; \ putbufw(type);
bool daq_isJumboBuffer | ( | ) |
This file describes interfaces into the CAMAC system. At present the following CAMAC interfaces are supported and this file simply includes the one selected at compile time by the value of the CAMACINTERFACE macro:
CESCAMAC - CES CBD8210 VME Camac branch highway interface. VC32CAMAC - WIENER VC32/CC32 VME - single crate controller.
Acknowledgements:
static void putlong | ( | INT32 | v, | |
volatile void * | a | |||
) | [inline, static] |