Merge branch 'refactor' of github.com:slsdetectorgroup/slsDetectorPackage into refactor

This commit is contained in:
Erik Frojdh 2018-10-11 13:54:37 +02:00
commit f7809bda3b
16 changed files with 148 additions and 187 deletions

View File

@ -41,7 +41,7 @@ set(PUBLICHEADERS
../slsSupportLib/include/sls_detector_funcs.h
../slsSupportLib/include/error_defs.h
../slsSupportLib/include/versionAPI.h
../slsSupportLib/include/sls_receiver_exceptions.h
../slsSupportLib/include/sls_detector_exceptions.h
../slsSupportLib/include/utilties.h
../slsSupportLib/include/container_utils.h
sharedMemory/SharedMemory.h

View File

@ -17,7 +17,7 @@ LIBZMQDIR = ../slsSupportLib/include
LIBZMQ = -L$(LIBZMQDIR) -Wl,-rpath=$(LIBZMQDIR) -lzmq
SRC_CLNT= slsDetector/slsDetectorCommand.cpp slsDetector/slsDetector.cpp multiSlsDetector/multiSlsDetector.cpp ../slsSupportLib/include/ReceiverInterface.cpp slsDetector/slsDetectorUsers.cpp sharedMemory/SharedMemory.cpp ../slsSupportLib/include/utilities.cpp
DEPSINCLUDES = ../slsSupportLib/include/sls_receiver_funcs.h ../slsSupportLib/include/ansi.h ../slsSupportLib/include/sls_detector_defs.h ../slsSupportLib/include/sls_detector_funcs.h ../slsSupportLib/include/error_defs.h slsDetector/detectorData.h sharedMemory/SharedMemory.h ../slsSupportLib/include/sls_receiver_exceptions.h ../slsSupportLib/include/versionAPI.h ../slsSupportLib/include/utilities.h ../slsSupportLib/include/container_utils.h
DEPSINCLUDES = ../slsSupportLib/include/ansi.h ../slsSupportLib/include/sls_detector_defs.h ../slsSupportLib/include/sls_detector_funcs.h ../slsSupportLib/include/error_defs.h slsDetector/detectorData.h sharedMemory/SharedMemory.h ../slsSupportLib/include/sls_detector_exceptions.h ../slsSupportLib/include/versionAPI.h ../slsSupportLib/include/utilities.h ../slsSupportLib/include/container_utils.h

View File

@ -88,7 +88,6 @@ INPUT = ../slsSupportLib/include/communication_funcs.h \
../slsSupportLib/include/genericSocket.h \
../slsSupportLib/include/logger.h \
../slsSupportLib/include/MySocketTCP.h \
../slsSupportLib/include/sls_receiver_funcs.h \
../slsSupportLib/include/utilities.h \
../slsSupportLib/include/ZmqSocket.h \
multiSlsDetector/multiSlsDetectorClient.h \

View File

@ -1,7 +1,7 @@
#include "multiSlsDetector.h"
#include "SharedMemory.h"
#include "slsDetector.h"
#include "sls_receiver_exceptions.h"
#include "sls_detector_exceptions.h"
#include "ZmqSocket.h"
#include "multiSlsDetectorClient.h"
#include "multiSlsDetectorCommand.h"
@ -3516,8 +3516,6 @@ int multiSlsDetector::setCTBPatWaitTime(int level, uint64_t t, int detPos) {
int multiSlsDetector::retrieveDetectorSetup(std::string const fname1, int level){
slsDetectorCommand *cmd;
int skip=0;
std::string fname;
std::string str;

View File

@ -4,7 +4,7 @@
#include "multiSlsDetector.h"
#include "multiSlsDetectorCommand.h"
#include "sls_receiver_exceptions.h"
#include "sls_detector_exceptions.h"
#include <stdlib.h>

View File

@ -1,5 +1,5 @@
#include "SharedMemory.h"
#include "sls_receiver_exceptions.h"
#include "sls_detector_exceptions.h"
#include "ansi.h"
#include <iostream>

View File

@ -1,6 +1,6 @@
#include "slsDetector.h"
#include "multiSlsDetector.h"
#include "sls_receiver_exceptions.h"
#include "sls_detector_exceptions.h"
#include "SharedMemory.h"
#include "ClientInterface.h"
#include "gitInfoLib.h"

View File

@ -58,11 +58,11 @@ add_library(slsReceiverShared SHARED
set(PUBLICHEADERS
../slsSupportLib/include/sls_detector_defs.h
../slsSupportLib/include/ansi.h
../slsSupportLib/include/sls_receiver_funcs.h
../slsSupportLib/include/sls_detector_funcs.h
../slsSupportLib/include/MySocketTCP.h
../slsSupportLib/include/genericSocket.h
../slsSupportLib/include/logger.h
../slsSupportLib/include/sls_receiver_exceptions.h
../slsSupportLib/include/sls_detector_exceptions.h
../slsSupportLib/include/utilities.h
)

View File

@ -27,7 +27,7 @@ LIBZMQ = -L$(LIBZMQDIR) -Wl,-rpath=$(LIBZMQDIR) -lzmq
SRC_CLNT = ThreadObject.cpp Listener.cpp DataProcessor.cpp DataStreamer.cpp Fifo.cpp File.cpp BinaryFile.cpp slsReceiverImplementation.cpp slsReceiverTCPIPInterface.cpp slsReceiver.cpp slsReceiverUsers.cpp $(COMMONDIR)/utilities.cpp
DEPSINCLUDES = $(COMMONDIR)/ansi.h $(COMMONDIR)/sls_detector_defs.h $(COMMONDIR)/sls_receiver_funcs.h $(COMMONDIR)/GeneralData.h $(INCDIR)/circularFifo.h $(COMMONDIR)/genericSocket.h $(COMMONDIR)/logger.h $(INCDIR)/receiver_defs.h $(COMMONDIR)/utilities.h $(COMMONDIR)/ZmqSocket.h $(INCDIR)/BinaryFileStatic.h $(INCDIR)/HDF5FileStatic.h $(COMMONDIR)/sls_receiver_exceptions.h
DEPSINCLUDES = $(COMMONDIR)/ansi.h $(COMMONDIR)/sls_detector_defs.h $(COMMONDIR)/sls_detector_funcs.h $(COMMONDIR)/GeneralData.h $(INCDIR)/circularFifo.h $(COMMONDIR)/genericSocket.h $(COMMONDIR)/logger.h $(INCDIR)/receiver_defs.h $(COMMONDIR)/utilities.h $(COMMONDIR)/ZmqSocket.h $(INCDIR)/BinaryFileStatic.h $(INCDIR)/HDF5FileStatic.h $(COMMONDIR)/sls_detector_exceptions.h
ifeq ($(HDF5),yes)

View File

@ -107,7 +107,7 @@ class slsReceiverTCPIPInterface : private virtual slsDetectorDefs {
void startTCPServer();
/** retuns function name with function index */
const char* getFunctionName(enum recFuncs func);
const char* getFunctionName(enum detFuncs func);
/** assigns functions to the fnum enum */
int function_table();

View File

@ -177,7 +177,7 @@ void slsReceiverTCPIPInterface::startTCPServer(){
}
const char* slsReceiverTCPIPInterface::getFunctionName(enum recFuncs func) {
const char* slsReceiverTCPIPInterface::getFunctionName(enum detFuncs func) {
switch (func) {
case F_EXEC_RECEIVER_COMMAND: return "F_EXEC_RECEIVER_COMMAND";
case F_EXIT_RECEIVER: return "F_EXIT_RECEIVER";
@ -282,9 +282,9 @@ int slsReceiverTCPIPInterface::function_table(){
flist[F_RECEIVER_PADDING_ENABLE] = &slsReceiverTCPIPInterface::set_padding_enable;
flist[F_RECEIVER_DEACTIVATED_PADDING_ENABLE] = &slsReceiverTCPIPInterface::set_deactivated_receiver_padding_enable;
for (int i = 0; i < NUM_REC_FUNCTIONS ; i++) {
for (int i = NUM_DET_FUNCTIONS + 1; i < NUM_REC_FUNCTIONS ; i++) {
FILE_LOG(logDEBUG1) << "function fnum: " << i << " (" <<
getFunctionName((enum recFuncs)i) << ") located at " << flist[i];
getFunctionName((enum detFuncs)i) << ") located at " << flist[i];
}
return OK;
@ -302,25 +302,26 @@ int slsReceiverTCPIPInterface::decode_function(){
FILE_LOG(logDEBUG1) << "ERROR reading from socket. "
"Received " << n << " bytes," <<
"fnum:" << fnum << " "
"(" << getFunctionName((enum recFuncs)fnum) << ")";
"(" << getFunctionName((enum detFuncs)fnum) << ")";
return FAIL;
}
else
FILE_LOG(logDEBUG1) << "Received " << n << " bytes";
FILE_LOG(logDEBUG1) << "calling function fnum: "<< fnum << " "
"(" << getFunctionName((enum recFuncs)fnum) << ") "
"located at " << flist[fnum];
if (fnum < REC_FUNC_START_INDEX || fnum >= NUM_REC_FUNCTIONS) {
if (fnum <= NUM_DET_FUNCTIONS || fnum >= NUM_REC_FUNCTIONS) {
FILE_LOG(logERROR) << "Unknown function enum " << fnum;
ret=(this->M_nofunc)();
ret = (this->M_nofunc)();
} else{
ret=(this->*flist[fnum])();
}
FILE_LOG(logDEBUG1) << "calling function fnum: "<< fnum << " "
"(" << getFunctionName((enum detFuncs)fnum) << ") "
"located at " << flist[fnum];
ret = (this->*flist[fnum])();
if (ret == FAIL) {
FILE_LOG(logERROR) << "Failed to execute function = " << fnum << " ("
<< getFunctionName((enum recFuncs)fnum) << ")";
<< getFunctionName((enum detFuncs)fnum) << ")";
}
}
return ret;
}
@ -350,14 +351,14 @@ void slsReceiverTCPIPInterface::receiverlocked() {
void slsReceiverTCPIPInterface::receiverNotIdle() {
ret = FAIL;
sprintf(mess,"Can not execute %s when receiver is not idle\n",
getFunctionName((enum recFuncs)fnum));
getFunctionName((enum detFuncs)fnum));
FILE_LOG(logERROR) << mess;
}
void slsReceiverTCPIPInterface::functionNotImplemented() {
ret = FAIL;
sprintf(mess, "Function (%s) is not implemented for this detector\n",
getFunctionName((enum recFuncs)fnum));
getFunctionName((enum detFuncs)fnum));
FILE_LOG(logERROR) << mess;
}
@ -1213,8 +1214,9 @@ int slsReceiverTCPIPInterface::set_file_dir() {
FILE_LOG(logERROR) << mess;
}
}
if (retval != NULL)
if (retval != NULL) {
FILE_LOG(logDEBUG1) << "file path:" << retval;
}
clientInterface->Server_SendResult(mySock->differentClients,
ret, retval, (retval == NULL) ? 0 : MAX_STR_LENGTH, mess);

View File

@ -9,7 +9,7 @@
*/
#include "ansi.h"
#include "sls_receiver_exceptions.h"
#include "sls_detector_exceptions.h"
#ifdef __CINT__
//class sockaddr_in;

View File

@ -882,7 +882,6 @@ protected:
#ifndef MYROOT
#include "sls_detector_funcs.h"
#include "sls_receiver_funcs.h"
#endif
#ifdef __cplusplus

View File

@ -1,6 +1,6 @@
#pragma once
/************************************************
* @file sls_receiver_exceptions.h
* @file sls_detector_exceptions.h
* @short exceptions defined
***********************************************/
/**

View File

@ -1,12 +1,12 @@
#pragma once
/************************************************
* @file sls_detector_funcs.h
* @short functions indices to call on server (detector/receiver)
***********************************************/
/**
@internal
*@short functions indices to call on server (detector/receiver)
*/
function indexes to call on the server
All set functions with argument -1 work as get, when possible
*/
#ifndef SLS_DETECTOR_FUNCS_H
#define SLS_DETECTOR_FUNCS_H
enum detFuncs{
F_EXEC_COMMAND=0, /**< command is executed */
@ -68,14 +68,55 @@ enum detFuncs{
F_STORAGE_CELL_START, /** < storage cell start */
F_CHECK_VERSION,/** < check version compatibility */
F_SOFTWARE_TRIGGER,/** < software trigger */
/* Always append functions hereafter!!! */
/* Always append functions before!!! */
NUM_DET_FUNCTIONS,
TOO_MANY_FUNCTIONS_DEFINED=127 //you should get a compilation error if there are already so many functions defined. It conflicts with sls_receiver_funcs.h
F_EXEC_RECEIVER_COMMAND,/**< command is executed */
F_EXIT_RECEIVER,/**< turn off receiver server */
F_LOCK_RECEIVER,/**< Locks/Unlocks server communication to the given client */
F_GET_LAST_RECEIVER_CLIENT_IP,/**< returns the IP of the client last connected to the receiver */
F_SET_RECEIVER_PORT, /**< Changes communication port of the receiver */
F_UPDATE_RECEIVER_CLIENT, /**< Returns all the important parameters to update the shared memory of the client */
F_GET_RECEIVER_ID, /**< get receiver id of version */
F_GET_RECEIVER_TYPE, /**< return receiver type */
F_SEND_RECEIVER_DETHOSTNAME, /**< set detector hostname to receiver */
F_RECEIVER_SET_ROI, /**< Sets receiver ROI */
F_SETUP_RECEIVER_UDP, /**< sets the receiver udp connection and returns receiver mac address */
F_SET_RECEIVER_TIMER, /**< set/get timer value */
F_SET_RECEIVER_DYNAMIC_RANGE, /**< set/get detector dynamic range */
F_RECEIVER_STREAMING_FREQUENCY, /**< sets the frequency of receiver sending frames to gui */
F_GET_RECEIVER_STATUS, /**< gets the status of receiver listening mode */
F_START_RECEIVER, /**< starts the receiver listening mode */
F_STOP_RECEIVER, /**< stops the receiver listening mode */
F_SET_RECEIVER_FILE_PATH, /**< sets receiver file directory */
F_SET_RECEIVER_FILE_NAME, /**< sets receiver file name */
F_SET_RECEIVER_FILE_INDEX, /**< sets receiver file index */
F_GET_RECEIVER_FRAME_INDEX, /**< gets the receiver frame index */
F_GET_RECEIVER_FRAMES_CAUGHT, /**< gets the number of frames caught by receiver */
F_RESET_RECEIVER_FRAMES_CAUGHT, /**< resets the frames caught by receiver */
F_ENABLE_RECEIVER_FILE_WRITE, /**< sets the receiver file write */
F_ENABLE_RECEIVER_OVERWRITE, /**< set overwrite flag in receiver */
F_ENABLE_RECEIVER_TEN_GIGA, /**< enable 10Gbe in receiver */
F_SET_RECEIVER_FIFO_DEPTH, /**< set receiver fifo depth */
F_RECEIVER_ACTIVATE, /** < activate/deactivate readout */
F_STREAM_DATA_FROM_RECEIVER, /**< stream data from receiver to client */
F_RECEIVER_STREAMING_TIMER, /** < sets the timer between each data stream in receiver */
F_SET_FLIPPED_DATA_RECEIVER, /** < sets the enable to flip data across x/y axis (bottom/top) */
F_SET_RECEIVER_FILE_FORMAT, /** < sets the receiver file format */
F_SEND_RECEIVER_DETPOSID, /** < sets the detector position id in the reveiver */
F_SEND_RECEIVER_MULTIDETSIZE, /** < sets the multi detector size to the receiver */
F_SET_RECEIVER_STREAMING_PORT, /** < sets the receiver streaming port */
F_RECEIVER_STREAMING_SRC_IP, /** < sets the receiver streaming source IP */
F_SET_RECEIVER_SILENT_MODE, /** < sets the receiver silent mode */
F_ENABLE_GAPPIXELS_IN_RECEIVER, /** < sets gap pixels in the receiver */
F_RESTREAM_STOP_FROM_RECEIVER, /** < restream stop from receiver */
F_ADDITIONAL_JSON_HEADER, /** < additional json header */
F_RECEIVER_UDP_SOCK_BUF_SIZE, /** < UDP socket buffer size */
F_RECEIVER_REAL_UDP_SOCK_BUF_SIZE, /** < real UDP socket buffer size */
F_SET_RECEIVER_FRAMES_PER_FILE, /** < receiver frames per file */
F_RECEIVER_CHECK_VERSION, /** < check receiver version compatibility */
F_RECEIVER_DISCARD_POLICY, /** < frames discard policy */
F_RECEIVER_PADDING_ENABLE, /** < partial frames padding enable */
F_RECEIVER_DEACTIVATED_PADDING_ENABLE, /** < deactivated receiver padding enable */
NUM_REC_FUNCTIONS
};
#endif
/** @endinternal */

View File

@ -1,78 +0,0 @@
#pragma once
/**
@internal
function indexes to call on the server
All set functions with argument -1 work as get, when possible
*/
#define REC_FUNC_START_INDEX 128
enum recFuncs{
//General functions
F_EXEC_RECEIVER_COMMAND=REC_FUNC_START_INDEX, /**< command is executed */
F_EXIT_RECEIVER, /**< turn off receiver server */
F_LOCK_RECEIVER, /**< Locks/Unlocks server communication to the given client */
F_GET_LAST_RECEIVER_CLIENT_IP, /**< returns the IP of the client last connected to the receiver */
F_SET_RECEIVER_PORT, /**< Changes communication port of the receiver */
F_UPDATE_RECEIVER_CLIENT, /**< Returns all the important parameters to update the shared memory of the client */
// Identification
F_GET_RECEIVER_ID, /**< get receiver id of version */
F_GET_RECEIVER_TYPE, /**< return receiver type */
F_SEND_RECEIVER_DETHOSTNAME, /**< set detector hostname to receiver */
//network functions
F_RECEIVER_SET_ROI, /**< Sets receiver ROI */
F_SETUP_RECEIVER_UDP, /**< sets the receiver udp connection and returns receiver mac address */
//Acquisition setup functions
F_SET_RECEIVER_TIMER, /**< set/get timer value */
F_SET_RECEIVER_DYNAMIC_RANGE, /**< set/get detector dynamic range */
F_RECEIVER_STREAMING_FREQUENCY, /**< sets the frequency of receiver sending frames to gui */
// Acquisition functions
F_GET_RECEIVER_STATUS, /**< gets the status of receiver listening mode */
F_START_RECEIVER, /**< starts the receiver listening mode */
F_STOP_RECEIVER, /**< stops the receiver listening mode */
//file functions
F_SET_RECEIVER_FILE_PATH, /**< sets receiver file directory */
F_SET_RECEIVER_FILE_NAME, /**< sets receiver file name */
F_SET_RECEIVER_FILE_INDEX, /**< sets receiver file index */
F_GET_RECEIVER_FRAME_INDEX, /**< gets the receiver frame index */
F_GET_RECEIVER_FRAMES_CAUGHT, /**< gets the number of frames caught by receiver */
F_RESET_RECEIVER_FRAMES_CAUGHT, /**< resets the frames caught by receiver */
F_ENABLE_RECEIVER_FILE_WRITE, /**< sets the receiver file write */
F_ENABLE_RECEIVER_OVERWRITE, /**< set overwrite flag in receiver */
F_ENABLE_RECEIVER_TEN_GIGA, /**< enable 10Gbe in receiver */
F_SET_RECEIVER_FIFO_DEPTH, /**< set receiver fifo depth */
F_RECEIVER_ACTIVATE, /** < activate/deactivate readout */
F_STREAM_DATA_FROM_RECEIVER, /**< stream data from receiver to client */
F_RECEIVER_STREAMING_TIMER, /** < sets the timer between each data stream in receiver */
F_SET_FLIPPED_DATA_RECEIVER, /** < sets the enable to flip data across x/y axis (bottom/top) */
F_SET_RECEIVER_FILE_FORMAT, /** < sets the receiver file format */
F_SEND_RECEIVER_DETPOSID, /** < sets the detector position id in the reveiver */
F_SEND_RECEIVER_MULTIDETSIZE, /** < sets the multi detector size to the receiver */
F_SET_RECEIVER_STREAMING_PORT, /** < sets the receiver streaming port */
F_RECEIVER_STREAMING_SRC_IP, /** < sets the receiver streaming source IP */
F_SET_RECEIVER_SILENT_MODE, /** < sets the receiver silent mode */
F_ENABLE_GAPPIXELS_IN_RECEIVER, /** < sets gap pixels in the receiver */
F_RESTREAM_STOP_FROM_RECEIVER, /** < restream stop from receiver */
F_ADDITIONAL_JSON_HEADER, /** < additional json header */
F_RECEIVER_UDP_SOCK_BUF_SIZE, /** < UDP socket buffer size */
F_RECEIVER_REAL_UDP_SOCK_BUF_SIZE, /** < real UDP socket buffer size */
F_SET_RECEIVER_FRAMES_PER_FILE, /** < receiver frames per file */
F_RECEIVER_CHECK_VERSION, /** < check receiver version compatibility */
F_RECEIVER_DISCARD_POLICY, /** < frames discard policy */
F_RECEIVER_PADDING_ENABLE, /** < partial frames padding enable */
F_RECEIVER_DEACTIVATED_PADDING_ENABLE, /** < deactivated receiver padding enable */
/* Always append functions hereafter!!! */
/* Always append functions before!!! */
NUM_REC_FUNCTIONS
};