Nextframenumber (#215)

This commit is contained in:
Dhanya Thattil
2020-11-16 17:26:12 +01:00
committed by GitHub
parent 4c4e2ccb6b
commit a6d696a0f8
39 changed files with 561 additions and 473 deletions

View File

@ -687,7 +687,7 @@ class CmdProxy {
{"busy", "clearbusy"},
{"receiver", "rx_status"},
{"framescaught", "rx_framescaught"},
{"startingfnum", "startframenumber"},
{"startingfnum", "nextframenumber"},
/* Network Configuration (Detector<->Receiver) */
{"detectorip", "udp_srcip"},
@ -847,7 +847,7 @@ class CmdProxy {
{"status", &CmdProxy::DetectorStatus},
{"rx_framescaught", &CmdProxy::rx_framescaught},
{"rx_missingpackets", &CmdProxy::rx_missingpackets},
{"startframenumber", &CmdProxy::startframenumber},
{"nextframenumber", &CmdProxy::nextframenumber},
{"trigger", &CmdProxy::trigger},
{"scan", &CmdProxy::Scan},
{"scanerrmsg", &CmdProxy::scanerrmsg},
@ -1460,12 +1460,11 @@ class CmdProxy {
GET_COMMAND(rx_missingpackets, getNumMissingPackets,
"\n\tNumber of missing packets for each port in receiver.");
INTEGER_COMMAND_VEC_ID(
startframenumber, getStartingFrameNumber, setStartingFrameNumber,
StringTo<uint64_t>,
"[n_value]\n\t[Eiger][Jungfrau] Starting frame number for "
"next acquisition. Stopping acquisition might result in "
"different frame numbers for different modules.");
INTEGER_COMMAND_VEC_ID(nextframenumber, getNextFrameNumber,
setNextFrameNumber, StringTo<uint64_t>,
"[n_value]\n\t[Eiger][Jungfrau] Next frame number. "
"Stopping acquisition might result in "
"different frame numbers for different modules.");
EXECUTE_SET_COMMAND(
trigger, sendSoftwareTrigger,

View File

@ -206,6 +206,10 @@ void Detector::setGapPixelsinCallback(bool enable) {
pimpl->setGapPixelsinCallback(enable);
}
Result<bool> Detector::isVirtualDetectorServer(Positions pos) const {
return pimpl->Parallel(&Module::isVirtualDetectorServer, pos);
}
// Callback
void Detector::registerAcquisitionFinishedCallback(void (*func)(double, int,
@ -621,12 +625,12 @@ Detector::getNumMissingPackets(Positions pos) const {
return pimpl->Parallel(&Module::getNumMissingPackets, pos);
}
Result<uint64_t> Detector::getStartingFrameNumber(Positions pos) const {
return pimpl->Parallel(&Module::getStartingFrameNumber, pos);
Result<uint64_t> Detector::getNextFrameNumber(Positions pos) const {
return pimpl->Parallel(&Module::getNextFrameNumber, pos);
}
void Detector::setStartingFrameNumber(uint64_t value, Positions pos) {
pimpl->Parallel(&Module::setStartingFrameNumber, pos, value);
void Detector::setNextFrameNumber(uint64_t value, Positions pos) {
pimpl->Parallel(&Module::setNextFrameNumber, pos, value);
}
void Detector::sendSoftwareTrigger(Positions pos) {

View File

@ -178,6 +178,10 @@ void Module::setAllTrimbits(int val) {
sendToDetector<int>(F_SET_ALL_TRIMBITS, val);
}
bool Module::isVirtualDetectorServer() const {
return sendToDetector<int>(F_IS_VIRTUAL);
}
int64_t Module::getNumberOfFrames() const {
return sendToDetector<int64_t>(F_GET_NUM_FRAMES);
}
@ -484,12 +488,12 @@ std::vector<uint64_t> Module::getNumMissingPackets() const {
throw RuntimeError("No receiver to get missing packets.");
}
uint64_t Module::getStartingFrameNumber() const {
return sendToDetector<uint64_t>(F_GET_STARTING_FRAME_NUMBER);
uint64_t Module::getNextFrameNumber() const {
return sendToDetector<uint64_t>(F_GET_NEXT_FRAME_NUMBER);
}
void Module::setStartingFrameNumber(uint64_t value) {
sendToDetector(F_SET_STARTING_FRAME_NUMBER, value, nullptr);
void Module::setNextFrameNumber(uint64_t value) {
sendToDetector(F_SET_NEXT_FRAME_NUMBER, value, nullptr);
}
void Module::sendSoftwareTrigger() { sendToDetectorStop(F_SOFTWARE_TRIGGER); }

View File

@ -103,6 +103,7 @@ class Module : public virtual slsDetectorDefs {
void loadSettingsFile(const std::string &fname);
int getAllTrimbits() const;
void setAllTrimbits(int val);
bool isVirtualDetectorServer() const;
/**************************************************
* *
@ -171,8 +172,8 @@ class Module : public virtual slsDetectorDefs {
double getReceiverProgress() const;
int64_t getFramesCaughtByReceiver() const;
std::vector<uint64_t> getNumMissingPackets() const;
uint64_t getStartingFrameNumber() const;
void setStartingFrameNumber(uint64_t value);
uint64_t getNextFrameNumber() const;
void setNextFrameNumber(uint64_t value);
void sendSoftwareTrigger();
defs::scanParameters getScan() const;
void setScan(const defs::scanParameters t);