using PropertyGridLib.Attributes; using PropertyGridLib.Controls; using System.ComponentModel; using TeamAAS.Communication.LightSources; using TeamAAS.FlowEngine.FormulaData; using Plugins.Standard.Core; namespace Plugins.Standard.Models { [System.Serializable] public class LightControlModel : TeamAAS.FlowEditor.Plugins.BasePluginModel { [DisplayName("光源型号")] [Description("选择光源控制器型号,决定通讯协议 (KCS/TSD)")] [Category("I.光源配置")] [TypeConverter(typeof(LightModelConverter))] public LightModel LightModel { get; set; } = LightModel.KCS_KDC_12V60W_4T; [DisplayName("串口设备")] [Description("选择光源控制器连接的串口设备 (需在通讯管理中预先配置并连接, 结束符设为 None)")] [Category("I.光源配置")] [TypeConverter(typeof(SerialDeviceConverter))] public string SerialDeviceName { get; set; } = ""; [DisplayName("控制模式")] [Description("设置单通道亮度 / 全开 / 全关")] [Category("II.控制参数")] public LightControlMode Mode { get; set; } = LightControlMode.SetBrightness; [DisplayName("CH口")] [Description("通道号,1-8 (根据光源型号决定有效范围)")] [Category("II.控制参数")] [FormulaEditor(typeof(PluginDataProvider))] public FormulaBound Channel { get; set; } = new FormulaBound(1); [DisplayName("亮度")] [Description("亮度值,0-999")] [Category("II.控制参数")] [FormulaEditor(typeof(PluginDataProvider))] public FormulaBound Brightness { get; set; } = new FormulaBound(120); [DisplayName("超时(ms)")] [Description("等待设备响应的超时时间")] [Category("III.高级")] public int TimeoutMs { get; set; } = 1000; } }