From b5856348409f54ef70b6a7af27c7f0cb15456cce Mon Sep 17 00:00:00 2001 From: Danilo Ferreira de Lima <danilo.enoque.ferreira.de.lima@xfel.de> Date: Mon, 4 Sep 2023 10:56:14 +0200 Subject: [PATCH] Signal end of stream. --- src/calng/PickyBoi.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/calng/PickyBoi.py b/src/calng/PickyBoi.py index e66ceb46..4cbf2019 100644 --- a/src/calng/PickyBoi.py +++ b/src/calng/PickyBoi.py @@ -63,6 +63,14 @@ class PickyBoi(PythonDevice): .key("input") .commit(), + + BOOL_ELEMENT(expected) + .key("breakStreamAfterEnd") + .description("If active, end the output stream after the range of selected train IDs has been forwarded.") + .assignmentOptional() + .defaultValue(False) + .commit(), + UINT64_ELEMENT(expected) .key("nextTrainToCatch") .assignmentOptional() @@ -299,6 +307,9 @@ class PickyBoi(PythonDevice): self.updateState(State.MONITORING) else: # past capture range + # if breakStreamAfterEnd is set, end the stream + if self.get("breakStreamAfterEnd"): + self.signalEndOfStream("output") 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