mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
runs, prints right in reciever
This commit is contained in:
parent
92fc837eb4
commit
dfa8cf7381
@ -11,7 +11,7 @@ option (USE_GUI "GUI" OFF)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -Wno-misleading-indentation")
|
||||
else ()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 ")
|
||||
endif ()
|
||||
|
||||
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
|
||||
|
@ -101,15 +101,15 @@ void GetData(char* metadata, char* datapointer, uint32_t datasize, void* p){
|
||||
|
||||
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
|
||||
"#### %d GetData: ####\n"
|
||||
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
|
||||
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
|
||||
"frameNumber: %lu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %lu"
|
||||
"\t\ttimestamp: %lu\t\tmodId: %u\t\t"
|
||||
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
|
||||
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
|
||||
//"\t\tpacketsMask:%s"
|
||||
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
|
||||
detectorHeader.row, (long long unsigned int)detectorHeader.frameNumber,
|
||||
detectorHeader.expLength, detectorHeader.packetNumber, (long long unsigned int)detectorHeader.bunchId,
|
||||
(long long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
|
||||
detectorHeader.row, (long unsigned int)detectorHeader.frameNumber,
|
||||
detectorHeader.expLength, detectorHeader.packetNumber, (long unsigned int)detectorHeader.bunchId,
|
||||
(long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
|
||||
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
|
||||
detectorHeader.debug, detectorHeader.roundRNumber,
|
||||
detectorHeader.detType, detectorHeader.version,
|
||||
|
@ -134,7 +134,7 @@ void Beb_Beb(int id) {
|
||||
|
||||
if (!Beb_InitBebInfos()) exit(1);
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Printing Beb infos:\n"));
|
||||
FILE_LOG(logDEBUG1, ("Printing Beb infos:\n"));
|
||||
unsigned int i;
|
||||
for(i=1;i<bebInfoSize;i++) BebInfo_Print(&beb_infos[i]);
|
||||
|
||||
@ -162,8 +162,8 @@ void Beb_GetModuleConfiguration(int* master, int* top, int* normal) {
|
||||
} else {
|
||||
//read data
|
||||
ret = Beb_Read32(csp0base, MODULE_CONFIGURATION_MASK);
|
||||
FILE_LOG(logDEBUG5, ("Module Configuration OK\n"));
|
||||
FILE_LOG(logDEBUG5, ("Beb: value =0x%x\n",ret));
|
||||
FILE_LOG(logDEBUG1, ("Module Configuration OK\n"));
|
||||
FILE_LOG(logDEBUG1, ("Beb: value =0x%x\n",ret));
|
||||
if (ret&TOP_BIT_MASK) {
|
||||
*top = 1;
|
||||
Beb_top = 1;
|
||||
@ -228,7 +228,7 @@ void Beb_EndofDataSend(int tengiga) {
|
||||
r_framepktMsbcounter = Beb_Read32(csp0base, addr_r_framepktMsbcounter);
|
||||
r_txndelaycounter = Beb_Read32(csp0base, addr_r_txndelaycounter);
|
||||
r_framedelaycounter = Beb_Read32(csp0base, addr_r_framedelaycounter);
|
||||
FILE_LOG(logDEBUG5, ("\nLeft\n"
|
||||
FILE_LOG(logDEBUG1, ("\nLeft\n"
|
||||
"FramepacketLsbcounter: %d\n"
|
||||
"FramepacketMsbcounter: %d\n"
|
||||
"Txndelaycounter:%d\n"
|
||||
@ -258,7 +258,7 @@ void Beb_EndofDataSend(int tengiga) {
|
||||
r_framepktMsbcounter_new = Beb_Read32(csp0base, addr_r_framepktMsbcounter);
|
||||
r_txndelaycounter_new = Beb_Read32(csp0base, addr_r_txndelaycounter);
|
||||
r_framedelaycounter_new = Beb_Read32(csp0base, addr_r_framedelaycounter);
|
||||
FILE_LOG(logDEBUG5, ("\nLeft\n"
|
||||
FILE_LOG(logDEBUG1, ("\nLeft\n"
|
||||
"FramepacketLsbcounter: %d\n"
|
||||
"FramepacketMsbcounter: %d\n"
|
||||
"Txndelaycounter:%d\n"
|
||||
@ -706,10 +706,10 @@ unsigned int Beb_GetBebInfoIndex(unsigned int beb_numb) {
|
||||
unsigned int i;
|
||||
for(i=1;i<bebInfoSize;i++)
|
||||
if (beb_numb==BebInfo_GetBebNumber(&beb_infos[i])) {
|
||||
FILE_LOG(logDEBUG5, ("*****found beb index:%d, for beb number:%d\n",i,beb_numb));
|
||||
FILE_LOG(logDEBUG1, ("*****found beb index:%d, for beb number:%d\n",i,beb_numb));
|
||||
return i;
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("*****Returning 0\n"));
|
||||
FILE_LOG(logDEBUG1, ("*****Returning 0\n"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -930,11 +930,11 @@ int Beb_SendMultiReadRequest(unsigned int beb_number, unsigned int left_right, i
|
||||
|
||||
|
||||
Beb_send_data[1] = 0x62000000 | (!stop_read_when_fifo_empty) << 27 | (ten_gig==1) << 24 | packet_size << 14 | dst_number << 8 | npackets;
|
||||
FILE_LOG(logDEBUG5, ("Beb_send_data[1]:%X\n",Beb_send_data[1]));
|
||||
FILE_LOG(logDEBUG1, ("Beb_send_data[1]:%X\n",Beb_send_data[1]));
|
||||
Beb_send_data[2] = 0;
|
||||
|
||||
Beb_SwapDataFun(0,2,&(Beb_send_data[1]));
|
||||
FILE_LOG(logDEBUG5, ("Beb_send_data[1] Swapped:%X\n",Beb_send_data[1]));
|
||||
FILE_LOG(logDEBUG1, ("Beb_send_data[1] Swapped:%X\n",Beb_send_data[1]));
|
||||
|
||||
if (Beb_activated) {
|
||||
if (!Beb_WriteTo(i)) return 0;
|
||||
@ -1004,8 +1004,8 @@ int Beb_RequestNImages(unsigned int beb_number, int ten_gig, unsigned int dst_nu
|
||||
|
||||
if (in_two_requests) npackets/=2;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("----Beb_RequestNImages Start----\n"));
|
||||
FILE_LOG(logDEBUG5, ("beb_number:%X, ten_gig:%X,dst_number:%X, npackets:%X, "
|
||||
FILE_LOG(logDEBUG1, ("----Beb_RequestNImages Start----\n"));
|
||||
FILE_LOG(logDEBUG1, ("beb_number:%X, ten_gig:%X,dst_number:%X, npackets:%X, "
|
||||
"Beb_bit_mode:%X, header_size:%X, nimages:%d, test_just_send_out_packets_no_wait:%X\n",
|
||||
beb_number, ten_gig, dst_number, npackets, Beb_bit_mode, header_size,
|
||||
nimages, test_just_send_out_packets_no_wait));
|
||||
@ -1051,7 +1051,7 @@ int Beb_RequestNImages(unsigned int beb_number, int ten_gig, unsigned int dst_nu
|
||||
{
|
||||
int i;
|
||||
for (i=0; i < 10; i++)
|
||||
FILE_LOG(logDEBUG5, ("%X\n",Beb_Read32(csp0base, (LEFT_OFFSET + i*4))));
|
||||
FILE_LOG(logDEBUG1, ("%X\n",Beb_Read32(csp0base, (LEFT_OFFSET + i*4))));
|
||||
}
|
||||
// Generating commands
|
||||
send_header_command = 0x62000000 | (!test_just_send_out_packets_no_wait) << 27 | (ten_gig==1) << 24 | header_size << 14 | 0;
|
||||
@ -1059,8 +1059,8 @@ int Beb_RequestNImages(unsigned int beb_number, int ten_gig, unsigned int dst_nu
|
||||
{
|
||||
int i;
|
||||
for (i=0; i < 10; i++)
|
||||
FILE_LOG(logDEBUG5, ("%X\n",Beb_Read32(csp0base, (LEFT_OFFSET + i*4))));
|
||||
FILE_LOG(logDEBUG5, ("%d\n",in_two_requests));
|
||||
FILE_LOG(logDEBUG1, ("%X\n",Beb_Read32(csp0base, (LEFT_OFFSET + i*4))));
|
||||
FILE_LOG(logDEBUG1, ("%d\n",in_two_requests));
|
||||
}
|
||||
//"0x20 << 8" is dst_number (0x00 for left, 0x20 for right)
|
||||
//Left
|
||||
@ -1088,12 +1088,12 @@ int Beb_RequestNImages(unsigned int beb_number, int ten_gig, unsigned int dst_nu
|
||||
{
|
||||
int i;
|
||||
for (i=0; i < 10; i++)
|
||||
FILE_LOG(logDEBUG5, ("%X\n",Beb_Read32(csp0base, (LEFT_OFFSET + i*4)))); //*(ptrl+i));
|
||||
FILE_LOG(logDEBUG5, ("%d\n",in_two_requests));
|
||||
FILE_LOG(logDEBUG1, ("%X\n",Beb_Read32(csp0base, (LEFT_OFFSET + i*4)))); //*(ptrl+i));
|
||||
FILE_LOG(logDEBUG1, ("%d\n",in_two_requests));
|
||||
}
|
||||
Beb_close(fd,csp0base);
|
||||
|
||||
FILE_LOG(logDEBUG5, ("----Beb_RequestNImages----\n"));
|
||||
FILE_LOG(logDEBUG1, ("----Beb_RequestNImages----\n"));
|
||||
}
|
||||
|
||||
return 1;
|
||||
@ -1268,8 +1268,8 @@ int Beb_SetDetectorPosition(int pos[]) {
|
||||
}
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logINFO, ("Position set to...\n"
|
||||
"Left: [%d, %d, %d]\n"
|
||||
"Right:[%d, %d, %d]\n",
|
||||
"\tLeft: [%d, %d, %d]\n"
|
||||
"\tRight:[%d, %d, %d]\n",
|
||||
Beb_swap_uint16(pos[0]), Beb_top ? pos[1] : (pos[1]+1), Beb_swap_uint16(pos[2]),
|
||||
Beb_swap_uint16(pos[0]), Beb_top ? (pos[1]+1) : pos[1], Beb_swap_uint16(pos[2])));
|
||||
}
|
||||
@ -1288,13 +1288,13 @@ int Beb_open(u_int32_t** csp0base, u_int32_t offset) {
|
||||
if (fd == -1) {
|
||||
FILE_LOG(logERROR, ("\nCan't find /dev/mem!\n"));
|
||||
} else {
|
||||
FILE_LOG(logDEBUG5, ("/dev/mem opened\n"));
|
||||
FILE_LOG(logDEBUG1, ("/dev/mem opened\n"));
|
||||
*csp0base = (u_int32_t*)mmap(0, BEB_MMAP_SIZE, PROT_READ|PROT_WRITE, MAP_FILE|MAP_SHARED, fd, offset);
|
||||
if (*csp0base == MAP_FAILED) {
|
||||
FILE_LOG(logERROR, ("\nCan't map memmory area!!\n"));
|
||||
fd = -1;
|
||||
}
|
||||
else FILE_LOG(logDEBUG5, ("CSP0 mapped %p\n",(void*)*csp0base));
|
||||
else FILE_LOG(logDEBUG1, ("CSP0 mapped %p\n",(void*)*csp0base));
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ int Feb_Control_Init(int master, int top, int normal, int module_num) {
|
||||
Feb_Control_module_number = (module_num & 0xFF);
|
||||
|
||||
int serial = !top;
|
||||
FILE_LOG(logDEBUG5, ("serial: %d\n",serial));
|
||||
FILE_LOG(logDEBUG1, ("serial: %d\n",serial));
|
||||
|
||||
Feb_Control_current_index = 1;
|
||||
|
||||
@ -268,7 +268,7 @@ int Feb_Control_OpenSerialCommunication() {
|
||||
FILE_LOG(logERROR, ("could not write to i2c bus\n"));
|
||||
return 0;
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Sent: %d bytes\n",n));
|
||||
FILE_LOG(logDEBUG1, ("Sent: %d bytes\n",n));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -280,9 +280,9 @@ void Feb_Control_CloseSerialCommunication() {
|
||||
|
||||
void Feb_Control_PrintModuleList() {
|
||||
unsigned int i;
|
||||
FILE_LOG(logDEBUG5, ("Module list:\n"));
|
||||
FILE_LOG(logDEBUG1, ("Module list:\n"));
|
||||
for(i=0;i<moduleSize;i++) {
|
||||
FILE_LOG(logDEBUG5, ("\t%d) %s modules: %d 0x%x %s\n", i,
|
||||
FILE_LOG(logDEBUG1, ("\t%d) %s modules: %d 0x%x %s\n", i,
|
||||
((i == 0) ? "All " : ((i == 1) ? "Master" : " ")),
|
||||
Module_GetModuleNumber(&modules[i]),
|
||||
(Module_TopAddressIsValid(&modules[i]) ?
|
||||
@ -362,19 +362,19 @@ int Feb_Control_AddModule1(unsigned int module_number, int top_enable, unsigned
|
||||
|
||||
|
||||
if (Module_TopAddressIsValid(m)&&Module_BottomAddressIsValid(m)) {
|
||||
FILE_LOG(logDEBUG5, ("\tAdding full module number %d with top and bottom "
|
||||
FILE_LOG(logDEBUG1, ("\tAdding full module number %d with top and bottom "
|
||||
"base addresses: %d %d\n",Module_GetModuleNumber(m),
|
||||
Module_GetTopBaseAddress(m),Module_GetBottomBaseAddress(m)));
|
||||
modules[moduleSize] = mod;
|
||||
moduleSize++;
|
||||
} else if (Module_TopAddressIsValid(m)) {
|
||||
FILE_LOG(logDEBUG5, ("\tAdding half module number %d with "
|
||||
FILE_LOG(logDEBUG1, ("\tAdding half module number %d with "
|
||||
"top base address: %d\n",Module_GetModuleNumber(m),
|
||||
Module_GetTopBaseAddress(m)));
|
||||
modules[moduleSize] = mod;
|
||||
moduleSize++;
|
||||
} else if (Module_BottomAddressIsValid(m)) {
|
||||
FILE_LOG(logDEBUG5, ("\tAdding half module number %d with "
|
||||
FILE_LOG(logDEBUG1, ("\tAdding half module number %d with "
|
||||
"bottom base address: %d\n",Module_GetModuleNumber(m),
|
||||
Module_GetBottomBaseAddress(m)));
|
||||
modules[moduleSize] = mod;
|
||||
@ -389,7 +389,7 @@ int Feb_Control_AddModule1(unsigned int module_number, int top_enable, unsigned
|
||||
|
||||
|
||||
int Feb_Control_CheckSetup(int master) {
|
||||
FILE_LOG(logDEBUG5, ("Checking Set up\n"));
|
||||
FILE_LOG(logDEBUG1, ("Checking Set up\n"));
|
||||
unsigned int i,j;
|
||||
int ok = 1;
|
||||
|
||||
@ -422,7 +422,7 @@ int Feb_Control_CheckSetup(int master) {
|
||||
}
|
||||
}
|
||||
/* }*/
|
||||
FILE_LOG(logDEBUG5, ("Done Checking Set up\n"));
|
||||
FILE_LOG(logDEBUG1, ("Done Checking Set up\n"));
|
||||
return ok;
|
||||
}
|
||||
|
||||
@ -526,7 +526,7 @@ int Feb_Control_SendIDelays(unsigned int dst_num, int chip_lr, unsigned int chan
|
||||
unsigned int set_right_delay_channels = chip_lr ? 0:channels;
|
||||
|
||||
|
||||
FILE_LOG(logDEBUG5, ("\tSetting delays of %s chips of dst_num %d, "
|
||||
FILE_LOG(logDEBUG1, ("\tSetting delays of %s chips of dst_num %d, "
|
||||
"tracks 0x%x to %d, %d clks and %d units.\n",
|
||||
((set_left_delay_channels != 0) ? "left" : "right"),
|
||||
dst_num, channels, (((15-delay_data_valid_nclks)<<6)|ndelay_units),
|
||||
@ -559,7 +559,7 @@ float Feb_Control_DACToVoltage(unsigned int digital,unsigned int nsteps,float vm
|
||||
|
||||
//only master gets to call this function
|
||||
int Feb_Control_SetHighVoltage(int value) {
|
||||
FILE_LOG(logDEBUG5, (" Setting High Voltage:\t"));
|
||||
FILE_LOG(logDEBUG1, (" Setting High Voltage:\t"));
|
||||
/*
|
||||
* maximum voltage of the hv dc/dc converter:
|
||||
* 300 for single module power distribution board
|
||||
@ -581,14 +581,14 @@ int Feb_Control_SetHighVoltage(int value) {
|
||||
return -1;
|
||||
}
|
||||
FILE_LOG(logINFO, ("High Voltage set to %dV\n", value));
|
||||
FILE_LOG(logDEBUG5, ("High Voltage set to (%d dac):\t%dV\n", dacval, value));
|
||||
FILE_LOG(logDEBUG1, ("High Voltage set to (%d dac):\t%dV\n", dacval, value));
|
||||
|
||||
return Feb_Control_SendHighVoltage(dacval);
|
||||
}
|
||||
|
||||
|
||||
int Feb_Control_GetHighVoltage(int* value) {
|
||||
FILE_LOG(logDEBUG5, (" Getting High Voltage:\t"));
|
||||
FILE_LOG(logDEBUG1, (" Getting High Voltage:\t"));
|
||||
unsigned int dacval = 0;
|
||||
|
||||
if (!Feb_Control_ReceiveHighVoltage(&dacval))
|
||||
@ -610,7 +610,7 @@ int Feb_Control_GetHighVoltage(int* value) {
|
||||
unsigned int nsteps = ntotalsteps*vlimit/vmax;
|
||||
*value = (int)(Feb_Control_DACToVoltage(dacval,nsteps,vmin,vlimit)+0.5);
|
||||
FILE_LOG(logINFO, ("High Voltage read %dV\n", *value));
|
||||
FILE_LOG(logDEBUG5, ("High Voltage read (%d dac)\t%dV\n", dacval, *value));
|
||||
FILE_LOG(logDEBUG1, ("High Voltage read (%d dac)\t%dV\n", dacval, *value));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -895,7 +895,7 @@ int Feb_Control_SendDACValue(unsigned int dst_num, unsigned int ch, unsigned int
|
||||
float voltage=Feb_Control_DACToVoltage(*value,4096,0,2048);
|
||||
|
||||
FILE_LOG(logINFO, ("%s set to %d (%.2fmV)\n", Module_dac_names[ch],*value,voltage));
|
||||
FILE_LOG(logDEBUG5, ("Dac number %d (%s) of dst %d set to %d (%f mV)\n",ch,Module_dac_names[ch],dst_num,*value,voltage));
|
||||
FILE_LOG(logDEBUG1, ("Dac number %d (%s) of dst %d set to %d (%f mV)\n",ch,Module_dac_names[ch],dst_num,*value,voltage));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -1099,7 +1099,7 @@ int Feb_Control_AcquisitionInProgress() {
|
||||
|
||||
//running
|
||||
if ((status_reg_r|status_reg_l)&DAQ_STATUS_DAQ_RUNNING) {
|
||||
FILE_LOG(logDEBUG5, ("**runningggg\n"));
|
||||
FILE_LOG(logDEBUG1, ("**runningggg\n"));
|
||||
return STATUS_RUNNING;
|
||||
}
|
||||
//idle
|
||||
@ -1815,7 +1815,7 @@ int Feb_Control_SetRateCorrectionTau(int64_t tau_in_Nsec) {
|
||||
|
||||
double x = Feb_Control_rate_meas[next_i] - b*4;
|
||||
double y = next_i;
|
||||
/*FILE_LOG(logDEBUG5, ("Start Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t "
|
||||
/*FILE_LOG(logDEBUG1, ("Start Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t "
|
||||
"next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n",
|
||||
x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]));*/
|
||||
|
||||
@ -1826,7 +1826,7 @@ int Feb_Control_SetRateCorrectionTau(int64_t tau_in_Nsec) {
|
||||
sy += y;
|
||||
sxx += x*x;
|
||||
sxy += x*y;
|
||||
/*FILE_LOG(logDEBUG5, ("End Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t "
|
||||
/*FILE_LOG(logDEBUG1, ("End Loop x: %f,\t y: %f,\t s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t "
|
||||
"next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n",
|
||||
x, y, s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]));*/
|
||||
}
|
||||
@ -1840,7 +1840,7 @@ int Feb_Control_SetRateCorrectionTau(int64_t tau_in_Nsec) {
|
||||
if (beforemax>ratemax) b0[b] = beforemax;
|
||||
else b0[b] = ratemax;
|
||||
}
|
||||
/*FILE_LOG(logDEBUG5, ("After Loop s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t "
|
||||
/*FILE_LOG(logDEBUG1, ("After Loop s: %f,\t sx: %f,\t sy: %f,\t sxx: %f,\t sxy: %f,\t "
|
||||
"next_i: %d,\t b: %d,\t Feb_Control_rate_meas[next_i]: %f\n",
|
||||
s, sx, sy, sxx, sxy, next_i, b, Feb_Control_rate_meas[next_i]));*/
|
||||
// cout<<s<<" "<<sx<<" "<<sy<<" "<<sxx<<" "<<" "<<sxy<<" "<<delta<<" "<<m[b]<<" "<<b0[b]<<endl;
|
||||
@ -1850,7 +1850,7 @@ int Feb_Control_SetRateCorrectionTau(int64_t tau_in_Nsec) {
|
||||
m[b] = 15;
|
||||
}
|
||||
Feb_Control_rate_correction_table[b] = (((int)(m[b]+0.5)&0xf)<<14) | ((int)(b0[b]+0.5)&0x3fff);
|
||||
/*FILE_LOG(logDEBUG5, ("After Loop 4*b: %d\tbase:%d\tslope:%d\n",4*b, (int)(b0[b]+0.5), (int)(m[b]+0.5) ));*/
|
||||
/*FILE_LOG(logDEBUG1, ("After Loop 4*b: %d\tbase:%d\tslope:%d\n",4*b, (int)(b0[b]+0.5), (int)(m[b]+0.5) ));*/
|
||||
}
|
||||
|
||||
if (Feb_Control_SetRateCorrectionTable(Feb_Control_rate_correction_table)) {
|
||||
@ -1936,7 +1936,7 @@ int Feb_Control_PrintCorrectedValues() {
|
||||
corr = delta+base;
|
||||
if (slope==15) corr= 3*slope+base;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Readout Input: %d,\tBase:%d,\tSlope:%d,\tLSB:%d,\tDelta:%d\tResult:%d\tReal:%lf\n",
|
||||
FILE_LOG(logDEBUG1, ("Readout Input: %d,\tBase:%d,\tSlope:%d,\tLSB:%d,\tDelta:%d\tResult:%d\tReal:%lf\n",
|
||||
i, base, slope, lsb, delta, corr, Feb_Control_rate_meas[i]));
|
||||
}
|
||||
return 1;
|
||||
@ -1999,13 +1999,13 @@ int Feb_Control_SoftwareTrigger() {
|
||||
|
||||
if (Feb_Control_activated) {
|
||||
// set trigger bit
|
||||
FILE_LOG(logDEBUG5, ("Setting Trigger, Register:0x%x\n",cmd));
|
||||
FILE_LOG(logDEBUG1, ("Setting Trigger, Register:0x%x\n",cmd));
|
||||
if (!Feb_Interface_WriteRegister(Feb_Control_AddressToAll(),DAQ_REG_CHIP_CMDS,cmd,0,0)) {
|
||||
FILE_LOG(logERROR, ("Could not give software trigger\n"));
|
||||
return 0;
|
||||
}
|
||||
// unset trigger bit
|
||||
FILE_LOG(logDEBUG5, ("Unsetting Trigger, Register:0x%x\n",orig_value));
|
||||
FILE_LOG(logDEBUG1, ("Unsetting Trigger, Register:0x%x\n",orig_value));
|
||||
if (!Feb_Interface_WriteRegister(Feb_Control_AddressToAll(),DAQ_REG_CHIP_CMDS,orig_value,0,0)) {
|
||||
FILE_LOG(logERROR, ("Could not give software trigger\n"));
|
||||
return 0;
|
||||
|
@ -57,7 +57,7 @@ void Feb_Interface_SendCompleteList(unsigned int n,unsigned int* list) {
|
||||
int Feb_Interface_WriteTo(unsigned int ch) {
|
||||
if (ch>0xfff) return 0;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("FIW ch %d\n", ch));
|
||||
FILE_LOG(logDEBUG1, ("FIW ch %d\n", ch));
|
||||
|
||||
Feb_Interface_send_data_raw[0] = 0x8fff0000;
|
||||
if (Local_Write(ll,4,Feb_Interface_send_data_raw)!=4) return 0;
|
||||
|
@ -10,18 +10,18 @@
|
||||
|
||||
|
||||
void Local_LocalLinkInterface1(struct LocalLinkInterface* ll,unsigned int ll_fifo_badr) {
|
||||
FILE_LOG(logDEBUG5, ("Initialize PLB LL FIFOs\n"));
|
||||
FILE_LOG(logDEBUG1, ("Initialize PLB LL FIFOs\n"));
|
||||
ll->ll_fifo_base=0;
|
||||
ll->ll_fifo_ctrl_reg=0;
|
||||
if (Local_Init(ll,ll_fifo_badr)) {
|
||||
Local_Reset(ll);
|
||||
FILE_LOG(logDEBUG5, ("\tFIFO Status : 0x%08x\n\n\n", Local_StatusVector(ll)));
|
||||
FILE_LOG(logDEBUG1, ("\tFIFO Status : 0x%08x\n\n\n", Local_StatusVector(ll)));
|
||||
} else FILE_LOG(logERROR, ("\tCould not map LocalLink : 0x%08x\n\n\n", ll_fifo_badr));
|
||||
}
|
||||
|
||||
|
||||
void Local_LocalLinkInterface(struct LocalLinkInterface* ll) {
|
||||
FILE_LOG(logDEBUG5, ("Initializing new memory\n"));
|
||||
FILE_LOG(logDEBUG1, ("Initializing new memory\n"));
|
||||
}
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ int Local_Reset(struct LocalLinkInterface* ll) {
|
||||
|
||||
int Local_Reset1(struct LocalLinkInterface* ll,unsigned int rst_mask) {
|
||||
ll->ll_fifo_ctrl_reg |= rst_mask;
|
||||
FILE_LOG(logDEBUG5, ("\tCTRL Register bits: 0x%08x\n",ll->ll_fifo_ctrl_reg));
|
||||
FILE_LOG(logDEBUG1, ("\tCTRL Register bits: 0x%08x\n",ll->ll_fifo_ctrl_reg));
|
||||
|
||||
HWIO_xfs_out32(ll->ll_fifo_base+4*PLB_LL_FIFO_REG_CTRL,ll->ll_fifo_ctrl_reg);
|
||||
HWIO_xfs_out32(ll->ll_fifo_base+4*PLB_LL_FIFO_REG_CTRL,ll->ll_fifo_ctrl_reg);
|
||||
@ -92,9 +92,9 @@ int Local_Write(struct LocalLinkInterface* ll,unsigned int buffer_len, void *buf
|
||||
last_word = (buffer_len-1)/4;
|
||||
word_ptr = (unsigned int *)buffer;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("LL Write - Len: %2d - If: %X - Data: ",buffer_len, ll->ll_fifo_base));
|
||||
FILE_LOG(logDEBUG1, ("LL Write - Len: %2d - If: %X - Data: ",buffer_len, ll->ll_fifo_base));
|
||||
for (i=0; i < buffer_len/4; i++)
|
||||
FILE_LOG(logDEBUG5, ("%.8X ",*(((unsigned *) buffer)+i)));
|
||||
FILE_LOG(logDEBUG1, ("%.8X ",*(((unsigned *) buffer)+i)));
|
||||
|
||||
while (words_send <= last_word)
|
||||
{
|
||||
@ -138,7 +138,7 @@ int Local_Read(struct LocalLinkInterface* ll,unsigned int buffer_len, void *buff
|
||||
volatile unsigned int fifo_val;
|
||||
int sof = 0;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("LL Read - If: %X - Data: ",ll->ll_fifo_base));
|
||||
FILE_LOG(logDEBUG1, ("LL Read - If: %X - Data: ",ll->ll_fifo_base));
|
||||
|
||||
word_ptr = (unsigned int *)buffer;
|
||||
do
|
||||
@ -164,7 +164,7 @@ int Local_Read(struct LocalLinkInterface* ll,unsigned int buffer_len, void *buff
|
||||
{
|
||||
if ( (buffer_len >> 2) > buffer_ptr)
|
||||
{
|
||||
FILE_LOG(logDEBUG5, ("%.8X ", fifo_val));
|
||||
FILE_LOG(logDEBUG1, ("%.8X ", fifo_val));
|
||||
word_ptr[buffer_ptr++] = fifo_val; //write to buffer
|
||||
}
|
||||
else
|
||||
@ -176,7 +176,7 @@ int Local_Read(struct LocalLinkInterface* ll,unsigned int buffer_len, void *buff
|
||||
if (status & PLB_LL_FIFO_STATUS_LL_EOF)
|
||||
{
|
||||
len = (buffer_ptr << 2) -3 + ( (status & PLB_LL_FIFO_STATUS_LL_REM)>>PLB_LL_FIFO_STATUS_LL_REM_SHIFT );
|
||||
FILE_LOG(logDEBUG5, ("Len: %d\n",len));
|
||||
FILE_LOG(logDEBUG1, ("Len: %d\n",len));
|
||||
buffer_ptr = 0;
|
||||
return len;
|
||||
}
|
||||
@ -209,7 +209,7 @@ int Local_Test(struct LocalLinkInterface* ll,unsigned int buffer_len, void *buff
|
||||
|
||||
do{
|
||||
len = Local_Read(ll,rec_buff_len,rec_buffer);
|
||||
FILE_LOG(logDEBUG5, ("receive length: %i\n",len));
|
||||
FILE_LOG(logDEBUG1, ("receive length: %i\n",len));
|
||||
|
||||
if (len > 0) {
|
||||
rec_buffer[len]=0;
|
||||
|
@ -1,9 +1,9 @@
|
||||
Path: slsDetectorPackage/slsDetectorServers/eigerDetectorServer
|
||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repsitory UUID: dfad145e1492e961c95063aa5b2f54e5e1b418a0
|
||||
Revision: 3
|
||||
Repsitory UUID: 92fc837eb490650d91c2283943cbd729b2e36567
|
||||
Revision: 6
|
||||
Branch: refactor
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 4127
|
||||
Last Changed Date: 2018-10-23 12:30:26.000000002 +0200 ./Beb.c
|
||||
Last Changed Rev: 4131
|
||||
Last Changed Date: 2018-10-29 17:14:27.000000002 +0100 ./Beb.c
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "dfad145e1492e961c95063aa5b2f54e5e1b418a0"
|
||||
#define GITREPUUID "92fc837eb490650d91c2283943cbd729b2e36567"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x4127
|
||||
#define GITDATE 0x20181023
|
||||
#define GITREV 0x4131
|
||||
#define GITDATE 0x20181029
|
||||
#define GITBRANCH "refactor"
|
||||
|
@ -306,10 +306,10 @@ void initControlServer() {
|
||||
if (Feb_Control_OpenSerialCommunication())
|
||||
;// Feb_Control_CloseSerialCommunication();
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Control server: FEB Initialization done\n"));
|
||||
FILE_LOG(logDEBUG1, ("Control server: FEB Initialization done\n"));
|
||||
Beb_Beb(detid);
|
||||
Beb_SetDetectorNumber(getDetectorNumber());
|
||||
FILE_LOG(logDEBUG5, ("Control server: BEB Initialization done\n"));
|
||||
FILE_LOG(logDEBUG1, ("Control server: BEB Initialization done\n"));
|
||||
|
||||
|
||||
setupDetector();
|
||||
@ -325,7 +325,7 @@ void initStopServer() {
|
||||
Feb_Interface_FebInterface();
|
||||
Feb_Control_FebControl();
|
||||
Feb_Control_Init(master,top,normal,getDetectorNumber());
|
||||
FILE_LOG(logDEBUG5, ("Stop server: FEB Initialization done\n"));
|
||||
FILE_LOG(logDEBUG1, ("Stop server: FEB Initialization done\n"));
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -385,10 +385,10 @@ void allocateDetectorStructureMemory() {
|
||||
detectorChans=malloc(NCHIP*NCHAN*sizeof(int));
|
||||
detectorDacs=malloc(NDAC*sizeof(int));
|
||||
detectorAdcs=malloc(NADC*sizeof(int));
|
||||
FILE_LOG(logDEBUG5, ("modules from 0x%x to 0x%x\n",detectorModules, detectorModules));
|
||||
FILE_LOG(logDEBUG5, ("chans from 0x%x to 0x%x\n",detectorChans, detectorChans));
|
||||
FILE_LOG(logDEBUG5, ("dacs from 0x%x to 0x%x\n",detectorDacs, detectorDacs));
|
||||
FILE_LOG(logDEBUG5, ("adcs from 0x%x to 0x%x\n",detectorAdcs, detectorAdcs));
|
||||
FILE_LOG(logDEBUG1, ("modules from 0x%x to 0x%x\n",detectorModules, detectorModules));
|
||||
FILE_LOG(logDEBUG1, ("chans from 0x%x to 0x%x\n",detectorChans, detectorChans));
|
||||
FILE_LOG(logDEBUG1, ("dacs from 0x%x to 0x%x\n",detectorDacs, detectorDacs));
|
||||
FILE_LOG(logDEBUG1, ("adcs from 0x%x to 0x%x\n",detectorAdcs, detectorAdcs));
|
||||
(detectorModules)->dacs=detectorDacs;
|
||||
(detectorModules)->adcs=detectorAdcs;
|
||||
(detectorModules)->chanregs=detectorChans;
|
||||
@ -455,7 +455,7 @@ void setupDetector() {
|
||||
#ifndef VIRTUAL
|
||||
Feb_Control_CheckSetup();
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5, ("Setup detector done\n\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setup detector done\n\n"));
|
||||
}
|
||||
|
||||
|
||||
@ -491,7 +491,7 @@ int setDynamicRange(int dr) {
|
||||
return eiger_dynamicrange;
|
||||
#else
|
||||
if (dr > 0) {
|
||||
FILE_LOG(logDEBUG5, ("Setting dynamic range: %d\n", dr));
|
||||
FILE_LOG(logDEBUG1, ("Setting dynamic range: %d\n", dr));
|
||||
if (Feb_Control_SetDynamicRange(dr)) {
|
||||
|
||||
//EigerSetBitMode(dr);
|
||||
@ -518,7 +518,7 @@ int setDynamicRange(int dr) {
|
||||
enum speedVariable setSpeed(int val) {
|
||||
|
||||
if (val != -1) {
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Speed: %d\n", val));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Speed: %d\n", val));
|
||||
#ifndef VIRTUAL
|
||||
if (Feb_Control_SetReadoutSpeed(val))
|
||||
#endif
|
||||
@ -538,15 +538,15 @@ enum readOutFlags setReadOutFlags(enum readOutFlags val) {
|
||||
switch(val) {
|
||||
case PARALLEL:
|
||||
val=E_PARALLEL;
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Flag: Parallel\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Flag: Parallel\n"));
|
||||
break;
|
||||
case NONPARALLEL:
|
||||
val=E_NON_PARALLEL;
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Flag: Non Parallel\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Flag: Non Parallel\n"));
|
||||
break;
|
||||
case SAFE:
|
||||
val=E_SAFE;
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Flag: Safe\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Flag: Safe\n"));
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -567,11 +567,11 @@ enum readOutFlags setReadOutFlags(enum readOutFlags val) {
|
||||
switch(val) {
|
||||
case SHOW_OVERFLOW:
|
||||
val=1;
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Flag: Overflow in 32 bit mode\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Flag: Overflow in 32 bit mode\n"));
|
||||
break;
|
||||
case NOOVERFLOW:
|
||||
val=0;
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Flag: No overflow in 32 bit mode\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Flag: No overflow in 32 bit mode\n"));
|
||||
break;
|
||||
default:
|
||||
FILE_LOG(logERROR, ("Cannot set unknown readout flag. 0x%x\n", val));
|
||||
@ -591,11 +591,11 @@ enum readOutFlags setReadOutFlags(enum readOutFlags val) {
|
||||
switch(val) {
|
||||
case STORE_IN_RAM:
|
||||
val=1;
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Flag: Store in Ram\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Flag: Store in Ram\n"));
|
||||
break;
|
||||
case CONTINOUS_RO:
|
||||
val=0;
|
||||
FILE_LOG(logDEBUG5, ("Setting Read out Flag: Continuous Readout\n"));
|
||||
FILE_LOG(logDEBUG1, ("Setting Read out Flag: Continuous Readout\n"));
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -638,7 +638,7 @@ enum readOutFlags setReadOutFlags(enum readOutFlags val) {
|
||||
break;
|
||||
}
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Read out Flag: 0x%x\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Read out Flag: 0x%x\n", retval));
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -659,7 +659,7 @@ int64_t setTimer(enum timerIndex ind, int64_t val) {
|
||||
switch(ind) {
|
||||
case FRAME_NUMBER:
|
||||
if (val >= 0) {
|
||||
FILE_LOG(logDEBUG5, ("Setting number of frames: %d * %d\n", (unsigned int)val, eiger_ncycles));
|
||||
FILE_LOG(logDEBUG1, ("Setting number of frames: %d * %d\n", (unsigned int)val, eiger_ncycles));
|
||||
#ifndef VIRTUAL
|
||||
if (Feb_Control_SetNExposures((unsigned int)val*eiger_ncycles)) {
|
||||
eiger_nexposures = val;
|
||||
@ -678,7 +678,7 @@ int64_t setTimer(enum timerIndex ind, int64_t val) {
|
||||
|
||||
case ACQUISITION_TIME:
|
||||
if (val >= 0) {
|
||||
FILE_LOG(logDEBUG5, ("Setting exp time: %fs\n", val/(1E9)));
|
||||
FILE_LOG(logDEBUG1, ("Setting exp time: %fs\n", val/(1E9)));
|
||||
#ifndef VIRTUAL
|
||||
Feb_Control_SetExposureTime(val/(1E9));
|
||||
#else
|
||||
@ -693,7 +693,7 @@ int64_t setTimer(enum timerIndex ind, int64_t val) {
|
||||
|
||||
case SUBFRAME_ACQUISITION_TIME:
|
||||
if (val >= 0) {
|
||||
FILE_LOG(logDEBUG5, ("Setting sub exp time: %lldns\n", (long long int)val));
|
||||
FILE_LOG(logDEBUG1, ("Setting sub exp time: %lldns\n", (long long int)val));
|
||||
#ifndef VIRTUAL
|
||||
// calculate subdeadtime before settings subexptime
|
||||
subdeadtime = Feb_Control_GetSubFramePeriod() -
|
||||
@ -743,7 +743,7 @@ int64_t setTimer(enum timerIndex ind, int64_t val) {
|
||||
|
||||
case FRAME_PERIOD:
|
||||
if (val >= 0) {
|
||||
FILE_LOG(logDEBUG5, ("Setting acq period: %fs\n", val/(1E9)));
|
||||
FILE_LOG(logDEBUG1, ("Setting acq period: %fs\n", val/(1E9)));
|
||||
#ifndef VIRTUAL
|
||||
Feb_Control_SetExposurePeriod(val/(1E9));
|
||||
#else
|
||||
@ -758,7 +758,7 @@ int64_t setTimer(enum timerIndex ind, int64_t val) {
|
||||
|
||||
case CYCLES_NUMBER:
|
||||
if (val >= 0) {
|
||||
FILE_LOG(logDEBUG5, ("Setting number of triggers: %d * %d\n",
|
||||
FILE_LOG(logDEBUG1, ("Setting number of triggers: %d * %d\n",
|
||||
(unsigned int)val,eiger_nexposures));
|
||||
#ifndef VIRTUAL
|
||||
if (Feb_Control_SetNExposures((unsigned int)val*eiger_nexposures)) {
|
||||
@ -1005,7 +1005,7 @@ int setThresholdEnergy(int ev) {
|
||||
/* parameters - dac, adc, hv */
|
||||
|
||||
void setDAC(enum DACINDEX ind, int val, int mV, int retval[]) {
|
||||
FILE_LOG(logDEBUG5, ("Going to set dac %d to %d with mv mode %d \n", (int)ind, val, mV));
|
||||
FILE_LOG(logDEBUG1, ("Going to set dac %d to %d with mv mode %d \n", (int)ind, val, mV));
|
||||
if (ind == VTHRESHOLD) {
|
||||
int ret[5];
|
||||
setDAC(VCMP_LL,val,mV,retval);
|
||||
@ -1040,7 +1040,7 @@ void setDAC(enum DACINDEX ind, int val, int mV, int retval[]) {
|
||||
FILE_LOG(logINFO, ("dac value outside range:%d\n",(int)ind));
|
||||
strcpy(iname,dac_names[0]);
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("%s dac %d: %s to %d %s\n",
|
||||
FILE_LOG(logDEBUG1, ("%s dac %d: %s to %d %s\n",
|
||||
(val >= 0) ? "Setting" : "Getting",
|
||||
ind, iname, val,
|
||||
mV ? "mV" : "dac units"));
|
||||
@ -1166,7 +1166,7 @@ void setTiming( enum externalCommunicationMode arg) {
|
||||
case BURST_TRIGGER: ret = 1; break;
|
||||
case GATE_FIX_NUMBER: ret = 3; break;
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Setting Triggering Mode: %d\n", (int)ret));
|
||||
FILE_LOG(logDEBUG1, ("Setting Triggering Mode: %d\n", (int)ret));
|
||||
#ifndef VIRTUAL
|
||||
if (Feb_Control_SetTriggerMode(ret,1))
|
||||
#endif
|
||||
@ -1216,10 +1216,10 @@ int configureMAC(uint32_t destip, uint64_t destmac, uint64_t sourcemac, uint32_t
|
||||
|
||||
|
||||
FILE_LOG(logINFO, ("src_port:%d\n"
|
||||
"src_ip:%s\n"
|
||||
"dst_ip:%s\n"
|
||||
"src_mac:%s\n"
|
||||
"dst_mac:%s\n",
|
||||
"\tsrc_ip:%s\n"
|
||||
"\tdst_ip:%s\n"
|
||||
"\tsrc_mac:%s\n"
|
||||
"\tdst_mac:%s\n",
|
||||
src_port, src_ip, dst_ip, src_mac, dst_mac));
|
||||
|
||||
|
||||
@ -1229,7 +1229,7 @@ int configureMAC(uint32_t destip, uint64_t destmac, uint64_t sourcemac, uint32_t
|
||||
if (!top)
|
||||
dst_port = udpport2;
|
||||
|
||||
FILE_LOG(logINFO, ("dst_port:%d\n", dst_port));
|
||||
FILE_LOG(logINFO, ("\tdst_port:%d\n", dst_port));
|
||||
|
||||
int i=0;
|
||||
/* for(i=0;i<32;i++) { modified for Aldo*/
|
||||
@ -1282,7 +1282,7 @@ int setDetectorPosition(int pos[]) {
|
||||
|
||||
int setIODelay(int val) {
|
||||
if (val!=-1) {
|
||||
FILE_LOG(logDEBUG5, ("Setting IO Delay: %d\n",val));
|
||||
FILE_LOG(logDEBUG1, ("Setting IO Delay: %d\n",val));
|
||||
#ifndef VIRTUAL
|
||||
if (Feb_Control_SetIDelays(Feb_Control_GetModuleNumber(),val))
|
||||
#endif
|
||||
@ -1788,7 +1788,7 @@ int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod) {
|
||||
int idac, ichan, iadc;
|
||||
int ret=OK;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Copying module %x to module %x\n",srcMod,destMod));
|
||||
FILE_LOG(logDEBUG1, ("Copying module %x to module %x\n",srcMod,destMod));
|
||||
|
||||
if (srcMod->serialnumber>=0) {
|
||||
|
||||
@ -1808,9 +1808,9 @@ int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod) {
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
FILE_LOG(logDEBUG5, ("DACs: src %d, dest %d\n",srcMod->ndac,destMod->ndac));
|
||||
FILE_LOG(logDEBUG5, ("ADCs: src %d, dest %d\n",srcMod->nadc,destMod->nadc));
|
||||
FILE_LOG(logDEBUG5, ("Chans: src %d, dest %d\n",srcMod->nchan,destMod->nchan));
|
||||
FILE_LOG(logDEBUG1, ("DACs: src %d, dest %d\n",srcMod->ndac,destMod->ndac));
|
||||
FILE_LOG(logDEBUG1, ("ADCs: src %d, dest %d\n",srcMod->nadc,destMod->nadc));
|
||||
FILE_LOG(logDEBUG1, ("Chans: src %d, dest %d\n",srcMod->nchan,destMod->nchan));
|
||||
destMod->ndac=srcMod->ndac;
|
||||
destMod->nadc=srcMod->nadc;
|
||||
destMod->nchip=srcMod->nchip;
|
||||
@ -1823,7 +1823,7 @@ int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod) {
|
||||
destMod->tau=srcMod->tau;
|
||||
if (srcMod->eV>=0)
|
||||
destMod->eV=srcMod->eV;
|
||||
FILE_LOG(logDEBUG5, ("Copying register %x (%x)\n",destMod->reg,srcMod->reg ));
|
||||
FILE_LOG(logDEBUG1, ("Copying register %x (%x)\n",destMod->reg,srcMod->reg ));
|
||||
|
||||
if (destMod->nchan!=0) {
|
||||
for (ichan=0; ichan<(srcMod->nchan); ichan++) {
|
||||
|
@ -95,7 +95,7 @@ int bindSocket(unsigned short int port_number) {
|
||||
// success
|
||||
myport = port_number;
|
||||
ret = OK;
|
||||
FILE_LOG(logDEBUG5, ("%s socket bound: isock=%d, port=%d, fd=%d\n",
|
||||
FILE_LOG(logDEBUG1, ("%s socket bound: isock=%d, port=%d, fd=%d\n",
|
||||
(isControlServer ? "Control":"Stop"), isock, port_number, socketDescriptor));
|
||||
|
||||
}
|
||||
@ -136,7 +136,7 @@ int acceptConnection(int socketDescriptor) {
|
||||
|
||||
// timeout
|
||||
if (result == 0) {
|
||||
FILE_LOG(logDEBUG5, ("%s socket select() timed out!\n",
|
||||
FILE_LOG(logDEBUG1, ("%s socket select() timed out!\n",
|
||||
(isControlServer ? "control":"stop"), myport));
|
||||
}
|
||||
|
||||
@ -148,14 +148,14 @@ int acceptConnection(int socketDescriptor) {
|
||||
|
||||
// activity in descriptor set
|
||||
else if (result > 0) {
|
||||
FILE_LOG(logDEBUG5, ("%s select returned!\n", (isControlServer ? "control":"stop")));
|
||||
FILE_LOG(logDEBUG1, ("%s select returned!\n", (isControlServer ? "control":"stop")));
|
||||
|
||||
// loop through the file descriptor set
|
||||
for (j = 0; j < maxfd + 1; ++j) {
|
||||
|
||||
// checks if file descriptor part of set
|
||||
if (FD_ISSET(j, &tempset)) {
|
||||
FILE_LOG(logDEBUG5, ("fd %d is set\n",j));
|
||||
FILE_LOG(logDEBUG1, ("fd %d is set\n",j));
|
||||
|
||||
// clear the temporary set
|
||||
FD_CLR(j, &tempset);
|
||||
@ -216,7 +216,7 @@ int acceptConnection(int socketDescriptor) {
|
||||
// accept success
|
||||
else {
|
||||
inet_ntop(AF_INET, &(addressC.sin_addr), dummyClientIP, INET_ADDRSTRLEN);
|
||||
FILE_LOG(logDEBUG5, ("%s socket accepted connection, fd= %d\n",
|
||||
FILE_LOG(logDEBUG1, ("%s socket accepted connection, fd= %d\n",
|
||||
(isControlServer ? "control":"stop"), file_des));
|
||||
// add the file descriptor from accept
|
||||
FD_SET(file_des, &readset);
|
||||
@ -244,7 +244,7 @@ void closeConnection(int file_des) {
|
||||
void exitServer(int socketDescriptor) {
|
||||
if (socketDescriptor >= 0)
|
||||
close(socketDescriptor);
|
||||
FILE_LOG(logDEBUG5, ("Closing %s server\n", (isControlServer ? "control":"stop")));
|
||||
FILE_LOG(logDEBUG1, ("Closing %s server\n", (isControlServer ? "control":"stop")));
|
||||
FD_CLR(socketDescriptor, &readset);
|
||||
isock--;
|
||||
}
|
||||
@ -320,7 +320,7 @@ int receiveDataOnly(int file_des, void* buf,int length) {
|
||||
int nreceiving;
|
||||
int nreceived;
|
||||
if (file_des<0) return -1;
|
||||
FILE_LOG(logDEBUG5, ("want to receive %d Bytes to %s server\n",
|
||||
FILE_LOG(logDEBUG1, ("want to receive %d Bytes to %s server\n",
|
||||
length, (isControlServer ? "control":"stop")));
|
||||
|
||||
while(length > 0) {
|
||||
@ -381,7 +381,7 @@ int sendModule(int file_des, sls_detector_module *myMod) {
|
||||
n = sendData(file_des,myMod->chanregs, sizeof(int) * (myMod->nchan), INT32);
|
||||
if (!n) return -1; ts += n;
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5, ("module of size %d sent register %x\n", ts, myMod->reg));
|
||||
FILE_LOG(logDEBUG1, ("module of size %d sent register %x\n", ts, myMod->reg));
|
||||
return ts;
|
||||
}
|
||||
|
||||
@ -439,7 +439,7 @@ int receiveModule(int file_des, sls_detector_module* myMod) {
|
||||
n = receiveData(file_des,&(myMod->chanregs), sizeof(int) * (myMod->nchan), INT32);
|
||||
if (!n) return -1; ts += n;
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5, ("received module of size %d register %x\n",ts,myMod->reg));
|
||||
FILE_LOG(logDEBUG1, ("received module of size %d register %x\n",ts,myMod->reg));
|
||||
return ts;
|
||||
}
|
||||
|
||||
|
@ -72,7 +72,7 @@ int main(int argc, char *argv[]){
|
||||
for (i = 0; i < argc; ++i)
|
||||
sprintf(cmd, "%s %s", cmd, argv[i]);
|
||||
sprintf(cmd,"%s -stopserver&", cmd);
|
||||
FILE_LOG(logDEBUG5, ("Command to start stop server:%s\n", cmd));
|
||||
FILE_LOG(logDEBUG1, ("Command to start stop server:%s\n", cmd));
|
||||
system(cmd);
|
||||
}
|
||||
#endif
|
||||
|
@ -84,11 +84,11 @@ int decode_function(int file_des) {
|
||||
|
||||
int n = receiveData(file_des,&fnum,sizeof(fnum),INT32);
|
||||
if (n <= 0) {
|
||||
FILE_LOG(logDEBUG5, ("ERROR reading from socket n=%d, fnum=%d, file_des=%d, fname=%s\n",
|
||||
FILE_LOG(logDEBUG3, ("ERROR reading from socket n=%d, fnum=%d, file_des=%d, fname=%s\n",
|
||||
n, fnum, file_des, getFunctionName((enum detFuncs)fnum)));
|
||||
return FAIL;
|
||||
} else
|
||||
FILE_LOG(logDEBUG5, ("Received %d bytes\n", n ));
|
||||
FILE_LOG(logDEBUG3, ("Received %d bytes\n", n ));
|
||||
|
||||
// jungfrau in programming mode
|
||||
#ifdef JUNGFRAUD
|
||||
@ -106,14 +106,15 @@ int decode_function(int file_des) {
|
||||
FILE_LOG(logERROR, ("Unknown function enum %d\n", fnum));
|
||||
ret=(M_nofunc)(file_des);
|
||||
} else {
|
||||
FILE_LOG(logDEBUG5, (" calling function fnum=%d, (%s)\n",
|
||||
FILE_LOG(logDEBUG1, (" calling function fnum=%d, (%s)\n",
|
||||
fnum, getFunctionName((enum detFuncs)fnum)));
|
||||
ret = (*flist[fnum])(file_des);
|
||||
|
||||
if (ret == FAIL) {
|
||||
FILE_LOG(logDEBUG5, ("Error executing the function = %d (%s)\n",
|
||||
FILE_LOG(logDEBUG1, ("Error executing the function = %d (%s)\n",
|
||||
fnum, getFunctionName((enum detFuncs)fnum)));
|
||||
}
|
||||
} else FILE_LOG(logDEBUG1, ("Function (%s) executed ok\n",
|
||||
getFunctionName((enum detFuncs)fnum)));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -252,7 +253,7 @@ void function_table() {
|
||||
|
||||
int iloop = 0;
|
||||
for (iloop = 0; iloop < NUM_DET_FUNCTIONS ; ++iloop) {
|
||||
FILE_LOG(logDEBUG5, ("function fnum=%d, (%s) located at 0x%x\n", iloop,
|
||||
FILE_LOG(logDEBUG1, ("function fnum=%d, (%s) located at 0x%x\n", iloop,
|
||||
getFunctionName((enum detFuncs)iloop), (unsigned int)flist[iloop]));
|
||||
}
|
||||
}
|
||||
@ -373,7 +374,7 @@ int get_detector_type(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
enum detectorType retval = myDetectorType;
|
||||
FILE_LOG(logDEBUG5,("Returning detector type %d\n", retval));
|
||||
FILE_LOG(logDEBUG1,("Returning detector type %d\n", retval));
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
@ -392,7 +393,7 @@ int set_external_signal_flag(int file_des) {
|
||||
|
||||
int signalindex = args[0];
|
||||
enum externalSignalFlag flag = args[1];
|
||||
FILE_LOG(logDEBUG5, ("Setting external signal %d to flag %d\n", signalindex, flag));
|
||||
FILE_LOG(logDEBUG1, ("Setting external signal %d to flag %d\n", signalindex, flag));
|
||||
|
||||
#ifndef GOTTHARDD
|
||||
functionNotImplemented();
|
||||
@ -404,7 +405,7 @@ int set_external_signal_flag(int file_des) {
|
||||
// get
|
||||
retval = getExtSignal(signalindex);
|
||||
validate((int)flag, (int)retval, "set external signal flag", 1);
|
||||
FILE_LOG(logDEBUG5, ("External Signal Flag: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("External Signal Flag: %d\n", retval));
|
||||
}
|
||||
#endif
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
@ -421,7 +422,7 @@ int set_external_communication_mode(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting external communication mode to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting external communication mode to %d\n", arg));
|
||||
|
||||
// set
|
||||
if ((arg != GET_EXTERNAL_COMMUNICATION_MODE) && (Server_VerifyLock() == OK)) {
|
||||
@ -442,7 +443,7 @@ int set_external_communication_mode(int file_des) {
|
||||
// get
|
||||
retval = getTiming();
|
||||
validate((int)arg, (int)retval, "set timing mode", 0);
|
||||
FILE_LOG(logDEBUG5, ("Timing Mode: %d\n",retval));
|
||||
FILE_LOG(logDEBUG1, ("Timing Mode: %d\n",retval));
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
@ -457,7 +458,7 @@ int get_id(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Getting Id %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Getting Id %d\n", arg));
|
||||
|
||||
// get
|
||||
switch (arg) {
|
||||
@ -468,7 +469,7 @@ int get_id(int file_des) {
|
||||
case DETECTOR_FIRMWARE_VERSION:
|
||||
case DETECTOR_SOFTWARE_VERSION:
|
||||
retval = getDetectorId(arg);
|
||||
FILE_LOG(logDEBUG5, ("Id(%d): %lld\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Id(%d): %lld\n", retval));
|
||||
break;
|
||||
default:
|
||||
modeNotImplemented("ID Index", (int)arg);
|
||||
@ -492,9 +493,9 @@ int digital_test(int file_des) {
|
||||
enum digitalTestMode mode = args[0];
|
||||
#ifdef GOTTHARDD
|
||||
int ival = args[1];
|
||||
FILE_LOG(logDEBUG5, ("Digital test, mode = %d, ival:%d\n", mode, ival));
|
||||
FILE_LOG(logDEBUG1, ("Digital test, mode = %d, ival:%d\n", mode, ival));
|
||||
#else
|
||||
FILE_LOG(logDEBUG5, ("Digital test, mode = %d\n", mode));
|
||||
FILE_LOG(logDEBUG1, ("Digital test, mode = %d\n", mode));
|
||||
#endif
|
||||
|
||||
#ifdef EIGERD
|
||||
@ -505,7 +506,7 @@ int digital_test(int file_des) {
|
||||
switch (mode) {
|
||||
#ifdef GOTTHARDD
|
||||
case DIGITAL_BIT_TEST:
|
||||
FILE_LOG(logDEBUG5, ("Setting digital test bit: %d\n", ival));
|
||||
FILE_LOG(logDEBUG1, ("Setting digital test bit: %d\n", ival));
|
||||
if (ival >= 0)
|
||||
digitalTestBit = (ival > 0) ? 1 : 0;
|
||||
retval = digitalTestBit;
|
||||
@ -514,7 +515,7 @@ int digital_test(int file_des) {
|
||||
case DETECTOR_FIRMWARE_TEST:
|
||||
case DETECTOR_BUS_TEST:
|
||||
retval = detectorTest(mode);
|
||||
FILE_LOG(logDEBUG5, ("Digital Test (%d): %d\n", mode, retval));
|
||||
FILE_LOG(logDEBUG1, ("Digital Test (%d): %d\n", mode, retval));
|
||||
break;
|
||||
default:
|
||||
modeNotImplemented("Digital Test Mode", (int)mode);
|
||||
@ -630,7 +631,7 @@ int set_dac(int file_des) {
|
||||
// index exists
|
||||
if (ret == OK) {
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Setting DAC %d to %d %s\n", serverDacIndex, val,
|
||||
FILE_LOG(logDEBUG1, ("Setting DAC %d to %d %s\n", serverDacIndex, val,
|
||||
(mV ? "mV" : "dac units")));
|
||||
|
||||
// set & get
|
||||
@ -641,7 +642,7 @@ int set_dac(int file_des) {
|
||||
#ifdef EIGERD
|
||||
case IO_DELAY:
|
||||
retval[0] = setIODelay(val);
|
||||
FILE_LOG(logDEBUG5, ("IODelay: %d\n", retval[0]));
|
||||
FILE_LOG(logDEBUG1, ("IODelay: %d\n", retval[0]));
|
||||
break;
|
||||
#endif
|
||||
|
||||
@ -649,7 +650,7 @@ int set_dac(int file_des) {
|
||||
case HV_POT:
|
||||
case HV_NEW:
|
||||
retval[0] = setHighVoltage(val);
|
||||
FILE_LOG(logDEBUG5, ("High Voltage: %d\n", retval[0]));
|
||||
FILE_LOG(logDEBUG1, ("High Voltage: %d\n", retval[0]));
|
||||
#ifdef EIGERD
|
||||
if ((retval[0] != SLAVE_HIGH_VOLTAGE_READ_VAL) && (retval[0] < 0)) {
|
||||
ret = FAIL;
|
||||
@ -704,7 +705,7 @@ int set_dac(int file_des) {
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Dac (%d): %d dac units and %d mV\n", serverDacIndex, retval[0], retval[1]));
|
||||
FILE_LOG(logDEBUG1, ("Dac (%d): %d dac units and %d mV\n", serverDacIndex, retval[0], retval[1]));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -769,9 +770,9 @@ int get_adc(int file_des) {
|
||||
|
||||
// valid index
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logDEBUG5, ("Getting ADC %d\n", serverAdcIndex));
|
||||
FILE_LOG(logDEBUG1, ("Getting ADC %d\n", serverAdcIndex));
|
||||
retval = getADC(serverAdcIndex);
|
||||
FILE_LOG(logDEBUG5, ("ADC(%d): %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("ADC(%d): %d\n", retval));
|
||||
}
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
}
|
||||
@ -790,7 +791,7 @@ int write_register(int file_des) {
|
||||
return printSocketReadError();
|
||||
uint32_t addr = args[0];
|
||||
uint32_t val = args[1];
|
||||
FILE_LOG(logDEBUG5, ("Writing to register 0x%x, data 0x%x\n", addr, val));
|
||||
FILE_LOG(logDEBUG1, ("Writing to register 0x%x, data 0x%x\n", addr, val));
|
||||
|
||||
// only set
|
||||
if (Server_VerifyLock() == OK) {
|
||||
@ -801,7 +802,7 @@ int write_register(int file_des) {
|
||||
sprintf(mess,"Could not write to register 0x%x. Wrote 0x%x but read 0x%x\n", addr, val, retval);
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Write register (0x%x): 0x%x\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Write register (0x%x): 0x%x\n", retval));
|
||||
}
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
}
|
||||
@ -819,11 +820,11 @@ int read_register(int file_des) {
|
||||
if (receiveData(file_des, &addr, sizeof(addr), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Reading from register 0x%x\n", addr));
|
||||
FILE_LOG(logDEBUG1, ("Reading from register 0x%x\n", addr));
|
||||
|
||||
// get
|
||||
retval = readRegister(addr);
|
||||
FILE_LOG(logDEBUG5, ("Read register (0x%x): 0x%x\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Read register (0x%x): 0x%x\n", retval));
|
||||
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
}
|
||||
@ -892,7 +893,7 @@ int set_module(int file_des) {
|
||||
if (myAdc != NULL) free(myAdc);
|
||||
return printSocketReadError();
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("module register is %d, nchan %d, nchip %d, "
|
||||
FILE_LOG(logDEBUG1, ("module register is %d, nchan %d, nchip %d, "
|
||||
"ndac %d, nadc %d, iodelay %d, tau %d, eV %d\n",
|
||||
module.reg, module.nchan, module.nchip,
|
||||
module.ndac, module.nadc, module.iodelay, module.tau, module.eV));
|
||||
@ -944,7 +945,7 @@ int set_module(int file_des) {
|
||||
ret = setModule(module, mess);
|
||||
retval = getSettings();
|
||||
validate(module.reg, (int)retval, "set module (settings)", 0);
|
||||
FILE_LOG(logDEBUG5, ("Settings: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Settings: %d\n", retval));
|
||||
}
|
||||
if (myChan != NULL) free(myChan);
|
||||
if (myDac != NULL) free(myDac);
|
||||
@ -1010,9 +1011,9 @@ int get_module(int file_des) {
|
||||
module.nadc = getNumberOfADCs();
|
||||
|
||||
// only get
|
||||
FILE_LOG(logDEBUG5, ("Getting module\n"));
|
||||
FILE_LOG(logDEBUG1, ("Getting module\n"));
|
||||
getModule(&module);
|
||||
FILE_LOG(logDEBUG5, ("Getting module. Settings:%d\n", module.reg));
|
||||
FILE_LOG(logDEBUG1, ("Getting module. Settings:%d\n", module.reg));
|
||||
}
|
||||
|
||||
Server_SendResult(file_des, INT32, 1, NULL, 0);
|
||||
@ -1040,7 +1041,7 @@ int set_settings(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &isett, sizeof(isett), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting settings %d\n", isett));
|
||||
FILE_LOG(logDEBUG1, ("Setting settings %d\n", isett));
|
||||
|
||||
//set & get
|
||||
if ((isett == GET_SETTINGS) || ((isett != GET_SETTINGS) && (Server_VerifyLock() == OK))) {
|
||||
@ -1076,7 +1077,7 @@ int set_settings(int file_des) {
|
||||
// if index is okay, set & get
|
||||
if (ret == OK) {
|
||||
retval = setSettings(isett);
|
||||
FILE_LOG(logDEBUG5, ("Settings: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Settings: %d\n", retval));
|
||||
validate((int)isett, (int)retval, "set settings", 0);
|
||||
#if defined(JUNGFRAUD) || defined (GOTTHARDD)
|
||||
if (ret == OK && isett >= 0) {
|
||||
@ -1101,13 +1102,13 @@ int get_threshold_energy(int file_des) {
|
||||
memset(mess, 0, sizeof(mess));
|
||||
int retval = -1;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Getting Threshold energy\n"));
|
||||
FILE_LOG(logDEBUG1, ("Getting Threshold energy\n"));
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
#else
|
||||
// only get
|
||||
retval = getThresholdEnergy();
|
||||
FILE_LOG(logDEBUG5, ("Threshold energy: %d eV\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Threshold energy: %d eV\n", retval));
|
||||
#endif
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
}
|
||||
@ -1121,7 +1122,7 @@ int start_acquisition(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Starting Acquisition\n"));
|
||||
FILE_LOG(logDEBUG1, ("Starting Acquisition\n"));
|
||||
// only set
|
||||
if (Server_VerifyLock() == OK) {
|
||||
ret = startStateMachine();
|
||||
@ -1129,7 +1130,7 @@ int start_acquisition(int file_des) {
|
||||
sprintf(mess, "Could not start acquisition\n");
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Starting Acquisition ret: %d\n", ret));
|
||||
FILE_LOG(logDEBUG1, ("Starting Acquisition ret: %d\n", ret));
|
||||
}
|
||||
return Server_SendResult(file_des, INT32, 1, NULL, 0);
|
||||
}
|
||||
@ -1140,7 +1141,7 @@ int stop_acquisition(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Stopping Acquisition\n"));
|
||||
FILE_LOG(logDEBUG1, ("Stopping Acquisition\n"));
|
||||
// only set
|
||||
if (Server_VerifyLock() == OK) {
|
||||
ret = stopStateMachine();
|
||||
@ -1148,7 +1149,7 @@ int stop_acquisition(int file_des) {
|
||||
sprintf(mess, "Could not stop acquisition\n");
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Stopping Acquisition ret: %d\n", ret));
|
||||
FILE_LOG(logDEBUG1, ("Stopping Acquisition ret: %d\n", ret));
|
||||
}
|
||||
return Server_SendResult(file_des, INT32, 1, NULL, 0);
|
||||
}
|
||||
@ -1161,7 +1162,7 @@ int start_readout(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Starting readout\n"));
|
||||
FILE_LOG(logDEBUG1, ("Starting readout\n"));
|
||||
#ifdef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
#else
|
||||
@ -1172,7 +1173,7 @@ int start_readout(int file_des) {
|
||||
sprintf(mess, "Could not start readout\n");
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Starting readout ret: %d\n", ret));
|
||||
FILE_LOG(logDEBUG1, ("Starting readout ret: %d\n", ret));
|
||||
}
|
||||
#endif
|
||||
return Server_SendResult(file_des, INT32, 1, NULL, 0);
|
||||
@ -1188,10 +1189,10 @@ int get_run_status(int file_des) {
|
||||
memset(mess, 0, sizeof(mess));
|
||||
enum runStatus retval = ERROR;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Getting status\n"));
|
||||
FILE_LOG(logDEBUG1, ("Getting status\n"));
|
||||
// only get
|
||||
retval = getRunStatus();
|
||||
FILE_LOG(logDEBUG5, ("Status: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Status: %d\n", retval));
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
@ -1203,9 +1204,9 @@ int start_and_read_all(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Starting Acquisition and read all frames\n"));
|
||||
FILE_LOG(logDEBUG1, ("Starting Acquisition and read all frames\n"));
|
||||
// start state machine
|
||||
FILE_LOG(logDEBUG5, ("Stopping Acquisition\n"));
|
||||
FILE_LOG(logDEBUG1, ("Stopping Acquisition\n"));
|
||||
// only set
|
||||
if (Server_VerifyLock() == OK) {
|
||||
ret = startStateMachine();
|
||||
@ -1213,7 +1214,7 @@ int start_and_read_all(int file_des) {
|
||||
sprintf(mess, "Could not start acquisition\n");
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Starting Acquisition ret: %d\n", ret));
|
||||
FILE_LOG(logDEBUG1, ("Starting Acquisition ret: %d\n", ret));
|
||||
|
||||
}
|
||||
|
||||
@ -1232,7 +1233,7 @@ int read_all(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Reading all frames\n"));
|
||||
FILE_LOG(logDEBUG1, ("Reading all frames\n"));
|
||||
// only set
|
||||
if (Server_VerifyLock() == OK) {
|
||||
readFrame(&ret, mess);
|
||||
@ -1258,7 +1259,7 @@ int set_timer(int file_des) {
|
||||
#ifdef EIGERD
|
||||
int64_t subexptime = 0;
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5, ("Setting timer index %d to %lld ns\n", ind, tns));
|
||||
FILE_LOG(logDEBUG1, ("Setting timer index %d to %lld ns\n", ind, tns));
|
||||
|
||||
// set & get
|
||||
if ((tns == -1) || ((tns != -1) && (Server_VerifyLock() == OK))) {
|
||||
@ -1318,7 +1319,7 @@ int set_timer(int file_des) {
|
||||
validate64(tns, retval, "set timer", 0);
|
||||
}
|
||||
if (ret != FAIL) {
|
||||
FILE_LOG(logDEBUG5, ("Timer index %d: %lld\n", ind, retval));
|
||||
FILE_LOG(logDEBUG1, ("Timer index %d: %lld\n", ind, retval));
|
||||
}
|
||||
return Server_SendResult(file_des, INT64, 1, &retval, sizeof(retval));
|
||||
}
|
||||
@ -1337,7 +1338,7 @@ int get_time_left(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &ind, sizeof(ind), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Getting timer left index %d\n", ind));
|
||||
FILE_LOG(logDEBUG1, ("Getting timer left index %d\n", ind));
|
||||
|
||||
// only get
|
||||
// check index
|
||||
@ -1362,7 +1363,7 @@ int get_time_left(int file_des) {
|
||||
case MEASUREMENT_TIME:
|
||||
#endif
|
||||
retval = getTimeLeft(ind);
|
||||
FILE_LOG(logDEBUG5, ("Timer left index %d: %lld\n", ind, retval));
|
||||
FILE_LOG(logDEBUG1, ("Timer left index %d: %lld\n", ind, retval));
|
||||
break;
|
||||
#ifdef JUNGFRAUD
|
||||
case DELAY_AFTER_TRIGGER:
|
||||
@ -1392,7 +1393,7 @@ int set_dynamic_range(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &dr, sizeof(dr), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting dr to %d\n", dr));
|
||||
FILE_LOG(logDEBUG1, ("Setting dr to %d\n", dr));
|
||||
|
||||
// set & get
|
||||
if ((dr == -1) || ((dr != -1) && (Server_VerifyLock() == OK))) {
|
||||
@ -1408,7 +1409,7 @@ int set_dynamic_range(int file_des) {
|
||||
case 4: case 8: case 32:
|
||||
#endif
|
||||
retval = setDynamicRange(dr);
|
||||
FILE_LOG(logDEBUG5, ("Dynamic range: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Dynamic range: %d\n", retval));
|
||||
validate(dr, retval, "set dynamic range", 0);
|
||||
if (dr >= 0)
|
||||
dataBytes=calculateDataBytes();
|
||||
@ -1457,7 +1458,7 @@ int set_readout_flags(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting readout flags to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting readout flags to %d\n", arg));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -1474,8 +1475,8 @@ int set_readout_flags(int file_des) {
|
||||
case SHOW_OVERFLOW:
|
||||
case NOOVERFLOW:
|
||||
retval = setReadOutFlags(arg);
|
||||
FILE_LOG(logDEBUG5, ("Read out flags: %d\n", retval));
|
||||
validate((int)arg, (int)retval, "set readout flag", 0);
|
||||
FILE_LOG(logDEBUG1, ("Read out flags: 0x%x\n", retval));
|
||||
validate((int)arg, (int)(retval & arg), "set readout flag", 1);
|
||||
break;
|
||||
default:
|
||||
modeNotImplemented("Read out flag index", (int)arg);
|
||||
@ -1516,11 +1517,11 @@ int set_roi(int file_des) {
|
||||
return printSocketReadError();
|
||||
}
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Set ROI (narg:%d)\n", narg));
|
||||
FILE_LOG(logDEBUG1, ("Set ROI (narg:%d)\n", narg));
|
||||
{
|
||||
int iloop = 0;
|
||||
for (iloop = 0; iloop < narg; ++iloop) {
|
||||
FILE_LOG(logDEBUG5, ("%d: %d\t%d\t%d\t%d\n",
|
||||
FILE_LOG(logDEBUG1, ("%d: %d\t%d\t%d\t%d\n",
|
||||
arg[iloop].xmin, arg[iloop].xmax, arg[iloop].ymin, arg[iloop].ymax));
|
||||
}
|
||||
}
|
||||
@ -1536,7 +1537,7 @@ int set_roi(int file_des) {
|
||||
"Set %d rois, but read %d rois\n", narg, nretval);
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("nRois: %d\n", nretval));
|
||||
FILE_LOG(logDEBUG1, ("nRois: %d\n", nretval));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1571,7 +1572,7 @@ int set_speed(int file_des) {
|
||||
return printSocketReadError();
|
||||
enum speedVariable ind = args[0];
|
||||
int val = args[1];
|
||||
FILE_LOG(logDEBUG5, ("Setting speed index %d to %d\n", ind, val));
|
||||
FILE_LOG(logDEBUG1, ("Setting speed index %d to %d\n", ind, val));
|
||||
|
||||
// set & get
|
||||
if ((val == -1) || ((val != -1) && (Server_VerifyLock() == OK))) {
|
||||
@ -1580,7 +1581,7 @@ int set_speed(int file_des) {
|
||||
#ifdef JUNGFRAUD
|
||||
case ADC_PHASE:
|
||||
retval = adcPhase(val);
|
||||
FILE_LOG(logDEBUG5, ("ADc Phase: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("ADc Phase: %d\n", retval));
|
||||
if (val != 100000) {
|
||||
validate(val, retval, "set adc phase ", 0);
|
||||
}
|
||||
@ -1588,7 +1589,7 @@ int set_speed(int file_des) {
|
||||
#endif
|
||||
case CLOCK_DIVIDER:
|
||||
retval = setSpeed(val);
|
||||
FILE_LOG(logDEBUG5, ("Clock: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Clock: %d\n", retval));
|
||||
validate(val, retval, "set clock ", 0);
|
||||
break;
|
||||
default:
|
||||
@ -1622,7 +1623,7 @@ int lock_server(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &lock, sizeof(lock), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Locking Server to %d\n", lock));
|
||||
FILE_LOG(logDEBUG1, ("Locking Server to %d\n", lock));
|
||||
|
||||
// set
|
||||
if (lock >= 0) {
|
||||
@ -1787,13 +1788,13 @@ int configure_mac(int file_des) {
|
||||
|
||||
if (receiveData(file_des, args, sizeof(args), OTHER) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("\n Configuring UDP Destination\n"));
|
||||
FILE_LOG(logDEBUG1, ("\n Configuring UDP Destination\n"));
|
||||
#ifdef GOTTHARDD
|
||||
FILE_LOG(logDEBUG5, ("Digital Test Bit %d\t", digitalTestBit);
|
||||
FILE_LOG(logDEBUG1, ("Digital Test Bit %d\t", digitalTestBit);
|
||||
#endif
|
||||
uint32_t dstIp = 0;
|
||||
sscanf(args[0], "%x", &dstIp);
|
||||
FILE_LOG(logDEBUG5, ("Dst Ip Addr: %d.%d.%d.%d = 0x%x \n",
|
||||
FILE_LOG(logDEBUG1, ("Dst Ip Addr: %d.%d.%d.%d = 0x%x \n",
|
||||
(dstIp >> 24) & 0xff, (dstIp >> 16) & 0xff, (dstIp >> 8) & 0xff, (dstIp) & 0xff,
|
||||
dstIp));
|
||||
uint64_t dstMac = 0;
|
||||
@ -1802,43 +1803,43 @@ int configure_mac(int file_des) {
|
||||
#else
|
||||
sscanf(args[1], "%llx", &dstMac);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5, ("Dst Mac Addr: (0x) "));
|
||||
FILE_LOG(logDEBUG1, ("Dst Mac Addr: (0x) "));
|
||||
{
|
||||
int iloop = 5;
|
||||
for (iloop = 5; iloop >= 0; --iloop) {
|
||||
FILE_LOG(logDEBUG5, ("%x", (unsigned int)(((dstMac >> (8 * iloop)) & 0xFF))));
|
||||
FILE_LOG(logDEBUG1, ("%x", (unsigned int)(((dstMac >> (8 * iloop)) & 0xFF))));
|
||||
if (iloop > 0) {
|
||||
FILE_LOG(logDEBUG5, (":"));
|
||||
FILE_LOG(logDEBUG1, (":"));
|
||||
}
|
||||
}
|
||||
}
|
||||
FILE_LOG(logDEBUG5, (" = %llx\n", dstMac));
|
||||
FILE_LOG(logDEBUG1, (" = %llx\n", dstMac));
|
||||
uint32_t dstPort = 0;
|
||||
sscanf(args[2], "%x", &dstPort);
|
||||
FILE_LOG(logDEBUG5, ("Dst Port: %x\n", dstPort));
|
||||
FILE_LOG(logDEBUG1, ("Dst Port: %x\n", dstPort));
|
||||
uint32_t dstPort2 = 0;
|
||||
sscanf(args[5], "%x", &dstPort2);
|
||||
FILE_LOG(logDEBUG5, ("Dst Port2: %x\n", dstPort2));
|
||||
FILE_LOG(logDEBUG1, ("Dst Port2: %x\n", dstPort2));
|
||||
uint64_t srcMac = 0;
|
||||
#ifdef VIRTUAL
|
||||
sscanf(args[3], "%lx", &srcMac);
|
||||
#else
|
||||
sscanf(args[3], "%llx", &srcMac);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5, ("Src Mac Addr: (0x) "));
|
||||
FILE_LOG(logDEBUG1, ("Src Mac Addr: (0x) "));
|
||||
{
|
||||
int iloop = 5;
|
||||
for (iloop = 5; iloop >= 0; --iloop) {
|
||||
FILE_LOG(logDEBUG5, ("%x", (unsigned int)(((srcMac >> (8 * iloop)) & 0xFF))));
|
||||
FILE_LOG(logDEBUG1, ("%x", (unsigned int)(((srcMac >> (8 * iloop)) & 0xFF))));
|
||||
if (iloop > 0) {
|
||||
FILE_LOG(logDEBUG5, (":"));
|
||||
FILE_LOG(logDEBUG1, (":"));
|
||||
}
|
||||
}
|
||||
}
|
||||
FILE_LOG(logDEBUG5, (" = %llx\n", srcMac));
|
||||
FILE_LOG(logDEBUG1, (" = %llx\n", srcMac));
|
||||
uint32_t srcIp = 0;
|
||||
sscanf(args[4], "%x", &srcIp);
|
||||
FILE_LOG(logDEBUG5, ("Src Ip Addr: %d.%d.%d.%d = 0x%x \n",
|
||||
FILE_LOG(logDEBUG1, ("Src Ip Addr: %d.%d.%d.%d = 0x%x \n",
|
||||
(srcIp >> 24) & 0xff, (srcIp >> 16) & 0xff, (srcIp >> 8) & 0xff, (srcIp) & 0xff,
|
||||
srcIp));
|
||||
#if defined(JUNGFRAUD) || defined(EIGERD)
|
||||
@ -1846,7 +1847,7 @@ int configure_mac(int file_des) {
|
||||
sscanf(args[6], "%x", &pos[0]);
|
||||
sscanf(args[7], "%x", &pos[1]);
|
||||
sscanf(args[8], "%x", &pos[2]);
|
||||
FILE_LOG(logDEBUG5, ("Position: [%d, %d, %d]\n", pos[0], pos[1], pos[2]));
|
||||
FILE_LOG(logDEBUG1, ("Position: [%d, %d, %d]\n", pos[0], pos[1], pos[2]));
|
||||
#endif
|
||||
|
||||
// set only
|
||||
@ -1863,12 +1864,12 @@ int configure_mac(int file_des) {
|
||||
#ifdef EIGERD
|
||||
// change mac to hardware mac
|
||||
if (srcMac != getDetectorMAC()) {
|
||||
FILE_LOG(logERROR, ("actual detector mac address %llx does not match "
|
||||
FILE_LOG(logWARNING, ("actual detector mac address %llx does not match "
|
||||
"the one from client %llx\n",
|
||||
(long long unsigned int)getDetectorMAC(),
|
||||
(long long unsigned int)srcMac));
|
||||
srcMac = getDetectorMAC();
|
||||
FILE_LOG(logERROR,("matched detectormac to the hardware mac now\n"));
|
||||
FILE_LOG(logWARNING,("matched detectormac to the hardware mac now\n"));
|
||||
}
|
||||
|
||||
// always remember the ip sent from the client (could be for 10g(if not dhcp))
|
||||
@ -1877,7 +1878,7 @@ int configure_mac(int file_des) {
|
||||
|
||||
//only for 1Gbe, change ip to hardware ip
|
||||
if (!enableTenGigabitEthernet(-1)) {
|
||||
FILE_LOG(logERROR, ("using DHCP IP for Configuring MAC\n"));
|
||||
FILE_LOG(logWARNING, ("Using DHCP IP for Configuring MAC\n"));
|
||||
srcIp = getDetectorIP();
|
||||
}
|
||||
// 10 gbe (use ip given from client)
|
||||
@ -1887,11 +1888,11 @@ int configure_mac(int file_des) {
|
||||
#endif
|
||||
#ifdef GOTTHARDD
|
||||
iretval = configureMAC(dstIp, dstMac, srcMac, srcIp, dstPort, dstPort2, digitalTestBit);
|
||||
FILE_LOG(logDEBUG5, ("Configure mac retval: %d\n", iretval));
|
||||
FILE_LOG(logDEBUG1, ("Configure mac retval: %d\n", iretval));
|
||||
FILE_LOG(logINFO, ("Configure MAC successful: %d\n", iretval));
|
||||
#else
|
||||
iretval = configureMAC(dstIp, dstMac, srcMac, srcIp, dstPort, dstPort2);
|
||||
FILE_LOG(logDEBUG5, ("Configure mac retval: %d\n", iretval));
|
||||
FILE_LOG(logDEBUG1, ("Configure mac retval: %d\n", iretval));
|
||||
|
||||
if (iretval == -1) {
|
||||
ret = FAIL;
|
||||
@ -1938,7 +1939,7 @@ int load_image(int file_des) {
|
||||
return printSocketReadError();
|
||||
}
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Loading %s image (ind:%d)\n", (index == DARK_IMAGE) ? "dark" :
|
||||
FILE_LOG(logDEBUG1, ("Loading %s image (ind:%d)\n", (index == DARK_IMAGE) ? "dark" :
|
||||
((index == GAIN_IMAGE) ? "gain" : "unknown"), index));
|
||||
|
||||
#ifndef GOTTHARDD
|
||||
@ -1951,7 +1952,7 @@ int load_image(int file_des) {
|
||||
case DARK_IMAGE :
|
||||
case GAIN_IMAGE :
|
||||
ret = loadImage(index, ImageVals);
|
||||
FILE_LOG(logDEBUG5, ("Loading image ret: %d\n", ret));
|
||||
FILE_LOG(logDEBUG1, ("Loading image ret: %d\n", ret));
|
||||
if (ret == FAIL) {
|
||||
sprintf(mess, "Could not load image\n");
|
||||
FILE_LOG(logERROR,(mess));
|
||||
@ -1980,7 +1981,7 @@ int read_counter_block(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &startACQ, sizeof(startACQ), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Read counter block with start acq bit: %d\n", startACQ));
|
||||
FILE_LOG(logDEBUG1, ("Read counter block with start acq bit: %d\n", startACQ));
|
||||
|
||||
#ifndef GOTTHARDD
|
||||
functionNotImplemented();
|
||||
@ -2009,7 +2010,7 @@ int reset_counter_block(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &startACQ, sizeof(startACQ), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Reset counter block with start acq bit: %d\n", startACQ));
|
||||
FILE_LOG(logDEBUG1, ("Reset counter block with start acq bit: %d\n", startACQ));
|
||||
|
||||
#ifndef GOTTHARDD
|
||||
functionNotImplemented();
|
||||
@ -2039,7 +2040,7 @@ int enable_ten_giga(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Enable/ Disable 10GbE : %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Enable/ Disable 10GbE : %d\n", arg));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -2047,7 +2048,7 @@ int enable_ten_giga(int file_des) {
|
||||
// set & get
|
||||
if ((arg == -1) || ((arg != -1) && (Server_VerifyLock() == OK))) {
|
||||
retval = enableTenGigabitEthernet(arg);
|
||||
FILE_LOG(logDEBUG5, ("10GbE: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("10GbE: %d\n", retval));
|
||||
validate(arg, retval, "enable/disable 10GbE", 0);
|
||||
}
|
||||
#endif
|
||||
@ -2065,7 +2066,7 @@ int set_all_trimbits(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Set all trmbits to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Set all trmbits to %d\n", arg));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -2080,7 +2081,7 @@ int set_all_trimbits(int file_des) {
|
||||
}
|
||||
// get
|
||||
retval = getAllTrimbits();
|
||||
FILE_LOG(logDEBUG5, ("All trimbits: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("All trimbits: %d\n", retval));
|
||||
validate(arg, retval, "set all trimbits", 0);
|
||||
#endif
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
@ -2108,7 +2109,7 @@ int write_adc_register(int file_des) {
|
||||
return printSocketReadError();
|
||||
uint32_t addr = args[0];
|
||||
uint32_t val = args[1];
|
||||
FILE_LOG(logDEBUG5, ("Writing 0x%x to ADC Register 0x%x\n", val, addr));
|
||||
FILE_LOG(logDEBUG1, ("Writing 0x%x to ADC Register 0x%x\n", val, addr));
|
||||
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
@ -2131,7 +2132,7 @@ int set_counter_bit(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Set counter bit with value: %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Set counter bit with value: %d\n", arg));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -2143,7 +2144,7 @@ int set_counter_bit(int file_des) {
|
||||
}
|
||||
// get
|
||||
retval = setCounterBit(-1);
|
||||
FILE_LOG(logDEBUG5, ("Set counter bit retval: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Set counter bit retval: %d\n", retval));
|
||||
validate(arg, retval, "set counter bit", 0);
|
||||
#endif
|
||||
return Server_SendResult(file_des, INT32, 1, &retval, sizeof(retval));
|
||||
@ -2160,7 +2161,7 @@ int pulse_pixel(int file_des) {
|
||||
|
||||
if (receiveData(file_des, args, sizeof(args), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Pulse pixel, n: %d, x: %d, y: %d\n", args[0], args[1], args[2]));
|
||||
FILE_LOG(logDEBUG1, ("Pulse pixel, n: %d, x: %d, y: %d\n", args[0], args[1], args[2]));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -2187,7 +2188,7 @@ int pulse_pixel_and_move(int file_des) {
|
||||
|
||||
if (receiveData(file_des, args, sizeof(args), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Pulse pixel and move, n: %d, x: %d, y: %d\n",
|
||||
FILE_LOG(logDEBUG1, ("Pulse pixel and move, n: %d, x: %d, y: %d\n",
|
||||
args[0], args[1], args[2]));
|
||||
|
||||
#ifndef EIGERD
|
||||
@ -2217,7 +2218,7 @@ int pulse_chip(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Pulse chip: %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Pulse chip: %d\n", arg));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -2245,7 +2246,7 @@ int set_rate_correct(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &tau_ns, sizeof(tau_ns), INT64) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Set rate correct with tau %lld\n", (long long int)tau_ns));
|
||||
FILE_LOG(logDEBUG1, ("Set rate correct with tau %lld\n", (long long int)tau_ns));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -2288,12 +2289,12 @@ int get_rate_correct(int file_des) {
|
||||
memset(mess, 0, sizeof(mess));
|
||||
int64_t retval = -1;
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Getting rate correction\n"));
|
||||
FILE_LOG(logDEBUG1, ("Getting rate correction\n"));
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
#else
|
||||
retval = getCurrentTau();
|
||||
FILE_LOG(logDEBUG5, ("Tau: %lld\n", (long long int)retval));
|
||||
FILE_LOG(logDEBUG1, ("Tau: %lld\n", (long long int)retval));
|
||||
#endif
|
||||
return Server_SendResult(file_des, INT64, 1, &retval, sizeof(retval));
|
||||
}
|
||||
@ -2313,7 +2314,7 @@ int set_network_parameter(int file_des) {
|
||||
enum networkParameter mode = args[0];
|
||||
int value = args[1];
|
||||
enum NETWORKINDEX serverIndex = 0;
|
||||
FILE_LOG(logDEBUG5, ("Set network parameter index %d to %d\n", mode, value));
|
||||
FILE_LOG(logDEBUG1, ("Set network parameter index %d to %d\n", mode, value));
|
||||
|
||||
#ifdef GOTTHARDD
|
||||
functionNotImplemented();
|
||||
@ -2351,7 +2352,7 @@ int set_network_parameter(int file_des) {
|
||||
// valid index
|
||||
if (ret == OK) {
|
||||
retval = setNetworkParameter(serverIndex, value);
|
||||
FILE_LOG(logDEBUG5, ("Network Parameter index %d: %d\n", serverIndex, retval));
|
||||
FILE_LOG(logDEBUG1, ("Network Parameter index %d: %d\n", serverIndex, retval));
|
||||
validate(value, retval, "set network parameter", 0);
|
||||
}
|
||||
}
|
||||
@ -2368,7 +2369,7 @@ int program_fpga(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Programming FPGA\n"));
|
||||
FILE_LOG(logDEBUG1, ("Programming FPGA\n"));
|
||||
#ifndef JUNGFRAUD
|
||||
//to receive any arguments
|
||||
int n = 1;
|
||||
@ -2404,7 +2405,7 @@ int program_fpga(int file_des) {
|
||||
if (receiveData(file_des,&filesize,sizeof(filesize),INT32) < 0)
|
||||
return printSocketReadError();
|
||||
totalsize = filesize;
|
||||
FILE_LOG(logDEBUG5, ("Total program size is: %d\n", totalsize);
|
||||
FILE_LOG(logDEBUG1, ("Total program size is: %d\n", totalsize);
|
||||
|
||||
// opening file pointer to flash and telling FPGA to not touch flash
|
||||
if (startWritingFPGAprogram(&fp) != OK) {
|
||||
@ -2428,7 +2429,7 @@ int program_fpga(int file_des) {
|
||||
unitprogramsize = MAX_FPGAPROGRAMSIZE; //2mb
|
||||
if (unitprogramsize > filesize) //less than 2mb
|
||||
unitprogramsize = filesize;
|
||||
FILE_LOG(logDEBUG5, ("unit size to receive is:%d\n"
|
||||
FILE_LOG(logDEBUG1, ("unit size to receive is:%d\n"
|
||||
"filesize:%d currentpointer:%d\n",
|
||||
unitprogramsize, filesize, currentPointer));
|
||||
|
||||
@ -2473,7 +2474,7 @@ int program_fpga(int file_des) {
|
||||
if (fp != NULL)
|
||||
fclose(fp);
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Done with program receiving command\n"));
|
||||
FILE_LOG(logDEBUG1, ("Done with program receiving command\n"));
|
||||
|
||||
if (isControlServer) {
|
||||
basictests(debugflag);
|
||||
@ -2493,7 +2494,7 @@ int reset_fpga(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Reset FPGA\n"));
|
||||
FILE_LOG(logDEBUG1, ("Reset FPGA\n"));
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
#else
|
||||
@ -2521,7 +2522,7 @@ int power_chip(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Powering chip to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Powering chip to %d\n", arg));
|
||||
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
@ -2529,7 +2530,7 @@ int power_chip(int file_des) {
|
||||
// set & get
|
||||
if ((arg == -1) || ((arg != -1) && (Server_VerifyLock() == OK))) {
|
||||
retval = powerChip(arg);
|
||||
FILE_LOG(logDEBUG5, ("Power chip: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Power chip: %d\n", retval));
|
||||
validate(arg, retval, "power on/off chip", 0);
|
||||
// narrow down error when powering on
|
||||
if (ret == FAIL && arg > 0) {
|
||||
@ -2554,7 +2555,7 @@ int set_activate(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting activate mode to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting activate mode to %d\n", arg));
|
||||
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
@ -2562,7 +2563,7 @@ int set_activate(int file_des) {
|
||||
// set & get
|
||||
if ((arg == -1) || ((arg != -1) && (Server_VerifyLock() == OK))) {
|
||||
retval = activate(arg);
|
||||
FILE_LOG(logDEBUG5, ("Activate: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Activate: %d\n", retval));
|
||||
validate(arg, retval, "set activate", 0);
|
||||
}
|
||||
#endif
|
||||
@ -2576,7 +2577,7 @@ int prepare_acquisition(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Preparing Acquisition\n"));
|
||||
FILE_LOG(logDEBUG1, ("Preparing Acquisition\n"));
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
#else
|
||||
@ -2604,7 +2605,7 @@ int threshold_temp(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting threshold temperature to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting threshold temperature to %d\n", arg));
|
||||
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
@ -2620,7 +2621,7 @@ int threshold_temp(int file_des) {
|
||||
// valid temp
|
||||
else {
|
||||
retval = setThresholdTemperature(arg);
|
||||
FILE_LOG(logDEBUG5, ("Threshold temperature: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Threshold temperature: %d\n", retval));
|
||||
validate(arg, retval, "set threshold temperature", 0);
|
||||
}
|
||||
}
|
||||
@ -2638,7 +2639,7 @@ int temp_control(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting temperature control to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting temperature control to %d\n", arg));
|
||||
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
@ -2646,7 +2647,7 @@ int temp_control(int file_des) {
|
||||
// set & get
|
||||
if ((arg == -1) || ((arg != -1) && (Server_VerifyLock() == OK))) {
|
||||
retval = setTemperatureControl(arg);
|
||||
FILE_LOG(logDEBUG5, ("Temperature control: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Temperature control: %d\n", retval));
|
||||
validate(arg, retval, "set temperature control", 0);
|
||||
}
|
||||
#endif
|
||||
@ -2664,7 +2665,7 @@ int temp_event(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting temperature event to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting temperature event to %d\n", arg));
|
||||
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
@ -2672,7 +2673,7 @@ int temp_event(int file_des) {
|
||||
// set & get
|
||||
if ((arg == -1) || ((arg != -1) && (Server_VerifyLock() == OK))) {
|
||||
retval = setTemperatureEvent(arg);
|
||||
FILE_LOG(logDEBUG5, ("Temperature event: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Temperature event: %d\n", retval));
|
||||
validate(arg, retval, "set temperature event", 0);
|
||||
}
|
||||
#endif
|
||||
@ -2691,7 +2692,7 @@ int auto_comp_disable(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting Auto comp disable to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting Auto comp disable to %d\n", arg));
|
||||
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
@ -2699,7 +2700,7 @@ int auto_comp_disable(int file_des) {
|
||||
// set & get
|
||||
if ((arg == -1) || ((arg != -1) && (Server_VerifyLock() == OK))) {
|
||||
retval = autoCompDisable(arg);
|
||||
FILE_LOG(logDEBUG5, ("Auto comp disable: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Auto comp disable: %d\n", retval));
|
||||
validate(arg, retval, "set auto comp disable", 0);
|
||||
}
|
||||
#endif
|
||||
@ -2718,7 +2719,7 @@ int storage_cell_start(int file_des) {
|
||||
|
||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||
return printSocketReadError();
|
||||
FILE_LOG(logDEBUG5, ("Setting Storage cell start to %d\n", arg));
|
||||
FILE_LOG(logDEBUG1, ("Setting Storage cell start to %d\n", arg));
|
||||
|
||||
#ifndef JUNGFRAUD
|
||||
functionNotImplemented();
|
||||
@ -2731,7 +2732,7 @@ int storage_cell_start(int file_des) {
|
||||
FILE_LOG(logERROR, (mess));
|
||||
} else {
|
||||
retval = selectStoragecellStart(arg);
|
||||
FILE_LOG(logDEBUG5, ("Storage cell start: %d\n", retval));
|
||||
FILE_LOG(logDEBUG1, ("Storage cell start: %d\n", retval));
|
||||
validate(arg, retval, "set storage cell start", 0);
|
||||
}
|
||||
#endif
|
||||
@ -2751,7 +2752,7 @@ int check_version(int file_des) {
|
||||
|
||||
// check software- firmware compatibility and basic tests
|
||||
if (isControlServer) {
|
||||
FILE_LOG(logDEBUG5, ("Checking software-firmware compatibility and basic test result\n"));
|
||||
FILE_LOG(logDEBUG1, ("Checking software-firmware compatibility and basic test result\n"));
|
||||
|
||||
// check if firmware check is done
|
||||
if (!isFirmwareCheckDone()) {
|
||||
@ -2775,7 +2776,7 @@ int check_version(int file_des) {
|
||||
}
|
||||
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logDEBUG5, ("Checking versioning compatibility with value %d\n",arg));
|
||||
FILE_LOG(logDEBUG1, ("Checking versioning compatibility with value %d\n",arg));
|
||||
|
||||
int64_t client_requiredVersion = arg;
|
||||
int64_t det_apiVersion = getDetectorId(CLIENT_SOFTWARE_API_VERSION);
|
||||
@ -2811,7 +2812,7 @@ int software_trigger(int file_des) {
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
|
||||
FILE_LOG(logDEBUG5, ("Software Trigger\n"));
|
||||
FILE_LOG(logDEBUG1, ("Software Trigger\n"));
|
||||
#ifndef EIGERD
|
||||
functionNotImplemented();
|
||||
#else
|
||||
@ -2822,7 +2823,7 @@ int software_trigger(int file_des) {
|
||||
sprintf(mess, "Could not send software trigger\n");
|
||||
FILE_LOG(logERROR,(mess));
|
||||
}
|
||||
FILE_LOG(logDEBUG5, ("Software trigger ret: %d\n", ret));
|
||||
FILE_LOG(logDEBUG1, ("Software trigger ret: %d\n", ret));
|
||||
}
|
||||
#endif
|
||||
return Server_SendResult(file_des, INT32, 1 , NULL, 0);
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include "SharedMemory.h"
|
||||
#include "sls_detector_exceptions.h"
|
||||
#include "ansi.h"
|
||||
#include "logger.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <stdio.h> // printf
|
||||
@ -51,15 +52,13 @@ void* SharedMemory::CreateSharedMemory(size_t sz){
|
||||
// create
|
||||
fd = shm_open(name.c_str(), O_CREAT | O_TRUNC | O_EXCL | O_RDWR, S_IRUSR | S_IWUSR);
|
||||
if (fd < 0) {
|
||||
cprintf(RED, "Error: Create shared memory %s failed: %s\n",
|
||||
name.c_str(), strerror(errno));
|
||||
FILE_LOG(logERROR) << "Create shared memory " << name << " failed: " << strerror(errno);
|
||||
throw SharedMemoryException();
|
||||
}
|
||||
|
||||
// resize
|
||||
if (ftruncate(fd, sz) < 0) {
|
||||
cprintf(RED, "Error: Create shared memory %s failed at ftruncate: %s\n",
|
||||
name.c_str(), strerror(errno));
|
||||
FILE_LOG(logERROR) << "Create shared memory " << name << " failed at ftruncate: " << strerror(errno);
|
||||
close(fd);
|
||||
RemoveSharedMemory();
|
||||
throw SharedMemoryException();
|
||||
@ -67,7 +66,7 @@ void* SharedMemory::CreateSharedMemory(size_t sz){
|
||||
|
||||
// map
|
||||
void* addr = MapSharedMemory(sz);
|
||||
printf("Shared memory created %s \n", name.c_str());
|
||||
FILE_LOG(logINFO) << "Shared memory created " << name;
|
||||
return addr;
|
||||
}
|
||||
|
||||
@ -75,8 +74,7 @@ void* SharedMemory::OpenSharedMemory(size_t sz){
|
||||
// open
|
||||
fd = shm_open(name.c_str(), O_RDWR, 0);
|
||||
if (fd < 0) {
|
||||
cprintf(RED, "Error: Open existing shared memory %s failed: %s\n",
|
||||
name.c_str(), strerror(errno));
|
||||
FILE_LOG(logERROR) << "Open existing shared memory " << name << " failed: " << strerror(errno);
|
||||
throw SharedMemoryException();
|
||||
}
|
||||
|
||||
@ -86,8 +84,7 @@ void* SharedMemory::OpenSharedMemory(size_t sz){
|
||||
|
||||
void SharedMemory::UnmapSharedMemory(void* addr) {
|
||||
if (munmap(addr, shmSize) < 0) {
|
||||
cprintf(RED, "Error: Unmapping shared memory %s failed: %s\n",
|
||||
name.c_str(), strerror(errno));
|
||||
FILE_LOG(logERROR) << "Unmapping shared memory " << name << " failed: " << strerror(errno);
|
||||
close(fd);
|
||||
throw SharedMemoryException();
|
||||
}
|
||||
@ -98,19 +95,17 @@ void SharedMemory::RemoveSharedMemory() {
|
||||
// silent exit if shm did not exist anyway
|
||||
if (errno == ENOENT)
|
||||
return;
|
||||
cprintf(RED, "Error: Free Shared Memory %s Failed: %s\n",
|
||||
name.c_str(), strerror(errno));
|
||||
FILE_LOG(logERROR) << "Free Shared Memory " << name << " Failed: " << strerror(errno);
|
||||
throw SharedMemoryException();
|
||||
}
|
||||
printf("Shared memory deleted %s \n", name.c_str());
|
||||
FILE_LOG(logINFO) << "Shared memory deleted " << name;
|
||||
}
|
||||
|
||||
|
||||
void* SharedMemory::MapSharedMemory(size_t sz) {
|
||||
void* addr = mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
|
||||
if (addr == MAP_FAILED) {
|
||||
cprintf(RED, "Error: Mapping shared memory %s failed: %s\n",
|
||||
name.c_str(), strerror(errno));
|
||||
FILE_LOG(logERROR) << "Mapping shared memory " << name << " failed: " << strerror(errno);
|
||||
close(fd);
|
||||
throw SharedMemoryException();
|
||||
}
|
||||
@ -138,10 +133,9 @@ std::string SharedMemory::ConstructSharedMemoryName(int multiId, int slsId) {
|
||||
|
||||
std::string temp = ss.str();
|
||||
if (temp.length() > NAME_MAX) {
|
||||
cprintf(RED, "Error: Shared memory initialization failed. "
|
||||
"%s has %lu characters. \n"
|
||||
"Maximum is %d. Change the environment variable %s\n",
|
||||
temp.c_str(), temp.length(), NAME_MAX, SHM_ENV_NAME);
|
||||
FILE_LOG(logERROR) << "Shared memory initialization failed. " <<
|
||||
temp << " has " << temp.length() << " characters. \n"
|
||||
"Maximum is " << NAME_MAX << ". Change the environment variable " << SHM_ENV_NAME;
|
||||
throw SharedMemoryException();
|
||||
}
|
||||
return temp;
|
||||
@ -152,8 +146,8 @@ int SharedMemory::VerifySizeMatch(size_t expectedSize) {
|
||||
struct stat sb;
|
||||
// could not fstat
|
||||
if (fstat(fd, &sb) < 0) {
|
||||
cprintf(RED, "Error: Could not verify existing shared memory %s size match "
|
||||
"(could not fstat): %s\n", name.c_str(), strerror(errno));
|
||||
FILE_LOG(logERROR) << "Could not verify existing shared memory " << name << " size match "
|
||||
"(could not fstat): " << strerror(errno);
|
||||
close(fd);
|
||||
throw SharedMemoryException();
|
||||
}
|
||||
@ -161,11 +155,8 @@ int SharedMemory::VerifySizeMatch(size_t expectedSize) {
|
||||
//size does not match
|
||||
long unsigned int sz = (long unsigned int)sb.st_size;
|
||||
if (sz != expectedSize) {
|
||||
cprintf(RED, "Warning: Existing shared memory %s size does not match.\n",
|
||||
name.c_str());
|
||||
#ifdef VERBOSE
|
||||
cprintf(RED, " Expected %ld, found %ld\n", expectedSize, sz);
|
||||
#endif
|
||||
FILE_LOG(logERROR) << "Existing shared memory " << name << " size does not match";
|
||||
FILE_LOG(logDEBUG1) << "Expected " << expectedSize << ", found " << sz;
|
||||
throw SharedMemoryException();
|
||||
return 1;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2726,7 +2726,7 @@ string slsDetectorCommand::cmdRateCorr(int narg, char *args[], int action, int d
|
||||
sscanf(args[1], "%ld",&ival);
|
||||
myDet->setRateCorrection(ival, detPos);
|
||||
}
|
||||
sprintf(answer,"%lld",myDet->getRateCorrection(detPos));
|
||||
sprintf(answer,"%ld",myDet->getRateCorrection(detPos));
|
||||
return string(answer);
|
||||
}
|
||||
|
||||
|
@ -123,12 +123,14 @@ class BinaryFileStatic {
|
||||
{
|
||||
if(!owenable){
|
||||
if (NULL == (fd = fopen((const char *) fname.c_str(), "wx"))){
|
||||
cprintf(RED,"Error in creating binary master file (without overwrite enable) %s\n",fname.c_str());
|
||||
FILE_LOG(logERROR) << "Could not create binary master file "
|
||||
"(without overwrite enable) " << fname;
|
||||
fd = 0;
|
||||
return 1;
|
||||
}
|
||||
}else if (NULL == (fd = fopen((const char *) fname.c_str(), "w"))){
|
||||
cprintf(RED,"Error in creating binary master file (with overwrite enable) %s\n",fname.c_str());
|
||||
FILE_LOG(logERROR) << "Could not create binary master file "
|
||||
"(with overwrite enable) " << fname;
|
||||
fd = 0;
|
||||
return 1;
|
||||
}
|
||||
@ -179,8 +181,8 @@ class BinaryFileStatic {
|
||||
(long long int)acquisitionPeriod,
|
||||
ctime(&t));
|
||||
if (strlen(message) > MAX_MASTER_FILE_LENGTH) {
|
||||
cprintf(RED,"Master File Size %d is greater than max str size %d\n",
|
||||
(int)strlen(message), MAX_MASTER_FILE_LENGTH);
|
||||
FILE_LOG(logERROR) << "Master File Size " << strlen(message) <<
|
||||
" is greater than max str size " << MAX_MASTER_FILE_LENGTH;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ class File : private virtual slsDetectorDefs {
|
||||
/**
|
||||
* Print all member values
|
||||
*/
|
||||
virtual void PrintMembers();
|
||||
virtual void PrintMembers(TLogLevel level = logDEBUG1);
|
||||
|
||||
/**
|
||||
* Get Type
|
||||
@ -85,8 +85,8 @@ class File : private virtual slsDetectorDefs {
|
||||
* @returns OK or FAIL
|
||||
*/
|
||||
virtual int CreateFile(uint64_t fnum){
|
||||
cprintf(RED,"This is a generic function CreateFile that should be "
|
||||
"overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function CreateFile that should be "
|
||||
"overloaded by a derived class";
|
||||
return OK;
|
||||
}
|
||||
|
||||
@ -94,16 +94,16 @@ class File : private virtual slsDetectorDefs {
|
||||
* Close Current File
|
||||
*/
|
||||
virtual void CloseCurrentFile() {
|
||||
cprintf(RED,"This is a generic function CloseCurrentFile that should be "
|
||||
"overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function CloseCurrentFile that should be "
|
||||
"overloaded by a derived class";
|
||||
}
|
||||
|
||||
/**
|
||||
* Close Files
|
||||
*/
|
||||
virtual void CloseAllFiles() {
|
||||
cprintf(RED,"This is a generic function that should be overloaded "
|
||||
"by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function that should be overloaded "
|
||||
"by a derived class";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -114,8 +114,8 @@ class File : private virtual slsDetectorDefs {
|
||||
* @param OK or FAIL
|
||||
*/
|
||||
virtual int WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_t nump) {
|
||||
cprintf(RED,"This is a generic function WriteToFile that "
|
||||
"should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function WriteToFile that "
|
||||
"should be overloaded by a derived class";
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
@ -134,8 +134,8 @@ class File : private virtual slsDetectorDefs {
|
||||
virtual int CreateMasterFile(bool en, uint32_t size,
|
||||
uint32_t nx, uint32_t ny, uint64_t at, uint64_t st,
|
||||
uint64_t sp, uint64_t ap) {
|
||||
cprintf(RED,"This is a generic function CreateMasterFile that "
|
||||
"should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function CreateMasterFile that "
|
||||
"should be overloaded by a derived class";
|
||||
return OK;
|
||||
}
|
||||
|
||||
@ -146,8 +146,8 @@ class File : private virtual slsDetectorDefs {
|
||||
* @param ny number of pixels in y direction
|
||||
*/
|
||||
virtual void SetNumberofPixels(uint32_t nx, uint32_t ny) {
|
||||
cprintf(RED,"This is a generic function SetNumberofPixels that "
|
||||
"should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function SetNumberofPixels that "
|
||||
"should be overloaded by a derived class";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -156,8 +156,8 @@ class File : private virtual slsDetectorDefs {
|
||||
* @param numf number of images caught
|
||||
*/
|
||||
virtual void EndofAcquisition(bool anyPacketsCaught, uint64_t numf) {
|
||||
cprintf(RED,"This is a generic function EndofAcquisition that "
|
||||
"should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function EndofAcquisition that "
|
||||
"should be overloaded by a derived class";
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -161,7 +161,7 @@ public:
|
||||
* @param i ROI
|
||||
*/
|
||||
virtual void SetROI(std::vector<slsDetectorDefs::ROI> i) {
|
||||
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function that should be overloaded by a derived class";
|
||||
};
|
||||
|
||||
/**
|
||||
@ -171,7 +171,7 @@ public:
|
||||
* @returns adc configured
|
||||
*/
|
||||
virtual const int GetAdcConfigured(int index, std::vector<slsDetectorDefs::ROI>* i) const{
|
||||
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function that should be overloaded by a derived class";
|
||||
return 0;
|
||||
};
|
||||
|
||||
@ -181,7 +181,7 @@ public:
|
||||
* @param tgEnable true if 10GbE is enabled, else false
|
||||
*/
|
||||
virtual void SetDynamicRange(int dr, bool tgEnable) {
|
||||
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function that should be overloaded by a derived class";
|
||||
};
|
||||
|
||||
/**
|
||||
@ -190,7 +190,7 @@ public:
|
||||
* @param dr dynamic range
|
||||
*/
|
||||
virtual void SetTenGigaEnable(bool tgEnable, int dr) {
|
||||
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function that should be overloaded by a derived class";
|
||||
};
|
||||
|
||||
/**
|
||||
@ -199,7 +199,7 @@ public:
|
||||
* @param nroich number of channels in roi
|
||||
*/
|
||||
virtual void setNumberofSamples(const uint64_t ns, uint32_t nroich) {
|
||||
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function that should be overloaded by a derived class";
|
||||
};
|
||||
|
||||
/**
|
||||
@ -207,38 +207,38 @@ public:
|
||||
* @param enable true if gap pixels enable, else false
|
||||
*/
|
||||
virtual void SetGapPixelsEnable(bool b, int dr) {
|
||||
cprintf(RED,"This is a generic function that should be overloaded by a derived class\n");
|
||||
FILE_LOG(logERROR) << "This is a generic function that should be overloaded by a derived class";
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Print all variables
|
||||
*/
|
||||
virtual void Print() const {
|
||||
FILE_LOG(logDEBUG) << "\n\nDetector Data Variables:";
|
||||
FILE_LOG(logDEBUG) << "myDetectorType: " << slsDetectorDefs::getDetectorType(myDetectorType);
|
||||
FILE_LOG(logDEBUG) << "Pixels X: " << nPixelsX;
|
||||
FILE_LOG(logDEBUG) << "Pixels Y: " << nPixelsY;
|
||||
FILE_LOG(logDEBUG) << "Empty Header: " << emptyHeader;
|
||||
FILE_LOG(logDEBUG) << "Header Size in Packet: " << headerSizeinPacket;
|
||||
FILE_LOG(logDEBUG) << "Data Size: " << dataSize;
|
||||
FILE_LOG(logDEBUG) << "Packet Size: " << packetSize;
|
||||
FILE_LOG(logDEBUG) << "Packets per Frame: " << packetsPerFrame;
|
||||
FILE_LOG(logDEBUG) << "Image Size: " << imageSize;
|
||||
FILE_LOG(logDEBUG) << "Frame Index Mask: " << frameIndexMask;
|
||||
FILE_LOG(logDEBUG) << "Frame Index Offset: " << frameIndexOffset;
|
||||
FILE_LOG(logDEBUG) << "Packet Index Mask: " << packetIndexMask;
|
||||
FILE_LOG(logDEBUG) << "Packet Index Offset: " << packetIndexOffset;
|
||||
FILE_LOG(logDEBUG) << "Max Frames Per File: " << maxFramesPerFile;
|
||||
FILE_LOG(logDEBUG) << "Fifo Buffer Header Size: " << fifoBufferHeaderSize;
|
||||
FILE_LOG(logDEBUG) << "Default Fifo Depth: " << defaultFifoDepth;
|
||||
FILE_LOG(logDEBUG) << "Threads Per Receiver: " << threadsPerReceiver;
|
||||
FILE_LOG(logDEBUG) << "Header Packet Size: " << headerPacketSize;
|
||||
FILE_LOG(logDEBUG) << "Complete Pixels X: " << nPixelsXComplete;
|
||||
FILE_LOG(logDEBUG) << "Complete Pixels Y: " << nPixelsYComplete;
|
||||
FILE_LOG(logDEBUG) << "Complete Image Size: " << imageSizeComplete;
|
||||
FILE_LOG(logDEBUG) << "Standard Header: " << standardheader;
|
||||
FILE_LOG(logDEBUG) << "UDP Socket Buffer Size: " << defaultUdpSocketBufferSize;
|
||||
virtual void Print(TLogLevel level = logDEBUG1) const {
|
||||
FILE_LOG(level) << "\n\nDetector Data Variables:";
|
||||
FILE_LOG(level) << "myDetectorType: " << slsDetectorDefs::getDetectorType(myDetectorType);
|
||||
FILE_LOG(level) << "Pixels X: " << nPixelsX;
|
||||
FILE_LOG(level) << "Pixels Y: " << nPixelsY;
|
||||
FILE_LOG(level) << "Empty Header: " << emptyHeader;
|
||||
FILE_LOG(level) << "Header Size in Packet: " << headerSizeinPacket;
|
||||
FILE_LOG(level) << "Data Size: " << dataSize;
|
||||
FILE_LOG(level) << "Packet Size: " << packetSize;
|
||||
FILE_LOG(level) << "Packets per Frame: " << packetsPerFrame;
|
||||
FILE_LOG(level) << "Image Size: " << imageSize;
|
||||
FILE_LOG(level) << "Frame Index Mask: " << frameIndexMask;
|
||||
FILE_LOG(level) << "Frame Index Offset: " << frameIndexOffset;
|
||||
FILE_LOG(level) << "Packet Index Mask: " << packetIndexMask;
|
||||
FILE_LOG(level) << "Packet Index Offset: " << packetIndexOffset;
|
||||
FILE_LOG(level) << "Max Frames Per File: " << maxFramesPerFile;
|
||||
FILE_LOG(level) << "Fifo Buffer Header Size: " << fifoBufferHeaderSize;
|
||||
FILE_LOG(level) << "Default Fifo Depth: " << defaultFifoDepth;
|
||||
FILE_LOG(level) << "Threads Per Receiver: " << threadsPerReceiver;
|
||||
FILE_LOG(level) << "Header Packet Size: " << headerPacketSize;
|
||||
FILE_LOG(level) << "Complete Pixels X: " << nPixelsXComplete;
|
||||
FILE_LOG(level) << "Complete Pixels Y: " << nPixelsYComplete;
|
||||
FILE_LOG(level) << "Complete Image Size: " << imageSizeComplete;
|
||||
FILE_LOG(level) << "Standard Header: " << standardheader;
|
||||
FILE_LOG(level) << "UDP Socket Buffer Size: " << defaultUdpSocketBufferSize;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -55,7 +55,7 @@ class HDF5File : private virtual slsDetectorDefs, public File, public HDF5FileSt
|
||||
/**
|
||||
* Print all member values
|
||||
*/
|
||||
void PrintMembers();
|
||||
void PrintMembers(TLogLevel level = logDEBUG1);
|
||||
|
||||
/**
|
||||
* Set Number of pixels
|
||||
|
@ -112,7 +112,7 @@ public:
|
||||
fd = 0;
|
||||
}
|
||||
} catch(Exception error) {
|
||||
cprintf(RED,"Error in closing HDF5 handles of index %d\n", ind);
|
||||
FILE_LOG(logERROR) << "Could not close HDF5 handles of index " << ind;
|
||||
error.printErrorStack();
|
||||
}
|
||||
}
|
||||
@ -130,7 +130,7 @@ public:
|
||||
fd = 0;
|
||||
}
|
||||
} catch(Exception error) {
|
||||
cprintf(RED,"Error in closing master HDF5 handles\n");
|
||||
FILE_LOG(logERROR) << "Could not close master HDF5 handles";
|
||||
error.printErrorStack();
|
||||
}
|
||||
}
|
||||
@ -144,7 +144,7 @@ public:
|
||||
{
|
||||
if(fd) {
|
||||
if (H5Fclose(fd) < 0 )
|
||||
cprintf(RED,"Error in closing virtual HDF5 handles\n");
|
||||
FILE_LOG(logERROR) << "Could not close virtual HDF5 handles";
|
||||
fd = 0;
|
||||
}
|
||||
}
|
||||
@ -177,7 +177,7 @@ public:
|
||||
memspace.close();
|
||||
}
|
||||
catch(Exception error){
|
||||
cprintf(RED,"Error in writing to file in object %d\n",ind);
|
||||
FILE_LOG(logERROR) << "Could not write to file in object " << ind;
|
||||
error.printErrorStack();
|
||||
return 1;
|
||||
}
|
||||
@ -239,7 +239,7 @@ public:
|
||||
}i=14;
|
||||
}
|
||||
catch(Exception error){
|
||||
cprintf(RED,"Error in writing parameters (index:%d) to file in object %d\n", i, ind);
|
||||
FILE_LOG(logERROR) << "Could not write parameters (index:" << i << ") to file in object " << ind;
|
||||
error.printErrorStack();
|
||||
return 1;
|
||||
}
|
||||
@ -282,7 +282,7 @@ public:
|
||||
|
||||
}
|
||||
catch(Exception error){
|
||||
cprintf(RED,"Error in extending dataset in object %d\n",ind);
|
||||
FILE_LOG(logERROR) << "Could not extend dataset in object " << ind;
|
||||
error.printError();
|
||||
return 1;
|
||||
}
|
||||
@ -417,7 +417,7 @@ public:
|
||||
fd->close();
|
||||
|
||||
} catch(Exception error) {
|
||||
cprintf(RED,"Error in creating master HDF5 handles\n");
|
||||
FILE_LOG(logERROR) << "Could not create master HDF5 handles";
|
||||
error.printErrorStack();
|
||||
if (fd) fd->close();
|
||||
return 1;
|
||||
@ -521,7 +521,7 @@ public:
|
||||
}
|
||||
}
|
||||
catch(Exception error){
|
||||
cprintf(RED,"Error in creating HDF5 handles in object %d\n",ind);
|
||||
FILE_LOG(logERROR) << "Could not create HDF5 handles in object " << ind;
|
||||
error.printErrorStack();
|
||||
if (fd) fd->close();
|
||||
return 1;
|
||||
@ -571,36 +571,36 @@ public:
|
||||
hid_t dfal = H5Pcreate (H5P_FILE_ACCESS);
|
||||
if (dfal < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating file access property for virtual file ")
|
||||
std::string("Could not create file access property for virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
if (H5Pset_fclose_degree (dfal, H5F_CLOSE_STRONG) < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in setting strong file close degree for virtual file ")
|
||||
std::string("Could not set strong file close degree for virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
fd = H5Fcreate( virtualFileName.c_str(), H5F_ACC_TRUNC, H5P_DEFAULT, dfal);
|
||||
if (fd < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating virtual file ") + virtualFileName + std::string("\n"));
|
||||
std::string("Could not create virtual file ") + virtualFileName + std::string("\n"));
|
||||
|
||||
//attributes - version
|
||||
hid_t dataspace_attr = H5Screate (H5S_SCALAR);
|
||||
if (dataspace_attr < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating dataspace for attribute in virtual file ")
|
||||
std::string("Could not create dataspace for attribute in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
hid_t attrid = H5Acreate2 (fd, "version", H5T_NATIVE_DOUBLE, dataspace_attr, H5P_DEFAULT, H5P_DEFAULT);
|
||||
if (attrid < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating attribute in virtual file ")
|
||||
std::string("Could not create attribute in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
double attr_data = version;
|
||||
if (H5Awrite (attrid, H5T_NATIVE_DOUBLE, &attr_data) < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in writing attribute in virtual file ")
|
||||
std::string("Could not write attribute in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
if (H5Aclose (attrid) < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in closing attribute in virtual file ")
|
||||
std::string("Could not close attribute in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
|
||||
|
||||
@ -609,13 +609,13 @@ public:
|
||||
hid_t vdsDataspace = H5Screate_simple(3, vdsdims ,NULL);
|
||||
if (vdsDataspace < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating virtual dataspace in virtual file ")
|
||||
std::string("Could not create virtual dataspace in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
hsize_t vdsdims_para[2] = {numf, (unsigned int) numDety * numDetz};
|
||||
hid_t vdsDataspace_para = H5Screate_simple(2, vdsdims_para, NULL);
|
||||
if (vdsDataspace_para < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating virtual dataspace (parameters) in virtual file ")
|
||||
std::string("Could not create virtual dataspace (parameters) in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
|
||||
|
||||
@ -623,23 +623,23 @@ public:
|
||||
hid_t dcpl = H5Pcreate (H5P_DATASET_CREATE);
|
||||
if (dcpl < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating file creation properties in virtual file ")
|
||||
std::string("Could not create file creation properties in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
int fill_value = -1;
|
||||
if (H5Pset_fill_value (dcpl, GetDataTypeinC(dataType), &fill_value) < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating fill value in virtual file ")
|
||||
std::string("Could not create fill value in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
hid_t dcpl_para[parameterNames.size()];
|
||||
for (unsigned int i = 0; i < parameterNames.size(); ++i) {
|
||||
dcpl_para[i] = H5Pcreate (H5P_DATASET_CREATE);
|
||||
if (dcpl_para[i] < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating file creation properties (parameters) in virtual file ")
|
||||
std::string("Could not create file creation properties (parameters) in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
if (H5Pset_fill_value (dcpl_para[i], GetDataTypeinC(parameterDataTypes[i]), &fill_value) < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating fill value (parameters) in virtual file ")
|
||||
std::string("Could not create fill value (parameters) in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
}
|
||||
|
||||
@ -661,13 +661,13 @@ public:
|
||||
|
||||
//setect hyperslabs
|
||||
if (H5Sselect_hyperslab (vdsDataspace, H5S_SELECT_SET, offset, NULL, count, NULL) < 0) {
|
||||
cprintf(RED,"could not select hyperslab\n");
|
||||
FILE_LOG(logERROR) << "Could not select hyperslab";
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
if (H5Sselect_hyperslab (vdsDataspace_para, H5S_SELECT_SET,
|
||||
offset_para, NULL, count_para, NULL) < 0) {
|
||||
cprintf(RED,"could not select hyperslab for parameters\n");
|
||||
FILE_LOG(logERROR) << "Could not select hyperslab for parameters";
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
@ -696,20 +696,20 @@ public:
|
||||
hid_t srcDataspace = H5Screate_simple(3, srcdims, srcdimsmax);
|
||||
if (srcDataspace < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating source dataspace in virtual file ")
|
||||
std::string("Could not create source dataspace in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
hsize_t srcdims_para[1] = {nDimx};
|
||||
hsize_t srcdimsmax_para[1] = {H5S_UNLIMITED};
|
||||
hid_t srcDataspace_para = H5Screate_simple(1, srcdims_para, srcdimsmax_para);
|
||||
if (srcDataspace_para < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating source dataspace (parameters) in virtual file ")
|
||||
std::string("Could not create source dataspace (parameters) in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
|
||||
//mapping
|
||||
if (H5Pset_virtual(dcpl, vdsDataspace, relative_srcFileName.c_str(),
|
||||
srcDatasetName.c_str(), srcDataspace) < 0) {
|
||||
cprintf(RED,"could not set mapping for paramter 1\n");
|
||||
FILE_LOG(logERROR) << "Could not set mapping for paramter 1";
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
@ -717,7 +717,7 @@ public:
|
||||
for (unsigned int k = 0; k < parameterNames.size(); ++k) {
|
||||
if (H5Pset_virtual(dcpl_para[k], vdsDataspace_para, relative_srcFileName.c_str(),
|
||||
parameterNames[k], srcDataspace_para) < 0) {
|
||||
cprintf(RED,"could not set mapping for paramter %d\n", k);
|
||||
FILE_LOG(logERROR) << "Could not set mapping for paramter " << k;
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
@ -736,7 +736,7 @@ public:
|
||||
}
|
||||
if (error)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in mapping files in virtual file ")
|
||||
std::string("Could not map files in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
|
||||
//dataset
|
||||
@ -745,7 +745,7 @@ public:
|
||||
GetDataTypeinC(dataType), vdsDataspace, H5P_DEFAULT, dcpl, H5P_DEFAULT);
|
||||
if (vdsdataset < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating virutal dataset in virtual file ")
|
||||
std::string("Could not create virutal dataset in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
|
||||
|
||||
@ -757,7 +757,7 @@ public:
|
||||
H5P_DEFAULT, dcpl_para[i], H5P_DEFAULT);
|
||||
if (vdsdataset_para < 0)
|
||||
return CloseFileOnError(fd,
|
||||
std::string("Error in creating virutal dataset (parameters) in virtual file ")
|
||||
std::string("Could not create virutal dataset (parameters) in virtual file ")
|
||||
+ virtualFileName + std::string("\n"));
|
||||
}
|
||||
|
||||
@ -798,7 +798,7 @@ public:
|
||||
data_out = (T*)malloc(sizeof(T)*(nDimx*nDimy*nDimz));
|
||||
break;
|
||||
default:
|
||||
cprintf(RED,"invalid rank. Options: 2 or 3\n");
|
||||
FILE_LOG(logERROR) << "Invalid rank. Options: 2 or 3";
|
||||
return 0;
|
||||
}
|
||||
if (datatype == PredType::STD_U16LE) {
|
||||
@ -810,7 +810,7 @@ public:
|
||||
} else if (datatype == PredType::STD_U8LE) {
|
||||
FILE_LOG(logINFO) << "datatype:8";
|
||||
} else {
|
||||
FILE_LOG(logERROR) << "unknown datatype";
|
||||
FILE_LOG(logERROR) << "Unknown datatype: " << datetype;
|
||||
return 1;
|
||||
}
|
||||
FILE_LOG(logINFO) << "owenable:" << (owenable?1:0) << std::endl
|
||||
@ -861,7 +861,7 @@ public:
|
||||
newfd->close();
|
||||
oldfd->close();
|
||||
} catch(Exception error){
|
||||
cprintf(RED,"Error in copying virtual files\n");
|
||||
FILE_LOG(logERROR) << "Could not copy virtual files";
|
||||
error.printErrorStack();
|
||||
free(data_out);
|
||||
oldfd->close();
|
||||
@ -890,20 +890,20 @@ public:
|
||||
|
||||
hid_t dfal = H5Pcreate (H5P_FILE_ACCESS);
|
||||
if (dfal < 0)
|
||||
return CloseFileOnError( vfd, std::string("Error in creating file access property for link\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not create file access property for link\n"));
|
||||
if (H5Pset_fclose_degree (dfal, H5F_CLOSE_STRONG) < 0)
|
||||
return CloseFileOnError( vfd, std::string("Error in setting strong file close degree for link\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not set strong file close degree for link\n"));
|
||||
|
||||
//open master file
|
||||
hid_t mfd = H5Fopen( masterFileName.c_str(), H5F_ACC_RDWR, dfal);
|
||||
if (mfd < 0)
|
||||
return CloseFileOnError( vfd, std::string("Error in opening master file\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not open master file\n"));
|
||||
|
||||
//open virtual file
|
||||
vfd = H5Fopen( virtualfname.c_str(), H5F_ACC_RDWR, dfal);
|
||||
if (vfd < 0) {
|
||||
H5Fclose(mfd); mfd = 0;
|
||||
return CloseFileOnError( vfd, std::string("Error in opening virtual file\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not open virtual file\n"));
|
||||
}
|
||||
|
||||
// find relative path
|
||||
@ -918,13 +918,13 @@ public:
|
||||
hid_t vdset = H5Dopen2( vfd, virtualDatasetname.c_str(), H5P_DEFAULT);
|
||||
if (vdset < 0) {
|
||||
H5Fclose(mfd);
|
||||
return CloseFileOnError( vfd, std::string("Error in opening virtual data dataset\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not open virtual data dataset\n"));
|
||||
}
|
||||
sprintf(linkname, "/entry/data/%s",virtualDatasetname.c_str());
|
||||
if(H5Lcreate_external( relative_virtualfname.c_str(), virtualDatasetname.c_str(),
|
||||
mfd, linkname, H5P_DEFAULT, H5P_DEFAULT) < 0) {
|
||||
H5Fclose(mfd); mfd = 0;
|
||||
return CloseFileOnError( vfd, std::string("Error in creating link to data dataset\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not create link to data dataset\n"));
|
||||
}
|
||||
H5Dclose(vdset);
|
||||
|
||||
@ -933,14 +933,14 @@ public:
|
||||
hid_t vdset_para = H5Dopen2( vfd, (std::string (parameterNames[i])).c_str(), H5P_DEFAULT);
|
||||
if (vdset_para < 0) {
|
||||
H5Fclose(mfd); mfd = 0;
|
||||
return CloseFileOnError( vfd, std::string("Error in opening virtual parameter dataset to create link\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not open virtual parameter dataset to create link\n"));
|
||||
}
|
||||
sprintf(linkname, "/entry/data/%s",(std::string (parameterNames[i])).c_str());
|
||||
|
||||
if(H5Lcreate_external( relative_virtualfname.c_str(), (std::string (parameterNames[i])).c_str(),
|
||||
mfd, linkname, H5P_DEFAULT, H5P_DEFAULT) < 0) {
|
||||
H5Fclose(mfd); mfd = 0;
|
||||
return CloseFileOnError( vfd, std::string("Error in creating link to virtual parameter dataset\n"));
|
||||
return CloseFileOnError( vfd, std::string("Could not create link to virtual parameter dataset\n"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -956,7 +956,7 @@ public:
|
||||
* @returns 1 for fail
|
||||
*/
|
||||
static int CloseFileOnError(hid_t& fd, const std::string msg) {
|
||||
cprintf(RED, "%s", msg.c_str());
|
||||
FILE_LOG(logERROR) << msg;
|
||||
if(fd > 0)
|
||||
H5Fclose(fd);
|
||||
fd = 0;
|
||||
|
@ -106,8 +106,7 @@ int BinaryFile::WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_
|
||||
|
||||
// if write error
|
||||
if (ret != buffersize) {
|
||||
cprintf(RED,"%d Error: Write to file failed for image number %lld\n",
|
||||
index, (long long int)fnum);
|
||||
FILE_LOG(logERROR) << index << " Error: Write to file failed for image number " << fnum;
|
||||
return FAIL;
|
||||
}
|
||||
return OK;
|
||||
|
@ -166,18 +166,14 @@ void DataProcessor::RecordFirstIndices(uint64_t fnum) {
|
||||
firstAcquisitionIndex = fnum;
|
||||
}
|
||||
|
||||
#ifdef VERBOSE
|
||||
cprintf(BLUE,"%d First Acquisition Index:%lld\tFirst Measurement Index:%lld\n",
|
||||
index, (long long int)firstAcquisitionIndex, (long long int)firstMeasurementIndex);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << index << " First Acquisition Index:" << firstAcquisitionIndex <<
|
||||
"\tFirst Measurement Index:" << firstMeasurementIndex;
|
||||
}
|
||||
|
||||
|
||||
void DataProcessor::SetGeneralData(GeneralData* g) {
|
||||
generalData = g;
|
||||
#ifdef VERY_VERBOSE
|
||||
generalData->Print();
|
||||
#endif
|
||||
if (file) {
|
||||
if (file->GetFileType() == HDF5) {
|
||||
file->SetNumberofPixels(generalData->nPixelsX, generalData->nPixelsY);
|
||||
@ -278,16 +274,12 @@ void DataProcessor::EndofAcquisition(bool anyPacketsCaught, uint64_t numf) {
|
||||
void DataProcessor::ThreadExecution() {
|
||||
char* buffer=0;
|
||||
fifo->PopAddress(buffer);
|
||||
#ifdef FIFODEBUG
|
||||
if (!index) cprintf(BLUE,"DataProcessor %d, pop 0x%p buffer:%s\n",
|
||||
index,(void*)(buffer),buffer);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5) << "DataProcessor " << index << ", "
|
||||
"pop 0x" << std::hex << (void*)(buffer) << std::dec << ":" << buffer;
|
||||
|
||||
//check dummy
|
||||
uint32_t numBytes = (uint32_t)(*((uint32_t*)buffer));
|
||||
#ifdef VERBOSE
|
||||
if (!index) cprintf(BLUE,"DataProcessor %d, Numbytes:%u\n", index,numBytes);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "DataProcessor " << index << ", Numbytes:" << numBytes;
|
||||
if (numBytes == DUMMY_PACKET_VALUE) {
|
||||
StopProcessing(buffer);
|
||||
return;
|
||||
@ -304,10 +296,8 @@ void DataProcessor::ThreadExecution() {
|
||||
|
||||
|
||||
void DataProcessor::StopProcessing(char* buf) {
|
||||
#ifdef VERBOSE
|
||||
if (!index)
|
||||
cprintf(RED,"DataProcessing %d: Dummy\n", index);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "DataProcessing " << index << ": Dummy";
|
||||
|
||||
//stream or free
|
||||
if (*dataStreamEnable)
|
||||
fifo->PushAddressToStream(buf);
|
||||
@ -317,9 +307,7 @@ void DataProcessor::StopProcessing(char* buf) {
|
||||
if (file)
|
||||
file->CloseCurrentFile();
|
||||
StopRunning();
|
||||
#ifdef VERBOSE
|
||||
FILE_LOG(logINFO) << index << ": Processing Completed";
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << index << ": Processing Completed";
|
||||
}
|
||||
|
||||
|
||||
@ -335,16 +323,9 @@ void DataProcessor::ProcessAnImage(char* buf) {
|
||||
numTotalFramesCaught++;
|
||||
}
|
||||
|
||||
|
||||
#ifdef VERBOSE
|
||||
if (!index)
|
||||
cprintf(BLUE,"DataProcessing %d: fnum:%lu\n", index, fnum);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "DataProcessing " << index << ": fnum:" << fnum;
|
||||
|
||||
if (!measurementStartedFlag) {
|
||||
#ifdef VERBOSE
|
||||
if (!index) cprintf(BLUE,"DataProcessing %d: fnum:%lu\n", index, fnum);
|
||||
#endif
|
||||
RecordFirstIndices(fnum);
|
||||
|
||||
if (*dataStreamEnable) {
|
||||
@ -418,11 +399,10 @@ bool DataProcessor::SendToStreamer() {
|
||||
bool DataProcessor::CheckTimer() {
|
||||
struct timespec end;
|
||||
clock_gettime(CLOCK_REALTIME, &end);
|
||||
#ifdef VERBOSE
|
||||
cprintf(BLUE,"%d Timer elapsed time:%f seconds\n", index,
|
||||
( end.tv_sec - timerBegin.tv_sec ) + ( end.tv_nsec - timerBegin.tv_nsec )
|
||||
/ 1000000000.0);
|
||||
#endif
|
||||
|
||||
FILE_LOG(logDEBUG1) << index << " Timer elapsed time:" <<
|
||||
(( end.tv_sec - timerBegin.tv_sec ) + ( end.tv_nsec - timerBegin.tv_nsec ) / 1000000000.0)
|
||||
<< " seconds";
|
||||
//still less than streaming timer, keep waiting
|
||||
if((( end.tv_sec - timerBegin.tv_sec ) + ( end.tv_nsec - timerBegin.tv_nsec )
|
||||
/ 1000000000.0) < ((double)*streamingTimerInMs/1000.00))
|
||||
@ -464,9 +444,8 @@ void DataProcessor::PadMissingPackets(char* buf) {
|
||||
uint32_t dsize = generalData->dataSize;
|
||||
uint32_t fifohsize = generalData->fifoBufferHeaderSize;
|
||||
uint32_t corrected_dsize = dsize - ((pperFrame * dsize) - generalData->imageSize);
|
||||
#ifdef VERBOSE
|
||||
cprintf(RED,"bitmask:%s\n", pmask.to_string().c_str());
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "bitmask: " << pmask.to_string();
|
||||
|
||||
for (unsigned int pnum = 0; pnum < pperFrame; ++pnum) {
|
||||
|
||||
// not missing packet
|
||||
|
@ -108,18 +108,14 @@ void DataStreamer::RecordFirstIndices(uint64_t fnum) {
|
||||
firstAcquisitionIndex = fnum;
|
||||
}
|
||||
|
||||
#ifdef VERBOSE
|
||||
cprintf(BLUE,"%d First Acquisition Index:%lld\tFirst Measurement Index:%lld\n",
|
||||
index, (long long int)firstAcquisitionIndex, (long long int)firstMeasurementIndex);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << index << " First Acquisition Index: " << firstAcquisitionIndex <<
|
||||
"\tFirst Measurement Index: " << firstMeasurementIndex;
|
||||
}
|
||||
|
||||
|
||||
void DataStreamer::SetGeneralData(GeneralData* g) {
|
||||
generalData = g;
|
||||
#ifdef VERY_VERBOSE
|
||||
generalData->Print();
|
||||
#endif
|
||||
}
|
||||
|
||||
int DataStreamer::SetThreadPriority(int priority) {
|
||||
@ -138,7 +134,7 @@ void DataStreamer::CreateZmqSockets(int* nunits, uint32_t port, const char* srci
|
||||
try {
|
||||
zmqSocket = new ZmqSocket(portnum, (strlen(srcip)?srcip:NULL));
|
||||
} catch (...) {
|
||||
cprintf(RED, "Error: Could not create Zmq socket on port %d for Streamer %d\n", portnum, index);
|
||||
FILE_LOG(logERROR) << "Could not create Zmq socket on port " << portnum << " for Streamer " << index;
|
||||
throw;
|
||||
}
|
||||
FILE_LOG(logINFO) << index << " Streamer: Zmq Server started at " << zmqSocket->GetZmqServerAddress();
|
||||
@ -156,15 +152,13 @@ void DataStreamer::CloseZmqSocket() {
|
||||
void DataStreamer::ThreadExecution() {
|
||||
char* buffer=0;
|
||||
fifo->PopAddressToStream(buffer);
|
||||
#ifdef FIFODEBUG
|
||||
if (!index) cprintf(BLUE,"DataStreamer %d, pop 0x%p buffer:%s\n", index,(void*)(buffer),buffer);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5) << "DataStreamer " << index << ", "
|
||||
"pop 0x" << std::hex << (void*)(buffer) << std::dec << ":" << buffer;
|
||||
|
||||
|
||||
//check dummy
|
||||
uint32_t numBytes = (uint32_t)(*((uint32_t*)buffer));
|
||||
#ifdef VERBOSE
|
||||
cprintf(GREEN,"DataStreamer %d, Numbytes:%u\n", index,numBytes);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "DataStreamer " << index << ", Numbytes:" << numBytes;
|
||||
if (numBytes == DUMMY_PACKET_VALUE) {
|
||||
StopProcessing(buffer);
|
||||
return;
|
||||
@ -180,20 +174,17 @@ void DataStreamer::ThreadExecution() {
|
||||
|
||||
|
||||
void DataStreamer::StopProcessing(char* buf) {
|
||||
#ifdef VERBOSE
|
||||
if (!index)
|
||||
cprintf(RED,"DataStreamer %d: Dummy\n", index);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "DataStreamer " << index << ": Dummy";
|
||||
|
||||
sls_receiver_header* header = (sls_receiver_header*) (buf);
|
||||
//send dummy header and data
|
||||
if (!SendHeader(header, 0, 0, 0, true))
|
||||
cprintf(RED,"Error: Could not send zmq dummy header for streamer %d\n", index);
|
||||
if (!SendHeader(header, 0, 0, 0, true)) {
|
||||
FILE_LOG(logERROR) << "Could not send zmq dummy header for streamer " << index;
|
||||
}
|
||||
|
||||
fifo->FreeAddress(buf);
|
||||
StopRunning();
|
||||
#ifdef VERBOSE
|
||||
FILE_LOG(logINFO) << index << ": Streaming Completed";
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << index << ": Streaming Completed";
|
||||
}
|
||||
|
||||
/** buf includes only the standard header */
|
||||
@ -201,14 +192,9 @@ void DataStreamer::ProcessAnImage(char* buf) {
|
||||
|
||||
sls_receiver_header* header = (sls_receiver_header*) (buf + FIFO_HEADER_NUMBYTES);
|
||||
uint64_t fnum = header->detHeader.frameNumber;
|
||||
#ifdef VERBOSE
|
||||
cprintf(MAGENTA,"DataStreamer %d: fnum:%lu\n", index,fnum);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "DataStreamer " << index << ": fnum:" << fnum;
|
||||
|
||||
if (!measurementStartedFlag) {
|
||||
#ifdef VERBOSE
|
||||
if (!index) cprintf(MAGENTA,"DataStreamer %d: fnum:%lu\n", index, fnum);
|
||||
#endif
|
||||
RecordFirstIndices(fnum);
|
||||
}
|
||||
|
||||
@ -220,17 +206,16 @@ void DataStreamer::ProcessAnImage(char* buf) {
|
||||
//write imagesize
|
||||
|
||||
if (!SendHeader(header, generalData->imageSizeComplete,
|
||||
generalData->nPixelsXComplete, generalData->nPixelsYComplete, false))
|
||||
cprintf(RED,"Error: Could not send zmq header for fnum %lld and streamer %d\n",
|
||||
(long long int) fnum, index);
|
||||
|
||||
generalData->nPixelsXComplete, generalData->nPixelsYComplete, false)) {
|
||||
FILE_LOG(logERROR) << "Could not send zmq header for fnum " << fnum << " and streamer " << index;
|
||||
}
|
||||
memcpy(completeBuffer + ((generalData->imageSize) * adcConfigured),
|
||||
buf + FIFO_HEADER_NUMBYTES + sizeof(sls_receiver_header),
|
||||
(uint32_t)(*((uint32_t*)buf)) );
|
||||
|
||||
if (!zmqSocket->SendData(completeBuffer, generalData->imageSizeComplete))
|
||||
cprintf(RED,"Error: Could not send zmq data for fnum %lld and streamer %d\n",
|
||||
(long long int) fnum, index);
|
||||
if (!zmqSocket->SendData(completeBuffer, generalData->imageSizeComplete)) {
|
||||
FILE_LOG(logERROR) << "Could not send zmq data for fnum " << fnum << " and streamer " << index;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -238,14 +223,13 @@ void DataStreamer::ProcessAnImage(char* buf) {
|
||||
else {
|
||||
|
||||
if (!SendHeader(header, (uint32_t)(*((uint32_t*)buf)),
|
||||
generalData->nPixelsX, generalData->nPixelsY, false)) // new size possibly from callback
|
||||
cprintf(RED,"Error: Could not send zmq header for fnum %lld and streamer %d\n",
|
||||
(long long int) fnum, index);
|
||||
|
||||
generalData->nPixelsX, generalData->nPixelsY, false)) {// new size possibly from callback
|
||||
FILE_LOG(logERROR) << "Could not send zmq header for fnum " << fnum << " and streamer " << index;
|
||||
}
|
||||
if (!zmqSocket->SendData(buf + FIFO_HEADER_NUMBYTES + sizeof(sls_receiver_header),
|
||||
(uint32_t)(*((uint32_t*)buf)) )) // new size possibly from callback
|
||||
cprintf(RED,"Error: Could not send zmq data for fnum %lld and streamer %d\n",
|
||||
(long long int) fnum, index);
|
||||
(uint32_t)(*((uint32_t*)buf)) )) {// new size possibly from callback
|
||||
FILE_LOG(logERROR) << "Could not send zmq data for fnum " << fnum << " and streamer " << index;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,22 +21,21 @@ Fifo::Fifo(int ind, uint32_t fifoItemSize, uint32_t depth):
|
||||
fifoDepth(depth),
|
||||
status_fifoBound(0),
|
||||
status_fifoFree(depth){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " called";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
if(CreateFifos(fifoItemSize) == FAIL)
|
||||
throw std::exception();
|
||||
}
|
||||
|
||||
|
||||
Fifo::~Fifo() {
|
||||
FILE_LOG(logDEBUG) << __AT__ << " called";
|
||||
//cprintf(BLUE,"Fifo Object %d: Goodbye\n", index);
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
DestroyFifos();
|
||||
}
|
||||
|
||||
|
||||
|
||||
int Fifo::CreateFifos(uint32_t fifoItemSize) {
|
||||
FILE_LOG(logDEBUG) << __AT__ << " called";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
//destroy if not already
|
||||
DestroyFifos();
|
||||
@ -69,7 +68,7 @@ int Fifo::CreateFifos(uint32_t fifoItemSize) {
|
||||
|
||||
|
||||
void Fifo::DestroyFifos(){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " called";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
if(memory) {
|
||||
free(memory);
|
||||
|
@ -38,8 +38,8 @@ std::string File::GetCurrentFileName() {
|
||||
return currentFileName;
|
||||
}
|
||||
|
||||
void File::PrintMembers() {
|
||||
FILE_LOG(logINFO) << "\nGeneral Writer Variables:" << std::endl
|
||||
void File::PrintMembers(TLogLevel level) {
|
||||
FILE_LOG(level) << "\nGeneral Writer Variables:" << std::endl
|
||||
<< "Index: " << index << std::endl
|
||||
<< "Max Frames Per File: " << *maxFramesPerFile << std::endl
|
||||
<< "Number of Detectors in x dir: " << numDetX << std::endl
|
||||
|
@ -38,9 +38,7 @@ HDF5File::HDF5File(int ind, uint32_t* maxf,
|
||||
dataspace_para(0),
|
||||
extNumImages(0)
|
||||
{
|
||||
#ifdef VERBOSE
|
||||
PrintMembers();
|
||||
#endif
|
||||
dataset_para.clear();
|
||||
parameterNames.clear();
|
||||
parameterDataTypes.clear();
|
||||
@ -95,15 +93,15 @@ HDF5File::~HDF5File() {
|
||||
CloseAllFiles();
|
||||
}
|
||||
|
||||
void HDF5File::PrintMembers() {
|
||||
void HDF5File::PrintMembers(TLogLevel level) {
|
||||
File::PrintMembers();
|
||||
UpdateDataType();
|
||||
if (datatype == PredType::STD_U8LE) {
|
||||
FILE_LOG(logINFO) << "Data Type: 4 or 8";
|
||||
FILE_LOG(level) << "Data Type: 4 or 8";
|
||||
} else if (datatype == PredType::STD_U16LE) {
|
||||
FILE_LOG(logINFO) << "Data Type: 16";
|
||||
FILE_LOG(level) << "Data Type: 16";
|
||||
} else if (datatype == PredType::STD_U32LE) {
|
||||
FILE_LOG(logINFO) << "Data Type: 32";
|
||||
FILE_LOG(level) << "Data Type: 32";
|
||||
} else {
|
||||
FILE_LOG(logERROR) << "unknown data type";
|
||||
}
|
||||
@ -154,8 +152,6 @@ int HDF5File::CreateFile(uint64_t fnum) {
|
||||
return FAIL;
|
||||
}
|
||||
pthread_mutex_unlock(&Mutex);
|
||||
if (dataspace == NULL)
|
||||
cprintf(RED,"Got nothing!\n");
|
||||
|
||||
if(!(*silentMode)) {
|
||||
FILE_LOG(logINFO) << *udpPortNumber << ": HDF5 File created: " << currentFileName;
|
||||
@ -214,9 +210,8 @@ int HDF5File::WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_t
|
||||
if (HDF5FileStatic::ExtendDataset(index, dataspace, dataset,
|
||||
dataspace_para, dataset_para, *numImages) == OK) {
|
||||
if (!(*silentMode)) {
|
||||
cprintf(BLUE,"%d Extending HDF5 dataset by %llu, Total x Dimension: %llu\n",
|
||||
index, (long long unsigned int)extNumImages,
|
||||
(long long unsigned int)(extNumImages + *numImages));
|
||||
FILE_LOG(logINFO) << index << " Extending HDF5 dataset by " <<
|
||||
extNumImages << ", Total x Dimension: " << (extNumImages + *numImages);
|
||||
}
|
||||
extNumImages += *numImages;
|
||||
}
|
||||
@ -238,7 +233,7 @@ int HDF5File::WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_t
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock(&Mutex);
|
||||
cprintf(RED,"%d Error: Write to file failed\n", index);
|
||||
FILE_LOG(logERROR) << index << "Write to file failed";
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
|
@ -159,19 +159,18 @@ void Listener::RecordFirstIndices(uint64_t fnum) {
|
||||
}
|
||||
|
||||
if(!(*silentMode)) {
|
||||
if (!index) cprintf(BLUE,"%d First Acquisition Index:%lu\n"
|
||||
"%d First Measurement Index:%lu\n",
|
||||
index, firstAcquisitionIndex,
|
||||
index, firstMeasurementIndex);
|
||||
if (!index) {
|
||||
FILE_LOG(logINFOBLUE) << index <<
|
||||
" First Acquisition Index: " << firstAcquisitionIndex;
|
||||
FILE_LOG(logDEBUG1) << index << " First Measurement Index: " << firstMeasurementIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Listener::SetGeneralData(GeneralData*& g) {
|
||||
generalData = g;
|
||||
#ifdef VERY_VERBOSE
|
||||
generalData->Print();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -300,9 +299,8 @@ void Listener::ThreadExecution() {
|
||||
int rc = 0;
|
||||
|
||||
fifo->GetNewAddress(buffer);
|
||||
#ifdef FIFODEBUG
|
||||
cprintf(GREEN,"Listener %d, pop 0x%p buffer:%s\n", index,(void*)(buffer),buffer);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG5) << "Listener " << index << ", "
|
||||
"pop 0x" << std::hex << (void*)(buffer) << std::dec << ":" << buffer;
|
||||
|
||||
//udpsocket doesnt exist
|
||||
if (*activated && !udpSocketAlive && !carryOverFlag) {
|
||||
@ -320,7 +318,6 @@ void Listener::ThreadExecution() {
|
||||
|
||||
//error check, (should not be here) if not transmitting yet (previous if) rc should be > 0
|
||||
if (rc == 0) {
|
||||
//cprintf(RED,"%d Socket shut down while waiting for future packet. udpsocketalive:%d\n",index, udpSocketAlive );
|
||||
if (!udpSocketAlive) {
|
||||
(*((uint32_t*)buffer)) = 0;
|
||||
StopListening(buffer);
|
||||
@ -362,10 +359,8 @@ void Listener::StopListening(char* buf) {
|
||||
StopRunning();
|
||||
|
||||
sem_post(&semaphore_socket);
|
||||
#ifdef VERBOSE
|
||||
cprintf(GREEN,"%d: Listening Packets (%u) : %llu\n", index, *udpPortNumber, numPacketsCaught);
|
||||
cprintf(GREEN,"%d: Listening Completed\n", index);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << index << ": Listening Packets (" << *udpPortNumber << ") : " << numPacketsCaught;
|
||||
FILE_LOG(logDEBUG1) << index << ": Listening Completed";
|
||||
}
|
||||
|
||||
|
||||
@ -418,7 +413,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
|
||||
//look for carry over
|
||||
if (carryOverFlag) {
|
||||
//cprintf(RED,"%d carry flag\n",index);
|
||||
FILE_LOG(logDEBUG3) << index << "carry flag";
|
||||
//check if its the current image packet
|
||||
// -------------------------- new header ----------------------------------------------------------------------
|
||||
if (standardheader) {
|
||||
@ -434,7 +429,8 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
if (fnum != currentFrameIndex) {
|
||||
if (fnum < currentFrameIndex) {
|
||||
cprintf(RED,"Error:(Weird), With carry flag: Frame number %lu less than current frame number %lu\n", fnum, currentFrameIndex);
|
||||
FILE_LOG(logERROR) << "(Weird), With carry flag: Frame number " <<
|
||||
fnum << " less than current frame number " << currentFrameIndex;
|
||||
return 0;
|
||||
}
|
||||
switch(*frameDiscardMode) {
|
||||
@ -551,25 +547,22 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
|
||||
// Eiger Firmware in a weird state
|
||||
if (myDetectorType == EIGER && fnum == 0) {
|
||||
cprintf(RED,"[%u]: Got Frame Number Zero from Firmware. Discarding Packet\n", *udpPortNumber);
|
||||
FILE_LOG(logERROR) << "[" << *udpPortNumber << "]: Got Frame Number "
|
||||
"Zero from Firmware. Discarding Packet";
|
||||
numPacketsCaught--;
|
||||
return 0;
|
||||
}
|
||||
|
||||
lastCaughtFrameIndex = fnum;
|
||||
|
||||
FILE_LOG(logDEBUG5) << "Listening " << index << ": currentfindex:" << currentFrameIndex <<
|
||||
", fnum:" << fnum << ", pnum:" << pnum << ", numpackets:" << numpackets;
|
||||
|
||||
#ifdef VERBOSE
|
||||
//if (!index)
|
||||
cprintf(GREEN,"Listening %d: currentfindex:%lu, fnum:%lu, pnum:%u numpackets:%u\n",
|
||||
index,currentFrameIndex, fnum, pnum, numpackets);
|
||||
#endif
|
||||
if (!measurementStartedFlag)
|
||||
RecordFirstIndices(fnum);
|
||||
|
||||
//future packet by looking at image number (all other detectors)
|
||||
if (fnum != currentFrameIndex) {
|
||||
//cprintf(RED,"setting carry over flag to true num:%llu nump:%u\n",fnum, numpackets );
|
||||
carryOverFlag = true;
|
||||
memcpy(carryOverPacket,listeningPacket, generalData->packetSize);
|
||||
|
||||
@ -641,19 +634,18 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
|
||||
|
||||
void Listener::PrintFifoStatistics() {
|
||||
#ifdef VERBOSE
|
||||
cout << "numFramesStatistic:" << numFramesStatistic << " numPacketsStatistic:" << numPacketsStatistic << endl;
|
||||
#endif
|
||||
FILE_LOG(logDEBUG1) << "numFramesStatistic:" << numFramesStatistic << " numPacketsStatistic:" << numPacketsStatistic;
|
||||
|
||||
//calculate packet loss
|
||||
int64_t loss = -1;
|
||||
loss = (numFramesStatistic*(generalData->packetsPerFrame)) - numPacketsStatistic;
|
||||
numPacketsStatistic = 0;
|
||||
numFramesStatistic = 0;
|
||||
|
||||
if (loss)
|
||||
cprintf(RED,"[%u]: Packet_Loss:%lu Used_Fifo_Max_Level:%d \tFree_Slots_Min_Level:%d \tCurrent_Frame#:%lu\n",
|
||||
*udpPortNumber,loss, fifo->GetMaxLevelForFifoBound() , fifo->GetMinLevelForFifoFree(), currentFrameIndex);
|
||||
else
|
||||
cprintf(GREEN,"[%u]: Packet_Loss:%lu Used_Fifo_Max_Level:%d \tFree_Slots_Min_Level:%d \tCurrent_Frame#:%lu\n",
|
||||
*udpPortNumber,loss, fifo->GetMaxLevelForFifoBound(), fifo->GetMinLevelForFifoFree(), currentFrameIndex);
|
||||
FILE_LOG(loss ? logINFORED : logINFOGREEN) << "[" << *udpPortNumber << "]: "
|
||||
"Packet_Loss:" << loss <<
|
||||
" Used_Fifo_Max_Level:" << fifo->GetMaxLevelForFifoBound() <<
|
||||
" \tFree_Slots_Min_Level:" << fifo->GetMinLevelForFifoFree() <<
|
||||
" \tCurrent_Frame#:" << currentFrameIndex;
|
||||
|
||||
}
|
||||
|
@ -74,7 +74,8 @@ void* ThreadObject::StartThread(void* thisPointer) {
|
||||
|
||||
|
||||
void ThreadObject::RunningThread() {
|
||||
cprintf(BLUE,"Created [ %s Thread %d, Tid: %ld ]\n", GetType().c_str(),index, (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Created [ " << GetType() << "Thread " << index << ", "
|
||||
"Tid: " << syscall(SYS_gettid) << "]";
|
||||
while(true) {
|
||||
|
||||
while(IsRunning()) {
|
||||
@ -88,7 +89,8 @@ void ThreadObject::RunningThread() {
|
||||
sem_wait(&semaphore);
|
||||
|
||||
if(killThread) {
|
||||
cprintf(BLUE,"Exiting [ %s Thread %d, Tid: %ld ]\n", GetType().c_str(),index, (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ " << GetType() <<
|
||||
" Thread " << index << ", Tid: " << syscall(SYS_gettid) << "]";
|
||||
pthread_exit(NULL);
|
||||
}
|
||||
|
||||
|
@ -24,18 +24,21 @@ void sigInterruptHandler(int p){
|
||||
keeprunning = false;
|
||||
}
|
||||
|
||||
/** Define Colors to print data call back in different colors for different recievers */
|
||||
/*
|
||||
int StartAcq(char* filepath, char* filename, uint64_t fileindex, uint32_t datasize, void*p){
|
||||
printf("#### StartAcq: filepath:%s filename:%s fileindex:%llu datasize:%u ####\n",
|
||||
filepath, filename, fileindex, datasize);
|
||||
#define PRINT_IN_COLOR(c,f, ...) printf ("\033[%dm" f RESET, 30 + c+1, ##__VA_ARGS__)
|
||||
|
||||
cprintf(BLUE, "--StartAcq: returning 0\n");
|
||||
int StartAcq(char* filepath, char* filename, uint64_t fileindex, uint32_t datasize, void*p){
|
||||
FILE_LOG(logINFO) << "#### StartAcq: "
|
||||
"filepath: " << filepath << "filename: " << filename <<
|
||||
"fileindex: " << fileindex << "datasize: " << datasize << " ####";
|
||||
FILE_LOG(logINFO) << "--StartAcq: returning 0";
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void AcquisitionFinished(uint64_t frames, void*p){
|
||||
cprintf(BLUE, "#### AcquisitionFinished: frames:%llu ####\n",frames);
|
||||
FILE_LOG(logINFO) << "#### AcquisitionFinished: frames:" << frames << " ####";
|
||||
}
|
||||
|
||||
|
||||
@ -45,16 +48,16 @@ void GetData(char* metadata, char* datapointer, uint32_t datasize, void* p){
|
||||
|
||||
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
|
||||
"#### %d GetData: ####\n"
|
||||
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
|
||||
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
|
||||
"xCrow%u\t\tcolumn: %u\t\tcolumn: %u\t\tdebug: %u"
|
||||
"frameNumber: %lu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %lu"
|
||||
"\t\ttimestamp: %lu\t\tmodId: %u\t\t"
|
||||
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
|
||||
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
|
||||
//"\t\tpacketsMask:%s"
|
||||
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
|
||||
detectorHeader.row, detectorHeader.frameNumber,
|
||||
detectorHeader.expLength, detectorHeader.packetNumber, detectorHeader.bunchId,
|
||||
detectorHeader.timestamp, detectorHeader.modId,
|
||||
detectorHeader.row, detectorHeader.column, detectorHeader.column,
|
||||
detectorHeader.row, (long unsigned int)detectorHeader.frameNumber,
|
||||
detectorHeader.expLength, detectorHeader.packetNumber, (long unsigned int)detectorHeader.bunchId,
|
||||
(long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
|
||||
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
|
||||
detectorHeader.debug, detectorHeader.roundRNumber,
|
||||
detectorHeader.detType, detectorHeader.version,
|
||||
//header->packetsMask.to_string().c_str(),
|
||||
@ -66,7 +69,7 @@ void GetData(char* metadata, char* datapointer, uint32_t datasize, void* p){
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
keeprunning = true;
|
||||
cprintf(BLUE,"Created [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Created [ Tid: " << syscall(SYS_gettid) << " ]";
|
||||
|
||||
// Catch signal SIGINT to close files and call destructors properly
|
||||
struct sigaction sa;
|
||||
@ -74,7 +77,7 @@ int main(int argc, char *argv[]) {
|
||||
sa.sa_handler=sigInterruptHandler; // handler function
|
||||
sigemptyset(&sa.sa_mask); // dont block additional signals during invocation of handler
|
||||
if (sigaction(SIGINT, &sa, NULL) == -1) {
|
||||
cprintf(RED, "Could not set handler function for SIGINT\n");
|
||||
FILE_LOG(logERROR) << "Could not set handler function for SIGINT";
|
||||
}
|
||||
|
||||
|
||||
@ -85,7 +88,7 @@ int main(int argc, char *argv[]) {
|
||||
asa.sa_handler=SIG_IGN; // handler function
|
||||
sigemptyset(&asa.sa_mask); // dont block additional signals during invocation of handler
|
||||
if (sigaction(SIGPIPE, &asa, NULL) == -1) {
|
||||
cprintf(RED, "Could not set handler function for SIGPIPE\n");
|
||||
FILE_LOG(logERROR) << "Could not set handler function for SIGPIPE";
|
||||
}
|
||||
|
||||
|
||||
@ -93,7 +96,7 @@ int main(int argc, char *argv[]) {
|
||||
slsReceiverUsers *receiver = new slsReceiverUsers(argc, argv, ret);
|
||||
if(ret==slsDetectorDefs::FAIL){
|
||||
delete receiver;
|
||||
cprintf(BLUE,"Exiting [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ Tid: " << syscall(SYS_gettid) << " ]";
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
@ -142,18 +145,18 @@ int main(int argc, char *argv[]) {
|
||||
//start tcp server thread
|
||||
if (receiver->start() == slsDetectorDefs::FAIL){
|
||||
delete receiver;
|
||||
cprintf(BLUE,"Exiting [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ Tid: " << syscall(SYS_gettid) << " ]";
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
FILE_LOG(logINFO) << "Ready ... ";
|
||||
cprintf(RESET, "\n[ Press \'Ctrl+c\' to exit ]\n");
|
||||
FILE_LOG(logINFO) << "[ Press \'Ctrl+c\' to exit ]";
|
||||
while(keeprunning)
|
||||
pause();
|
||||
|
||||
delete receiver;
|
||||
cprintf(BLUE,"Exiting [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFO) << "Goodbye!";
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ Tid: " << syscall(SYS_gettid) << " ]";
|
||||
FILE_LOG(logINFO) << "Exiting Receiver";
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -24,16 +24,19 @@
|
||||
/** cosntructor & destructor */
|
||||
|
||||
slsReceiverImplementation::slsReceiverImplementation() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
InitializeMembers();
|
||||
}
|
||||
|
||||
|
||||
slsReceiverImplementation::~slsReceiverImplementation() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
DeleteMembers();
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverImplementation::DeleteMembers() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
if (generalData) {
|
||||
delete generalData;
|
||||
generalData=0;
|
||||
@ -58,7 +61,7 @@ void slsReceiverImplementation::DeleteMembers() {
|
||||
|
||||
|
||||
void slsReceiverImplementation::InitializeMembers() {
|
||||
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
//**detector parameters***
|
||||
myDetectorType = GENERIC;
|
||||
for (int i = 0; i < MAX_DIMENSIONS; ++i)
|
||||
@ -113,7 +116,7 @@ void slsReceiverImplementation::InitializeMembers() {
|
||||
dataStreamEnable = false;
|
||||
streamingPort = 0;
|
||||
memset(streamingSrcIP, 0, sizeof(streamingSrcIP));
|
||||
memset(additionalJsonHeader, 0, sizeof(additionalJsonHeader));
|
||||
memset(additionalJsonHeader, 0, sizeof(additionalJsonHeader));
|
||||
|
||||
//** class objects ***
|
||||
generalData = 0;
|
||||
@ -135,77 +138,77 @@ void slsReceiverImplementation::InitializeMembers() {
|
||||
|
||||
/**initial parameters***/
|
||||
int* slsReceiverImplementation::getMultiDetectorSize() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return (int*) numDet;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return (int*) numDet;
|
||||
}
|
||||
|
||||
int slsReceiverImplementation::getDetectorPositionId() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return detID;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return detID;
|
||||
}
|
||||
|
||||
std::string slsReceiverImplementation::getDetectorHostname() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return std::string(detHostname);
|
||||
}
|
||||
|
||||
int slsReceiverImplementation::getFlippedData(int axis) const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
if(axis<0 || axis > 1) return -1;
|
||||
return flippedData[axis];
|
||||
}
|
||||
|
||||
bool slsReceiverImplementation::getGapPixelsEnable() const {
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return gapPixelsEnable;
|
||||
}
|
||||
|
||||
/***file parameters***/
|
||||
slsDetectorDefs::fileFormat slsReceiverImplementation::getFileFormat() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return fileFormatType;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return fileFormatType;
|
||||
}
|
||||
|
||||
|
||||
std::string slsReceiverImplementation::getFileName() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return std::string(fileName);
|
||||
}
|
||||
|
||||
std::string slsReceiverImplementation::getFilePath() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return std::string(filePath);
|
||||
}
|
||||
|
||||
uint64_t slsReceiverImplementation::getFileIndex() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return fileIndex;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return fileIndex;
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getFramesPerFile() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return framesPerFile;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return framesPerFile;
|
||||
}
|
||||
|
||||
slsDetectorDefs::frameDiscardPolicy slsReceiverImplementation::getFrameDiscardPolicy() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return frameDiscardMode;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return frameDiscardMode;
|
||||
}
|
||||
|
||||
bool slsReceiverImplementation::getFramePaddingEnable() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return framePadding;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return framePadding;
|
||||
}
|
||||
|
||||
|
||||
bool slsReceiverImplementation::getFileWriteEnable() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return fileWriteEnable;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return fileWriteEnable;
|
||||
}
|
||||
|
||||
bool slsReceiverImplementation::getOverwriteEnable() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return overwriteEnable;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return overwriteEnable;
|
||||
}
|
||||
|
||||
|
||||
@ -261,130 +264,130 @@ int64_t slsReceiverImplementation::getAcquisitionIndex() const {
|
||||
|
||||
/***connection parameters***/
|
||||
uint32_t slsReceiverImplementation::getUDPPortNumber() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return udpPortNum[0];
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return udpPortNum[0];
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getUDPPortNumber2() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return udpPortNum[1];
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return udpPortNum[1];
|
||||
}
|
||||
|
||||
std::string slsReceiverImplementation::getEthernetInterface() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return std::string(eth);
|
||||
}
|
||||
|
||||
|
||||
/***acquisition parameters***/
|
||||
std::vector<slsDetectorDefs::ROI> slsReceiverImplementation::getROI() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return roi;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return roi;
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getStreamingFrequency() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return streamingFrequency;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return streamingFrequency;
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getStreamingTimer() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return streamingTimerInMs;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return streamingTimerInMs;
|
||||
}
|
||||
|
||||
bool slsReceiverImplementation::getDataStreamEnable() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return dataStreamEnable;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return dataStreamEnable;
|
||||
}
|
||||
|
||||
uint64_t slsReceiverImplementation::getAcquisitionPeriod() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return acquisitionPeriod;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return acquisitionPeriod;
|
||||
}
|
||||
|
||||
uint64_t slsReceiverImplementation::getAcquisitionTime() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return acquisitionTime;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return acquisitionTime;
|
||||
}
|
||||
|
||||
uint64_t slsReceiverImplementation::getSubExpTime() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return subExpTime;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return subExpTime;
|
||||
}
|
||||
|
||||
uint64_t slsReceiverImplementation::getSubPeriod() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return subPeriod;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return subPeriod;
|
||||
}
|
||||
|
||||
uint64_t slsReceiverImplementation::getNumberOfFrames() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return numberOfFrames;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return numberOfFrames;
|
||||
}
|
||||
|
||||
uint64_t slsReceiverImplementation::getNumberofSamples() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return numberOfSamples;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return numberOfSamples;
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getDynamicRange() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return dynamicRange;}
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return dynamicRange;}
|
||||
|
||||
bool slsReceiverImplementation::getTenGigaEnable() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return tengigaEnable;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return tengigaEnable;
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getFifoDepth() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return fifoDepth;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return fifoDepth;
|
||||
}
|
||||
|
||||
/***receiver status***/
|
||||
slsDetectorDefs::runStatus slsReceiverImplementation::getStatus() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return status;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return status;
|
||||
}
|
||||
|
||||
bool slsReceiverImplementation::getSilentMode() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return silentMode;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return silentMode;
|
||||
}
|
||||
|
||||
bool slsReceiverImplementation::getActivate() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return activated;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return activated;
|
||||
}
|
||||
|
||||
bool slsReceiverImplementation::getDeactivatedPadding() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return deactivatedPaddingEnable;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return deactivatedPaddingEnable;
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getStreamingPort() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return streamingPort;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return streamingPort;
|
||||
}
|
||||
|
||||
std::string slsReceiverImplementation::getStreamingSourceIP() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return std::string(streamingSrcIP);
|
||||
}
|
||||
|
||||
std::string slsReceiverImplementation::getAdditionalJsonHeader() const{
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return std::string(additionalJsonHeader);
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return std::string(additionalJsonHeader);
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getUDPSocketBufferSize() const {
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return udpSocketBufferSize;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return udpSocketBufferSize;
|
||||
}
|
||||
|
||||
uint32_t slsReceiverImplementation::getActualUDPSocketBufferSize() const {
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return actualUDPSocketBufferSize;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
return actualUDPSocketBufferSize;
|
||||
}
|
||||
|
||||
|
||||
@ -396,7 +399,7 @@ uint32_t slsReceiverImplementation::getActualUDPSocketBufferSize() const {
|
||||
/**initial parameters***/
|
||||
|
||||
void slsReceiverImplementation::setDetectorHostname(const char *c){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
if(strlen(c))
|
||||
strcpy(detHostname, c);
|
||||
@ -405,7 +408,7 @@ void slsReceiverImplementation::setDetectorHostname(const char *c){
|
||||
|
||||
|
||||
void slsReceiverImplementation::setMultiDetectorSize(const int* size) {
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
char message[100];
|
||||
strcpy(message, "Detector Size: (");
|
||||
for (int i = 0; i < MAX_DIMENSIONS; ++i) {
|
||||
@ -423,7 +426,7 @@ void slsReceiverImplementation::setMultiDetectorSize(const int* size) {
|
||||
|
||||
|
||||
void slsReceiverImplementation::setFlippedData(int axis, int enable){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
if(axis<0 || axis>1) return;
|
||||
flippedData[axis] = enable==0?0:1;
|
||||
FILE_LOG(logINFO) << "Flipped Data: " << flippedData[0] << " , " << flippedData[1];
|
||||
@ -469,7 +472,7 @@ void slsReceiverImplementation::setFileFormat(const fileFormat f){
|
||||
|
||||
|
||||
void slsReceiverImplementation::setFileName(const char c[]){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
if(strlen(c))
|
||||
strcpy(fileName, c);
|
||||
@ -478,7 +481,7 @@ void slsReceiverImplementation::setFileName(const char c[]){
|
||||
|
||||
|
||||
void slsReceiverImplementation::setFilePath(const char c[]){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
|
||||
if(strlen(c)){
|
||||
@ -494,7 +497,7 @@ void slsReceiverImplementation::setFilePath(const char c[]){
|
||||
|
||||
|
||||
void slsReceiverImplementation::setFileIndex(const uint64_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
fileIndex = i;
|
||||
FILE_LOG(logINFO) << "File Index: " << fileIndex;
|
||||
@ -502,7 +505,7 @@ void slsReceiverImplementation::setFileIndex(const uint64_t i){
|
||||
|
||||
|
||||
void slsReceiverImplementation::setFramesPerFile(const uint32_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
framesPerFile = i;
|
||||
FILE_LOG(logINFO) << "Frames per file: " << framesPerFile;
|
||||
@ -510,7 +513,7 @@ void slsReceiverImplementation::setFramesPerFile(const uint32_t i){
|
||||
|
||||
|
||||
void slsReceiverImplementation::setFrameDiscardPolicy(const frameDiscardPolicy i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
if (i >= 0 && i < NUM_DISCARD_POLICIES)
|
||||
frameDiscardMode = i;
|
||||
@ -520,7 +523,7 @@ void slsReceiverImplementation::setFrameDiscardPolicy(const frameDiscardPolicy i
|
||||
|
||||
|
||||
void slsReceiverImplementation::setFramePaddingEnable(const bool i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
framePadding = i;
|
||||
FILE_LOG(logINFO) << "Frame Padding: " << framePadding;
|
||||
@ -531,7 +534,7 @@ void slsReceiverImplementation::setFileWriteEnable(const bool b){
|
||||
if (fileWriteEnable != b){
|
||||
fileWriteEnable = b;
|
||||
for (unsigned int i = 0; i < dataProcessor.size(); ++i) {
|
||||
dataProcessor[i]->SetupFileWriter(fileWriteEnable, (int*)numDet,
|
||||
dataProcessor[i]->SetupFileWriter(fileWriteEnable, (int*)numDet,
|
||||
&framesPerFile, fileName, filePath, &fileIndex, &overwriteEnable,
|
||||
&detID, &numThreads, &numberOfFrames, &dynamicRange, &udpPortNum[i],
|
||||
generalData);
|
||||
@ -543,7 +546,7 @@ void slsReceiverImplementation::setFileWriteEnable(const bool b){
|
||||
|
||||
|
||||
void slsReceiverImplementation::setOverwriteEnable(const bool b){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
overwriteEnable = b;
|
||||
FILE_LOG(logINFO) << "Overwrite Enable: " << stringEnable(overwriteEnable);
|
||||
@ -552,37 +555,37 @@ void slsReceiverImplementation::setOverwriteEnable(const bool b){
|
||||
|
||||
/***connection parameters***/
|
||||
void slsReceiverImplementation::setUDPPortNumber(const uint32_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
udpPortNum[0] = i;
|
||||
FILE_LOG(logINFO) << "UDP Port Number[0]: " << udpPortNum[0];
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setUDPPortNumber2(const uint32_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
udpPortNum[1] = i;
|
||||
FILE_LOG(logINFO) << "UDP Port Number[1]: " << udpPortNum[1];
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setEthernetInterface(const char* c){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
strcpy(eth, c);
|
||||
FILE_LOG(logINFO) << "Ethernet Interface: " << eth;
|
||||
}
|
||||
|
||||
int slsReceiverImplementation::setUDPSocketBufferSize(const uint32_t s) {
|
||||
if (listener.size())
|
||||
return listener[0]->CreateDummySocketForUDPSocketBufferSize(s);
|
||||
return FAIL;
|
||||
if (listener.size())
|
||||
return listener[0]->CreateDummySocketForUDPSocketBufferSize(s);
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
|
||||
/***acquisition parameters***/
|
||||
int slsReceiverImplementation::setROI(const std::vector<slsDetectorDefs::ROI> i) {
|
||||
if (myDetectorType != GOTTHARD) {
|
||||
cprintf(RED, "Error: Can not set ROI for this detector\n");
|
||||
FILE_LOG(logERROR) << "Can not set ROI for this detector";
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
@ -651,7 +654,7 @@ int slsReceiverImplementation::setStreamingFrequency(const uint32_t freq) {
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setStreamingTimer(const uint32_t time_in_ms){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
streamingTimerInMs = time_in_ms;
|
||||
FILE_LOG(logINFO) << "Streamer Timer: " << streamingTimerInMs;
|
||||
@ -669,23 +672,23 @@ int slsReceiverImplementation::setDataStreamEnable(const bool enable) {
|
||||
dataStreamer.clear();
|
||||
|
||||
if (enable) {
|
||||
for ( int i = 0; i < numThreads; ++i ) {
|
||||
try {
|
||||
DataStreamer* s = new DataStreamer(i, fifo[i], &dynamicRange,
|
||||
&roi, &fileIndex, flippedData, additionalJsonHeader, &silentMode);
|
||||
dataStreamer.push_back(s);
|
||||
dataStreamer[i]->SetGeneralData(generalData);
|
||||
dataStreamer[i]->CreateZmqSockets(&numThreads, streamingPort, streamingSrcIP);
|
||||
}
|
||||
catch(...) {
|
||||
for (std::vector<DataStreamer*>::const_iterator it = dataStreamer.begin(); it != dataStreamer.end(); ++it)
|
||||
delete(*it);
|
||||
dataStreamer.clear();
|
||||
dataStreamEnable = false;
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
SetThreadPriorities();
|
||||
for ( int i = 0; i < numThreads; ++i ) {
|
||||
try {
|
||||
DataStreamer* s = new DataStreamer(i, fifo[i], &dynamicRange,
|
||||
&roi, &fileIndex, flippedData, additionalJsonHeader, &silentMode);
|
||||
dataStreamer.push_back(s);
|
||||
dataStreamer[i]->SetGeneralData(generalData);
|
||||
dataStreamer[i]->CreateZmqSockets(&numThreads, streamingPort, streamingSrcIP);
|
||||
}
|
||||
catch(...) {
|
||||
for (std::vector<DataStreamer*>::const_iterator it = dataStreamer.begin(); it != dataStreamer.end(); ++it)
|
||||
delete(*it);
|
||||
dataStreamer.clear();
|
||||
dataStreamEnable = false;
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
SetThreadPriorities();
|
||||
}
|
||||
}
|
||||
FILE_LOG(logINFO) << "Data Send to Gui: " << dataStreamEnable;
|
||||
@ -701,21 +704,21 @@ void slsReceiverImplementation::setStreamingPort(const uint32_t i) {
|
||||
|
||||
|
||||
void slsReceiverImplementation::setStreamingSourceIP(const char c[]){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
strcpy(streamingSrcIP, c);
|
||||
FILE_LOG(logINFO) << "Streaming Source IP: " << streamingSrcIP;
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverImplementation::setAdditionalJsonHeader(const char c[]){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
strcpy(additionalJsonHeader, c);
|
||||
FILE_LOG(logINFO) << "Additional JSON Header: " << additionalJsonHeader;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
strcpy(additionalJsonHeader, c);
|
||||
FILE_LOG(logINFO) << "Additional JSON Header: " << additionalJsonHeader;
|
||||
}
|
||||
|
||||
|
||||
int slsReceiverImplementation::setAcquisitionPeriod(const uint64_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
acquisitionPeriod = i;
|
||||
FILE_LOG(logINFO) << "Acquisition Period: " << (double)acquisitionPeriod/(1E9) << "s";
|
||||
@ -725,7 +728,7 @@ int slsReceiverImplementation::setAcquisitionPeriod(const uint64_t i){
|
||||
}
|
||||
|
||||
int slsReceiverImplementation::setAcquisitionTime(const uint64_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
acquisitionTime = i;
|
||||
FILE_LOG(logINFO) << "Acquisition Time: " << (double)acquisitionTime/(1E9) << "s";
|
||||
@ -735,21 +738,21 @@ int slsReceiverImplementation::setAcquisitionTime(const uint64_t i){
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setSubExpTime(const uint64_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
subExpTime = i;
|
||||
FILE_LOG(logINFO) << "Sub Exposure Time: " << (double)subExpTime/(1E9) << "s";
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setSubPeriod(const uint64_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
subPeriod = i;
|
||||
FILE_LOG(logINFO) << "Sub Exposure Period: " << (double)subPeriod/(1E9) << "s";
|
||||
}
|
||||
|
||||
int slsReceiverImplementation::setNumberOfFrames(const uint64_t i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
numberOfFrames = i;
|
||||
FILE_LOG(logINFO) << "Number of Frames: " << numberOfFrames;
|
||||
@ -824,7 +827,7 @@ int slsReceiverImplementation::setFifoDepth(const uint32_t i) {
|
||||
|
||||
/***receiver parameters***/
|
||||
bool slsReceiverImplementation::setActivate(bool enable){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
activated = enable;
|
||||
FILE_LOG(logINFO) << "Activation: " << stringEnable(activated);
|
||||
return activated;
|
||||
@ -832,14 +835,14 @@ bool slsReceiverImplementation::setActivate(bool enable){
|
||||
|
||||
|
||||
bool slsReceiverImplementation::setDeactivatedPadding(bool enable){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
deactivatedPaddingEnable = enable;
|
||||
FILE_LOG(logINFO) << "Deactivated Padding Enable: " << stringEnable(deactivatedPaddingEnable);
|
||||
return deactivatedPaddingEnable;
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setSilentMode(const bool i){
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
silentMode = i;
|
||||
FILE_LOG(logINFO) << "Silent Mode: " << i;
|
||||
@ -854,7 +857,7 @@ void slsReceiverImplementation::setSilentMode(const bool i){
|
||||
|
||||
/***initial functions***/
|
||||
int slsReceiverImplementation::setDetectorType(const detectorType d) {
|
||||
FILE_LOG(logDEBUG) << "Setting receiver type";
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
DeleteMembers();
|
||||
InitializeMembers();
|
||||
myDetectorType = d;
|
||||
@ -897,30 +900,30 @@ int slsReceiverImplementation::setDetectorType(const detectorType d) {
|
||||
//create threads
|
||||
for ( int i = 0; i < numThreads; ++i ) {
|
||||
|
||||
try {
|
||||
Listener* l = new Listener(i, myDetectorType, fifo[i], &status,
|
||||
&udpPortNum[i], eth, &numberOfFrames, &dynamicRange,
|
||||
&udpSocketBufferSize, &actualUDPSocketBufferSize, &framesPerFile,
|
||||
try {
|
||||
Listener* l = new Listener(i, myDetectorType, fifo[i], &status,
|
||||
&udpPortNum[i], eth, &numberOfFrames, &dynamicRange,
|
||||
&udpSocketBufferSize, &actualUDPSocketBufferSize, &framesPerFile,
|
||||
&frameDiscardMode, &activated, &deactivatedPaddingEnable, &silentMode);
|
||||
listener.push_back(l);
|
||||
listener.push_back(l);
|
||||
|
||||
DataProcessor* p = new DataProcessor(i, myDetectorType, fifo[i], &fileFormatType,
|
||||
fileWriteEnable, &dataStreamEnable, &gapPixelsEnable,
|
||||
&dynamicRange, &streamingFrequency, &streamingTimerInMs,
|
||||
DataProcessor* p = new DataProcessor(i, myDetectorType, fifo[i], &fileFormatType,
|
||||
fileWriteEnable, &dataStreamEnable, &gapPixelsEnable,
|
||||
&dynamicRange, &streamingFrequency, &streamingTimerInMs,
|
||||
&framePadding, &activated, &deactivatedPaddingEnable, &silentMode,
|
||||
rawDataReadyCallBack, rawDataModifyReadyCallBack, pRawDataReady);
|
||||
dataProcessor.push_back(p);
|
||||
}
|
||||
catch (...) {
|
||||
FILE_LOG(logERROR) << "Could not create listener/dataprocessor threads (index:" << i << ")";
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
delete(*it);
|
||||
listener.clear();
|
||||
for (std::vector<DataProcessor*>::const_iterator it = dataProcessor.begin(); it != dataProcessor.end(); ++it)
|
||||
delete(*it);
|
||||
dataProcessor.clear();
|
||||
return FAIL;
|
||||
}
|
||||
rawDataReadyCallBack, rawDataModifyReadyCallBack, pRawDataReady);
|
||||
dataProcessor.push_back(p);
|
||||
}
|
||||
catch (...) {
|
||||
FILE_LOG(logERROR) << "Could not create listener/dataprocessor threads (index:" << i << ")";
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
delete(*it);
|
||||
listener.clear();
|
||||
for (std::vector<DataProcessor*>::const_iterator it = dataProcessor.begin(); it != dataProcessor.end(); ++it)
|
||||
delete(*it);
|
||||
dataProcessor.clear();
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
//set up writer and callbacks
|
||||
@ -931,8 +934,8 @@ int slsReceiverImplementation::setDetectorType(const detectorType d) {
|
||||
|
||||
SetThreadPriorities();
|
||||
|
||||
// check udp socket buffer size
|
||||
setUDPSocketBufferSize(udpSocketBufferSize);
|
||||
// check udp socket buffer size
|
||||
setUDPSocketBufferSize(udpSocketBufferSize);
|
||||
|
||||
FILE_LOG(logDEBUG) << " Detector type set to " << getDetectorType(d);
|
||||
return OK;
|
||||
@ -942,6 +945,7 @@ int slsReceiverImplementation::setDetectorType(const detectorType d) {
|
||||
|
||||
|
||||
void slsReceiverImplementation::setDetectorPositionId(const int i){
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
detID = i;
|
||||
FILE_LOG(logINFO) << "Detector Position Id:" << detID;
|
||||
for (unsigned int i = 0; i < dataProcessor.size(); ++i) {
|
||||
@ -962,6 +966,7 @@ void slsReceiverImplementation::setDetectorPositionId(const int i){
|
||||
|
||||
/***acquisition functions***/
|
||||
void slsReceiverImplementation::resetAcquisitionCount() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
(*it)->ResetParametersforNewAcquisition();
|
||||
|
||||
@ -977,7 +982,7 @@ void slsReceiverImplementation::resetAcquisitionCount() {
|
||||
|
||||
|
||||
int slsReceiverImplementation::startReceiver(char *c) {
|
||||
cprintf(RESET,"\n");
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
FILE_LOG(logINFO) << "Starting Receiver";
|
||||
ResetParametersforNewMeasurement();
|
||||
|
||||
@ -1023,6 +1028,7 @@ int slsReceiverImplementation::startReceiver(char *c) {
|
||||
|
||||
|
||||
void slsReceiverImplementation::stopReceiver(){
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
FILE_LOG(logINFO) << "Stopping Receiver";
|
||||
|
||||
//set status to transmitting
|
||||
@ -1031,14 +1037,14 @@ void slsReceiverImplementation::stopReceiver(){
|
||||
//wait for the processes (Listener and DataProcessor) to be done
|
||||
bool running = true;
|
||||
while(running) {
|
||||
running = false;
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
if ((*it)->IsRunning())
|
||||
running = true;
|
||||
for (std::vector<DataProcessor*>::const_iterator it = dataProcessor.begin(); it != dataProcessor.end(); ++it)
|
||||
if ((*it)->IsRunning())
|
||||
running = true;
|
||||
usleep(5000);
|
||||
running = false;
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
if ((*it)->IsRunning())
|
||||
running = true;
|
||||
for (std::vector<DataProcessor*>::const_iterator it = dataProcessor.begin(); it != dataProcessor.end(); ++it)
|
||||
if ((*it)->IsRunning())
|
||||
running = true;
|
||||
usleep(5000);
|
||||
}
|
||||
|
||||
|
||||
@ -1057,13 +1063,13 @@ void slsReceiverImplementation::stopReceiver(){
|
||||
|
||||
//wait for the processes (DataStreamer) to be done
|
||||
running = true;
|
||||
while(running) {
|
||||
running = false;
|
||||
for (std::vector<DataStreamer*>::const_iterator it = dataStreamer.begin(); it != dataStreamer.end(); ++it)
|
||||
if ((*it)->IsRunning())
|
||||
running = true;
|
||||
usleep(5000);
|
||||
}
|
||||
while(running) {
|
||||
running = false;
|
||||
for (std::vector<DataStreamer*>::const_iterator it = dataStreamer.begin(); it != dataStreamer.end(); ++it)
|
||||
if ((*it)->IsRunning())
|
||||
running = true;
|
||||
usleep(5000);
|
||||
}
|
||||
|
||||
status = RUN_FINISHED;
|
||||
FILE_LOG(logINFO) << "Status: " << runStatusType(status);
|
||||
@ -1075,20 +1081,15 @@ void slsReceiverImplementation::stopReceiver(){
|
||||
tot += dataProcessor[i]->GetNumFramesCaught();
|
||||
|
||||
uint64_t missingpackets = numberOfFrames*generalData->packetsPerFrame-listener[i]->GetPacketsCaught();
|
||||
if ((int)missingpackets > 0) {
|
||||
cprintf(RED, "\n[Port %d]\n",udpPortNum[i]);
|
||||
cprintf(RED, "Missing Packets\t\t: %lld\n",(long long int)missingpackets);
|
||||
cprintf(RED, "Complete Frames\t\t: %lld\n",(long long int)dataProcessor[i]->GetNumFramesCaught());
|
||||
cprintf(RED, "Last Frame Caught\t: %lld\n",(long long int)listener[i]->GetLastFrameIndexCaught());
|
||||
}else{
|
||||
cprintf(GREEN, "\n[Port %d]\n",udpPortNum[i]);
|
||||
cprintf(GREEN, "Missing Packets\t\t: %lld\n",(long long int)missingpackets);
|
||||
cprintf(GREEN, "Complete Frames\t\t: %lld\n",(long long int)dataProcessor[i]->GetNumFramesCaught());
|
||||
cprintf(GREEN, "Last Frame Caught\t: %lld\n",(long long int)listener[i]->GetLastFrameIndexCaught());
|
||||
}
|
||||
FILE_LOG(((int)missingpackets > 0) ? logINFORED : logINFOGREEN) <<
|
||||
"Summary of Port " << udpPortNum[i] <<
|
||||
"\n\tMissing Packets\t\t: " << missingpackets <<
|
||||
"\n\tComplete Frames\t\t: " << dataProcessor[i]->GetNumFramesCaught() <<
|
||||
"\n\tLast Frame Caught\t: " << listener[i]->GetLastFrameIndexCaught();
|
||||
}
|
||||
if(!activated) {
|
||||
FILE_LOG(logINFORED) << "Deactivated Receiver";
|
||||
}
|
||||
if(!activated)
|
||||
cprintf(RED,"Note: Deactivated Receiver\n");
|
||||
//callback
|
||||
if (acquisitionFinishedCallBack)
|
||||
acquisitionFinishedCallBack((tot/numThreads), pAcquisitionFinished);
|
||||
@ -1104,6 +1105,7 @@ void slsReceiverImplementation::stopReceiver(){
|
||||
|
||||
|
||||
void slsReceiverImplementation::startReadout(){
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
if(status == RUNNING){
|
||||
|
||||
// wait for incoming delayed packets
|
||||
@ -1117,11 +1119,8 @@ void slsReceiverImplementation::startReadout(){
|
||||
|
||||
//wait as long as there is change from prev totalP,
|
||||
while(prev != totalP){
|
||||
#ifdef VERY_VERBOSE
|
||||
cprintf(MAGENTA,"waiting for all packets prevP:%d totalP:%d\n",
|
||||
prev,totalP);
|
||||
|
||||
#endif
|
||||
FILE_LOG(logDEBUG3) << "waiting for all packets prevP:" << prev <<
|
||||
" totalP: " << totalP;
|
||||
//usleep(1*1000*1000);usleep(1*1000*1000);usleep(1*1000*1000);usleep(1*1000*1000);
|
||||
usleep(5*1000);/* Need to find optimal time **/
|
||||
|
||||
@ -1130,9 +1129,7 @@ void slsReceiverImplementation::startReadout(){
|
||||
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
totalP += (*it)->GetPacketsCaught();
|
||||
#ifdef VERY_VERBOSE
|
||||
cprintf(MAGENTA,"\tupdated: totalP:%d\n",totalP);
|
||||
#endif
|
||||
FILE_LOG(logDEBUG3) << "\tupdated: totalP:" << totalP;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1147,6 +1144,7 @@ void slsReceiverImplementation::startReadout(){
|
||||
|
||||
|
||||
void slsReceiverImplementation::shutDownUDPSockets() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
(*it)->ShutDownUDPSocket();
|
||||
}
|
||||
@ -1154,6 +1152,7 @@ void slsReceiverImplementation::shutDownUDPSockets() {
|
||||
|
||||
|
||||
void slsReceiverImplementation::closeFiles() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
uint64_t maxIndexCaught = 0;
|
||||
bool anycaught = false;
|
||||
for (std::vector<DataProcessor*>::const_iterator it = dataProcessor.begin(); it != dataProcessor.end(); ++it) {
|
||||
@ -1168,6 +1167,7 @@ void slsReceiverImplementation::closeFiles() {
|
||||
|
||||
|
||||
int slsReceiverImplementation::restreamStop() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
bool ret = OK;
|
||||
for (std::vector<DataStreamer*>::const_iterator it = dataStreamer.begin(); it != dataStreamer.end(); ++it) {
|
||||
if ((*it)->RestreamStop() == FAIL)
|
||||
@ -1202,40 +1202,41 @@ void slsReceiverImplementation::registerCallBackRawDataReady(void (*func)(char*
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::registerCallBackRawDataModifyReady(void (*func)(char* ,
|
||||
char*, uint32_t&, void*),void *arg){
|
||||
rawDataModifyReadyCallBack=func;
|
||||
pRawDataReady=arg;
|
||||
char*, uint32_t&, void*),void *arg){
|
||||
rawDataModifyReadyCallBack=func;
|
||||
pRawDataReady=arg;
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverImplementation::SetLocalNetworkParameters() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
// to increase Max length of input packet queue
|
||||
int max_back_log;
|
||||
const char *proc_file_name = "/proc/sys/net/core/netdev_max_backlog";
|
||||
{
|
||||
std::ifstream proc_file(proc_file_name);
|
||||
proc_file >> max_back_log;
|
||||
std::ifstream proc_file(proc_file_name);
|
||||
proc_file >> max_back_log;
|
||||
}
|
||||
|
||||
if (max_back_log < MAX_SOCKET_INPUT_PACKET_QUEUE) {
|
||||
std::ofstream proc_file(proc_file_name);
|
||||
if (proc_file.good()) {
|
||||
proc_file << MAX_SOCKET_INPUT_PACKET_QUEUE << std::endl;
|
||||
cprintf(GREEN, "Max length of input packet queue "
|
||||
"[/proc/sys/net/core/netdev_max_backlog] modified to %d\n",
|
||||
MAX_SOCKET_INPUT_PACKET_QUEUE);
|
||||
} else {
|
||||
const char *msg = "Could not change max length of "
|
||||
"input packet queue [net.core.netdev_max_backlog]. (No Root Privileges?)";
|
||||
FILE_LOG(logWARNING) << msg;
|
||||
}
|
||||
std::ofstream proc_file(proc_file_name);
|
||||
if (proc_file.good()) {
|
||||
proc_file << MAX_SOCKET_INPUT_PACKET_QUEUE << std::endl;
|
||||
FILE_LOG(logINFOBLUE) << "Max length of input packet queue "
|
||||
"[/proc/sys/net/core/netdev_max_backlog] modified to " <<
|
||||
MAX_SOCKET_INPUT_PACKET_QUEUE;
|
||||
} else {
|
||||
FILE_LOG(logWARNING) << "Could not change max length of "
|
||||
"input packet queue [net.core.netdev_max_backlog]. (No Root Privileges?)";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void slsReceiverImplementation::SetThreadPriorities() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it){
|
||||
if ((*it)->SetThreadPriority(LISTENER_PRIORITY) == FAIL) {
|
||||
@ -1252,7 +1253,8 @@ void slsReceiverImplementation::SetThreadPriorities() {
|
||||
|
||||
|
||||
int slsReceiverImplementation::SetupFifoStructure() {
|
||||
numberofJobs = 1;
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
numberofJobs = 1;
|
||||
|
||||
|
||||
for (std::vector<Fifo*>::const_iterator it = fifo.begin(); it != fifo.end(); ++it)
|
||||
@ -1261,18 +1263,18 @@ int slsReceiverImplementation::SetupFifoStructure() {
|
||||
for ( int i = 0; i < numThreads; ++i ) {
|
||||
|
||||
//create fifo structure
|
||||
try {
|
||||
Fifo* f = new Fifo (i,
|
||||
(generalData->imageSize) * numberofJobs + (generalData->fifoBufferHeaderSize),
|
||||
fifoDepth);
|
||||
fifo.push_back(f);
|
||||
} catch (...) {
|
||||
cprintf(RED,"Error: Could not allocate memory for fifo structure of index %d\n", i);
|
||||
for (std::vector<Fifo*>::const_iterator it = fifo.begin(); it != fifo.end(); ++it)
|
||||
delete(*it);
|
||||
fifo.clear();
|
||||
return FAIL;
|
||||
}
|
||||
try {
|
||||
Fifo* f = new Fifo (i,
|
||||
(generalData->imageSize) * numberofJobs + (generalData->fifoBufferHeaderSize),
|
||||
fifoDepth);
|
||||
fifo.push_back(f);
|
||||
} catch (...) {
|
||||
FILE_LOG(logERROR) << "Could not allocate memory for fifo structure of index " << i;
|
||||
for (std::vector<Fifo*>::const_iterator it = fifo.begin(); it != fifo.end(); ++it)
|
||||
delete(*it);
|
||||
fifo.clear();
|
||||
return FAIL;
|
||||
}
|
||||
//set the listener & dataprocessor threads to point to the right fifo
|
||||
if(listener.size())listener[i]->SetFifo(fifo[i]);
|
||||
if(dataProcessor.size())dataProcessor[i]->SetFifo(fifo[i]);
|
||||
@ -1287,6 +1289,7 @@ int slsReceiverImplementation::SetupFifoStructure() {
|
||||
|
||||
|
||||
void slsReceiverImplementation::ResetParametersforNewMeasurement() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it)
|
||||
(*it)->ResetParametersforNewMeasurement();
|
||||
for (std::vector<DataProcessor*>::const_iterator it = dataProcessor.begin(); it != dataProcessor.end(); ++it)
|
||||
@ -1303,6 +1306,7 @@ void slsReceiverImplementation::ResetParametersforNewMeasurement() {
|
||||
|
||||
|
||||
int slsReceiverImplementation::CreateUDPSockets() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
bool error = false;
|
||||
for (unsigned int i = 0; i < listener.size(); ++i)
|
||||
if (listener[i]->CreateUDPSockets() == FAIL) {
|
||||
@ -1320,6 +1324,7 @@ int slsReceiverImplementation::CreateUDPSockets() {
|
||||
|
||||
|
||||
int slsReceiverImplementation::SetupWriter() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
bool error = false;
|
||||
for (unsigned int i = 0; i < dataProcessor.size(); ++i)
|
||||
if (dataProcessor[i]->CreateNewFile(tengigaEnable,
|
||||
@ -1338,6 +1343,7 @@ int slsReceiverImplementation::SetupWriter() {
|
||||
|
||||
|
||||
void slsReceiverImplementation::StartRunning() {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
//set running mask and post semaphore to start the inner loop in execution thread
|
||||
for (std::vector<Listener*>::const_iterator it = listener.begin(); it != listener.end(); ++it) {
|
||||
(*it)->StartRunning();
|
||||
|
@ -141,7 +141,7 @@ void* slsReceiverTCPIPInterface::startTCPServerThread(void *this_pointer){
|
||||
|
||||
|
||||
void slsReceiverTCPIPInterface::startTCPServer(){
|
||||
cprintf(BLUE,"Created [ TCP server Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Created [ TCP server Tid: " << syscall(SYS_gettid) << "]";;
|
||||
FILE_LOG(logINFO) << "SLS Receiver starting TCP Server on port " << portNumber << std::endl;
|
||||
int ret = OK;
|
||||
|
||||
@ -159,7 +159,7 @@ void slsReceiverTCPIPInterface::startTCPServer(){
|
||||
}
|
||||
|
||||
mySock->exitServer();
|
||||
cprintf(BLUE,"Exiting [ TCP server Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ TCP server Tid: " << syscall(SYS_gettid) <<"]";
|
||||
pthread_exit(NULL);
|
||||
}
|
||||
|
||||
@ -170,7 +170,7 @@ void slsReceiverTCPIPInterface::startTCPServer(){
|
||||
receiver->shutDownUDPSockets();
|
||||
}
|
||||
}
|
||||
cprintf(BLUE,"Exiting [ TCP server Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
FILE_LOG(logINFOBLUE) << "Exiting [ TCP server Tid: " << syscall(SYS_gettid) <<"]";
|
||||
pthread_exit(NULL);
|
||||
}
|
||||
}
|
||||
@ -229,7 +229,7 @@ int slsReceiverTCPIPInterface::function_table(){
|
||||
flist[F_RECEIVER_DEACTIVATED_PADDING_ENABLE] = &slsReceiverTCPIPInterface::set_deactivated_receiver_padding_enable;
|
||||
|
||||
for (int i = NUM_DET_FUNCTIONS + 1; i < NUM_REC_FUNCTIONS ; i++) {
|
||||
FILE_LOG(logDEBUG5) << "function fnum: " << i << " (" <<
|
||||
FILE_LOG(logDEBUG1) << "function fnum: " << i << " (" <<
|
||||
getFunctionNameFromEnum((enum detFuncs)i) << ") located at " << flist[i];
|
||||
}
|
||||
|
||||
@ -243,28 +243,29 @@ int slsReceiverTCPIPInterface::decode_function(){
|
||||
ret = FAIL;
|
||||
int n = mySock->ReceiveDataOnly(&fnum,sizeof(fnum));
|
||||
if (n <= 0) {
|
||||
FILE_LOG(logDEBUG5) << "Could not read socket. "
|
||||
FILE_LOG(logDEBUG3) << "Could not read socket. "
|
||||
"Received " << n << " bytes," <<
|
||||
"fnum:" << fnum << " "
|
||||
"(" << getFunctionNameFromEnum((enum detFuncs)fnum) << ")";
|
||||
return FAIL;
|
||||
}
|
||||
else
|
||||
FILE_LOG(logDEBUG5) << "Received " << n << " bytes";
|
||||
FILE_LOG(logDEBUG3) << "Received " << n << " bytes";
|
||||
|
||||
if (fnum <= NUM_DET_FUNCTIONS || fnum >= NUM_REC_FUNCTIONS) {
|
||||
FILE_LOG(logERROR) << "Unknown function enum " << fnum;
|
||||
ret = (this->M_nofunc)();
|
||||
} else{
|
||||
FILE_LOG(logDEBUG5) << "calling function fnum: "<< fnum << " "
|
||||
FILE_LOG(logDEBUG1) << "calling function fnum: "<< fnum << " "
|
||||
"(" << getFunctionNameFromEnum((enum detFuncs)fnum) << ") "
|
||||
"located at " << flist[fnum];
|
||||
ret = (this->*flist[fnum])();
|
||||
|
||||
if (ret == FAIL) {
|
||||
FILE_LOG(logDEBUG5) << "Failed to execute function = " << fnum << " ("
|
||||
FILE_LOG(logDEBUG1) << "Failed to execute function = " << fnum << " ("
|
||||
<< getFunctionNameFromEnum((enum detFuncs)fnum) << ")";
|
||||
}
|
||||
} else FILE_LOG(logDEBUG1) << "Function " <<
|
||||
getFunctionNameFromEnum((enum detFuncs)fnum) << " executed OK";
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -352,7 +353,7 @@ int slsReceiverTCPIPInterface::exec_command() {
|
||||
|
||||
|
||||
int slsReceiverTCPIPInterface::exit_server() {
|
||||
cprintf(BG_RED, "Closing server\n");
|
||||
FILE_LOG(logINFO) << "Closing server";
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
interface->Server_SendResult(false, ret, NULL, 0);
|
||||
@ -369,7 +370,7 @@ int slsReceiverTCPIPInterface::lock_receiver() {
|
||||
// get args, return if socket crashed
|
||||
if (interface->Server_ReceiveArg(ret, mess, &lock, sizeof(lock)) == FAIL)
|
||||
return FAIL;
|
||||
FILE_LOG(logDEBUG5) << "Locking Server to " << lock;
|
||||
FILE_LOG(logDEBUG1) << "Locking Server to " << lock;
|
||||
|
||||
// execute action
|
||||
if (lock >= 0) {
|
||||
@ -642,7 +643,7 @@ int slsReceiverTCPIPInterface::set_detector_hostname() {
|
||||
// get
|
||||
std::string s = receiver->getDetectorHostname();
|
||||
strcpy(retval, s.c_str());
|
||||
if (s.length()) {
|
||||
if (!s.length()) {
|
||||
ret = FAIL;
|
||||
sprintf(mess, "hostname not set\n");
|
||||
FILE_LOG(logERROR) << mess;
|
||||
@ -675,9 +676,9 @@ int slsReceiverTCPIPInterface::set_roi() {
|
||||
return interface->Server_SocketCrash();
|
||||
arg.push_back(temp);
|
||||
}
|
||||
FILE_LOG(logDEBUG5) << "Set ROI narg: " << narg;
|
||||
FILE_LOG(logDEBUG1) << "Set ROI narg: " << narg;
|
||||
for (int iloop = 0; iloop < narg; ++iloop) {
|
||||
FILE_LOG(logDEBUG5) << "(" << arg[iloop].xmin << ", " <<
|
||||
FILE_LOG(logDEBUG1) << "(" << arg[iloop].xmin << ", " <<
|
||||
arg[iloop].xmax << ", " << arg[iloop].ymin << ", " <<
|
||||
arg[iloop].ymax << ")";
|
||||
}
|
||||
@ -705,7 +706,7 @@ int slsReceiverTCPIPInterface::setup_udp(){
|
||||
ret = OK;
|
||||
memset(mess, 0, sizeof(mess));
|
||||
char args[3][MAX_STR_LENGTH] = {0};
|
||||
char retval[MAX_STR_LENGTH] = {0};
|
||||
char retvals[MAX_STR_LENGTH] = {0};
|
||||
|
||||
// get args, return if socket crashed, ret is fail if receiver is not null
|
||||
if (interface->Server_ReceiveArg(ret, mess, args, sizeof(args), true, receiver) == FAIL)
|
||||
@ -755,13 +756,13 @@ int slsReceiverTCPIPInterface::setup_udp(){
|
||||
FILE_LOG(logERROR) << mess;
|
||||
}
|
||||
else {
|
||||
strcpy(retval,temp.c_str());
|
||||
FILE_LOG(logINFO) << "Reciever MAC Address: " << retval;
|
||||
strcpy(retvals,temp.c_str());
|
||||
FILE_LOG(logINFO) << "Reciever MAC Address: " << retvals;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, retval, sizeof(retval), mess);
|
||||
return interface->Server_SendResult(true, ret, retvals, sizeof(retvals), mess);
|
||||
}
|
||||
|
||||
|
||||
@ -778,7 +779,7 @@ int slsReceiverTCPIPInterface::set_timer() {
|
||||
|
||||
// base object not null
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting timer index " << index[0] << " to " << index[1];
|
||||
FILE_LOG(logDEBUG1) << "Setting timer index " << index[0] << " to " << index[1];
|
||||
|
||||
// set
|
||||
if (index[1] >= 0) {
|
||||
@ -848,7 +849,7 @@ int slsReceiverTCPIPInterface::set_timer() {
|
||||
break;
|
||||
}
|
||||
validate((int)index[1], (int)retval, std::string("set timer"), 0);
|
||||
FILE_LOG(logDEBUG5) << slsDetectorDefs::getTimerType((timerIndex)(index[0])) << ":" << retval;
|
||||
FILE_LOG(logDEBUG1) << slsDetectorDefs::getTimerType((timerIndex)(index[0])) << ":" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -871,7 +872,7 @@ int slsReceiverTCPIPInterface::set_dynamic_range() {
|
||||
if (dr >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting dynamic range: " << dr;
|
||||
FILE_LOG(logDEBUG1) << "Setting dynamic range: " << dr;
|
||||
bool exists = false;
|
||||
switch (dr) {
|
||||
case 16:
|
||||
@ -903,7 +904,7 @@ int slsReceiverTCPIPInterface::set_dynamic_range() {
|
||||
// get
|
||||
retval = receiver->getDynamicRange();
|
||||
validate(dr, retval, std::string("set dynamic range"), 0);
|
||||
FILE_LOG(logDEBUG5) << "dynamic range: " << retval;
|
||||
FILE_LOG(logDEBUG1) << "dynamic range: " << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -926,7 +927,7 @@ int slsReceiverTCPIPInterface::set_streaming_frequency() {
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting streaming frequency: " << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting streaming frequency: " << index;
|
||||
ret = receiver->setStreamingFrequency(index);
|
||||
if(ret == FAIL) {
|
||||
strcpy(mess, "Could not allocate memory for listening fifo\n");
|
||||
@ -952,9 +953,9 @@ int slsReceiverTCPIPInterface::get_status(){
|
||||
interface->Server_ReceiveArg(ret, mess, NULL, 0, true, receiver);
|
||||
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Getting Status";
|
||||
FILE_LOG(logDEBUG1) << "Getting Status";
|
||||
retval = receiver->getStatus();
|
||||
FILE_LOG(logDEBUG5) << "Status:" << runStatusType(retval);
|
||||
FILE_LOG(logDEBUG1) << "Status:" << runStatusType(retval);
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -980,7 +981,7 @@ int slsReceiverTCPIPInterface::start_receiver(){
|
||||
sprintf(mess,"Cannot start Receiver as it is in %s state\n",runStatusType(s).c_str());
|
||||
FILE_LOG(logERROR) << mess;
|
||||
}else {
|
||||
FILE_LOG(logDEBUG5) << "Starting Reciever";
|
||||
FILE_LOG(logDEBUG1) << "Starting Reciever";
|
||||
ret = receiver->startReceiver(mess);
|
||||
if (ret == FAIL) {
|
||||
FILE_LOG(logERROR) << mess;
|
||||
@ -1006,7 +1007,7 @@ int slsReceiverTCPIPInterface::stop_receiver(){
|
||||
// verify if receiver is unlocked
|
||||
if (interface->Server_VerifyLock(ret, mess, lockStatus) == OK) {
|
||||
if(receiver->getStatus() != IDLE) {
|
||||
FILE_LOG(logDEBUG5) << "Stopping Reciever";
|
||||
FILE_LOG(logDEBUG1) << "Stopping Reciever";
|
||||
receiver->stopReceiver();
|
||||
}
|
||||
enum runStatus s = receiver->getStatus();
|
||||
@ -1038,18 +1039,18 @@ int slsReceiverTCPIPInterface::set_file_dir() {
|
||||
if (ret == OK) {
|
||||
// set
|
||||
if (strlen(fPath)) {
|
||||
FILE_LOG(logDEBUG5) << "Setting file path: " << fPath;
|
||||
FILE_LOG(logDEBUG1) << "Setting file path: " << fPath;
|
||||
receiver->setFilePath(fPath);
|
||||
}
|
||||
// get
|
||||
std::string s = receiver->getFilePath();
|
||||
strcpy(retval, s.c_str());
|
||||
if ((s.length()) || (strlen(fPath) && strcasecmp(fPath, retval))) {
|
||||
if ((!s.length()) || (strlen(fPath) && strcasecmp(fPath, retval))) {
|
||||
ret = FAIL;
|
||||
strcpy(mess,"receiver file path does not exist\n");
|
||||
FILE_LOG(logERROR) << mess;
|
||||
} else
|
||||
FILE_LOG(logDEBUG5) << "file path:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "file path:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, retval, MAX_STR_LENGTH, mess);
|
||||
}
|
||||
@ -1070,18 +1071,18 @@ int slsReceiverTCPIPInterface::set_file_name() {
|
||||
if (ret == OK) {
|
||||
// set
|
||||
if (strlen(fName)) {
|
||||
FILE_LOG(logDEBUG5) << "Setting file name: " << fName;
|
||||
FILE_LOG(logDEBUG1) << "Setting file name: " << fName;
|
||||
receiver->setFileName(fName);
|
||||
}
|
||||
// get
|
||||
std::string s = receiver->getFileName();
|
||||
strcpy(retval, s.c_str());
|
||||
if (s.length()) {
|
||||
if (!s.length()) {
|
||||
ret = FAIL;
|
||||
strcpy(mess, "file name is empty\n");
|
||||
FILE_LOG(logERROR) << mess;
|
||||
} else
|
||||
FILE_LOG(logDEBUG5) << "file name:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "file name:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, retval, MAX_STR_LENGTH, mess);
|
||||
}
|
||||
@ -1104,14 +1105,14 @@ int slsReceiverTCPIPInterface::set_file_index() {
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting file index: " << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting file index: " << index;
|
||||
receiver->setFileIndex(index);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval=receiver->getFileIndex();
|
||||
validate(index, retval, std::string("set file index"), 0);
|
||||
FILE_LOG(logDEBUG5) << "file index:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "file index:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval,sizeof(retval), mess);
|
||||
}
|
||||
@ -1127,9 +1128,9 @@ int slsReceiverTCPIPInterface::get_frame_index(){
|
||||
interface->Server_ReceiveArg(ret, mess, NULL, 0, true, receiver);
|
||||
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Getting frame index";
|
||||
FILE_LOG(logDEBUG1) << "Getting frame index";
|
||||
retval = receiver->getAcquisitionIndex();
|
||||
FILE_LOG(logDEBUG5) << "frame index:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "frame index:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval,sizeof(retval), mess);
|
||||
}
|
||||
@ -1145,9 +1146,9 @@ int slsReceiverTCPIPInterface::get_frames_caught(){
|
||||
interface->Server_ReceiveArg(ret, mess, NULL, 0, true, receiver);
|
||||
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Getting frames caught";
|
||||
FILE_LOG(logDEBUG1) << "Getting frames caught";
|
||||
retval = receiver->getTotalFramesCaught();
|
||||
FILE_LOG(logDEBUG5) << "frames caught:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "frames caught:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval,sizeof(retval), mess);
|
||||
}
|
||||
@ -1166,7 +1167,7 @@ int slsReceiverTCPIPInterface::reset_frames_caught(){
|
||||
// only set
|
||||
// verify if receiver is unlocked
|
||||
if (interface->Server_VerifyLock(ret, mess, lockStatus) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Reset frames caught";
|
||||
FILE_LOG(logDEBUG1) << "Reset frames caught";
|
||||
receiver->resetAcquisitionCount();
|
||||
}
|
||||
}
|
||||
@ -1191,14 +1192,14 @@ int slsReceiverTCPIPInterface::enable_file_write(){
|
||||
if (enable >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting File write enable:" << enable;
|
||||
FILE_LOG(logDEBUG1) << "Setting File write enable:" << enable;
|
||||
receiver->setFileWriteEnable(enable);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getFileWriteEnable();
|
||||
validate(enable, retval, std::string("set file write enable"), 0);
|
||||
FILE_LOG(logDEBUG5) << "file write enable:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "file write enable:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1221,14 +1222,14 @@ int slsReceiverTCPIPInterface::enable_overwrite() {
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting File overwrite enable:" << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting File overwrite enable:" << index;
|
||||
receiver->setOverwriteEnable(index);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getOverwriteEnable();
|
||||
validate(index, retval, std::string("set file overwrite enable"), 0);
|
||||
FILE_LOG(logDEBUG5) << "file overwrite enable:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "file overwrite enable:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1254,14 +1255,14 @@ int slsReceiverTCPIPInterface::enable_tengiga() {
|
||||
if (val >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting 10GbE:" << val;
|
||||
FILE_LOG(logDEBUG1) << "Setting 10GbE:" << val;
|
||||
ret = receiver->setTenGigaEnable(val);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getTenGigaEnable();
|
||||
validate(val, retval, std::string("set 10GbE"), 0);
|
||||
FILE_LOG(logDEBUG5) << "10Gbe:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "10Gbe:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1284,7 +1285,7 @@ int slsReceiverTCPIPInterface::set_fifo_depth() {
|
||||
if (value >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting fifo depth:" << value;
|
||||
FILE_LOG(logDEBUG1) << "Setting fifo depth:" << value;
|
||||
ret = receiver->setFifoDepth(value);
|
||||
if (ret == FAIL) {
|
||||
strcpy(mess,"Could not set fifo depth");
|
||||
@ -1295,7 +1296,7 @@ int slsReceiverTCPIPInterface::set_fifo_depth() {
|
||||
// get
|
||||
retval = receiver->getFifoDepth();
|
||||
validate(value, retval, std::string("set fifo depth"), 0);
|
||||
FILE_LOG(logDEBUG5) << "fifo depth:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "fifo depth:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1321,14 +1322,14 @@ int slsReceiverTCPIPInterface::set_activate() {
|
||||
if (enable >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting activate:" << enable;
|
||||
FILE_LOG(logDEBUG1) << "Setting activate:" << enable;
|
||||
receiver->setActivate(enable > 0 ? true : false);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = (int)receiver->getActivate();
|
||||
validate(enable, retval, std::string("set activate"), 0);
|
||||
FILE_LOG(logDEBUG5) << "Activate: " << retval;
|
||||
FILE_LOG(logDEBUG1) << "Activate: " << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1351,14 +1352,14 @@ int slsReceiverTCPIPInterface::set_data_stream_enable(){
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting data stream enable:" << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting data stream enable:" << index;
|
||||
ret = receiver->setDataStreamEnable(index);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getDataStreamEnable();
|
||||
validate(index, retval, std::string("set data stream enable"), 0);
|
||||
FILE_LOG(logDEBUG5) << "data streaming enable:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "data streaming enable:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1381,14 +1382,14 @@ int slsReceiverTCPIPInterface::set_streaming_timer(){
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting streaming timer:" << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting streaming timer:" << index;
|
||||
receiver->setStreamingTimer(index);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval=receiver->getStreamingTimer();
|
||||
validate(index, retval, std::string("set data stream timer"), 0);
|
||||
FILE_LOG(logDEBUG5) << "Streaming timer:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "Streaming timer:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1414,14 +1415,14 @@ int slsReceiverTCPIPInterface::set_flipped_data(){
|
||||
if (args[1] >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting flipped data:" << args[1];
|
||||
FILE_LOG(logDEBUG1) << "Setting flipped data:" << args[1];
|
||||
receiver->setFlippedData(args[0],args[1]);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval=receiver->getFlippedData(args[0]);
|
||||
validate(args[1], retval, std::string("set flipped data"), 0);
|
||||
FILE_LOG(logDEBUG5) << "Flipped Data:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "Flipped Data:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1444,14 +1445,14 @@ int slsReceiverTCPIPInterface::set_file_format() {
|
||||
if (f >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting file format:" << f;
|
||||
FILE_LOG(logDEBUG1) << "Setting file format:" << f;
|
||||
receiver->setFileFormat(f);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getFileFormat();
|
||||
validate(f, retval, std::string("set file format"), 0);
|
||||
FILE_LOG(logDEBUG5) << "File Format: " << retval;
|
||||
FILE_LOG(logDEBUG1) << "File Format: " << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1474,14 +1475,14 @@ int slsReceiverTCPIPInterface::set_detector_posid() {
|
||||
if (arg >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting detector position id:" << arg;
|
||||
FILE_LOG(logDEBUG1) << "Setting detector position id:" << arg;
|
||||
receiver->setDetectorPositionId(arg);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getDetectorPositionId();
|
||||
validate(arg, retval, std::string("set detector position id"), 0);
|
||||
FILE_LOG(logDEBUG5) << "Position Id:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "Position Id:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1504,7 +1505,7 @@ int slsReceiverTCPIPInterface::set_multi_detector_size() {
|
||||
if((arg[0] > 0) && (arg[1] > 0)) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting multi detector size:" << arg[0] << "," << arg[1];
|
||||
FILE_LOG(logDEBUG1) << "Setting multi detector size:" << arg[0] << "," << arg[1];
|
||||
receiver->setMultiDetectorSize(arg);
|
||||
}
|
||||
}
|
||||
@ -1516,7 +1517,7 @@ int slsReceiverTCPIPInterface::set_multi_detector_size() {
|
||||
else
|
||||
retval *= temp[i];
|
||||
}
|
||||
FILE_LOG(logDEBUG5) << "Multi Detector Size:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "Multi Detector Size:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1539,14 +1540,14 @@ int slsReceiverTCPIPInterface::set_streaming_port() {
|
||||
if (port >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting streaming port:" << port;
|
||||
FILE_LOG(logDEBUG1) << "Setting streaming port:" << port;
|
||||
receiver->setStreamingPort(port);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getStreamingPort();
|
||||
validate(port, retval, std::string("set streaming port"), 0);
|
||||
FILE_LOG(logDEBUG5) << "streaming port:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "streaming port:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1568,12 +1569,12 @@ int slsReceiverTCPIPInterface::set_streaming_source_ip() {
|
||||
// only set
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting streaming source ip:" << arg;
|
||||
FILE_LOG(logDEBUG1) << "Setting streaming source ip:" << arg;
|
||||
receiver->setStreamingSourceIP(arg);
|
||||
}
|
||||
// get
|
||||
strcpy(retval, receiver->getStreamingSourceIP().c_str());
|
||||
FILE_LOG(logDEBUG5) << "streaming source ip:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "streaming source ip:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, retval, MAX_STR_LENGTH, mess);
|
||||
}
|
||||
@ -1596,14 +1597,14 @@ int slsReceiverTCPIPInterface::set_silent_mode() {
|
||||
if (value >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting silent mode:" << value;
|
||||
FILE_LOG(logDEBUG1) << "Setting silent mode:" << value;
|
||||
receiver->setSilentMode(value);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = (int)receiver->getSilentMode();
|
||||
validate(value, retval, std::string("set silent mode"), 0);
|
||||
FILE_LOG(logDEBUG5) << "silent mode:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "silent mode:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1629,14 +1630,14 @@ int slsReceiverTCPIPInterface::enable_gap_pixels() {
|
||||
if (enable >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting gap pixels enable:" << enable;
|
||||
FILE_LOG(logDEBUG1) << "Setting gap pixels enable:" << enable;
|
||||
receiver->setGapPixelsEnable(enable);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getGapPixelsEnable();
|
||||
validate(enable, retval, std::string("set gap pixels enable"), 0);
|
||||
FILE_LOG(logDEBUG5) << "Gap Pixels Enable: " << retval;
|
||||
FILE_LOG(logDEBUG1) << "Gap Pixels Enable: " << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1660,7 +1661,7 @@ int slsReceiverTCPIPInterface::restream_stop(){
|
||||
sprintf(mess,"Could not restream stop packet as data Streaming is disabled.\n");
|
||||
FILE_LOG(logERROR) << mess;
|
||||
} else {
|
||||
FILE_LOG(logDEBUG5) << "Restreaming stop";
|
||||
FILE_LOG(logDEBUG1) << "Restreaming stop";
|
||||
ret = receiver->restreamStop();
|
||||
if (ret == FAIL) {
|
||||
sprintf(mess,"Could not restream stop packet.\n");
|
||||
@ -1689,12 +1690,12 @@ int slsReceiverTCPIPInterface::set_additional_json_header() {
|
||||
// only set
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting additional json header: " << arg;
|
||||
FILE_LOG(logDEBUG1) << "Setting additional json header: " << arg;
|
||||
receiver->setAdditionalJsonHeader(arg);
|
||||
}
|
||||
// get
|
||||
strcpy(retval, receiver->getAdditionalJsonHeader().c_str());
|
||||
FILE_LOG(logDEBUG5) << "additional json header:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "additional json header:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, retval, MAX_STR_LENGTH, mess);
|
||||
}
|
||||
@ -1717,7 +1718,7 @@ int slsReceiverTCPIPInterface::set_udp_socket_buffer_size() {
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting UDP Socket Buffer size: " << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting UDP Socket Buffer size: " << index;
|
||||
if (receiver->setUDPSocketBufferSize(index) == FAIL) {
|
||||
ret = FAIL;
|
||||
strcpy(mess, "Could not create dummy UDP Socket to test buffer size\n");
|
||||
@ -1728,7 +1729,7 @@ int slsReceiverTCPIPInterface::set_udp_socket_buffer_size() {
|
||||
// get
|
||||
retval = receiver->getUDPSocketBufferSize();
|
||||
validate(index, retval, std::string("set udp socket buffer size (No CAP_NET_ADMIN privileges?)"), 0);
|
||||
FILE_LOG(logDEBUG5) << "UDP Socket Buffer Size:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "UDP Socket Buffer Size:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1744,7 +1745,7 @@ int slsReceiverTCPIPInterface::get_real_udp_socket_buffer_size(){
|
||||
interface->Server_ReceiveArg(ret, mess, NULL, 0, true, receiver);
|
||||
|
||||
if (ret == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Getting actual UDP buffer size";
|
||||
FILE_LOG(logDEBUG1) << "Getting actual UDP buffer size";
|
||||
retval = receiver->getActualUDPSocketBufferSize();
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
@ -1768,14 +1769,14 @@ int slsReceiverTCPIPInterface::set_frames_per_file() {
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting frames per file: " << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting frames per file: " << index;
|
||||
receiver->setFramesPerFile(index);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getFramesPerFile();
|
||||
validate(index, retval, std::string("set frames per file"), 0);
|
||||
FILE_LOG(logDEBUG5) << "frames per file:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "frames per file:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1790,7 +1791,7 @@ int slsReceiverTCPIPInterface::check_version_compatibility() {
|
||||
// get args, return if socket crashed
|
||||
if (interface->Server_ReceiveArg(ret, mess, &arg, sizeof(arg)) == FAIL)
|
||||
return FAIL;
|
||||
FILE_LOG(logDEBUG5) << "Checking versioning compatibility with value " << arg;
|
||||
FILE_LOG(logDEBUG1) << "Checking versioning compatibility with value " << arg;
|
||||
int64_t client_requiredVersion = arg;
|
||||
int64_t rx_apiVersion = APIRECEIVER;
|
||||
int64_t rx_version = getReceiverVersion();
|
||||
@ -1838,14 +1839,14 @@ int slsReceiverTCPIPInterface::set_discard_policy() {
|
||||
if (index >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting frames discard policy: " << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting frames discard policy: " << index;
|
||||
receiver->setFrameDiscardPolicy((frameDiscardPolicy)index);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = receiver->getFrameDiscardPolicy();
|
||||
validate(index, retval, std::string("set discard policy"), 0);
|
||||
FILE_LOG(logDEBUG5) << "frame discard policy:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "frame discard policy:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1869,14 +1870,14 @@ int slsReceiverTCPIPInterface::set_padding_enable() {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
index = (index == 0) ? 0 : 1;
|
||||
FILE_LOG(logDEBUG5) << "Setting frames padding enable: " << index;
|
||||
FILE_LOG(logDEBUG1) << "Setting frames padding enable: " << index;
|
||||
receiver->setFramePaddingEnable(index);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = (int)receiver->getFramePaddingEnable();
|
||||
validate(index, retval, std::string("set frame padding enable"), 0);
|
||||
FILE_LOG(logDEBUG5) << "Frame Padding Enable:" << retval;
|
||||
FILE_LOG(logDEBUG1) << "Frame Padding Enable:" << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
@ -1902,14 +1903,14 @@ int slsReceiverTCPIPInterface::set_deactivated_receiver_padding_enable() {
|
||||
if (enable >= 0) {
|
||||
// verify if receiver is unlocked and idle
|
||||
if (interface->Server_VerifyLockAndIdle(ret, mess, lockStatus, receiver->getStatus(), fnum) == OK) {
|
||||
FILE_LOG(logDEBUG5) << "Setting deactivated padding enable: " << enable;
|
||||
FILE_LOG(logDEBUG1) << "Setting deactivated padding enable: " << enable;
|
||||
receiver->setDeactivatedPadding(enable > 0 ? true : false);
|
||||
}
|
||||
}
|
||||
// get
|
||||
retval = (int)receiver->getDeactivatedPadding();
|
||||
validate(enable, retval, std::string("set deactivated padding enable"), 0);
|
||||
FILE_LOG(logDEBUG5) << "Deactivated Padding Enable: " << retval;
|
||||
FILE_LOG(logDEBUG1) << "Deactivated Padding Enable: " << retval;
|
||||
}
|
||||
return interface->Server_SendResult(true, ret, &retval, sizeof(retval), mess);
|
||||
}
|
||||
|
@ -36,8 +36,9 @@
|
||||
|
||||
|
||||
inline std::string NowTime();
|
||||
|
||||
enum TLogLevel {logERROR, logWARNING, logINFO, logDEBUG, logDEBUG1, logDEBUG2, logDEBUG3, logDEBUG4, logDEBUG5};
|
||||
// 1 normal debug, 3 function names, 5 fifodebug
|
||||
enum TLogLevel {logERROR, logWARNING, logINFOBLUE, logINFOGREEN, logINFORED, logINFO,
|
||||
logDEBUG, logDEBUG1, logDEBUG2, logDEBUG3, logDEBUG4, logDEBUG5};
|
||||
|
||||
template <typename T> class Log{
|
||||
public:
|
||||
@ -63,20 +64,11 @@ public:
|
||||
static void Output(const std::string& msg, TLogLevel level);
|
||||
};
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
|
||||
# if defined (BUILDING_FILELOG_DLL)
|
||||
# define FILELOG_DECLSPEC __declspec (dllexport)
|
||||
# elif defined (USING_FILELOG_DLL)
|
||||
# define FILELOG_DECLSPEC __declspec (dllimport)
|
||||
# else
|
||||
# define FILELOG_DECLSPEC
|
||||
# endif // BUILDING_DBSIMPLE_DLL
|
||||
#else
|
||||
# define FILELOG_DECLSPEC
|
||||
#endif // _WIN32
|
||||
|
||||
#define FILELOG_DECLSPEC
|
||||
|
||||
class FILELOG_DECLSPEC FILELog : public Log<Output2FILE> {};
|
||||
//typedef Log<Output2FILE> FILELog;
|
||||
|
||||
|
||||
#define FILE_LOG(level) \
|
||||
if (level > FILELOG_MAX_LEVEL) ; \
|
||||
@ -84,29 +76,6 @@ class FILELOG_DECLSPEC FILELog : public Log<Output2FILE> {};
|
||||
else FILELog().Get(level)
|
||||
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
||||
inline std::string NowTime()
|
||||
|
||||
{
|
||||
const int MAX_LEN = 200;
|
||||
char buffer[MAX_LEN];
|
||||
if (GetTimeFormatA(LOCALE_USER_DEFAULT, 0, 0,
|
||||
"HH':'mm':'ss", buffer, MAX_LEN) == 0)
|
||||
return "Error in NowTime()";
|
||||
|
||||
char result[100] = {0};
|
||||
static DWORD first = GetTickCount();
|
||||
sprintf(result, "%s.%03ld", buffer, (long)(GetTickCount() - first) % 1000);
|
||||
return result;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
inline std::string NowTime()
|
||||
@ -127,8 +96,6 @@ inline std::string NowTime()
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif //WIN32
|
||||
|
||||
|
||||
template <typename T> Log<T>::Log():lev(logDEBUG){}
|
||||
|
||||
@ -138,7 +105,7 @@ template <typename T> std::ostringstream& Log<T>::Get(TLogLevel level)
|
||||
os << "- " << NowTime();
|
||||
os << " " << ToString(level) << ": ";
|
||||
if (level > logDEBUG)
|
||||
os << std::string(level - logDEBUG, '\t');
|
||||
os << std::string(level - logDEBUG, ' ');
|
||||
return os;
|
||||
}
|
||||
|
||||
@ -156,7 +123,9 @@ template <typename T> TLogLevel& Log<T>::ReportingLevel()
|
||||
|
||||
template <typename T> std::string Log<T>::ToString(TLogLevel level)
|
||||
{
|
||||
static const char* const buffer[] = {"ERROR", "WARNING", "INFO", "DEBUG", "DEBUG1", "DEBUG2", "DEBUG3", "DEBUG4","DEBUG5"};
|
||||
static const char* const buffer[] = {
|
||||
"ERROR", "WARNING", "INFO", "INFO", "INFO", "INFO",
|
||||
"DEBUG", "DEBUG1", "DEBUG2", "DEBUG3", "DEBUG4","DEBUG5"};
|
||||
return buffer[level];
|
||||
}
|
||||
|
||||
@ -211,21 +180,10 @@ inline void Output2FILE::Output(const std::string& msg, TLogLevel level)
|
||||
case logERROR: cprintf(RED BOLD,"%s",msg.c_str()); break;
|
||||
case logWARNING: cprintf(YELLOW BOLD,"%s",msg.c_str()); break;
|
||||
case logINFO: cprintf(RESET,"%s",msg.c_str()); break;
|
||||
case logINFOBLUE: cprintf(BLUE,"%s",msg.c_str()); break;
|
||||
case logINFORED: cprintf(RED,"%s",msg.c_str()); break;
|
||||
case logINFOGREEN: cprintf(GREEN,"%s",msg.c_str()); break;
|
||||
default: fprintf(pStream,"%s",msg.c_str()); out = false; break;
|
||||
}
|
||||
fflush(out ? stdout : pStream);
|
||||
}
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
|
||||
# if defined (BUILDING_FILELOG_DLL)
|
||||
# define FILELOG_DECLSPEC __declspec (dllexport)
|
||||
# elif defined (USING_FILELOG_DLL)
|
||||
# define FILELOG_DECLSPEC __declspec (dllimport)
|
||||
# else
|
||||
# define FILELOG_DECLSPEC
|
||||
# endif // BUILDING_DBSIMPLE_DLL
|
||||
#else
|
||||
# define FILELOG_DECLSPEC
|
||||
#endif // _WIN32
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user