瀏覽代碼

Fix the increasing aligner angle out of range bug.

sangwq 1 年之前
父節點
當前提交
b71003a42d
共有 2 個文件被更改,包括 10 次插入3 次删除
  1. 2 2
      Venus/Venus_RT/Modules/EFEM/EfemEntity.cs
  2. 8 1
      Venus/Venus_RT/Modules/Schedulers/SchedulerEfemRobot.cs

+ 2 - 2
Venus/Venus_RT/Modules/EFEM/EfemEntity.cs

@@ -672,9 +672,9 @@ namespace Venus_RT.Modules
             }
         }
 
-        public int InvokeAlign(string module,  int reserv,  float time)
+        public int InvokeAlign(string module,  int reserv,  float angle)
         {
-            if (CheckToPostMessage((int)MSG.Align, module, reserv, time))
+            if (CheckToPostMessage((int)MSG.Align, module, reserv, angle))
                 return (int)MSG.Align;
 
             return (int)FSM_MSG.NONE;

+ 8 - 1
Venus/Venus_RT/Modules/Schedulers/SchedulerEfemRobot.cs

@@ -230,7 +230,14 @@ namespace Venus_RT.Scheduler
 
             LogTaskStart(_task, $"Aligning");
 
-            _alignAngle = _alignAngle + _increasingAngle;
+            _increasingAngle = SC.GetValue<int>($"EFEM.Aligner.IncreasingAngle");
+            if(_increasingAngle == 0)
+            {
+                // enable change align angle only with increasing function disable to avoid logic confuse
+                _alignAngle = SC.GetValue<int>($"EFEM.Aligner.AlignAngle");
+            }
+
+            _alignAngle = (_alignAngle + _increasingAngle) % 360;
             _entityTaskToken = _entity.InvokeAlign(ModuleName.Aligner1.ToString(),0, _alignAngle);
 
             return _entityTaskToken == (int)EfemEntity.MSG.Align;