Compare commits

..

14 Commits
2.3.1 ... 2.3.2

18 changed files with 983 additions and 1038 deletions

0
Makefile Executable file → Normal file
View File

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware Path: slsDetectorsPackage/slsDetectorSoftware
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
Repsitory UUID: 7a0a1ee8734440dc4e1e638d6fec1eaa9d2404ae Repsitory UUID: 41acb4c1ab89fe85b049c329adb539c3ad5b107a
Revision: 1348 Revision: 1350
Branch: 2.3.1 Branch: 2.3.2
Last Changed Author: Dhanya_Maliakal Last Changed Author: Dhanya_Maliakal
Last Changed Rev: 1348 Last Changed Rev: 1350
Last Changed Date: 2017-04-11 13:39:28 +0200 Last Changed Date: 2017-04-19 10:17:30 +0200

View File

@ -5159,25 +5159,27 @@ int multiSlsDetector::createReceivingDataSockets(const bool destroy){
int multiSlsDetector::getData(const int isocket, const bool masking, int* image, const int size, uint64_t &acqIndex, uint64_t &frameIndex, uint32_t &subframeIndex, string &filename){ int multiSlsDetector::getData(const int isocket, const bool masking, int* image, const int size, uint64_t &acqIndex, uint64_t &frameIndex, uint32_t &subframeIndex, string &filename){
zmq_msg_t message; zmq_msg_t header_message;
//scan header------------------------------------------------------------------- //scan header-------------------------------------------------------------------
zmq_msg_init (&message); zmq_msg_init (&header_message);
//cprintf(BLUE,"%d going to receive message\n", isocket); //cprintf(BLUE,"%d going to receive message\n", isocket);
int len = zmq_msg_recv(&message, zmqsocket[isocket], 0); int len = zmq_msg_recv(&header_message, zmqsocket[isocket], 0);
if (len == -1) { if (len == -1) {
cprintf(BG_RED,"Could not read header for socket %d\n",isocket); cprintf(BG_RED,"Could not read header for socket %d\n",isocket);
zmq_msg_close(&message); zmq_msg_close(&header_message);
cprintf(RED, "%d message null\n",isocket); cprintf(RED, "%d message null\n",isocket);
return FAIL; return FAIL;
} }
// error if you print it // error if you print it
// cprintf(BLUE,"%d header len:%d value:%s\n",isocket, len, (char*)zmq_msg_data(&message)); //cprintf(BLUE,"%d header len:%d value:%s\n",isocket, len, (char*)zmq_msg_data(&header_message));
//cprintf(BLUE,"%d header %d\n",isocket,len);
rapidjson::Document d; rapidjson::Document d;
d.Parse( (char*)zmq_msg_data(&message), zmq_msg_size(&message)); rapidjson::ParseResult result = d.Parse( (char*)zmq_msg_data(&header_message), len);
if (!result) {
cprintf(RED,"%d Could not parse. len:%d: Message:%s \n", isocket, len, (char*)zmq_msg_data(&header_message) );
}
#ifdef VERYVERBOSE #ifdef VERYVERBOSE
// htype is an array of strings // htype is an array of strings
rapidjson::Value::Array htype = d["htype"].GetArray(); rapidjson::Value::Array htype = d["htype"].GetArray();
@ -5193,7 +5195,7 @@ int multiSlsDetector::getData(const int isocket, const bool masking, int* image,
cout << isocket << "type: " << d["type"].GetString() << endl; cout << isocket << "type: " << d["type"].GetString() << endl;
#endif #endif
if(d["acqIndex"].GetUint64()!= (long long unsigned int)-1){ //!isocket && if(d["acqIndex"].GetUint64()!= (uint64_t)-1){ //!isocket &&
acqIndex = d["acqIndex"].GetUint64(); acqIndex = d["acqIndex"].GetUint64();
frameIndex = d["fIndex"].GetUint64(); frameIndex = d["fIndex"].GetUint64();
subframeIndex = -1; subframeIndex = -1;
@ -5210,17 +5212,19 @@ int multiSlsDetector::getData(const int isocket, const bool masking, int* image,
if(frameIndex == (long long unsigned int)-1) cprintf(RED,"multi frame index -1!!\n"); if(frameIndex == (long long unsigned int)-1) cprintf(RED,"multi frame index -1!!\n");
} }
// close the message // close the message
zmq_msg_close(&message); zmq_msg_close(&header_message);
//scan data------------------------------------------------------------------- //scan data-------------------------------------------------------------------
zmq_msg_init (&message); zmq_msg_t data_message;
len = zmq_msg_recv(&message, zmqsocket[isocket], 0); zmq_msg_init (&data_message);
//cprintf(BLUE,"%d data %d\n",isocket,len); len = zmq_msg_recv(&data_message, zmqsocket[isocket], 0);
//cprintf(GREEN,"%d data %d\n",isocket,len);
//end of socket ("end") //end of socket ("end\0")
if(len == 3){ if(len == 4){
//cprintf(RED,"%d Received end of acquisition\n", isocket); zmq_msg_close(&data_message); // close the message
//cprintf(RED,"%d Received end of acquisition len:%d\n", isocket, len);
return FAIL; return FAIL;
} }
@ -5232,8 +5236,8 @@ int multiSlsDetector::getData(const int isocket, const bool masking, int* image,
//actual image //actual image
else{ else{
//actual data //actual data
//cprintf(BLUE,"%d actual dataaa\n",isocket); // cprintf(GREEN,"%d actual dataaa\n",isocket);
memcpy((char*)image,(char*)zmq_msg_data(&message),size); memcpy((char*)image,(char*)zmq_msg_data(&data_message),size);
//jungfrau masking adcval //jungfrau masking adcval
if(masking){ if(masking){
@ -5244,7 +5248,7 @@ int multiSlsDetector::getData(const int isocket, const bool masking, int* image,
} }
} }
zmq_msg_close(&message); // close the message zmq_msg_close(&data_message); // close the message
return OK; return OK;
} }

View File

@ -1,11 +1,11 @@
//#define SVNPATH "" //#define SVNPATH ""
#define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git" #define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUIDLIB "7a0a1ee8734440dc4e1e638d6fec1eaa9d2404ae" #define SVNREPUUIDLIB "41acb4c1ab89fe85b049c329adb539c3ad5b107a"
//#define SVNREV 0x1348 //#define SVNREV 0x1350
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTHLIB "Dhanya_Maliakal" #define SVNAUTHLIB "Dhanya_Maliakal"
#define SVNREVLIB 0x1348 #define SVNREVLIB 0x1350
#define SVNDATELIB 0x20170411 #define SVNDATELIB 0x20170419
// //

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsReceiverSoftware Path: slsDetectorsPackage/slsReceiverSoftware
URL: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git URL: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git
Repsitory UUID: db080a125daed36a1fa85b00df7a239e22ae5130 Repsitory UUID: 239415ea0db2b9cdccd9bce80f0c78216115ffea
Revision: 521 Revision: 527
Branch: 2.3.1 Branch: 2.3.2
Last Changed Author: Dhanya_Maliakal Last Changed Author: Dhanya_Maliakal
Last Changed Rev: 521 Last Changed Rev: 527
Last Changed Date: 2017-04-11 13:39:35 +0200 Last Changed Date: 2017-04-20 08:26:16 +0200

View File

@ -21,7 +21,7 @@
#include "logger.h" #include "logger.h"
class UDPInterface { class UDPInterface: public Logger {
/* abstract class that defines the UDP interface of an sls detector data receiver. /* abstract class that defines the UDP interface of an sls detector data receiver.

View File

@ -832,6 +832,7 @@ private:
pthread_mutex_t progressMutex; pthread_mutex_t progressMutex;
}; };

View File

@ -81,7 +81,7 @@ using namespace std;
#define DEFAULT_BACKLOG 5 #define DEFAULT_BACKLOG 5
#define DEFAULT_UDP_PORTNO 50001 #define DEFAULT_UDP_PORTNO 50001
#define DEFAULT_GUI_PORTNO 65000 #define DEFAULT_GUI_PORTNO 65000
#define DEFAULT_ZMQ_PORTNO 70001 #define DEFAULT_ZMQ_PORTNO 40001
@ -111,8 +111,8 @@ enum communicationProtocol{
total_sent(0),// sender (client): where to? ip total_sent(0),// sender (client): where to? ip
header_packet_size(0) header_packet_size(0)
{ {
memset(&serverAddress, 0, sizeof(serverAddress)); memset(&serverAddress, 0,sizeof(serverAddress));
memset(&clientAddress, 0, sizeof(clientAddress)); memset(&clientAddress,0,sizeof(clientAddress));
// strcpy(hostname,host_ip_or_name); // strcpy(hostname,host_ip_or_name);
strcpy(lastClientIP,"none"); strcpy(lastClientIP,"none");

View File

@ -1,11 +1,11 @@
//#define SVNPATH "" //#define SVNPATH ""
#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_receiver_software.git" #define SVNURL "git@git.psi.ch:sls_detectors_software/sls_receiver_software.git"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUID "db080a125daed36a1fa85b00df7a239e22ae5130" #define SVNREPUUID "239415ea0db2b9cdccd9bce80f0c78216115ffea"
//#define SVNREV 0x521 //#define SVNREV 0x527
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTH "Dhanya_Maliakal" #define SVNAUTH "Dhanya_Maliakal"
#define SVNREV 0x521 #define SVNREV 0x527
#define SVNDATE 0x20170411 #define SVNDATE 0x20170420
// //

View File

@ -1,5 +1,6 @@
//#ifndef __LOG_H__ #ifndef __LOG_H__
//#define __LOG_H__ #define __LOG_H__
#include <sstream> #include <sstream>
#include <string> #include <string>
@ -13,237 +14,76 @@
#elif VERYVERBOSE #elif VERYVERBOSE
#define FILELOG_MAX_LEVEL logDEBUG4 #define FILELOG_MAX_LEVEL logDEBUG4
#elif VERBOSE #elif VERBOSE
#define FILELOG_MAX_LEVEL logDEBUG #define FILELOG_MAX_LEVEL logDEBUG1
#endif #endif
#ifndef FILELOG_MAX_LEVEL #ifndef FILELOG_MAX_LEVEL
#define FILELOG_MAX_LEVEL logINFO #define FILELOG_MAX_LEVEL logINFO
#endif #endif
#define REPORT_LEVEL logDEBUG5
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)
#define MYCONCAT(x,y)
#define __AT__ string(__FILE__) + string("::") + string(__func__) + string("(): ")
#define __SHORT_FORM_OF_FILE__ \
(strrchr(__FILE__,'/') \
? strrchr(__FILE__,'/')+1 \
: __FILE__ \
)
#define __SHORT_AT__ string(__SHORT_FORM_OF_FILE__) + string("::") + string(__func__) + string("(): ")
//":" TOSTRING(__LINE__)
/*
void error(const char *location, const char *msg){
printf("Error at %s: %s\n", location, msg);
}
*/
inline std::string NowTime();
enum TLogLevel {logERROR, logWARNING, logINFO, logDEBUG, logDEBUG1, logDEBUG2, logDEBUG3, logDEBUG4, logDEBUG5};
template <typename T> class Log{
public:
Log();
virtual ~Log();
std::ostringstream& Get(TLogLevel level = logINFO);
static TLogLevel& ReportingLevel();
static std::string ToString(TLogLevel level);
static TLogLevel FromString(const std::string& level);
protected:
std::ostringstream os;
TLogLevel lev;
private:
Log(const Log&);
Log& operator =(const Log&);
};
class Output2FILE {
public:
static FILE*& Stream();
static void Output(const std::string& msg);
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
class FILELOG_DECLSPEC FILELog : public Log<Output2FILE> {};
//typedef Log<Output2FILE> FILELog;
#ifdef REST
#define FILE_LOG(level) \
if (level > FILELOG_MAX_LEVEL) ; \
else if (level > FILELog::ReportingLevel() || !Output2FILE::Stream()) ; \
else FILELog().Get(level)
#else
#define FILE_LOG(level) \
if (level > FILELOG_MAX_LEVEL) ; \
else if (level > FILELog::ReportingLevel() || !Output2FILE::Stream()) ; \
else FILELog().Get(level)
#endif
#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> #include <sys/time.h>
inline std::string NowTime()
{
char buffer[11];
const int buffer_len = sizeof(buffer);
time_t t;
time(&t);
tm r = {0};
strftime(buffer, buffer_len, "%X", localtime_r(&t, &r));
buffer[buffer_len - 1] = 0;
struct timeval tv;
gettimeofday(&tv, 0);
char result[100];
const int result_len = sizeof(result);
snprintf(result, result_len, "%s.%03ld", buffer, (long)tv.tv_usec / 1000);
result[result_len - 1] = 0;
return result;
}
#endif //WIN32 class Logger {
public:
Logger(){};
enum TLogLevel {logERROR, logWARNING, logINFO, logDEBUG1, logDEBUG2, logDEBUG3, logDEBUG4, logDEBUG5};
template <typename T> Log<T>::Log():lev(logDEBUG){} static void FILE_LOG(TLogLevel level, char const* msg)
{
template <typename T> std::ostringstream& Log<T>::Get(TLogLevel level) if(level > FILELOG_MAX_LEVEL) return;
{
lev = level;
os << "- " << NowTime();
os << " " << ToString(level) << ": ";
if (level > logDEBUG)
os << std::string(level - logDEBUG, '\t');
return os;
}
template <typename T> Log<T>::~Log() char buffer[11];
{ const int buffer_len = sizeof(buffer);
os << std::endl; time_t t;
#ifdef REST time(&t);
T::Output( os.str()); tm r = {0};
#else strftime(buffer, buffer_len, "%X", localtime_r(&t, &r));
T::Output( os.str(),lev); buffer[buffer_len - 1] = 0;
#endif struct timeval tv;
} gettimeofday(&tv, 0);
char result[100];
template <typename T> TLogLevel& Log<T>::ReportingLevel() const int result_len = sizeof(result);
{ snprintf(result, result_len, "%s.%03ld", buffer, (long)tv.tv_usec / 1000);
static TLogLevel reportingLevel = logDEBUG5; result[result_len - 1] = 0;
return 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"};
return buffer[level];
}
template <typename T>
TLogLevel Log<T>::FromString(const std::string& level)
{
if (level == "DEBUG5")
return logDEBUG5;
if (level == "DEBUG4")
return logDEBUG4;
if (level == "DEBUG3")
return logDEBUG3;
if (level == "DEBUG2")
return logDEBUG2;
if (level == "DEBUG1")
return logDEBUG1;
if (level == "DEBUG")
return logDEBUG;
if (level == "INFO")
return logINFO;
if (level == "WARNING")
return logWARNING;
if (level == "ERROR")
return logERROR;
Log<T>().Get(logWARNING) << "Unknown logging level '" << level << "'. Using INFO level as default.";
return logINFO;
}
inline FILE*& Output2FILE::Stream() /*
{ const char* const slevel[] = {"ERROR", "WARNING", "INFO", "DEBUG", "DEBUG1", "DEBUG2", "DEBUG3", "DEBUG4","DEBUG5"};
static FILE* pStream = stderr; ostringstream os;
return pStream; os << "- " << string(result);
} os << " " << string(slevel[level]) << ": ";
// if (level > logDEBUG)
// os << std::string(level - logDEBUG, '\t');
os << msg;
string smessage = os.str();
inline void Output2FILE::Output(const std::string& msg) switch(level){
{ case logERROR: cprintf(RED BOLD, "%s\n", smessage.c_str()); break;
FILE* pStream = Stream(); case logWARNING: cprintf(YELLOW BOLD, "%s\n", smessage.c_str()); break;
if (!pStream) case logINFO: cprintf(GRAY, "%s\n", smessage.c_str()); break;
return; default: break;
fprintf(pStream, "%s", msg.c_str()); }
fflush(pStream); */
}
inline void Output2FILE::Output(const std::string& msg, TLogLevel level) switch(level){
{ case logERROR: cprintf(RED BOLD, "- %s ERROR: %s \n", result, msg); break;
FILE* pStream = Stream(); case logWARNING: cprintf(YELLOW BOLD,"- %s WARNING: %s \n", result, msg); break;
if (!pStream) case logINFO: cprintf(GRAY, "- %s INFO: %s \n", result, msg); break;
return; default: cprintf(GRAY, "- %s DEBUG: %s \n", result, msg); break;
bool out = true; }
switch(level){
case logERROR: cprintf(RED BOLD,"%s",msg.c_str()); break;
case logWARNING: cprintf(YELLOW BOLD,"%s",msg.c_str()); break;
case logINFO: cprintf(GRAY,"%s",msg.c_str());break;
// case logINFO: cprintf(DARKGRAY BOLD,"%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
fflush(stdout);
}
//#endif //__LOG_H__ };
#endif //__LOG_H__

View File

@ -18,7 +18,7 @@
*@short creates the UDP and TCP class objects *@short creates the UDP and TCP class objects
*/ */
class slsReceiver : private virtual slsReceiverDefs { class slsReceiver : public Logger, private virtual slsReceiverDefs {
public: public:
/** /**

View File

@ -17,7 +17,7 @@
*@short interface between receiver and client *@short interface between receiver and client
*/ */
class slsReceiverTCPIPInterface : private virtual slsReceiverDefs { class slsReceiverTCPIPInterface : public Logger, private virtual slsReceiverDefs {
public: public:
/** /**

View File

@ -19,7 +19,6 @@ using namespace std;
* They access local cache of configuration or detector parameters ******* * They access local cache of configuration or detector parameters *******
*************************************************************************/ *************************************************************************/
UDPBaseImplementation::UDPBaseImplementation(){ UDPBaseImplementation::UDPBaseImplementation(){
FILE_LOG(logDEBUG) << __AT__ << " starting";
initializeMembers(); initializeMembers();
@ -33,9 +32,7 @@ UDPBaseImplementation::UDPBaseImplementation(){
} }
void UDPBaseImplementation::initializeMembers(){ void UDPBaseImplementation::initializeMembers(){
FILE_LOG(logDEBUG) << __AT__ << " starting";
FILE_LOG(logDEBUG) << "Info: Initializing base members";
//**detector parameters*** //**detector parameters***
myDetectorType = GENERIC; myDetectorType = GENERIC;
strcpy(detHostname,""); strcpy(detHostname,"");
@ -93,7 +90,6 @@ UDPBaseImplementation::~UDPBaseImplementation(){}
/**initial parameters***/ /**initial parameters***/
char *UDPBaseImplementation::getDetectorHostname() const{ char *UDPBaseImplementation::getDetectorHostname() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
//not initialized //not initialized
if(!strlen(detHostname)) if(!strlen(detHostname))
@ -106,7 +102,6 @@ char *UDPBaseImplementation::getDetectorHostname() const{
} }
int UDPBaseImplementation::getFlippedData(int axis) const{ int UDPBaseImplementation::getFlippedData(int axis) const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
if(axis<0 || axis > 1) return -1; if(axis<0 || axis > 1) return -1;
return flippedData[axis]; return flippedData[axis];
} }
@ -114,7 +109,6 @@ int UDPBaseImplementation::getFlippedData(int axis) const{
/***file parameters***/ /***file parameters***/
char *UDPBaseImplementation::getFileName() const{ char *UDPBaseImplementation::getFileName() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
//not initialized //not initialized
if(!strlen(fileName)) if(!strlen(fileName))
@ -127,7 +121,6 @@ char *UDPBaseImplementation::getFileName() const{
} }
char *UDPBaseImplementation::getFilePath() const{ char *UDPBaseImplementation::getFilePath() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
//not initialized //not initialized
if(!strlen(filePath)) if(!strlen(filePath))
@ -139,25 +132,24 @@ char *UDPBaseImplementation::getFilePath() const{
return output; return output;
} }
uint64_t UDPBaseImplementation::getFileIndex() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return fileIndex;} uint64_t UDPBaseImplementation::getFileIndex() const{ return fileIndex;}
int UDPBaseImplementation::getScanTag() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return scanTag;} int UDPBaseImplementation::getScanTag() const{ return scanTag;}
bool UDPBaseImplementation::getFrameIndexEnable() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return frameIndexEnable;} bool UDPBaseImplementation::getFrameIndexEnable() const{ return frameIndexEnable;}
bool UDPBaseImplementation::getFileWriteEnable() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return fileWriteEnable;} bool UDPBaseImplementation::getFileWriteEnable() const{ return fileWriteEnable;}
bool UDPBaseImplementation::getOverwriteEnable() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return overwriteEnable;} bool UDPBaseImplementation::getOverwriteEnable() const{ return overwriteEnable;}
bool UDPBaseImplementation::getDataCompressionEnable() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return dataCompressionEnable;} bool UDPBaseImplementation::getDataCompressionEnable() const{ return dataCompressionEnable;}
/***acquisition count parameters***/ /***acquisition count parameters***/
uint64_t UDPBaseImplementation::getTotalFramesCaught() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return (totalPacketsCaught/packetsPerFrame);} uint64_t UDPBaseImplementation::getTotalFramesCaught() const{ return (totalPacketsCaught/packetsPerFrame);}
uint64_t UDPBaseImplementation::getFramesCaught() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return (packetsCaught/packetsPerFrame);} uint64_t UDPBaseImplementation::getFramesCaught() const{ return (packetsCaught/packetsPerFrame);}
int64_t UDPBaseImplementation::getAcquisitionIndex() const{ int64_t UDPBaseImplementation::getAcquisitionIndex() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
if(!totalPacketsCaught) if(!totalPacketsCaught)
return -1; return -1;
@ -166,12 +158,12 @@ int64_t UDPBaseImplementation::getAcquisitionIndex() const{
/***connection parameters***/ /***connection parameters***/
uint32_t UDPBaseImplementation::getUDPPortNumber() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return udpPortNum[0];} uint32_t UDPBaseImplementation::getUDPPortNumber() const{ return udpPortNum[0];}
uint32_t UDPBaseImplementation::getUDPPortNumber2() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return udpPortNum[1];} uint32_t UDPBaseImplementation::getUDPPortNumber2() const{ return udpPortNum[1];}
char *UDPBaseImplementation::getEthernetInterface() const{ char *UDPBaseImplementation::getEthernetInterface() const{
FILE_LOG(logDEBUG) << __AT__ << " starting";
char* output = new char[MAX_STR_LENGTH](); char* output = new char[MAX_STR_LENGTH]();
strcpy(output,eth); strcpy(output,eth);
@ -181,30 +173,30 @@ char *UDPBaseImplementation::getEthernetInterface() const{
/***acquisition parameters***/ /***acquisition parameters***/
int UDPBaseImplementation::getShortFrameEnable() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return shortFrameEnable;} int UDPBaseImplementation::getShortFrameEnable() const{ return shortFrameEnable;}
uint32_t UDPBaseImplementation::getFrameToGuiFrequency() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return frameToGuiFrequency;} uint32_t UDPBaseImplementation::getFrameToGuiFrequency() const{ return frameToGuiFrequency;}
uint32_t UDPBaseImplementation::getFrameToGuiTimer() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return frameToGuiTimerinMS;} uint32_t UDPBaseImplementation::getFrameToGuiTimer() const{ return frameToGuiTimerinMS;}
uint32_t UDPBaseImplementation::getDataStreamEnable() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return dataStreamEnable;} uint32_t UDPBaseImplementation::getDataStreamEnable() const{ return dataStreamEnable;}
uint64_t UDPBaseImplementation::getAcquisitionPeriod() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return acquisitionPeriod;} uint64_t UDPBaseImplementation::getAcquisitionPeriod() const{ return acquisitionPeriod;}
uint64_t UDPBaseImplementation::getAcquisitionTime() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return acquisitionTime;} uint64_t UDPBaseImplementation::getAcquisitionTime() const{ return acquisitionTime;}
uint64_t UDPBaseImplementation::getNumberOfFrames() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return numberOfFrames;} uint64_t UDPBaseImplementation::getNumberOfFrames() const{ return numberOfFrames;}
uint32_t UDPBaseImplementation::getDynamicRange() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return dynamicRange;} uint32_t UDPBaseImplementation::getDynamicRange() const{ return dynamicRange;}
bool UDPBaseImplementation::getTenGigaEnable() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return tengigaEnable;} bool UDPBaseImplementation::getTenGigaEnable() const{ return tengigaEnable;}
uint32_t UDPBaseImplementation::getFifoDepth() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return fifoDepth;} uint32_t UDPBaseImplementation::getFifoDepth() const{ return fifoDepth;}
/***receiver status***/ /***receiver status***/
slsReceiverDefs::runStatus UDPBaseImplementation::getStatus() const{ FILE_LOG(logDEBUG) << __AT__ << " starting"; return status;} slsReceiverDefs::runStatus UDPBaseImplementation::getStatus() const{ return status;}
int UDPBaseImplementation::getActivate() const{FILE_LOG(logDEBUG) << __AT__ << " starting"; return activated;} int UDPBaseImplementation::getActivate() const{ return activated;}
/************************************************************************* /*************************************************************************
@ -214,29 +206,32 @@ int UDPBaseImplementation::getActivate() const{FILE_LOG(logDEBUG) << __AT__ << "
/**initial parameters***/ /**initial parameters***/
void UDPBaseImplementation::configure(map<string, string> config_map){ void UDPBaseImplementation::configure(map<string, string> config_map){
FILE_LOG(logWARNING) << __AT__ << " doing nothing..."; FILE_LOG(logERROR, " must be overridden by child classes");
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes";
} }
void UDPBaseImplementation::setFlippedData(int axis, int enable){ void UDPBaseImplementation::setFlippedData(int axis, int enable){
FILE_LOG(logDEBUG) << __AT__ << " starting";
if(axis<0 || axis>1) return; if(axis<0 || axis>1) return;
flippedData[axis] = enable==0?0:1; flippedData[axis] = enable==0?0:1;
FILE_LOG(logINFO) << "Flipped Data: " << flippedData[0] << " , " << flippedData[1];
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Flipped Data: %d , %d ", flippedData[0], flippedData[1]);
FILE_LOG(logINFO, cstreambuf);
} }
/***file parameters***/ /***file parameters***/
void UDPBaseImplementation::setFileName(const char c[]){ void UDPBaseImplementation::setFileName(const char c[]){
FILE_LOG(logDEBUG) << __AT__ << " starting";
if(strlen(c)) if(strlen(c))
strcpy(fileName, c); strcpy(fileName, c);
FILE_LOG(logINFO) << "File name:" << fileName;
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "File name: %s ", fileName);
FILE_LOG(logINFO, cstreambuf);
} }
void UDPBaseImplementation::setFilePath(const char c[]){ void UDPBaseImplementation::setFilePath(const char c[]){
FILE_LOG(logDEBUG) << __AT__ << " starting";
if(strlen(c)){ if(strlen(c)){
//check if filepath exists //check if filepath exists
@ -245,55 +240,67 @@ void UDPBaseImplementation::setFilePath(const char c[]){
strcpy(filePath,c); strcpy(filePath,c);
else{ else{
strcpy(filePath,""); strcpy(filePath,"");
FILE_LOG(logWARNING) << "FilePath does not exist:" << filePath;
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "FilePath does not exist: %s ", filePath);
FILE_LOG(logWARNING, cstreambuf);
} }
strcpy(filePath, c); strcpy(filePath, c);
} }
FILE_LOG(logDEBUG) << "Info: File path:" << filePath; /*{
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "File path:: %s ", filePath);
FILE_LOG(logDEBUG, cstreambuf);
}*/
} }
void UDPBaseImplementation::setFileIndex(const uint64_t i){ void UDPBaseImplementation::setFileIndex(const uint64_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
fileIndex = i; fileIndex = i;
FILE_LOG(logINFO) << "File Index:" << fileIndex; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "File Index: %lu ", fileIndex);
FILE_LOG(logINFO, cstreambuf);
} }
//FIXME: needed? //FIXME: needed?
void UDPBaseImplementation::setScanTag(const int i){ void UDPBaseImplementation::setScanTag(const int i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
scanTag = i; scanTag = i;
FILE_LOG(logINFO) << "Scan Tag:" << scanTag; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Scan Tag: %d ", scanTag);
FILE_LOG(logINFO, cstreambuf);
} }
void UDPBaseImplementation::setFrameIndexEnable(const bool b){ void UDPBaseImplementation::setFrameIndexEnable(const bool b){
FILE_LOG(logDEBUG) << __AT__ << " starting";
frameIndexEnable = b; frameIndexEnable = b;
FILE_LOG(logINFO) << "Frame Index Enable: " << stringEnable(frameIndexEnable); char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Frame Index Enable: %s ", stringEnable(frameIndexEnable).c_str());
FILE_LOG(logINFO, cstreambuf);
} }
void UDPBaseImplementation::setFileWriteEnable(const bool b){ void UDPBaseImplementation::setFileWriteEnable(const bool b){
FILE_LOG(logDEBUG) << __AT__ << " starting";
fileWriteEnable = b; fileWriteEnable = b;
FILE_LOG(logINFO) << "File Write Enable: " << stringEnable(fileWriteEnable); char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "File Write Enable: %s ", stringEnable(fileWriteEnable).c_str());
FILE_LOG(logINFO, cstreambuf);
} }
void UDPBaseImplementation::setOverwriteEnable(const bool b){ void UDPBaseImplementation::setOverwriteEnable(const bool b){
FILE_LOG(logDEBUG) << __AT__ << " starting";
overwriteEnable = b; overwriteEnable = b;
FILE_LOG(logINFO) << "Overwrite Enable: " << stringEnable(overwriteEnable); char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Overwrite Enable: %s ", stringEnable(overwriteEnable).c_str());
FILE_LOG(logINFO, cstreambuf);
} }
int UDPBaseImplementation::setDataCompressionEnable(const bool b){ int UDPBaseImplementation::setDataCompressionEnable(const bool b){
FILE_LOG(logDEBUG) << __AT__ << " starting";
dataCompressionEnable = b; dataCompressionEnable = b;
FILE_LOG(logINFO) << "Data Compression : " << stringEnable(dataCompressionEnable); char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Data Compression: %s ", stringEnable(dataCompressionEnable).c_str());
FILE_LOG(logINFO, cstreambuf);
//overridden methods might return FAIL //overridden methods might return FAIL
return OK; return OK;
@ -302,58 +309,65 @@ int UDPBaseImplementation::setDataCompressionEnable(const bool b){
/***connection parameters***/ /***connection parameters***/
void UDPBaseImplementation::setUDPPortNumber(const uint32_t i){ void UDPBaseImplementation::setUDPPortNumber(const uint32_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
udpPortNum[0] = i; udpPortNum[0] = i;
FILE_LOG(logINFO) << "UDP Port Number[0]:" << udpPortNum[0]; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "UDP Port Number[0]: %u ", udpPortNum[0]);
FILE_LOG(logINFO, cstreambuf);
} }
void UDPBaseImplementation::setUDPPortNumber2(const uint32_t i){ void UDPBaseImplementation::setUDPPortNumber2(const uint32_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
udpPortNum[1] = i; udpPortNum[1] = i;
FILE_LOG(logINFO) << "UDP Port Number[1]:" << udpPortNum[1]; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "UDP Port Number[1]: %u ", udpPortNum[1]);
FILE_LOG(logINFO, cstreambuf);
} }
void UDPBaseImplementation::setEthernetInterface(const char* c){ void UDPBaseImplementation::setEthernetInterface(const char* c){
FILE_LOG(logDEBUG) << __AT__ << " starting";
strcpy(eth, c); strcpy(eth, c);
FILE_LOG(logINFO) << "Ethernet Interface: " << eth; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Ethernet Interface: %s ", eth);
FILE_LOG(logINFO, cstreambuf);
} }
/***acquisition parameters***/ /***acquisition parameters***/
void UDPBaseImplementation::setShortFrameEnable(const int i){ void UDPBaseImplementation::setShortFrameEnable(const int i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
shortFrameEnable = i; shortFrameEnable = i;
FILE_LOG(logINFO) << "Short Frame Enable: " << stringEnable(shortFrameEnable); char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Short Frame Enable: %d ", shortFrameEnable);
FILE_LOG(logINFO, cstreambuf);
} }
int UDPBaseImplementation::setFrameToGuiFrequency(const uint32_t freq){ int UDPBaseImplementation::setFrameToGuiFrequency(const uint32_t freq){
FILE_LOG(logDEBUG) << __AT__ << " starting";
frameToGuiFrequency = freq; frameToGuiFrequency = freq;
FILE_LOG(logINFO) << "Frame To Gui Frequency:" << frameToGuiFrequency; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Frame To Gui Frequency: %u ", frameToGuiFrequency);
FILE_LOG(logINFO, cstreambuf);
//overrridden child classes might return FAIL //overrridden child classes might return FAIL
return OK; return OK;
} }
void UDPBaseImplementation::setFrameToGuiTimer(const uint32_t time_in_ms){ void UDPBaseImplementation::setFrameToGuiTimer(const uint32_t time_in_ms){
FILE_LOG(logDEBUG) << __AT__ << " starting";
frameToGuiTimerinMS = time_in_ms; frameToGuiTimerinMS = time_in_ms;
FILE_LOG(logINFO) << "Frame To Gui Timer:" << frameToGuiTimerinMS; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Frame To Gui Timer: %u ", frameToGuiTimerinMS);
FILE_LOG(logINFO, cstreambuf);
} }
uint32_t UDPBaseImplementation::setDataStreamEnable(const uint32_t enable){ uint32_t UDPBaseImplementation::setDataStreamEnable(const uint32_t enable){
FILE_LOG(logDEBUG) << __AT__ << " starting";
dataStreamEnable = enable; dataStreamEnable = enable;
FILE_LOG(logINFO) << "Streaming Data from Receiver:" << dataStreamEnable; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Streaming Data from Receiver: %d ", dataStreamEnable);
FILE_LOG(logINFO, cstreambuf);
//overrridden child classes might return FAIL //overrridden child classes might return FAIL
return OK; return OK;
@ -361,60 +375,66 @@ uint32_t UDPBaseImplementation::setDataStreamEnable(const uint32_t enable){
int UDPBaseImplementation::setAcquisitionPeriod(const uint64_t i){ int UDPBaseImplementation::setAcquisitionPeriod(const uint64_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
acquisitionPeriod = i; acquisitionPeriod = i;
FILE_LOG(logINFO) << "Acquisition Period:" << (double)acquisitionPeriod/(1E9) << "s"; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Acquisition Period: %f s ", (double)acquisitionPeriod/(1E9));
FILE_LOG(logINFO, cstreambuf);
//overrridden child classes might return FAIL //overrridden child classes might return FAIL
return OK; return OK;
} }
int UDPBaseImplementation::setAcquisitionTime(const uint64_t i){ int UDPBaseImplementation::setAcquisitionTime(const uint64_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
acquisitionTime = i; acquisitionTime = i;
FILE_LOG(logINFO) << "Acquisition Time:" << (double)acquisitionTime/(1E9) << "s"; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Acquisition Time: %f s ", (double)acquisitionTime/(1E9));
FILE_LOG(logINFO, cstreambuf);
//overrridden child classes might return FAIL //overrridden child classes might return FAIL
return OK; return OK;
} }
int UDPBaseImplementation::setNumberOfFrames(const uint64_t i){ int UDPBaseImplementation::setNumberOfFrames(const uint64_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
numberOfFrames = i; numberOfFrames = i;
FILE_LOG(logINFO) << "Number of Frames:" << numberOfFrames; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Number of Frames: %lu ", numberOfFrames);
FILE_LOG(logINFO, cstreambuf);
//overrridden child classes might return FAIL //overrridden child classes might return FAIL
return OK; return OK;
} }
int UDPBaseImplementation::setDynamicRange(const uint32_t i){ int UDPBaseImplementation::setDynamicRange(const uint32_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
dynamicRange = i; dynamicRange = i;
FILE_LOG(logINFO) << "Dynamic Range:" << dynamicRange; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Dynamic Range: %u ", dynamicRange);
FILE_LOG(logINFO, cstreambuf);
//overrridden child classes might return FAIL //overrridden child classes might return FAIL
return OK; return OK;
} }
int UDPBaseImplementation::setTenGigaEnable(const bool b){ int UDPBaseImplementation::setTenGigaEnable(const bool b){
FILE_LOG(logDEBUG) << __AT__ << " starting";
tengigaEnable = b; tengigaEnable = b;
FILE_LOG(logINFO) << "Ten Giga Enable: " << stringEnable(tengigaEnable); char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Ten Giga Enable: %s ", stringEnable(tengigaEnable).c_str());
FILE_LOG(logINFO, cstreambuf);
//overridden functions might return FAIL //overridden functions might return FAIL
return OK; return OK;
} }
int UDPBaseImplementation::setFifoDepth(const uint32_t i){ int UDPBaseImplementation::setFifoDepth(const uint32_t i){
FILE_LOG(logDEBUG) << __AT__ << " starting";
fifoDepth = i; fifoDepth = i;
FILE_LOG(logINFO) << "Fifo Depth: " << i; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Fifo Depth: %u ", i);
FILE_LOG(logINFO, cstreambuf);
//overridden functions might return FAIL //overridden functions might return FAIL
return OK; return OK;
@ -428,79 +448,88 @@ int UDPBaseImplementation::setFifoDepth(const uint32_t i){
/***initial functions***/ /***initial functions***/
int UDPBaseImplementation::setDetectorType(const detectorType d){ int UDPBaseImplementation::setDetectorType(const detectorType d){
FILE_LOG(logDEBUG) << __AT__ << " starting";
myDetectorType = d; myDetectorType = d;
//if eiger, set numberofListeningThreads = 2; //if eiger, set numberofListeningThreads = 2;
FILE_LOG(logINFO) << "Detector Type:" << getDetectorType(d); char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Detector Type: %s ", getDetectorType(d).c_str());
FILE_LOG(logINFO, cstreambuf);
return OK; return OK;
} }
void UDPBaseImplementation::initialize(const char *c){ void UDPBaseImplementation::initialize(const char *c){
FILE_LOG(logDEBUG) << __AT__ << " starting";
if(strlen(c)) if(strlen(c))
strcpy(detHostname, c); strcpy(detHostname, c);
FILE_LOG(logINFO) << "Detector Hostname:" << detHostname; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Detector Hostname: %s ", detHostname);
FILE_LOG(logINFO, cstreambuf);
} }
/***acquisition functions***/ /***acquisition functions***/
void UDPBaseImplementation::resetAcquisitionCount(){ void UDPBaseImplementation::resetAcquisitionCount(){
FILE_LOG(logDEBUG) << __AT__ << " starting";
totalPacketsCaught = 0; totalPacketsCaught = 0;
FILE_LOG(logINFO) << "totalPacketsCaught:" << totalPacketsCaught; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Total Packets Caught: %lu ", totalPacketsCaught);
FILE_LOG(logINFO, cstreambuf);
} }
int UDPBaseImplementation::startReceiver(char *c){ int UDPBaseImplementation::startReceiver(char *c){
FILE_LOG(logWARNING) << __AT__ << " doing nothing...";
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes"; FILE_LOG(logERROR, " must be overridden by child classes");
return OK; return OK;
} }
void UDPBaseImplementation::stopReceiver(){ void UDPBaseImplementation::stopReceiver(){
FILE_LOG(logWARNING) << __AT__ << " doing nothing...";
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes"; FILE_LOG(logERROR, " must be overridden by child classes");
} }
void UDPBaseImplementation::startReadout(){ void UDPBaseImplementation::startReadout(){
FILE_LOG(logWARNING) << __AT__ << " doing nothing...";
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes"; FILE_LOG(logERROR, " must be overridden by child classes");
} }
int UDPBaseImplementation::shutDownUDPSockets(){ int UDPBaseImplementation::shutDownUDPSockets(){
FILE_LOG(logWARNING) << __AT__ << " doing nothing...";
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes"; FILE_LOG(logERROR, " must be overridden by child classes");
//overridden functions might return FAIL //overridden functions might return FAIL
return OK; return OK;
} }
void UDPBaseImplementation::readFrame(int ithread, char* c,char** raw, int64_t &startAcquisitionIndex, int64_t &startFrameIndex){ void UDPBaseImplementation::readFrame(int ithread, char* c,char** raw, int64_t &startAcquisitionIndex, int64_t &startFrameIndex){
FILE_LOG(logWARNING) << __AT__ << " doing nothing...";
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes"; FILE_LOG(logERROR, " must be overridden by child classes");
} }
//FIXME: needed, isnt stopReceiver enough? //FIXME: needed, isnt stopReceiver enough?
void UDPBaseImplementation::abort(){ void UDPBaseImplementation::abort(){
FILE_LOG(logWARNING) << __AT__ << " doing nothing...";
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes"; FILE_LOG(logERROR, " must be overridden by child classes");
} }
void UDPBaseImplementation::closeFile(int ithread){ void UDPBaseImplementation::closeFile(int ithread){
FILE_LOG(logWARNING) << __AT__ << " doing nothing...";
FILE_LOG(logERROR) << __AT__ << " must be overridden by child classes"; FILE_LOG(logERROR, " must be overridden by child classes");
} }
int UDPBaseImplementation::setActivate(int enable){ int UDPBaseImplementation::setActivate(int enable){
FILE_LOG(logDEBUG) << __AT__ << " starting";
if(enable != -1){ if(enable != -1){
activated = enable; activated = enable;
FILE_LOG(logINFO) << "Activation: " << stringEnable(activated);
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Activation: %s ", stringEnable(activated).c_str());
FILE_LOG(logINFO, cstreambuf);
} }
return activated; return activated;

View File

@ -22,18 +22,21 @@ using namespace std;
UDPInterface * UDPInterface::create(string receiver_type){ UDPInterface * UDPInterface::create(string receiver_type){
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Starting %s ", receiver_type.c_str());
if (receiver_type == "standard"){ if (receiver_type == "standard"){
FILE_LOG(logINFO) << "Starting " << receiver_type; FILE_LOG(logINFO, cstreambuf);
return new UDPStandardImplementation(); return new UDPStandardImplementation();
} }
#ifdef REST #ifdef REST
else if (receiver_type == "REST"){ else if (receiver_type == "REST"){
FILE_LOG(logINFO) << "Starting " << receiver_type; FILE_LOG(logINFO, cstreambuf);
return new UDPRESTImplementation(); return new UDPRESTImplementation();
} }
#endif #endif
else{ else{
FILE_LOG(logWARNING) << "[ERROR] UDP interface not supported, using standard implementation"; FILE_LOG(logWARNING, "[ERROR] UDP interface not supported, using standard implementation");
return new UDPBaseImplementation(); return new UDPBaseImplementation();
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -104,7 +104,6 @@ int main(int argc, char *argv[]) {
//start tcp server thread //start tcp server thread
if(receiver->start() == slsReceiverDefs::OK){ if(receiver->start() == slsReceiverDefs::OK){
FILE_LOG(logDEBUG1) << "DONE!" << endl;
string str; string str;
cin>>str; cin>>str;
//wait and look for an exit keyword //wait and look for an exit keyword

View File

@ -106,23 +106,32 @@ slsReceiver::slsReceiver(int argc, char *argv[], int &success){
if( !fname.empty() ){ if( !fname.empty() ){
try{ try{
FILE_LOG(logINFO) << "config file name " << fname; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "config file name : %s ",fname.c_str());
FILE_LOG(logDEBUG1, cstreambuf);
success = read_config_file(fname, &tcpip_port_no, &configuration_map); success = read_config_file(fname, &tcpip_port_no, &configuration_map);
//VERBOSE_PRINT("Read configuration file of " + iline + " lines"); //VERBOSE_PRINT("Read configuration file of " + iline + " lines");
} }
catch(...){ catch(...){
FILE_LOG(logERROR) << "Error opening configuration file " << fname ; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
success = FAIL; sprintf(cstreambuf, "Error opening configuration file : %s ",fname.c_str());
FILE_LOG(logERROR, cstreambuf);
success = FAIL;
} }
} }
if(success != OK){ if(success != OK){
FILE_LOG(logERROR) << "Failed: see output above for more information " ; FILE_LOG(logERROR, "Failed: see output above for more information ");
} }
if (success==OK){ if (success==OK){
FILE_LOG(logINFO) << "SLS Receiver starting " << udp_interface_type << " on port " << tcpip_port_no << endl;
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "SLS Receiver starting %s on port %d ",udp_interface_type.c_str(), tcpip_port_no);
FILE_LOG(logDEBUG1, cstreambuf);
#ifdef REST #ifdef REST
udp_interface = UDPInterface::create(udp_interface_type); udp_interface = UDPInterface::create(udp_interface_type);
udp_interface->configure(configuration_map); udp_interface->configure(configuration_map);

View File

@ -28,17 +28,17 @@ slsReceiverTCPIPInterface::~slsReceiverTCPIPInterface() {
} }
slsReceiverTCPIPInterface::slsReceiverTCPIPInterface(int &success, UDPInterface* rbase, int pn): slsReceiverTCPIPInterface::slsReceiverTCPIPInterface(int &success, UDPInterface* rbase, int pn):
myDetectorType(GOTTHARD), myDetectorType(GOTTHARD),
receiverBase(rbase), receiverBase(rbase),
ret(OK), ret(OK),
lockStatus(0), lockStatus(0),
shortFrame(-1), shortFrame(-1),
packetsPerFrame(GOTTHARD_PACKETS_PER_FRAME), packetsPerFrame(GOTTHARD_PACKETS_PER_FRAME),
dynamicrange(16), dynamicrange(16),
killTCPServerThread(0), killTCPServerThread(0),
tenGigaEnable(0), tenGigaEnable(0),
portNumber(DEFAULT_PORTNO+2), portNumber(DEFAULT_PORTNO+2),
mySock(NULL){ mySock(NULL){
strcpy(SET_RECEIVER_ERR_MESSAGE,"Receiver not set up. Please use rx_hostname first.\n"); strcpy(SET_RECEIVER_ERR_MESSAGE,"Receiver not set up. Please use rx_hostname first.\n");
@ -126,14 +126,17 @@ int slsReceiverTCPIPInterface::setPortNumber(int pn){
int slsReceiverTCPIPInterface::start(){ int slsReceiverTCPIPInterface::start(){
FILE_LOG(logDEBUG) << "Creating TCP Server Thread" << endl;
FILE_LOG(logDEBUG1, "Creating TCP Server Thread");
killTCPServerThread = 0; killTCPServerThread = 0;
if(pthread_create(&TCPServer_thread, NULL,startTCPServerThread, (void*) this)){ if(pthread_create(&TCPServer_thread, NULL,startTCPServerThread, (void*) this)){
cout << "Could not create TCP Server thread" << endl; cout << "Could not create TCP Server thread" << endl;
return FAIL; return FAIL;
} }
//#ifdef VERYVERBOSE //#ifdef VERYVERBOSE
FILE_LOG(logDEBUG) << "TCP Server thread created successfully." << endl; FILE_LOG(logDEBUG1, "TCP Server thread created successfully.");
//#endif //#endif
return OK; return OK;
} }
@ -387,23 +390,27 @@ int slsReceiverTCPIPInterface::set_detector_type(){
receiverBase->registerCallBackRawDataReady(rawDataReadyCallBack,pRawDataReady); receiverBase->registerCallBackRawDataReady(rawDataReadyCallBack,pRawDataReady);
} }
#endif #endif
myDetectorType = dr; myDetectorType = dr;
ret=receiverBase->setDetectorType(myDetectorType); ret=receiverBase->setDetectorType(myDetectorType);
retval = myDetectorType; retval = myDetectorType;
} }
} }
} }
//#ifdef VERYVERBOSE //#ifdef VERYVERBOSE
if(ret!=FAIL) if(ret!=FAIL)
FILE_LOG(logDEBUG) << "detector type " << dr; {
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Detector Type %d ", (int)dr);
FILE_LOG(logDEBUG1, cstreambuf);
}
else else
cprintf(RED, "%s\n", mess); cprintf(RED, "%s\n", mess);
//#endif //#endif
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -470,7 +477,7 @@ int slsReceiverTCPIPInterface::set_file_name() {
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -545,7 +552,7 @@ int slsReceiverTCPIPInterface::set_file_dir() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -617,7 +624,7 @@ int slsReceiverTCPIPInterface::set_file_index() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -695,7 +702,7 @@ int slsReceiverTCPIPInterface::set_frame_index() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -759,12 +766,16 @@ int slsReceiverTCPIPInterface::setup_udp(){
receiverBase->setUDPPortNumber2(udpport2); receiverBase->setUDPPortNumber2(udpport2);
//setup udpip //setup udpip
//get ethernet interface or IP to listen to //get ethernet interface or IP to listen to
FILE_LOG(logINFO) << "Receiver UDP IP: " << args[0]; {
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Receiver UDP IP: %s ",args[0]);
FILE_LOG(logINFO, cstreambuf);
}
temp = genericSocket::ipToName(args[0]); temp = genericSocket::ipToName(args[0]);
if(temp=="none"){ if(temp=="none"){
ret = FAIL; ret = FAIL;
strcpy(mess, "Failed to get ethernet interface or IP\n"); strcpy(mess, "Failed to get ethernet interface or IP\n");
FILE_LOG(logERROR) << mess; FILE_LOG(logERROR, "Failed to get ethernet interface or IP ");
} }
else{ else{
strcpy(eth,temp.c_str()); strcpy(eth,temp.c_str());
@ -785,7 +796,10 @@ int slsReceiverTCPIPInterface::setup_udp(){
} }
else{ else{
strcpy(retval,temp.c_str()); strcpy(retval,temp.c_str());
FILE_LOG(logINFO) << "Reciever MAC Address: " << retval;
char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "Reciever MAC Address: %s ",retval);
FILE_LOG(logINFO, cstreambuf);
} }
} }
} }
@ -793,14 +807,16 @@ int slsReceiverTCPIPInterface::setup_udp(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
// send answer // send answer
mySock->SendDataOnly(&ret,sizeof(ret)); mySock->SendDataOnly(&ret,sizeof(ret));
if(ret==FAIL){ if(ret==FAIL){
FILE_LOG(logERROR) << mess; char cstreambuf[MAX_STR_LENGTH]; memset(cstreambuf, 0, MAX_STR_LENGTH);
sprintf(cstreambuf, "%s ", mess);
FILE_LOG(logERROR, cstreambuf);
mySock->SendDataOnly(mess,sizeof(mess)); mySock->SendDataOnly(mess,sizeof(mess));
} }
mySock->SendDataOnly(retval,MAX_STR_LENGTH); mySock->SendDataOnly(retval,MAX_STR_LENGTH);
@ -849,7 +865,7 @@ int slsReceiverTCPIPInterface::start_receiver(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -897,7 +913,7 @@ int slsReceiverTCPIPInterface::stop_receiver(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -928,7 +944,7 @@ int slsReceiverTCPIPInterface::get_status(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -959,7 +975,7 @@ int slsReceiverTCPIPInterface::get_frames_caught(){
}else retval=receiverBase->getTotalFramesCaught(); }else retval=receiverBase->getTotalFramesCaught();
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -991,7 +1007,7 @@ int slsReceiverTCPIPInterface::get_frame_index(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -1036,7 +1052,7 @@ int slsReceiverTCPIPInterface::reset_frames_caught(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -1105,7 +1121,7 @@ int slsReceiverTCPIPInterface::set_short_frame() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -1287,7 +1303,7 @@ int slsReceiverTCPIPInterface::moench_read_frame(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -1468,7 +1484,7 @@ int slsReceiverTCPIPInterface::gotthard_read_frame(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -1622,7 +1638,7 @@ int slsReceiverTCPIPInterface::propix_read_frame(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -1657,7 +1673,7 @@ int slsReceiverTCPIPInterface::propix_read_frame(){
int slsReceiverTCPIPInterface::eiger_read_frame(){ int slsReceiverTCPIPInterface::eiger_read_frame(){
ret=OK; ret=OK;
/* /*
char fName[MAX_STR_LENGTH]=""; char fName[MAX_STR_LENGTH]="";
int acquisitionIndex = -1; int acquisitionIndex = -1;
int frameIndex= -1; int frameIndex= -1;
@ -1889,7 +1905,7 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -1910,7 +1926,7 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){
delete [] retval; delete [] retval;
delete [] origVal; delete [] origVal;
delete [] raw; delete [] raw;
*/ */
return ret; return ret;
} }
@ -2052,7 +2068,7 @@ int slsReceiverTCPIPInterface::jungfrau_read_frame(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2130,7 +2146,7 @@ int slsReceiverTCPIPInterface::set_read_frequency(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2196,7 +2212,7 @@ int slsReceiverTCPIPInterface::set_read_receiver_timer(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2259,7 +2275,7 @@ int slsReceiverTCPIPInterface::set_data_stream_enable(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2319,7 +2335,7 @@ int slsReceiverTCPIPInterface::enable_file_write(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2347,7 +2363,7 @@ int slsReceiverTCPIPInterface::get_id(){
#endif #endif
if(mySock->differentClients){ if(mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2371,43 +2387,43 @@ int64_t slsReceiverTCPIPInterface::getReceiverVersion(){
int slsReceiverTCPIPInterface::start_readout(){cprintf(BLUE,"In start readout!\n"); int slsReceiverTCPIPInterface::start_readout(){cprintf(BLUE,"In start readout!\n");
ret=OK; ret=OK;
enum runStatus retval; enum runStatus retval;
// execute action if the arguments correctly arrived // execute action if the arguments correctly arrived
#ifdef SLS_RECEIVER_UDP_FUNCTIONS #ifdef SLS_RECEIVER_UDP_FUNCTIONS
if (receiverBase == NULL){ if (receiverBase == NULL){
strcpy(mess,SET_RECEIVER_ERR_MESSAGE); strcpy(mess,SET_RECEIVER_ERR_MESSAGE);
ret=FAIL; ret=FAIL;
} }
/*else if(receiverBase->getStatus()!= IDLE){ /*else if(receiverBase->getStatus()!= IDLE){
strcpy(mess,"Can not start receiver readout while receiver not idle\n"); strcpy(mess,"Can not start receiver readout while receiver not idle\n");
ret = FAIL; ret = FAIL;
}*/ }*/
else{ else{
receiverBase->startReadout(); receiverBase->startReadout();
retval = receiverBase->getStatus(); retval = receiverBase->getStatus();
if((retval == TRANSMITTING) || (retval == RUN_FINISHED) || (retval == IDLE)) if((retval == TRANSMITTING) || (retval == RUN_FINISHED) || (retval == IDLE))
ret = OK; ret = OK;
else else
ret = FAIL; ret = FAIL;
} }
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
// send answer // send answer
mySock->SendDataOnly(&ret,sizeof(ret)); mySock->SendDataOnly(&ret,sizeof(ret));
if(ret==FAIL){ if(ret==FAIL){
cprintf(RED,"%s\n",mess); cprintf(RED,"%s\n",mess);
mySock->SendDataOnly(mess,sizeof(mess)); mySock->SendDataOnly(mess,sizeof(mess));
} }
mySock->SendDataOnly(&retval,sizeof(retval)); mySock->SendDataOnly(&retval,sizeof(retval));
//return ok/fail //return ok/fail
return ret; return ret;
} }
@ -2483,7 +2499,7 @@ int slsReceiverTCPIPInterface::set_timer() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2555,7 +2571,7 @@ int slsReceiverTCPIPInterface::enable_compression() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2621,7 +2637,7 @@ int slsReceiverTCPIPInterface::set_detector_hostname() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2722,7 +2738,7 @@ int slsReceiverTCPIPInterface::set_dynamic_range() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2790,7 +2806,7 @@ int slsReceiverTCPIPInterface::enable_overwrite() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2860,7 +2876,7 @@ int slsReceiverTCPIPInterface::enable_tengiga() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -2932,7 +2948,7 @@ int slsReceiverTCPIPInterface::set_fifo_depth() {
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -3006,7 +3022,7 @@ int slsReceiverTCPIPInterface::set_activate() {
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }
@ -3070,7 +3086,7 @@ int slsReceiverTCPIPInterface::set_flipped_data(){
#endif #endif
if(ret==OK && mySock->differentClients){ if(ret==OK && mySock->differentClients){
FILE_LOG(logDEBUG) << "Force update"; FILE_LOG(logDEBUG1,"Force update" );
ret=FORCE_UPDATE; ret=FORCE_UPDATE;
} }