예제 #1
0
        public SecsIHost(SecsIParameters parameters, SecsIMessageParser parser)
            : base(parser)
        {
            m_QueueSendingBlock = new Queue <byte[]>();

            m_RecvBuff = new byte[1024]; //actually use only 258 bytes

            m_Port = new SerialPort();
            m_Port.DataReceived += new SerialDataReceivedEventHandler(m_Port_DataReceived);

            m_ENQ = new byte[] { 5 };
            m_EOT = new byte[] { 4 };
            m_ACK = new byte[] { 6 };
            m_NAK = new byte[] { 7 };

            m_T1_Timer          = new System.Timers.Timer();
            m_T1_Timer.Elapsed += new System.Timers.ElapsedEventHandler(T1_Elapsed);
            m_T2_Timer          = new System.Timers.Timer();
            m_T2_Timer.Elapsed += new System.Timers.ElapsedEventHandler(T2_Elapsed);

            m_Parameters = parameters;

            m_State = CommuState.Idle;

            m_MultiBlockList = new List <byte[]>();

            m_T3Hash = new Hashtable();

            m_Locker = new object();
        }
예제 #2
0
 public SecsIHost(SecsIParameters parameters)
     : this(parameters, new SecsIMessageParser())
 {
 }