Beispiel #1
0
        }     // CloseConnection()

        #endregion // PUBLIC METHODS

        //// ---------------------------------------------------------------------

        #region PRIVATE METHODS

        #endregion // PRIVATE METHODS

        //// ---------------------------------------------------------------------

        #region (SERIAL) PORT EVENTS
        /// <summary>
        /// Event handler for low level communication events.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="LowLevelComEventArgs"/> instance
        /// containing the event data.</param>
        private void OnLowLevelComEvent(object sender, LowLevelComEventArgs e)
        {
            switch (e.EventType)
            {
            case LowLevelComEventType.DataReceived:
                // not handled here
                break;

            case LowLevelComEventType.ErrorReceived:
                var errorReceivedEventArgs = e.EventData as SerialErrorReceivedEventArgs;
                if (errorReceivedEventArgs != null)
                {
                    OnPortErrorReceived(this,
                                        (errorReceivedEventArgs).EventType);
                }     // if
                break;

            case LowLevelComEventType.SerialPinChange:
                var serialPinChangedEventArgs = e.EventData as SerialPinChangedEventArgs;
                if (serialPinChangedEventArgs != null)
                {
                    this.OnPortPinChanged(this,
                                          (serialPinChangedEventArgs).EventType);
                }     // if
                break;

            default:
                Log.Warn("Unhandled low level communication event!");
                break;
            } // switch
        }     // lowcom_LowLevelComEvent()
        }     // ProcessCommand()

        /// <summary>
        /// Generates a low level communication event.
        /// </summary>
        public void GenerateLowComEvent()
        {
            if (this.LowLevelComEvent != null)
            {
                var args = new LowLevelComEventArgs(
                    LowLevelComEventType.DataReceived, EventArgs.Empty);
                this.LowLevelComEvent(this, args);
            } // if
        }     // GenerateLowComEvent()
Beispiel #3
0
        }     // PortErrorReceived()

        /// <summary>
        /// Handles the pin changed event of a SerialPort object.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="SerialPinChangedEventArgs"/>
        /// instance containing the event data.</param>
        private void PortPinChanged(object sender,
                                    SerialPinChangedEventArgs e)
        {
            if (this.LowLevelComEvent != null)
            {
                var args = new LowLevelComEventArgs(
                    LowLevelComEventType.SerialPinChange, e);
                this.LowLevelComEvent(this, args);
            } // if
        }     // PortPinChanged()
Beispiel #4
0
        }     // PortDataReceived()

        /// <summary>
        /// Handles the error received event of a SerialPort object.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="SerialErrorReceivedEventArgs"/>
        /// instance containing the event data.</param>
        private void PortErrorReceived(object sender,
                                       SerialErrorReceivedEventArgs e)
        {
            if (this.LowLevelComEvent != null)
            {
                var args = new LowLevelComEventArgs(
                    LowLevelComEventType.ErrorReceived, e);
                this.LowLevelComEvent(this, args);
            } // if
        }     // PortErrorReceived()