13#define UNUSED(x) ((void)(x))
20 "Acq mode = INT : 1",\
21 "Group Configuration = DWORD : 0",\
22 "Buffer organization = INT : 8",\
23 "Custom size = INT : 0",\
24 "Group Mask = DWORD : 0xFF",\
25 "Trigger Source = DWORD : 0x40000000",\
26 "Trigger Output = DWORD : 0x40000000",\
27 "Post Trigger = DWORD : 200",\
28 "Threshold = DWORD[8] :",\
157 cout <<
"Error: trying to start already started board" <<
endl;
161 cout <<
"Error: trying to start disconnected board" <<
endl;
166 cm_msg(
MINFO,
"feoV1740",
"Note: settings on board %s touched. Re-initializing board.",
259#define MAX_BLT_READ_SIZE 10000
303 <<
", tempnw returned " <<
tempnw <<
");" <<
endl;
385 cout <<
"Error: cannot call InitializeForAcq() without settings loaded properly" <<
endl;
388 cout <<
"Error: trying to call InitializeForAcq() to unconnected board" <<
endl;
391 cout <<
"Error: trying to call InitializeForAcq() to already running board" <<
endl;
424 for (
int i=0;
i<8;
i++) {
460 cm_msg(
MINFO,
"feoV1740",
"*** WARNING *** Trying to use a v1740 frontend with another"
461 " type of board. Results will be unexpected!");
473 cout <<
" *** regs: ";
v1740CONET2(int link, int board, int moduleID)
Constructor for the module object.
bool _settings_touched
ODB settings touched.
bool IsRunning()
Get run status.
int GetHandle()
returns device handler
static const char * config_str[]
Configuration string for this module. (ODB: /Equipment/[eq_name]/Settings/[board_name]/)
struct v1740CONET2::V1740_CONFIG_SETTINGS config
instance of config structure
~v1740CONET2()
Destructor for the module object.
CAENComm_ErrorCode ReadEvent(DWORD *, int *)
Read event buffer.
int SetODBRecord(HNDLE h, void(*cb_func)(INT, INT, void *))
Set the ODB record for this module.
bool IsConnected()
Get connected status.
CAENComm_ErrorCode SendTrigger()
Send a software trigger to the board.
CAENComm_ErrorCode StartRun()
Start data acquisition.
int _handle
Device handler.
void CheckBoardType()
Check board type.
CAENComm_ErrorCode Connect()
Connect the board through the optical link.
CAENComm_ErrorCode ReadReg(DWORD, DWORD *)
Read 32-bit register.
CAENComm_ErrorCode SetupPreset(int)
Setup board registers using preset (see ov1720.c:ov1720_Setup())
CAENComm_ErrorCode Disconnect()
Disconnect the board through the optical link.
CAENComm_ErrorCode StopRun()
Start data acquisition.
std::string GetName()
Get short string identifying the module's board number.
int InitializeForAcq()
Initialize the hardware for data acquisition.
CAENComm_ErrorCode WriteReg(DWORD, DWORD)
Write to 32-bit register.
CAENComm_ErrorCode AcqCtl(uint32_t)
Control data acquisition.
int _link
Optical link number.
bool _settings_loaded
ODB settings loaded.
void ShowRegs()
Misc reg printout, for debug purposes.
int _board
Module/Board number.
bool _running
Run in progress.
INT cm_msg(INT message_type, const char *filename, INT line, const char *routine, const char *format,...)
INT db_open_record(HNDLE hDB, HNDLE hKey, void *ptr, INT rec_size, WORD access_mode, void(*dispatcher)(INT, INT, void *), void *info)
INT db_get_record(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, INT align)
char * strcomb(const char **list)
INT db_find_key(HNDLE hDB, HNDLE hKey, const char *key_name, HNDLE *subhKey)
INT db_create_record(HNDLE hDB, HNDLE hKey, const char *orig_key_name, const char *init_str)
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Settings structure for this v1740 module.
INT setup
Initial board setup mode number.
DWORD post_trigger
0x8114@[31.. 0]
DWORD group_config
0x8000@[19.. 0]
INT acq_mode
0x8100@[ 1.. 0]
DWORD trigger_output
0x8110@[31.. 0]
INT buffer_organization
0x800C@[ 3.. 0]
DWORD dac[8]
0x1n98@[15.. 0]
DWORD trigger_source
0x810C@[31.. 0]
INT custom_size
0x8020@[31.. 0]
DWORD threshold[8]
0x1n80@[11.. 0]
DWORD group_mask
0x8120@[ 7.. 0]
#define MAX_BLT_READ_SIZE
Maximum size of data to read using BLT (32-bit) cycle.