JFJochStateMachine: Notify everyone on CalibrateDetector finished + small modifications to handling state
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 10m34s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 10m59s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 11m4s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 11m36s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 11m38s
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 10m58s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 11m24s
Build Packages / build:rpm (rocky8) (push) Failing after 12m20s
Build Packages / build:rpm (rocky9) (push) Failing after 12m21s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 12m9s
Build Packages / Generate python client (push) Successful in 57s
Build Packages / Build documentation (push) Successful in 1m28s
Build Packages / Create release (push) Has been skipped
Build Packages / XDS test (durin plugin) (push) Successful in 8m42s
Build Packages / Unit tests (push) Failing after 6m16s
Build Packages / XDS test (neggia plugin) (push) Successful in 9m31s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 9m57s
Build Packages / DIALS test (push) Successful in 13m37s
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Failing after 7m48s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Failing after 8m49s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Failing after 8m19s
Build Packages / build:rpm (ubuntu2404) (pull_request) Has been cancelled
Build Packages / DIALS test (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Has been cancelled
Build Packages / XDS test (durin plugin) (pull_request) Has been cancelled
Build Packages / XDS test (JFJoch plugin) (pull_request) Has been cancelled
Build Packages / XDS test (neggia plugin) (pull_request) Has been cancelled
Build Packages / Generate python client (pull_request) Has been cancelled
Build Packages / Build documentation (pull_request) Has been cancelled
Build Packages / Unit tests (pull_request) Has been cancelled
Build Packages / Create release (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9_sls9) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky8) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (pull_request) Has been cancelled
Build Packages / build:rpm (rocky9) (pull_request) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (pull_request) Has been cancelled

This commit is contained in:
2026-04-28 16:03:17 +02:00
parent a7e98e91ab
commit 162eab63b7
2 changed files with 6 additions and 9 deletions
+5 -8
View File
@@ -82,7 +82,7 @@ void JFJochStateMachine::CalibrateJUNGFRAU(std::unique_lock<std::mutex> &ul) {
pixel_mask.LoadDetectorBadPixelMask(experiment, calibration.get());
}
void JFJochStateMachine::CalibrateDetector(std::unique_lock<std::mutex> &ul) {
void JFJochStateMachine::CalibrateDetector(std::unique_lock<std::mutex> ul) {
cancel_sequence = false;
pixel_mask = PixelMask(experiment);
@@ -307,15 +307,12 @@ void JFJochStateMachine::Initialize() {
void JFJochStateMachine::Pedestal() {
std::unique_lock ul(m);
SetState(JFJochState::Busy, "Updating calibration", BrokerStatus::MessageSeverity::Info);
if (state != JFJochState::Idle)
throw WrongDAQStateException("Must be idle to take pedestal");
measurement = std::async(std::launch::async, &JFJochStateMachine::PedestalThread, this, std::move(ul));
}
void JFJochStateMachine::PedestalThread(std::unique_lock<std::mutex> ul) {
CalibrateDetector(ul);
measurement = std::async(std::launch::async, &JFJochStateMachine::CalibrateDetector, this, std::move(ul));
}
void JFJochStateMachine::InitializeThread(std::unique_lock<std::mutex> ul) {
@@ -338,7 +335,7 @@ void JFJochStateMachine::InitializeThread(std::unique_lock<std::mutex> ul) {
SetState(JFJochState::Error, e.what(), BrokerStatus::MessageSeverity::Error);
throw;
}
CalibrateDetector(ul);
CalibrateDetector(std::move(ul));
}
void JFJochStateMachine::Trigger() {
+1 -1
View File
@@ -134,7 +134,7 @@ class JFJochStateMachine {
bool IsRunning() const; // Is state Busy/Pedestal/Measure
void ResetError() noexcept;
void TakeDarkMaskInternal(std::unique_lock<std::mutex> &ul);
void CalibrateDetector(std::unique_lock<std::mutex> &ul);
void CalibrateDetector(std::unique_lock<std::mutex> ul);
void CalibrateJUNGFRAU(std::unique_lock<std::mutex> &ul);
void TakePedestalInternalG0(std::unique_lock<std::mutex> &ul);
void TakePedestalInternalG1(std::unique_lock<std::mutex> &ul, int32_t storage_cell = 0);