public CSerialPort(SerialPort sp, HighLevelDataHandler handler) { string[] ports = null; m_SPCurrent = sp; m_SPReceiveHandler = new SerialDataReceivedEventHandler(DataReceiverHandler); m_SPReceiveQueue = new Queue <string>(); // common setting for serial port m_SPCurrent.NewLine = "\n"; m_SPCurrent.DataReceived += m_SPReceiveHandler; m_SPCurrent.Encoding = Encoding.Default; ports = SerialPort.GetPortNames(); if (ports.Length > 0) { m_SPCurrent.PortName = ports[0]; } RegisterHighLevelDataHandler(handler); m_SPCurrent.ReadTimeout = 100; m_SPCurrent.WriteTimeout = 100; ReadDataScheduler = new System.Timers.Timer(IntervalBetweenReceiveAndProcessDataMs); ReadDataScheduler.Elapsed += new System.Timers.ElapsedEventHandler(ReadDataSchedulerHandler); }
public bool RegisterHighLevelDataHandler(HighLevelDataHandler handler) { if (handler != null) { m_HighLevelDataHandler = handler; return(true); } return(false); }