fixed gitinfo

This commit is contained in:
2018-04-23 14:19:55 +02:00
64 changed files with 1276 additions and 649 deletions

View File

@ -1,6 +1,8 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "ab06c33107ecfeb4741d49407903ff80286cf75b"
#define GITAUTH "Anna_Bergamaschi"
#define GITREV 0x3731
#define GITDATE 0x20180315
#define GITREPUUID "b8bdbf4da61f95b88893b02ddabc2491b16fa10f"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x3746
#define GITDATE 0x20180327
#define GITBRANCH "developer"

View File

@ -2246,8 +2246,7 @@ int64_t slsDetector::getId( idMode mode, int imod){
#endif
if (mode==THIS_SOFTWARE_VERSION) {
ret=OK;
retval=GITREV;
retval=(retval<<32) | GITDATE;
retval=GITDATE;
} else if (mode==RECEIVER_VERSION) {
if (thisDetector->receiverOnlineFlag==ONLINE_FLAG) {
if (connectData() == OK){
@ -7265,6 +7264,7 @@ int slsDetector::readConfigurationFile(string const fname){
infile.close();
} else {
std::cout<< "Error opening configuration file " << fname << " for reading" << std::endl;
setErrorMask((getErrorMask())|(CONFIG_FILE));
return FAIL;
}
#ifdef VERBOSE
@ -7362,6 +7362,7 @@ int slsDetector::writeConfigurationFile(string const fname){
}
else {
std::cout<< "Error opening configuration file " << fname << " for writing" << std::endl;
setErrorMask((getErrorMask())|(CONFIG_FILE));
return FAIL;
}
#ifdef VERBOSE

View File

@ -718,7 +718,7 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
*/
/*! \page config
- <b>clkdivider [i]</b> sets/gets the readout clock divider. EIGER, JUNGFRAU [0(fast speed), 1(half speed), 2(quarter speed)]. MYTHEN[???]. \c Returns \c (int)
- <b>clkdivider [i]</b> sets/gets the readout clock divider. EIGER, JUNGFRAU [0(fast speed), 1(half speed), 2(quarter speed)]. Jungfrau, full speed is not implemented and overwrites adcphase to recommended default. MYTHEN[???]. \c Returns \c (int)
*/
descrToFuncMap[i].m_pFuncName="clkdivider"; //
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSpeed;
@ -774,7 +774,7 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
++i;
/*! \page config
- <b>adcphase [i]</b> Sets/gets the ADC clock frequency in MHz. For the new chiptestboard!\c Returns \c (int)
- <b>adcphase [i]</b> Sets/gets phase of the sampling clock. For JUNGFRAU, setting speed (clkdivider) overwrites adcphase to its default recommended value. (Not for EIGER) \c Returns \c (int)
*/
descrToFuncMap[i].m_pFuncName="adcphase"; //
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSpeed;
@ -5830,7 +5830,6 @@ string slsDetectorCommand::cmdSpeed(int narg, char *args[], int action) {
}
myDet->setOnline(ONLINE_FLAG);
ret=myDet->setSpeed(index,t);
@ -5849,21 +5848,23 @@ string slsDetectorCommand::helpSpeed(int narg, char *args[], int action) {
ostringstream os;
if (action==PUT_ACTION || action==HELP_ACTION) {
os << "clkdivider c \t sets readout clock divider" << std::endl;
os << "clkdivider c \t sets readout clock divider. For Jungfrau, it also overwrites adcphase to recommended default" << std::endl;
os << "setlength c\t sets the length of the set/reset signals (in clock cycles)" << std::endl;
os << "waitstates c \t sets the waitstates of the bus interface" << std::endl;
os << "totdivider c\t sets the clock divider in tot mode" << std::endl;
os << "totdutycycle c\t sets the duty cycle of the tot clock" << std::endl;
os << "adcphase c\t Sets phase of the sampling clock. For JUNGFRAU, setting speed (clkdivider) overwrites adcphase to its default recommended value. (Not for EIGER)" << std::endl;
os << std::endl;
}
if (action==GET_ACTION || action==HELP_ACTION) {
os << "clkdivider \t gets readout clock divider" << std::endl;
os << "clkdivider \t gets readout clock divider. For Jungfrau, it also overwrites adcphase to recommended default" << std::endl;
os << "setlength \t gets the length of the set/reset signals (in clock cycles)" << std::endl;
os << "waitstates \t gets the waitstates of the bus interface" << std::endl;
os << "totdivider \t gets the clock divider in tot mode" << std::endl;
os << "totdutycycle \t gets the duty cycle of the tot clock" << std::endl;
os << "adcphase \t gets phase of the sampling clock. For JUNGFRAU, setting speed (clkdivider) overwrites adcphase to its default recommended value. (Not for EIGER)" << std::endl;
os << std::endl;
}

View File

@ -275,8 +275,9 @@ int64_t slsDetectorUsers::getThisSoftwareVersion(){
return myDetector->getThisSoftwareVersion();
}
int slsDetectorUsers::enableGapPixels(int enable) {
return myDetector->enableGapPixels(enable);
}
void slsDetectorUsers::registerDataCallback(int( *userCallback)(detectorData*, int, int, void*), void *pArg){
myDetector->registerDataCallback(userCallback,pArg);
@ -382,3 +383,19 @@ int slsDetectorUsers::setReceiverSilentMode(int i) {
int slsDetectorUsers::setHighVoltage(int i) {
return myDetector->setHighVoltage(i);
}
int slsDetectorUsers::resetFramesCaughtInReceiver() {
return myDetector->resetFramesCaught();
}
int slsDetectorUsers::setReceiverFifoDepth(int i) {
return myDetector->setReceiverFifoDepth(i);
}
int slsDetectorUsers::setFlowControl10G(int i) {
return myDetector->setFlowControl10G(i);
}
int slsDetectorUsers::setTenGigabitEthernet(int i) {
return myDetector->enableTenGigabitEthernet(i);
}

View File

@ -77,7 +77,7 @@ You can find examples of how this classes can be instatiated in mainClient.cpp
@libdoc The slsDetectorUsers class is a minimal interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration or parameters file that can be read/written.
*/
/**
@short Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc.
@short Class for detector functionalities to embed the detector controls in the users custom interface e.g. EPICS, Lima etc.
*/
@ -270,7 +270,7 @@ class slsDetectorUsers
*/
int getDetectorSize(int &x0, int &y0, int &nx, int &ny);
/**
@short setsthe maximum detector size
@short gets the maximum detector size
\param x0 horizontal position origin in channel number
\param y0 vertical position origin in channel number
\param nx number of channels in horiziontal
@ -528,6 +528,14 @@ class slsDetectorUsers
*/
int64_t getThisSoftwareVersion();
/**
* Enable gap pixels, only for Eiger and for 8,16 and 32 bit mode.
* 4 bit mode gap pixels only in gui call back (registerDataCallback)
* @param enable 1 sets, 0 unsets, -1 gets
* @return gap pixel enable or -1 for error
*/
int enableGapPixels(int enable=-1);
/**
@short register calbback for accessing detector final data
\param func function to be called at the end of the acquisition. gets detector status and progress index as arguments
@ -658,17 +666,45 @@ class slsDetectorUsers
/**
* set receiver in silent mode
* @param i 1 sets, 0 unsets (-1 gets)
* @return silent mode of receiver
* @returns silent mode of receiver
*/
int setReceiverSilentMode(int i);
/**
* set high voltage
* @param i > 0 sets, 0 unsets, (-1 gets)
* @return high voltage
* @returns high voltage
*/
int setHighVoltage(int i);
/**
* reset frames caught in receiver
* should be called before startReceiver()
* @retuns OK or FAIL
*/
int resetFramesCaughtInReceiver();
/**
* set receiver fifo depth
* @param i number of images in fifo depth (-1 gets)
* @returns receiver fifo depth
*/
int setReceiverFifoDepth(int i = -1);
/**
* set flow control for 10Gbe (Eiger only)
* @param i 1 sets, 0 unsets (-1 gets)
* @return flow control enable for 10 Gbe
*/
int setFlowControl10G(int i = -1);
/**
* enable/disable 10GbE (Eiger only)
* @param i 1 sets, 0 unsets (-1 gets)
* @return 10GbE enable
*/
int setTenGigabitEthernet(int i = -1);
/************************************************************************
STATIC FUNCTIONS

View File

@ -259,6 +259,19 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing {
*/
virtual string setNetworkParameter(networkParameter i, string s)=0;
int setFlowControl10G(int i = -1) {
string sret="";
if (i != -1) {
ostringstream o;
o << ((i >= 1) ? 1 : 0);
string sval = o.str();
sret = setNetworkParameter(FLOW_CONTROL_10G, sval);
} else
sret = getNetworkParameter(FLOW_CONTROL_10G);
return atoi(sret.c_str());
}
/**
changes/gets the port number
\param t type port type can be CONTROL_PORT, DATA_PORT, STOP_PORT