コード例 #1
0
        internal IOManager(string portname,
                           MessageReceivedDelegate messageDelegate = null,
                           ErrorReceivedDelegate errorDelegate     = null,
                           EventReceivedDelegate eventDelegate     = null)
        {
            this.messageDelegate = messageDelegate;
            this.errorDelegate   = errorDelegate;
            this.eventDelegate   = eventDelegate;
            Port = portname;

            _serialPort = new SerialPort
            {
                PortName     = portname,
                BaudRate     = baudrate,
                Parity       = parity,
                ReadTimeout  = IO_TIMEOUT,
                WriteTimeout = IO_TIMEOUT
            };

            try
            {
                _serialPort.Open();
                _serialPort.DataReceived += DataReceivedHandler;
            }
            catch (Exception e)
            {
                _serialPort.Close();
                LogManager.WriteException($"{_serialPort.PortName} Open exception:", e);
                throw;
            }
        }
コード例 #2
0
 internal CommandsManager(
     MessageReceivedDelegate messageDelegate = null,
     ErrorReceivedDelegate errorDelegate     = null,
     EventReceivedDelegate eventDelegate     = null)
 {
     this.messageDelegate = messageDelegate;
     this.errorDelegate   = errorDelegate;
     this.eventDelegate   = eventDelegate;
 }
コード例 #3
0
 void m_Port_ErrorReceived(object sender, SerialErrorReceivedEventArgs e)
 {
     if (InvokeRequired)
     {
         ErrorReceivedDelegate d = new ErrorReceivedDelegate(ErrorReceived);
         Invoke(d, new object[] { e });
     }
     else
     {
         ErrorReceived(e);
     }
 }