80struct usb_device *
dev;
159 printf(
"odb ... %s touched (%d)\n",
key.
name, hseq);
166 short IntArray [10000];
171 ret = xxusb_bulk_read(
udev, IntArray, 8192, 100);
173 printf(
"drain loops: %i (result %i)\n ",
k,ret);
178 for(
int i =0;
i < ret/2;
i++){
179 printf(
"%x ",IntArray[
i] & 0xffff);
180 if(
i%8==7) printf(
"\n");
185 printf(
"First bin %x\n",IntArray[0]);
186 return (IntArray[0] & 0xfff);
201 int ret = xxusb_register_write(
udev, 1, 0x0);
202 printf(
"stopping CAMAC xxusb_register_write=%d\n", ret);
207 printf(
"Starting deferred to clear USB buffer\n");
216 cm_msg(
MERROR,
"clear_buffer_events",
"Didn't manage to clear CCUSB buffer after 10 extra reads.\n");
235 sprintf(set_str,
"/Equipment/CCUSB/Settings");
241 cm_msg(
MERROR,
"ccusb",
"cannot create record (%s)", set_str);
253 cm_msg(
MERROR,
"ccusb",
"cannot open record (%s)", set_str);
263 printf(
"Initializing USB device\n");
264 int ret = xxusb_devices_find(
devices);
265 printf(
"Testing first USB device; ret=%i\n",ret);
276 ret = xxusb_register_write(
udev, 1, 0x0);
279 cm_msg(
MERROR,
"ccusb",
"Error writing to CCUSB; error message = %i",ret);
305 xxusb_device_close(
udev);
342 printf(
"stack[0]:%ld\n", stack[0]);
343 for (
i = 0;
i < stack[0]+1;
i++) {
344 printf(
"stack[%i]=0x%lx\n",
i, stack[
i]);
348 ret = xxusb_stack_write(
udev, 2, stack);
351 printf(
"err on stack_write:%d\n", ret);
353 printf(
"Nbytes(ret) from stack_write:%d\n", ret);
354 for (
i = 0;
i < (ret/2);
i++) {
355 if(0) printf(
"Wstack[%i]=0x%lx\n",
i, stack[
i]);
361 ret = xxusb_stack_read(
udev, 2, stack);
363 printf(
"err on stack_read:%d\n", ret);
365 printf(
"Nbytes(ret) from stack_read:%d\n", ret);
366 for (
i = 0;
i < (ret/2);
i++) {
367 if(0) printf(
"Rstack[%i]=0x%lx\n",
i, stack[
i]);
379 printf (
"lam, trigger delay : 0x%x\n", d16);
380 ret = CAMAC_write(
udev, 25, 2, 16, d16, &
q, &x);
407 ret = xxusb_register_write(
udev, 1, 0x1);
426 int ret = xxusb_register_write(
udev, 1, 0x0);
427 printf(
"End of run Stop DAQ return:%d\n", ret);
435 if(ret > 0)
cm_msg(
MINFO,
"ccusb",
"Flushed %d events; surprising", ret);
445 xxusb_register_write(
udev, 1, 0x0);
472 xxusb_register_write(
udev, 1, 0x1);
551 ret = xxusb_bulk_read(
udev, pdata, 8192, 500);
554 int nevents = (pdata[0]& 0xfff);
557 int evtsize = (pdata[1] & 0xffff);
558 printf(
"Read data: ret:%d nd16:%d nevent:%d, evtsize:%d\n", ret, nd16, nevents, evtsize);
562 if(pdata[0] & 0x8000)
cm_msg(
MINFO,
"read_trigger_event",
"Readout last CAMAC event in run.");
573 printf(
"readout non-zero bytes from CAMAC usb\n");
#define CCUSB_SETTINGS_STR(_name)
void StackCreate(long int *stack)
int StackFill(int mode, int n, int a, int f, int d, long int *stack)
Stack builder.
#define MRAD16
Multiple Read on A D16.
void StackClose(long int *stack)
INT transition(INT run_number, char *error)
void seq_callback(INT hDB, INT hseq, void *info)
INT frontend_exit()
Frontend exit.
xxusb_device_type devices[10]
INT frontend_init()
Frontend initialization.
BOOL clear_buffer_events(int transition, BOOL first)
INT interrupt_configure(INT cmd, INT source, POINTER_T adr)
BOOL finished_clearing_buffer
CCUSB_SETTINGS tscc
Settings local structure (see OdbCCusb.h)
INT poll_event(INT source, INT count, BOOL test)
INT read_trigger_event(char *pevent, INT off)
Event readout.
char const * frontend_name
BOOL in_deferred_transition
char const * frontend_file_name
INT begin_of_run(INT run_number, char *error)
Begin of Run.
INT frontend_loop()
Frontend loop.
INT end_of_run(INT run_number, char *error)
End of Run.
INT read_scaler_event(char *pevent, INT off)
Scaler event readout.
HNDLE hSetCC
Midas equipment/<name>/Settings info handles.
INT bk_close(void *event, void *pdata)
void bk_init(void *event)
void bk_create(void *event, const char *name, WORD type, void **pdata)
INT bk_size(const void *event)
INT cm_get_experiment_database(HNDLE *hDB, HNDLE *hKeyClient)
INT cm_register_deferred_transition(INT transition, BOOL(*func)(INT, BOOL))
#define CMD_INTERRUPT_ATTACH
#define CMD_INTERRUPT_DISABLE
#define CMD_INTERRUPT_ENABLE
#define CMD_INTERRUPT_DETACH
INT ss_sleep(INT millisec)
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)
std::string strcomb1(const char **list)
INT db_get_key(HNDLE hDB, HNDLE hKey, KEY *key)
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)
static std::string q(const char *s)
#define LAM_SOURCE_STATION(s)