ScpiFuncs_Trigger.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using UESTC.Auto.SCPIManager;
  7. using Uestc.Auto6.Dso.Core;
  8. using System.Reflection;
  9. using System.ComponentModel;
  10. using Uestc.Auto6.Dso.ComModel;
  11. namespace Uestc.Auto6.Dso.Scpi
  12. {
  13. partial class StubFunc
  14. {
  15. //================= 触发 =================================================================================================
  16. /// <summary>
  17. /// 设置或查询触发类型。
  18. /// </summary>
  19. /// <param name="analyResult"></param>
  20. /// <returns></returns>
  21. public static bool scpiSet_TriggerType(SCPICommandProcessFuncParam analyResult)
  22. {
  23. if (analyResult.Tag is not ScpiTagObj tagObj
  24. ||!scpiSet_ParamCheck(analyResult, out string param))
  25. {
  26. return false;
  27. }
  28. //命令等于全写或缩写
  29. param = shortCMD(param);
  30. var setItem = tagObj.ParamList.FirstOrDefault(cmd => shortCMD(cmd) == param);
  31. if (setItem == null)
  32. {
  33. return false;
  34. }
  35. #region 设置值 枚举处理
  36. var setValue = (TriggerType)tagObj.ParamList.IndexOf(setItem);
  37. var viewLists = Presenter.CurrentTrigger.GetViewList().ToList();
  38. TriggerPrsnt.GetOrMakeTrigger(setValue, (ITriggerView)viewLists);
  39. return true;
  40. #endregion 设置值 枚举处理
  41. }
  42. }
  43. }
  44. //================= 共1个方法 =