This commit is contained in:
Erik Frojdh
2019-08-09 14:08:21 +02:00
parent 1f549d51fa
commit 2f61764fd7
3 changed files with 141 additions and 19 deletions

View File

@ -950,6 +950,7 @@ class Detector {
/** [CTB] Value between 0-63 */
void setExternalSamplingSource(int value, Positions pos = {});
// TODO! does any of them need the option to take positions
/** [CTB] */
uint32_t getADCInvert() const;
@ -957,13 +958,62 @@ class Detector {
void setADCInvert(uint32_t value);
/** [CTB]*/
uint32_t getADCEnableMask(int detPos = -1);
uint32_t getADCEnableMask() const;
/** [CTB]*/
void setADCEnableMask(uint32_t mask);
/** [CTB]*/
uint32_t getADCEnableMask() const;
/** [Gotthard] */
Result<int> getCounterBit(Positions pos = {}) const;
/** [Gotthard] possible values? */
void setCounterBit(int i, Positions pos = {});
/**
* [Gotthard] startACQ = 1 to start acq after resetting counter
* TODO! does it make sense to call one detector?
*
*/
void resetCounterBlock(int startACQ = 0, Positions pos = {});
// TODO getROI, setROI, verifyMinMaxROI
// writeCounterBlockFile
void loadImageToDetector(defs::imageType index, const std::string &fname,
Positions pos = {});
/** [Gotthard]
* @param value 1 to set or 0 to clear the digital test bit -1?
*/
Result<int> digitalTest(defs::digitalTestMode mode, int ival = -1,
Positions pos = {});
/** [Eiger] */
void setFlowControl10G(bool enable, Positions pos = {});
/** [Eiger] */
Result<bool> getFlowControl10G(Positions pos = {}) const;
Result<int64_t>
getReceiverRealUDPSocketBufferSize(Positions pos = {}) const;
Result<int64_t> getReceiverUDPSocketBufferSize(Positions pos = {}) const;
void setReceiverUDPSocketBufferSize(int64_t udpsockbufsize,
Positions pos = {});
/** [Moench] TODO! How do we do this best??? Can be refactored to something
* else? Use a generic zmq message passing system...
* For now limiting to all detectors working the same*/
int setDetectorMode(defs::detectorModeType value);
int setFrameMode(defs::frameModeType value);
int setDetectorMinMaxEnergyThreshold(const int index, int value);
void setAdditionalJsonHeader(const std::string &jsonheader,
Positions pos = {});
Result<std::string> getAdditionalJsonHeader(Positions pos = {}) const;
};
} // namespace sls

View File

@ -1297,7 +1297,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
*/
std::string setAdditionalJsonParameter(const std::string &key,
const std::string &value,
int detPos = -1);
int detPos = -1); //
/**
* Returns the additional json header parameter value
@ -1307,7 +1307,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* empty if no parameter found in additional json header
*/
std::string getAdditionalJsonParameter(const std::string &key,
int detPos = -1);
int detPos = -1); //
/**
* Sets the detector minimum/maximum energy threshold in processor (for
@ -1318,7 +1318,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* error in computing json parameter value)
*/
int setDetectorMinMaxEnergyThreshold(const int index, int value,
int detPos = -1);
int detPos = -1); //
/**
* Sets the frame mode in processor (Moench only)
@ -1345,21 +1345,21 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @returns receiver udp socket buffer size
*/
int64_t setReceiverUDPSocketBufferSize(int64_t udpsockbufsize = -1,
int detPos = -1);
int detPos = -1); //
/**
* Returns the receiver UDP socket buffer size
* @param detPos -1 for all detectors in list or specific detector position
* @returns the receiver UDP socket buffer size
*/
int64_t getReceiverUDPSocketBufferSize(int detPos = -1);
int64_t getReceiverUDPSocketBufferSize(int detPos = -1); //
/**
* Returns the receiver real UDP socket buffer size
* @param detPos -1 for all detectors in list or specific detector position
* @returns the receiver real UDP socket buffer size
*/
int64_t getReceiverRealUDPSocketBufferSize(int detPos = -1);
int64_t getReceiverRealUDPSocketBufferSize(int detPos = -1); //
/** (users only)
* Set 10GbE Flow Control (Eiger)
@ -1367,7 +1367,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns 10GbE flow Control
*/
int setFlowControl10G(int enable = -1, int detPos = -1);
int setFlowControl10G(int enable = -1, int detPos = -1); //
/**
* Execute a digital test (Gotthard)
@ -1385,7 +1385,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
*/
void loadImageToDetector(imageType index, const std::string &fname,
int detPos = -1);
int detPos = -1); //
/**
* Writes the counter memory block from the detector (Gotthard)
@ -1401,7 +1401,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param startACQ is 1 to start acquisition after resetting counter
* @param detPos -1 for all detectors in list or specific detector position
*/
void resetCounterBlock(int startACQ = 0, int detPos = -1);
void resetCounterBlock(int startACQ = 0, int detPos = -1); //
/**
* Set/get counter bit in detector (Gotthard)
@ -1410,7 +1410,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns the counter bit in detector
*/
int setCounterBit(int i = -1, int detPos = -1);
int setCounterBit(int i = -1, int detPos = -1); //
/**
* Ensures that min is less than max in both dimensions (Gotthard)