using Aitex.Core.RT.DataCenter;
using Aitex.Core.RT.Device;
using Aitex.Core.RT.Log;
using MECF.Framework.Common.Device.ResistivityProbe;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PunkHPX8_RT.Devices.Resistivity
{
    public class ResistivityController : BaseDevice, IDevice
    {
        #region 常量 
        #endregion
        #region 内部变量
        #endregion
        #region 属性
        /// 
        /// 水阻计数值
        /// 
        public string ResisitivityValue { get { return ReadResisitivityValue(); } }
        #endregion
        /// 
        /// 构造函数
        /// 
        /// 
        public ResistivityController(string moduleName) : base(moduleName, moduleName, moduleName, moduleName)
        {
            InitialData();
        }
        /// 
        /// 初始化
        /// 
        /// 
        public bool Initialize()
        {
            ThorntonConfigManager.Instance.InitialDevice(Module.ToString());
            return true;
        }
        /// 
        /// 获取数值
        /// 
        /// 
        private string ReadResisitivityValue()
        {
            return ThorntonConfigManager.Instance.GetResisitivityValueByName(Module.ToString());
        }
        /// 
        /// 初始化数据
        /// 
        private void InitialData()
        {
            DATA.Subscribe($"{Module}.Resistivity", () => ResisitivityValue, Aitex.Core.Util.SubscriptionAttribute.FLAG.IgnoreSaveDB);
        }
        public void Monitor()
        {
        }
        public void Reset()
        {
        }
        public void Terminate()
        {
        }
    }
}