From 321c540f7bc206bb595a09354226da6405f60b99 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Romain=20BRON=C3=88S?= <romain.brones@synchrotron-soleil.fr>
Date: Wed, 7 Aug 2024 15:14:11 +0200
Subject: [PATCH] Populate start and stop command

* Not working right now, I lack a configuration on centralnode numbpm
---
 DG_PY_FOFBTool/DG_PY_FOFBTool.py | 40 +++++++++++++++++++++++++++++---
 1 file changed, 37 insertions(+), 3 deletions(-)

diff --git a/DG_PY_FOFBTool/DG_PY_FOFBTool.py b/DG_PY_FOFBTool/DG_PY_FOFBTool.py
index 2a73822..cd8d2c8 100644
--- a/DG_PY_FOFBTool/DG_PY_FOFBTool.py
+++ b/DG_PY_FOFBTool/DG_PY_FOFBTool.py
@@ -174,6 +174,10 @@ class DG_PY_FOFBTool(Device):
             logger.addHandler(fh)
         logger.setLevel(logging.DEBUG)
 
+        if not hasattr(self, "_include_lbp"):
+            self._include_lbp= False
+
+
         #----- PROTECTED REGION END -----#	//	DG_PY_FOFBTool.init_device
 
     def always_executed_hook(self):
@@ -205,7 +209,7 @@ class DG_PY_FOFBTool(Device):
     def write_includeLBP(self, value):
         # PROTECTED REGION ID(DG_PY_FOFBTool.includeLBP_write) ENABLED START #
         """Set the includeLBP attribute."""
-        pass
+        self._include_lbp = value
         # PROTECTED REGION END #    //  DG_PY_FOFBTool.includeLBP_write
 
     def read_FofbToolVersion(self):
@@ -276,7 +280,20 @@ class DG_PY_FOFBTool(Device):
 
         :return:None
         """
-        pass
+
+        self.info_stream("Stopping all")
+
+        self.debug_stream("Stopping combpm and comlbp")
+        for cn in self.tangopath_cellnode:
+            FofbTool.Operation.stop_combpm(cn)
+            FofbTool.Operation.stop_comlbp(cn)
+
+        self.debug_stream("Stopping ccn")
+        for cn in self.tangopath_cellnode:
+            FofbTool.Operation.stop_ccn(cn)
+            FofbTool.Operation.reset_ccn(cn)
+
+
         # PROTECTED REGION END #    //  DG_PY_FOFBTool.stop
 
     @command(
@@ -288,7 +305,24 @@ class DG_PY_FOFBTool(Device):
 
         :return:None
         """
-        pass
+        self.info_stream("Starting all")
+
+        if self._include_lbp:
+            self.debug_stream("Starting comlbp")
+            for cn in self.tangopath_cellnode:
+                FofbTool.Operation.start_comlbp(cn)
+        else:
+            self.debug_stream("Skipping comlbp")
+
+        self.debug_stream("Starting combpm")
+        for cn in self.tangopath_cellnode:
+            FofbTool.Operation.start_combpm(cn)
+
+        self.debug_stream("Starting ccn")
+        for cn in self.tangopath_cellnode:
+            FofbTool.Operation.start_ccn(cn)
+        FofbTool.Operation.start_ccn(self.tangopath_centralnode)
+
         # PROTECTED REGION END #    //  DG_PY_FOFBTool.start
 
     @command(
-- 
GitLab