This commit is contained in:
2020-07-02 13:42:32 +02:00
parent a656668d73
commit 93c5505285
19 changed files with 522 additions and 629 deletions

View File

@ -455,17 +455,22 @@ typedef struct {
/** scan structure */
struct scanParameters {
dacIndex dacInd{DAC_0};
int startOffset{0};
int stopOffset{0};
int stepSize{0};
int64_t dacSettleTime_ns{100 * 1000};
int enable;
dacIndex dacInd;
int startOffset;
int stopOffset;
int stepSize;
int64_t dacSettleTime_ns;
scanParameters() = default;
/** disable scan */
scanParameters()
: enable(0), dacInd(DAC_0), startOffset(0), stopOffset(0),
stepSize(0), dacSettleTime_ns{10000} {}
/** enable scan */
scanParameters(
dacIndex dac, int start, int stop, int step,
std::chrono::nanoseconds t = std::chrono::nanoseconds{10000})
: dacInd(dac), startOffset(start), stopOffset(stop),
: enable(1), dacInd(dac), startOffset(start), stopOffset(stop),
stepSize(step) {
dacSettleTime_ns = t.count();
}

View File

@ -201,8 +201,7 @@ enum detFuncs {
F_SET_VETO,
F_SET_PATTERN,
F_GET_SCAN,
F_DISABLE_SCAN,
F_ENABLE_SCAN,
F_SET_SCAN,
NUM_DET_FUNCTIONS,
RECEIVER_ENUM_START = 256, /**< detector function should not exceed this
@ -502,8 +501,7 @@ const char* getFunctionNameFromEnum(enum detFuncs func) {
case F_SET_VETO: return "F_SET_VETO";
case F_SET_PATTERN: return "F_SET_PATTERN";
case F_GET_SCAN: return "F_GET_SCAN";
case F_DISABLE_SCAN: return "F_DISABLE_SCAN";
case F_ENABLE_SCAN: return "F_ENABLE_SCAN";
case F_SET_SCAN: return "F_SET_SCAN";
case NUM_DET_FUNCTIONS: return "NUM_DET_FUNCTIONS";
case RECEIVER_ENUM_START: return "RECEIVER_ENUM_START";

View File

@ -104,13 +104,20 @@ std::ostream &operator<<(std::ostream &os,
std::string ToString(const slsDetectorDefs::scanParameters &r) {
std::ostringstream oss;
oss << '[' << "dac " << r.dacInd << std::endl
<< "start " << r.startOffset << std::endl
<< "stop " << r.stopOffset << std::endl
<< "step " << r.stepSize << std::endl
<< "settleTime "
<< ToString(std::chrono::nanoseconds{r.dacSettleTime_ns}) << std::endl
<< ']';
oss << '[';
if (r.enable) {
oss << "enabled " << std::endl
<< "dac " << r.dacInd << std::endl
<< "start " << r.startOffset << std::endl
<< "stop " << r.stopOffset << std::endl
<< "step " << r.stepSize << std::endl
<< "settleTime "
<< ToString(std::chrono::nanoseconds{r.dacSettleTime_ns})
<< std::endl;
} else {
oss << "disabled";
}
oss << ']';
return oss.str();
}