From 6ef694a0099ec786c5364557367350aead84faba Mon Sep 17 00:00:00 2001
From: Arash Aletayeb <Arash.Aletayeb@gmail.com>
Date: Sun, 7 Jul 2024 17:23:07 +0330
Subject: [PATCH] Scen player start / stop modified.

---
 developHw.pro.user                            |  4 +-
 .../hardware/core/lowLevelApi/TrxBoard.h      |  4 +-
 .../beamFormer/registerDefinition/PulseLut.h  |  8 ++--
 .../hardware/core/lowLevelApi/TrxBoard.cpp    | 40 ++++++++-----------
 4 files changed, 25 insertions(+), 31 deletions(-)

diff --git a/developHw.pro.user b/developHw.pro.user
index 30a2808..21fc6ba 100644
--- a/developHw.pro.user
+++ b/developHw.pro.user
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.10.0, 2024-06-11T11:14:00. -->
+<!-- Written by QtCreator 4.10.0, 2024-07-07T17:02:42. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
@@ -337,7 +337,7 @@
     <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
     <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
     <value type="QString" key="RunConfiguration.WorkingDirectory"></value>
-    <value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/arash/Desktop/hardware/Develop_HardwareTest/build-developHw-Desktop_Qt_5_13_1_GCC_64bit-Debug</value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
    </valuemap>
    <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
   </valuemap>
diff --git a/include/model/hardware/core/lowLevelApi/TrxBoard.h b/include/model/hardware/core/lowLevelApi/TrxBoard.h
index 763de1d..f6a6169 100644
--- a/include/model/hardware/core/lowLevelApi/TrxBoard.h
+++ b/include/model/hardware/core/lowLevelApi/TrxBoard.h
@@ -234,8 +234,8 @@ public:
 
     void afesHvDacsOn(void) const;
     void afesHvDacsOff(void) const;
-    void scenPlayerStart(bool afeHvPwrOn = false);
-    void scenPlayerStop(bool afeHvPwrOff = false);
+    void scenPlayerStart(bool unfreezeWithoutScenChanging = false);
+    void scenPlayerStop(bool freezeWithoutScenChanging = false);
 	//void scenPlayerPause (bool pause) const;
     bool isScenarioStart() const;
 
diff --git a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h
index 8e90452..d023690 100644
--- a/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h
+++ b/include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h
@@ -8,10 +8,10 @@
 #undef  BAR
 
 #define HALF_PERIOD_PRP_MASK          0x0000007F
-#define HALF_CYCLE_NO_PRP_MASK        0x00000F80
-#define START_PHASE_PRP_MASK          0x00001000
-#define PULSE_VOLT_SEL_PRP_MASK       0x00002000
-#define DAMPING_PULSE_WIDTH_PRP_MASK  0x00FFC000
+#define HALF_CYCLE_NO_PRP_MASK        0x00007F80
+#define START_PHASE_PRP_MASK          0x00008000
+#define PULSE_VOLT_SEL_PRP_MASK       0x00010000
+#define DAMPING_PULSE_WIDTH_PRP_MASK  0x07FE0000
 
 #define BAR      0U
 #define OFFSET   0x480000
diff --git a/src/model/hardware/core/lowLevelApi/TrxBoard.cpp b/src/model/hardware/core/lowLevelApi/TrxBoard.cpp
index 60f0175..efc8f7d 100644
--- a/src/model/hardware/core/lowLevelApi/TrxBoard.cpp
+++ b/src/model/hardware/core/lowLevelApi/TrxBoard.cpp
@@ -1688,8 +1688,13 @@ void TrxBoard::scenStopAfterReadLimited()
 #endif
 
 /* set afeHvPwrOn true when unfreeze happen */
-void TrxBoard::scenPlayerStart(bool afeHvPwrOn)
+void TrxBoard::scenPlayerStart(bool unfreezeWithoutScenChanging)
 {
+    if(isScenarioStart())
+    {
+        return;
+    }
+
     if(_allow)
     {
         _run = false;
@@ -1708,18 +1713,10 @@ void TrxBoard::scenPlayerStart(bool afeHvPwrOn)
 
         this->_device.startDma();
 
-        if(afeHvPwrOn)
+        if(unfreezeWithoutScenChanging)
         {
-            setAfesPwr(afePwrdnDisable);
-//            setAfesFastPwr(afePwrdnDisable);
-
-#ifdef MPS_BOARD
-            this->_bCtrlMngt->mpsDacsOn();
-#endif
-
-#ifdef DEVELOP_UI
+            afesHvDacsOn();
             this->delay(170);
-#endif
         }
 
         this->_scenPlayer->control.setCommand(true);
@@ -1744,8 +1741,13 @@ void TrxBoard::scenPlayerStart(bool afeHvPwrOn)
 }
 
 /* set afeHvPwrOff true when freeze happen */
-void TrxBoard::scenPlayerStop(bool afeHvPwrOff)
+void TrxBoard::scenPlayerStop(bool freezeWithoutScenChanging)
 {
+    if(!isScenarioStart())
+    {
+        return;
+    }
+
     _run = false;
 
     this->_device.stopDma();
@@ -1761,18 +1763,10 @@ void TrxBoard::scenPlayerStop(bool afeHvPwrOff)
 
     this->_scenPlayer->control.setCommand(false);
 
-    if(afeHvPwrOff)
+    if(freezeWithoutScenChanging)
     {
-        setAfesPwr(afePwrdnEnable);
-//        setAfesFastPwr(afePwrdnEnable);
-
-#ifdef MPS_BOARD
-        this->_bCtrlMngt->mpsDacsOff();
-#endif
-
-#ifdef DEVELOP_UI
-            this->delay(140);
-#endif
+        afesHvDacsOff();
+        this->delay(140);
     }
 }