Пример #1
0
        public void AddCom(ICom com)
        {
            if (com == null)
            {
                return;
            }

            if (GetCom(com.GetType()) != null)
            {
                Log.w("Already Add Component:" + name);
                return;
            }

            //ComWrap wrap = new ComWrap(com);

            mComponentList.Add(com);

            mComsNameList.Add(com.GetType().Name);

            mComponentList.Sort(ComWrapComparison);

            OnAddCom(com);

            if (mHasAwake)
            {
                AwakeCom(com);
            }

            if (mHasStart)
            {
                StartCom(com);
            }
        }
Пример #2
0
        public void RemoveCom <T>() where T : ICom
        {
            for (int i = m_ComponentList.Count - 1; i >= 0; --i)
            {
                if (m_ComponentList[i] is T)
                {
                    ICom com = m_ComponentList[i];

                    m_ComponentList.RemoveAt(i);
                    m_ComsNameList.RemoveAt(i);

                    if (com is MonoBehaviour)
                    {
                    }
                    else
                    {
                        m_UpdateComList.Remove(com);
                    }

                    OnRemoveCom(com);

                    DestroyCom(com);
                    return;
                }
            }
        }
Пример #3
0
 //单元测试用构造函数
 internal GsmModem(ICom com)
 {
     _com               = com;
     _com.ReadTimeout   = 10000;       //读超时时间 发送短信时间的需要
     _com.RtsEnable     = true;        //必须为true 这样串口才能接收到数据
     _com.DataReceived += new EventHandler(sp_DataReceived);
 }
Пример #4
0
        //单元测试用构造函数
        internal GsmModem(ICom com)
        {
            _com = com;
            _com.ReadTimeout = 15000;         //读超时时间 发送短信时间的需要
            _com.RtsEnable = true;            //必须为true 这样串口才能接收到数据

            _com.DataReceived += new EventHandler(sp_DataReceived);
        }
Пример #5
0
 public GsmModem(string comPort, int baudRate)
 {
     this._GsmCom               = new GsmCom();
     this._GsmCom.PortName      = comPort;
     this._GsmCom.BaudRate      = baudRate;
     this._GsmCom.ReadTimeout   = 100000;
     this._GsmCom.WriteTimeout  = 100000;
     this._GsmCom.RtsEnable     = true;
     this._GsmCom.DataReceived += new EventHandler(this.sp_DataReceived);
 }
Пример #6
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="comPort">串口号</param>
        /// <param name="baudRate">波特率</param>
        public GsmModem(string comPort, int baudRate)
        {
            _com = new MyCom();

            _com.PortName = comPort;          //
            _com.BaudRate = baudRate;
            _com.ReadTimeout = 15000;         //读超时时间 发送短信时间的需要
            _com.RtsEnable = true;            //必须为true 这样串口才能接收到数据

            _com.DataReceived += new EventHandler(sp_DataReceived);
        }
Пример #7
0
        public void RemoveCom(ICom com)
        {
            for (int i = mComponentList.Count - 1; i >= 0; --i)
            {
                if (mComponentList[i] == com)
                {
                    mComponentList.RemoveAt(i);
                    mComsNameList.RemoveAt(i);
                    OnRemoveCom(com);

                    DestroyCom(com);
                    return;
                }
            }
        }
Пример #8
0
        protected override void OnAddCom(ICom com)
        {
            if (com is IModule)
            {
                IModule module = com as IModule;
                string  name   = module.GetType().Name;
                if (mModuleMgrMap.ContainsKey(name))
                {
                    Log.e("ModuleMgr Already Add Module:" + name);
                    return;
                }
                mModuleMgrMap.Add(name, module);

                OnModuleRegister(module);
            }
        }
Пример #9
0
        private WorkThread()
        {
#if PEAKCAN
            _CanObj = Peakcan.CreateInstance();
#else
            _CanObj = ZLGCan.CreateInstance();
#endif

            _ModuleList = new SortedList <uint, TBaseModule>();

            //写线程
            Task.Factory.StartNew(WriteCanBusThread, cancelTokenSource.Token);

            //读线程
            Task.Factory.StartNew(ReadCanBusThread, cancelTokenSource2.Token);
        }
Пример #10
0
        public void RemoveCom <T>() where T : ICom
        {
            for (int i = mComponentList.Count - 1; i >= 0; --i)
            {
                if (mComponentList[i] is T)
                {
                    ICom com = mComponentList[i];

                    mComponentList.RemoveAt(i);
                    mComsNameList.RemoveAt(i);
                    OnRemoveCom(com);

                    DestroyCom(com);
                    return;
                }
            }
        }
Пример #11
0
        private void _createCom()
        {
            switch (this.ComType)
            {
            case ComType.SerialPort:
            {
                Com = new SerialPort(this);
                break;
            }

            case ComType.IPPort:
            {
                Com = new IPPort(this);
                break;
            }
            }
        }
Пример #12
0
        public void AddCom(ICom com)
        {
            if (com == null)
            {
                return;
            }

            if (GetCom(com.GetType()) != null)
            {
                Log.w("Already Add Component:" + name);
                return;
            }

            //ComWrap wrap = new ComWrap(com);

            m_ComponentList.Add(com);

            m_ComsNameList.Add(com.GetType().Name);

            if (com is MonoBehaviour)
            {
            }
            else
            {
                m_UpdateComList.Add(com);
                m_UpdateComList.Sort(ComWrapComparison);
            }

            OnAddCom(com);

            if (m_HasAwake)
            {
                AwakeCom(com);
            }

            if (m_HasStart)
            {
                StartCom(com);
            }
        }
Пример #13
0
 protected virtual void OnRemoveCom(ICom com)
 {
 }
Пример #14
0
 protected virtual void OnAddCom(ICom com)
 {
 }
Пример #15
0
 private int ComWrapComparison(ICom a, ICom b)
 {
     return(a.ComOrder - b.ComOrder);
 }
Пример #16
0
 protected void DestroyCom(ICom wrap)
 {
     wrap.DestroyCom();
 }
Пример #17
0
 protected void StartCom(ICom wrap)
 {
     wrap.OnComStart();
 }
Пример #18
0
 protected void AwakeCom(ICom wrap)
 {
     wrap.AwakeCom(this);
 }
Пример #19
0
 public Plc(ICom com)
 {
     _guid = Guid.NewGuid();
     _com = com;
 }
Пример #20
0
 public byte[] ReadReturnRead(ICom com, int byteSize)
 {
     return(com.Read(byteSize + 5));
 }
Пример #21
0
 public byte[] ReadReturnWrite(ICom com)
 {
     return(com.Read(8));
 }