From 60350c668ab208821f7438639d2e2e9fa0467247 Mon Sep 17 00:00:00 2001
From: Danilo Ferreira de Lima <danilo.enoque.ferreira.de.lima@xfel.de>
Date: Mon, 4 Sep 2023 11:16:42 +0200
Subject: [PATCH] Set state after ending the stream.

---
 src/calng/PickyBoi.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/calng/PickyBoi.py b/src/calng/PickyBoi.py
index 4cbf2019..4d767bf4 100644
--- a/src/calng/PickyBoi.py
+++ b/src/calng/PickyBoi.py
@@ -307,9 +307,16 @@ class PickyBoi(PythonDevice):
                     self.updateState(State.MONITORING)
             else:
                 # past capture range
+
                 # if breakStreamAfterEnd is set, end the stream
-                if self.get("breakStreamAfterEnd"):
+                # and stop acquiring
+                if self.get("breakStreamAfterEnd") and state is State.ACQUIRING:
                     self.signalEndOfStream("output")
+                    self.log.INFO("End of stream reached, following setting breakStreamAfterEnd.")
+                    self.updateState(State.PASSIVE)
+                    self._remaining_trains.clear()
+
+                # if we missed something, alert
                 if self._remaining_trains:
                     # note: wouuld also get triggered by receiving the same train twice
                     self.log.ERROR(f"Missed some train(s): {self._remaining_trains}")
-- 
GitLab