Пример #1
0
        /// <summary>
        /// Open an Animated Head serial port.
        /// </summary>
        /// <param name="comPort"></param>
        /// <param name="baudRate"></param>
        /// <returns>true for success</returns>
        public bool Open(int comPort, int baudRate)
        {
            if (_serialPort != null)
            {
                Close();
            }

            if (!ValidBaudRate(baudRate))
            {
                throw new System.ArgumentException(Resources.InvalidBaudRate, "baudRate");
            }

            _serialPort             = new SerialPort("COM" + comPort.ToString(CultureInfo.InvariantCulture), baudRate, Parity.None, 8, StopBits.One);
            _serialPort.Handshake   = Handshake.None;
            _serialPort.Encoding    = Encoding.ASCII;   // that's only for text read, not binary
            _serialPort.NewLine     = "\r\n";           // that's only for text read, not binary
            _serialPort.ReadTimeout = 1100;

            if (_ahDataPort == null)
            {
                _ahDataPort = new AnimatedHeadDataPort();
            }

            bool serialPortOpened = false;

            try
            {
                if (comPort > 0)
                {
                    if (TrySerialPort(_serialPort.PortName, baudRate))
                    {
                        _serialPort.Open();
                        serialPortOpened          = true;
                        _serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
                    }
                }
            }
            catch
            {
                if (serialPortOpened)
                {
                    serialPortOpened          = false;
                    _serialPort.DataReceived -= new SerialDataReceivedEventHandler(serialPort_DataReceived);
                }
            }

            return(serialPortOpened);
        }
Пример #2
0
 /// <summary>
 /// Default AnimatedHeadConnection constructor
 /// </summary>
 /// <param name="config"></param>
 /// <param name="ahDataPort"></param>
 public AnimatedHeadConnection(AnimatedHeadConfig config, AnimatedHeadDataPort ahDataPort)
 {
     this._config     = config;
     this._ahDataPort = ahDataPort;
 }