1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using UESTC.Auto.SCPIManager;
- using Uestc.Auto6.Dso.Core;
- namespace Uestc.Auto6.Dso.Scpi
- {
- public class ScpiManager
- {
- private static StubFunc stubFunc;
- /// <summary>
- /// 其中服务。在主进程开始后其中。
- /// </summary>
- /// <returns>是否成功。当CmdTable.AllElements 中存在重复键值等问题时可能不正确。</returns>
- public static bool Start(DsoPrsnt _dsoPrsnt)
- {
- stubFunc = new StubFunc();
- StubFunc.Presenter = _dsoPrsnt;
- CmdTable.Presenter = _dsoPrsnt;
- CmdTable.ChnlPrsnt = (AnalogPrsnt)_dsoPrsnt.GetAllChnls().ToList().FirstOrDefault<IChnlPrsnt>(ch => ch.Id == ComModel.ChannelId.C1);
- CmdTable.InitDictionary();
- return SCPIManager.Default.Start(CommunicationType.LXI, CmdTable.AllElements);
- }
- /// <summary>
- /// 重置复位。目前没有太大用处。
- /// </summary>
- public static void Reset()
- {
- SCPIManager.Default.Reset();
- }
- /// <summary>
- /// 关闭SCPI服务。在启动该服务的进程退出时,必须调用。
- /// </summary>
- public static void Close()
- {
- SCPIManager.Default.Stop();
- }
- }
- }
|