<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Phidget22.NET</name>
    </assembly>
    <members>
        <member name="F:Phidget22.AsyncResultNoResult.m_owner">
            <summary>
            The object which started the operation.
            </summary>
        </member>
        <member name="F:Phidget22.AsyncResultNoResult.m_operationId">
            <summary>
            Used to verify the BeginXXX and EndXXX calls match.
            </summary>
        </member>
        <member name="T:Phidget22.Accelerometer">
            <summary>Accelerometer class definition</summary>
        </member>
        <member name="M:Phidget22.Accelerometer.#ctor">
            <summary>Accelerometer Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Accelerometer.Finalize">
            <summary>Accelerometer Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Accelerometer.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Accelerometer and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Accelerometer.Dispose">
            <summary>Releases all resources used by the Accelerometer.</summary>
        </member>
        <member name="P:Phidget22.Accelerometer.Acceleration">
            <summary>The acceleration values
            </summary>
            <remarks>The most recent acceleration value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinAcceleration</c> and
            <c>MaxAcceleration</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MinAcceleration">
            <summary>The minimum acceleration value
            </summary>
            <remarks>The minimum value the <c>AccelerationChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MaxAcceleration">
            <summary>The maximum acceleration values
            </summary>
            <remarks>The maximum value the <c>AccelerationChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.AccelerationChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>AccelerationChange</c> event until the acceleration value has
            changed by the amount specified by the <c>AccelerationChangeTrigger</c>.
            <list>
            <item>Setting the <c>AccelerationChangeTrigger</c> to 0 will result in the channel firing
            events every <c>DataInterval</c>. This is useful for applications that implement their own
            data filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MinAccelerationChangeTrigger">
            <summary>The minimum change trigger value
            </summary>
            <remarks>The minimum value that <c>AccelerationChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MaxAccelerationChangeTrigger">
            <summary>The maximum change trigger value
            </summary>
            <remarks>The maximum value that <c>AccelerationChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.AxisCount">
            <summary>The number of axes
            </summary>
            <remarks>The number of axes the channel can measure acceleration on.
            <list>
            <item>See your device's User Guide for more information about the number of axes and their
            orientation.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>AccelerationChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>AccelerationChange</c> events can also be affected by the
            <c>AccelerationChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MinDataInterval">
            <summary>The minimum data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.HeatingEnabled">
            <summary>Whether self-heating temperature stabilization is enabled
            </summary>
            <remarks>Set to TRUE to enable the temperature stabilization feature of this device. This enables onboard
            heating elements to bring the board up to a known temperature to minimize ambient temerature
            effects on the sensor's reading. You can leave this setting FALSE to conserve power
            consumption.
            
            If you enable heating, it is strongly recommended to keep the board in its enclosure to keep it
            insulated from moving air.
            
            This property is shared by any and all spatial-related objects on this device (Accelerometer,
            Gyroscope, Magnetometer, Spatial)
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.Precision">
            <summary>The sensor precision value
            </summary>
            <remarks>Selects between high/low precision sensing chips.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Accelerometer.Timestamp">
            <summary>The timestamp value
            </summary>
            <remarks>The most recent timestamp value that the channel has reported. This is an extremely accurate time
            measurement streamed from the device.
            <list>
            <item>If your application requires a time measurement, you should use this value over a local
            software timestamp.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Accelerometer.AccelerationChange">
            <remarks>The most recent acceleration values the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>AccelerationChangeTrigger</c> has been set to a non-zero value, the
            <c>AccelerationChange</c> event will not occur until the acceleration has changed by at least
            the <c>AccelerationChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="M:Phidget22.Phidget22Imports.#cctor">
            <summary>
            Static constructor
            </summary>
        </member>
        <member name="M:Phidget22.Phidget22Imports.IsWindows">
            <summary>
            Returns whether the OS is Windows or not
            </summary>
            <returns></returns>
        </member>
        <member name="M:Phidget22.Phidget22Imports.IsMacOS">
            <summary>
            Returns whether the OS is macOS or not
            </summary>
            <returns></returns>
        </member>
        <member name="M:Phidget22.Phidget22Imports.IsUnix">
            <summary>
            Returns whether the OS is *nix or not
            </summary>
            <returns></returns>
        </member>
        <member name="T:Phidget22.Events.AccelerometerAccelerationChangeEventHandler">
            <summary>A Accelerometer AccelerationChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A AccelerometerAccelerationChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.AccelerometerAccelerationChangeEventArgs">
            <summary>Accelerometer AccelerationChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.AccelerometerAccelerationChangeEventArgs.Acceleration">
            <summary>The acceleration values
            </summary>
        </member>
        <member name="F:Phidget22.Events.AccelerometerAccelerationChangeEventArgs.Timestamp">
            <summary>The timestamp value
            </summary>
        </member>
        <member name="T:Phidget22.Events.BLDCMotorBrakingStrengthChangeEventHandler">
            <summary>A BLDCMotor BrakingStrengthChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A BLDCMotorBrakingStrengthChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.BLDCMotorBrakingStrengthChangeEventArgs">
            <summary>BLDCMotor BrakingStrengthChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.BLDCMotorBrakingStrengthChangeEventArgs.BrakingStrength">
            <summary>The braking strength value
            </summary>
        </member>
        <member name="T:Phidget22.Events.BLDCMotorPositionChangeEventHandler">
            <summary>A BLDCMotor PositionChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A BLDCMotorPositionChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.BLDCMotorPositionChangeEventArgs">
            <summary>BLDCMotor PositionChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.BLDCMotorPositionChangeEventArgs.Position">
            <summary>The position value
            </summary>
        </member>
        <member name="T:Phidget22.Events.BLDCMotorVelocityUpdateEventHandler">
            <summary>A BLDCMotor VelocityUpdate Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A BLDCMotorVelocityUpdateEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.BLDCMotorVelocityUpdateEventArgs">
            <summary>BLDCMotor VelocityUpdate Event data</summary>
        </member>
        <member name="F:Phidget22.Events.BLDCMotorVelocityUpdateEventArgs.Velocity">
            <summary>The velocity value
            </summary>
        </member>
        <member name="T:Phidget22.Events.CapacitiveTouchTouchEventHandler">
            <summary>A CapacitiveTouch Touch Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A CapacitiveTouchTouchEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.CapacitiveTouchTouchEventArgs">
            <summary>CapacitiveTouch Touch Event data</summary>
        </member>
        <member name="F:Phidget22.Events.CapacitiveTouchTouchEventArgs.TouchValue">
            <summary>Value of the touch input axis.
            </summary>
        </member>
        <member name="T:Phidget22.Events.CapacitiveTouchTouchEndEventHandler">
            <summary>A CapacitiveTouch TouchEnd Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A CapacitiveTouchTouchEndEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.CapacitiveTouchTouchEndEventArgs">
            <summary>CapacitiveTouch TouchEnd Event data</summary>
        </member>
        <member name="T:Phidget22.Events.CurrentInputCurrentChangeEventHandler">
            <summary>A CurrentInput CurrentChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A CurrentInputCurrentChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.CurrentInputCurrentChangeEventArgs">
            <summary>CurrentInput CurrentChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.CurrentInputCurrentChangeEventArgs.Current">
            <summary>The current value
            </summary>
        </member>
        <member name="T:Phidget22.Events.DataAdapterPacketEventHandler">
            <summary>A DataAdapter Packet Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DataAdapterPacketEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DataAdapterPacketEventArgs">
            <summary>DataAdapter Packet Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DataAdapterPacketEventArgs.Data">
            <summary>The packet as an array of bytes.
            </summary>
        </member>
        <member name="F:Phidget22.Events.DataAdapterPacketEventArgs.Error">
            <summary>Indicates whether the data contained in this event is valid, or the source of any errors.
            </summary>
        </member>
        <member name="T:Phidget22.Events.DCMotorBackEMFChangeEventHandler">
            <summary>A DCMotor BackEMFChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DCMotorBackEMFChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DCMotorBackEMFChangeEventArgs">
            <summary>DCMotor BackEMFChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DCMotorBackEMFChangeEventArgs.BackEMF">
            <summary>The back EMF voltage from the motor
            </summary>
        </member>
        <member name="T:Phidget22.Events.DCMotorBrakingStrengthChangeEventHandler">
            <summary>A DCMotor BrakingStrengthChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DCMotorBrakingStrengthChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DCMotorBrakingStrengthChangeEventArgs">
            <summary>DCMotor BrakingStrengthChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DCMotorBrakingStrengthChangeEventArgs.BrakingStrength">
            <summary>The most recent braking strength value will be reported in this event.
            <list>
            <item>This event will occur only when the value of braking strength has changed</item>
            <item>See <c>TargetBrakingStrength</c> for details about what this number represents.</item>
            </list>
            
            </summary>
        </member>
        <member name="T:Phidget22.Events.DCMotorVelocityUpdateEventHandler">
            <summary>A DCMotor VelocityUpdate Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DCMotorVelocityUpdateEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DCMotorVelocityUpdateEventArgs">
            <summary>DCMotor VelocityUpdate Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DCMotorVelocityUpdateEventArgs.Velocity">
            <summary>The most recent velocity value will be reported in this event.
            </summary>
        </member>
        <member name="T:Phidget22.Events.DictionaryKeyAddEventHandler">
            <summary>A Dictionary KeyAdd Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DictionaryKeyAddEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DictionaryKeyAddEventArgs">
            <summary>Dictionary KeyAdd Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DictionaryKeyAddEventArgs.Key">
            <summary>The key that was added
            </summary>
        </member>
        <member name="F:Phidget22.Events.DictionaryKeyAddEventArgs.Value">
            <summary>The value of the new key
            </summary>
        </member>
        <member name="T:Phidget22.Events.DictionaryKeyRemoveEventHandler">
            <summary>A Dictionary KeyRemove Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DictionaryKeyRemoveEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DictionaryKeyRemoveEventArgs">
            <summary>Dictionary KeyRemove Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DictionaryKeyRemoveEventArgs.Key">
            <summary>The key that was removed
            </summary>
        </member>
        <member name="T:Phidget22.Events.DictionaryKeyValueUpdateEventHandler">
            <summary>A Dictionary KeyValueUpdate Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DictionaryKeyValueUpdateEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DictionaryKeyValueUpdateEventArgs">
            <summary>Dictionary KeyValueUpdate Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DictionaryKeyValueUpdateEventArgs.Key">
            <summary>The key whose value was updated
            </summary>
        </member>
        <member name="F:Phidget22.Events.DictionaryKeyValueUpdateEventArgs.Value">
            <summary>The new value
            </summary>
        </member>
        <member name="T:Phidget22.Events.DigitalInputStateChangeEventHandler">
            <summary>A DigitalInput StateChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DigitalInputStateChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DigitalInputStateChangeEventArgs">
            <summary>DigitalInput StateChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DigitalInputStateChangeEventArgs.State">
            <summary>The state value
            </summary>
        </member>
        <member name="T:Phidget22.Events.DistanceSensorDistanceChangeEventHandler">
            <summary>A DistanceSensor DistanceChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DistanceSensorDistanceChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DistanceSensorDistanceChangeEventArgs">
            <summary>DistanceSensor DistanceChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DistanceSensorDistanceChangeEventArgs.Distance">
            <summary>The current distance
            </summary>
        </member>
        <member name="T:Phidget22.Events.DistanceSensorSonarReflectionsUpdateEventHandler">
            <summary>A DistanceSensor SonarReflectionsUpdate Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DistanceSensorSonarReflectionsUpdateEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DistanceSensorSonarReflectionsUpdateEventArgs">
            <summary>DistanceSensor SonarReflectionsUpdate Event data</summary>
        </member>
        <member name="F:Phidget22.Events.DistanceSensorSonarReflectionsUpdateEventArgs.Distances">
            <summary>The reflection values
            </summary>
        </member>
        <member name="F:Phidget22.Events.DistanceSensorSonarReflectionsUpdateEventArgs.Amplitudes">
            <summary>The amplitude values
            </summary>
        </member>
        <member name="F:Phidget22.Events.DistanceSensorSonarReflectionsUpdateEventArgs.Count">
            <summary>The number of reflections detected
            </summary>
        </member>
        <member name="T:Phidget22.Events.EncoderPositionChangeEventHandler">
            <summary>A Encoder PositionChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A EncoderPositionChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.EncoderPositionChangeEventArgs">
            <summary>Encoder PositionChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.EncoderPositionChangeEventArgs.PositionChange">
            <summary>The amount the position changed since the last change event
            </summary>
        </member>
        <member name="F:Phidget22.Events.EncoderPositionChangeEventArgs.TimeChange">
            <summary>The time elapsed since the last change event in milliseconds
            </summary>
        </member>
        <member name="F:Phidget22.Events.EncoderPositionChangeEventArgs.IndexTriggered">
            <summary>True if the index was passed since the last change event
            </summary>
        </member>
        <member name="T:Phidget22.Events.FirmwareUpgradeProgressChangeEventHandler">
            <summary>A FirmwareUpgrade ProgressChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A FirmwareUpgradeProgressChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.FirmwareUpgradeProgressChangeEventArgs">
            <summary>FirmwareUpgrade ProgressChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.FirmwareUpgradeProgressChangeEventArgs.Progress">
            <summary>The progress, range is 0-1.
            </summary>
        </member>
        <member name="T:Phidget22.Events.FrequencyCounterCountChangeEventHandler">
            <summary>A FrequencyCounter CountChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A FrequencyCounterCountChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.FrequencyCounterCountChangeEventArgs">
            <summary>FrequencyCounter CountChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.FrequencyCounterCountChangeEventArgs.Counts">
            <summary>The pulse count of the signal
            </summary>
        </member>
        <member name="F:Phidget22.Events.FrequencyCounterCountChangeEventArgs.TimeChange">
            <summary>The change in elapsed time since the last change
            </summary>
        </member>
        <member name="T:Phidget22.Events.FrequencyCounterFrequencyChangeEventHandler">
            <summary>A FrequencyCounter FrequencyChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A FrequencyCounterFrequencyChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.FrequencyCounterFrequencyChangeEventArgs">
            <summary>FrequencyCounter FrequencyChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.FrequencyCounterFrequencyChangeEventArgs.Frequency">
            <summary>The calculated frequency of the signal
            </summary>
        </member>
        <member name="T:Phidget22.Events.GPSHeadingChangeEventHandler">
            <summary>A GPS HeadingChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A GPSHeadingChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.GPSHeadingChangeEventArgs">
            <summary>GPS HeadingChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.GPSHeadingChangeEventArgs.Heading">
            <summary>The current heading
            </summary>
        </member>
        <member name="F:Phidget22.Events.GPSHeadingChangeEventArgs.Velocity">
            <summary>The current velocity
            </summary>
        </member>
        <member name="T:Phidget22.Events.GPSPositionChangeEventHandler">
            <summary>A GPS PositionChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A GPSPositionChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.GPSPositionChangeEventArgs">
            <summary>GPS PositionChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.GPSPositionChangeEventArgs.Latitude">
            <summary>The current latitude
            </summary>
        </member>
        <member name="F:Phidget22.Events.GPSPositionChangeEventArgs.Longitude">
            <summary>The current longitude
            </summary>
        </member>
        <member name="F:Phidget22.Events.GPSPositionChangeEventArgs.Altitude">
            <summary>The current altitude
            </summary>
        </member>
        <member name="T:Phidget22.Events.GPSPositionFixStateChangeEventHandler">
            <summary>A GPS PositionFixStateChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A GPSPositionFixStateChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.GPSPositionFixStateChangeEventArgs">
            <summary>GPS PositionFixStateChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.GPSPositionFixStateChangeEventArgs.PositionFixState">
            <summary>The state of the position fix. True indicates a fix is obtained. False indicates no fix found.
            </summary>
        </member>
        <member name="T:Phidget22.Events.GyroscopeAngularRateUpdateEventHandler">
            <summary>A Gyroscope AngularRateUpdate Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A GyroscopeAngularRateUpdateEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.GyroscopeAngularRateUpdateEventArgs">
            <summary>Gyroscope AngularRateUpdate Event data</summary>
        </member>
        <member name="F:Phidget22.Events.GyroscopeAngularRateUpdateEventArgs.AngularRate">
            <summary>The angular rate values
            </summary>
        </member>
        <member name="F:Phidget22.Events.GyroscopeAngularRateUpdateEventArgs.Timestamp">
            <summary>The timestamp value
            </summary>
        </member>
        <member name="T:Phidget22.Events.HumiditySensorHumidityChangeEventHandler">
            <summary>A HumiditySensor HumidityChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A HumiditySensorHumidityChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.HumiditySensorHumidityChangeEventArgs">
            <summary>HumiditySensor HumidityChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.HumiditySensorHumidityChangeEventArgs.Humidity">
            <summary>The ambient relative humidity
            </summary>
        </member>
        <member name="T:Phidget22.Events.IRCodeEventHandler">
            <summary>A IR Code Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A IRCodeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.IRCodeEventArgs">
            <summary>IR Code Event data</summary>
        </member>
        <member name="F:Phidget22.Events.IRCodeEventArgs.Code">
            <summary>The code string
            </summary>
        </member>
        <member name="F:Phidget22.Events.IRCodeEventArgs.BitCount">
            <summary>The length of the received code in bits
            </summary>
        </member>
        <member name="F:Phidget22.Events.IRCodeEventArgs.IsRepeat">
            <summary>'true' if a repeat is detected
            </summary>
        </member>
        <member name="T:Phidget22.Events.IRLearnEventHandler">
            <summary>A IR Learn Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A IRLearnEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.IRLearnEventArgs">
            <summary>IR Learn Event data</summary>
        </member>
        <member name="F:Phidget22.Events.IRLearnEventArgs.Code">
            <summary>The code string
            </summary>
        </member>
        <member name="F:Phidget22.Events.IRLearnEventArgs.CodeInfo">
            <summary>Contains the data for characterizing the code.
            </summary>
        </member>
        <member name="T:Phidget22.Events.IRRawDataEventHandler">
            <summary>A IR RawData Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A IRRawDataEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.IRRawDataEventArgs">
            <summary>IR RawData Event data</summary>
        </member>
        <member name="F:Phidget22.Events.IRRawDataEventArgs.Data">
            <summary>The data being received
            </summary>
        </member>
        <member name="T:Phidget22.Events.LightSensorIlluminanceChangeEventHandler">
            <summary>A LightSensor IlluminanceChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A LightSensorIlluminanceChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.LightSensorIlluminanceChangeEventArgs">
            <summary>LightSensor IlluminanceChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.LightSensorIlluminanceChangeEventArgs.Illuminance">
            <summary>The current illuminance
            </summary>
        </member>
        <member name="T:Phidget22.Events.MagnetometerMagneticFieldChangeEventHandler">
            <summary>A Magnetometer MagneticFieldChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A MagnetometerMagneticFieldChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.MagnetometerMagneticFieldChangeEventArgs">
            <summary>Magnetometer MagneticFieldChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.MagnetometerMagneticFieldChangeEventArgs.MagneticField">
            <summary>The magnetic field values
            </summary>
        </member>
        <member name="F:Phidget22.Events.MagnetometerMagneticFieldChangeEventArgs.Timestamp">
            <summary>The timestamp value
            </summary>
        </member>
        <member name="T:Phidget22.Events.MotorPositionControllerDutyCycleUpdateEventHandler">
            <summary>A MotorPositionController DutyCycleUpdate Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A MotorPositionControllerDutyCycleUpdateEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.MotorPositionControllerDutyCycleUpdateEventArgs">
            <summary>MotorPositionController DutyCycleUpdate Event data</summary>
        </member>
        <member name="F:Phidget22.Events.MotorPositionControllerDutyCycleUpdateEventArgs.DutyCycle">
            <summary>The duty cycle value
            </summary>
        </member>
        <member name="T:Phidget22.Events.MotorPositionControllerPositionChangeEventHandler">
            <summary>A MotorPositionController PositionChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A MotorPositionControllerPositionChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.MotorPositionControllerPositionChangeEventArgs">
            <summary>MotorPositionController PositionChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.MotorPositionControllerPositionChangeEventArgs.Position">
            <summary>The position value
            </summary>
        </member>
        <member name="T:Phidget22.Events.MotorVelocityControllerDutyCycleUpdateEventHandler">
            <summary>A MotorVelocityController DutyCycleUpdate Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A MotorVelocityControllerDutyCycleUpdateEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.MotorVelocityControllerDutyCycleUpdateEventArgs">
            <summary>MotorVelocityController DutyCycleUpdate Event data</summary>
        </member>
        <member name="F:Phidget22.Events.MotorVelocityControllerDutyCycleUpdateEventArgs.DutyCycle">
            <summary>The duty cycle value
            </summary>
        </member>
        <member name="T:Phidget22.Events.MotorVelocityControllerExpectedVelocityChangeEventHandler">
            <summary>A MotorVelocityController ExpectedVelocityChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A MotorVelocityControllerExpectedVelocityChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.MotorVelocityControllerExpectedVelocityChangeEventArgs">
            <summary>MotorVelocityController ExpectedVelocityChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.MotorVelocityControllerExpectedVelocityChangeEventArgs.ExpectedVelocity">
            <summary>The expected velocity value
            </summary>
        </member>
        <member name="T:Phidget22.Events.MotorVelocityControllerVelocityChangeEventHandler">
            <summary>A MotorVelocityController VelocityChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A MotorVelocityControllerVelocityChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.MotorVelocityControllerVelocityChangeEventArgs">
            <summary>MotorVelocityController VelocityChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.MotorVelocityControllerVelocityChangeEventArgs.Velocity">
            <summary>The velocity value
            </summary>
        </member>
        <member name="T:Phidget22.Events.PHSensorPHChangeEventHandler">
            <summary>A PHSensor PHChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A PHSensorPHChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.PHSensorPHChangeEventArgs">
            <summary>PHSensor PHChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.PHSensorPHChangeEventArgs.PH">
            <summary>The current pH
            </summary>
        </member>
        <member name="T:Phidget22.Events.PressureSensorPressureChangeEventHandler">
            <summary>A PressureSensor PressureChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A PressureSensorPressureChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.PressureSensorPressureChangeEventArgs">
            <summary>PressureSensor PressureChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.PressureSensorPressureChangeEventArgs.Pressure">
            <summary>The new measured pressure
            </summary>
        </member>
        <member name="T:Phidget22.Events.RCServoPositionChangeEventHandler">
            <summary>A RCServo PositionChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A RCServoPositionChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.RCServoPositionChangeEventArgs">
            <summary>RCServo PositionChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.RCServoPositionChangeEventArgs.Position">
            <summary>The position value
            </summary>
        </member>
        <member name="T:Phidget22.Events.RCServoTargetPositionReachedEventHandler">
            <summary>A RCServo TargetPositionReached Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A RCServoTargetPositionReachedEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.RCServoTargetPositionReachedEventArgs">
            <summary>RCServo TargetPositionReached Event data</summary>
        </member>
        <member name="F:Phidget22.Events.RCServoTargetPositionReachedEventArgs.Position">
            <summary>The position value
            </summary>
        </member>
        <member name="T:Phidget22.Events.RCServoVelocityChangeEventHandler">
            <summary>A RCServo VelocityChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A RCServoVelocityChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.RCServoVelocityChangeEventArgs">
            <summary>RCServo VelocityChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.RCServoVelocityChangeEventArgs.Velocity">
            <summary>The velocity value
            </summary>
        </member>
        <member name="T:Phidget22.Events.ResistanceInputResistanceChangeEventHandler">
            <summary>A ResistanceInput ResistanceChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A ResistanceInputResistanceChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.ResistanceInputResistanceChangeEventArgs">
            <summary>ResistanceInput ResistanceChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.ResistanceInputResistanceChangeEventArgs.Resistance">
            <summary>The resistance value
            </summary>
        </member>
        <member name="T:Phidget22.Events.RFIDTagEventHandler">
            <summary>A RFID Tag Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A RFIDTagEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.RFIDTagEventArgs">
            <summary>RFID Tag Event data</summary>
        </member>
        <member name="F:Phidget22.Events.RFIDTagEventArgs.Tag">
            <summary>Data from the tag
            </summary>
        </member>
        <member name="F:Phidget22.Events.RFIDTagEventArgs.Protocol">
            <summary>Communication protocol of the tag
            </summary>
        </member>
        <member name="T:Phidget22.Events.RFIDTagLostEventHandler">
            <summary>A RFID TagLost Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A RFIDTagLostEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.RFIDTagLostEventArgs">
            <summary>RFID TagLost Event data</summary>
        </member>
        <member name="F:Phidget22.Events.RFIDTagLostEventArgs.Tag">
            <summary>Data from the lost tag
            </summary>
        </member>
        <member name="F:Phidget22.Events.RFIDTagLostEventArgs.Protocol">
            <summary>Communication protocol of the lost tag
            </summary>
        </member>
        <member name="T:Phidget22.Events.SoundSensorSPLChangeEventHandler">
            <summary>A SoundSensor SPLChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A SoundSensorSPLChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.SoundSensorSPLChangeEventArgs">
            <summary>SoundSensor SPLChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.SoundSensorSPLChangeEventArgs.DB">
            <summary>The dB SPL value.
            </summary>
        </member>
        <member name="F:Phidget22.Events.SoundSensorSPLChangeEventArgs.DBA">
            <summary>The dBA SPL value.
            </summary>
        </member>
        <member name="F:Phidget22.Events.SoundSensorSPLChangeEventArgs.DBC">
            <summary>The dBC SPL value.
            </summary>
        </member>
        <member name="F:Phidget22.Events.SoundSensorSPLChangeEventArgs.Octaves">
            <summary>The dB SPL value for each band.
            </summary>
        </member>
        <member name="T:Phidget22.Events.SpatialAlgorithmDataEventHandler">
            <summary>A Spatial AlgorithmData Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A SpatialAlgorithmDataEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.SpatialAlgorithmDataEventArgs">
            <summary>Spatial AlgorithmData Event data</summary>
        </member>
        <member name="F:Phidget22.Events.SpatialAlgorithmDataEventArgs.Quaternion">
            <summary>The quaternion value - [x, y, z, w]
            </summary>
        </member>
        <member name="F:Phidget22.Events.SpatialAlgorithmDataEventArgs.Timestamp">
            <summary>The timestamp value
            </summary>
        </member>
        <member name="T:Phidget22.Events.SpatialSpatialDataEventHandler">
            <summary>A Spatial SpatialData Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A SpatialSpatialDataEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.SpatialSpatialDataEventArgs">
            <summary>Spatial SpatialData Event data</summary>
        </member>
        <member name="F:Phidget22.Events.SpatialSpatialDataEventArgs.Acceleration">
            <summary>The acceleration vaulues
            </summary>
        </member>
        <member name="F:Phidget22.Events.SpatialSpatialDataEventArgs.AngularRate">
            <summary>The angular rate values
            </summary>
        </member>
        <member name="F:Phidget22.Events.SpatialSpatialDataEventArgs.MagneticField">
            <summary>The field strength values
            </summary>
        </member>
        <member name="F:Phidget22.Events.SpatialSpatialDataEventArgs.Timestamp">
            <summary>The timestamp value
            </summary>
        </member>
        <member name="T:Phidget22.Events.StepperPositionChangeEventHandler">
            <summary>A Stepper PositionChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A StepperPositionChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.StepperPositionChangeEventArgs">
            <summary>Stepper PositionChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.StepperPositionChangeEventArgs.Position">
            <summary>The current stepper position
            </summary>
        </member>
        <member name="T:Phidget22.Events.StepperStoppedEventHandler">
            <summary>A Stepper Stopped Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A StepperStoppedEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.StepperStoppedEventArgs">
            <summary>Stepper Stopped Event data</summary>
        </member>
        <member name="T:Phidget22.Events.StepperVelocityChangeEventHandler">
            <summary>A Stepper VelocityChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A StepperVelocityChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.StepperVelocityChangeEventArgs">
            <summary>Stepper VelocityChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.StepperVelocityChangeEventArgs.Velocity">
            <summary>Velocity of the stepper. Sign indicates direction.
            </summary>
        </member>
        <member name="T:Phidget22.Events.TemperatureSensorTemperatureChangeEventHandler">
            <summary>A TemperatureSensor TemperatureChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A TemperatureSensorTemperatureChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.TemperatureSensorTemperatureChangeEventArgs">
            <summary>TemperatureSensor TemperatureChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.TemperatureSensorTemperatureChangeEventArgs.Temperature">
            <summary>The temperature
            </summary>
        </member>
        <member name="T:Phidget22.Events.VoltageInputSensorChangeEventHandler">
            <summary>A VoltageInput SensorChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A VoltageInputSensorChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.VoltageInputSensorChangeEventArgs">
            <summary>VoltageInput SensorChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.VoltageInputSensorChangeEventArgs.SensorValue">
            <summary>The sensor value
            </summary>
        </member>
        <member name="F:Phidget22.Events.VoltageInputSensorChangeEventArgs.SensorUnit">
            <summary>The sensor unit information corresponding to the sensor value.
            <list>
            <item>Helps keep track of the type of information being calculated from the voltage input.</item>
            </list>
            
            </summary>
        </member>
        <member name="T:Phidget22.Events.VoltageInputVoltageChangeEventHandler">
            <summary>A VoltageInput VoltageChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A VoltageInputVoltageChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.VoltageInputVoltageChangeEventArgs">
            <summary>VoltageInput VoltageChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.VoltageInputVoltageChangeEventArgs.Voltage">
            <summary>Measured voltage
            </summary>
        </member>
        <member name="T:Phidget22.Events.VoltageRatioInputSensorChangeEventHandler">
            <summary>A VoltageRatioInput SensorChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A VoltageRatioInputSensorChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.VoltageRatioInputSensorChangeEventArgs">
            <summary>VoltageRatioInput SensorChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.VoltageRatioInputSensorChangeEventArgs.SensorValue">
            <summary>The sensor value
            </summary>
        </member>
        <member name="F:Phidget22.Events.VoltageRatioInputSensorChangeEventArgs.SensorUnit">
            <summary>The sensor unit information corresponding to the <c>SensorValue</c>.
            <list>
            <item>Helps keep track of the type of information being calculated from the voltage ratio input.</item>
            </list>
            
            </summary>
        </member>
        <member name="T:Phidget22.Events.VoltageRatioInputVoltageRatioChangeEventHandler">
            <summary>A VoltageRatioInput VoltageRatioChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A VoltageRatioInputVoltageRatioChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.VoltageRatioInputVoltageRatioChangeEventArgs">
            <summary>VoltageRatioInput VoltageRatioChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.VoltageRatioInputVoltageRatioChangeEventArgs.VoltageRatio">
            <summary>The voltage ratio
            </summary>
        </member>
        <member name="T:Phidget22.Events.ManagerAttachEventHandler">
            <summary>A Manager Attach Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A ManagerAttachEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.ManagerAttachEventArgs">
            <summary>Manager Attach Event data</summary>
        </member>
        <member name="F:Phidget22.Events.ManagerAttachEventArgs.Channel">
            <summary>The Phidget channel that attached
            </summary>
        </member>
        <member name="T:Phidget22.Events.ManagerDetachEventHandler">
            <summary>A Manager Detach Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A ManagerDetachEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.ManagerDetachEventArgs">
            <summary>Manager Detach Event data</summary>
        </member>
        <member name="F:Phidget22.Events.ManagerDetachEventArgs.Channel">
            <summary>The Phidget channel that detached
            </summary>
        </member>
        <member name="T:Phidget22.Events.NetServerAddedEventHandler">
            <summary>A Net ServerAdded Event delegate</summary>
            <param name="e">A NetServerAddedEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.NetServerAddedEventArgs">
            <summary>Net ServerAdded Event data</summary>
        </member>
        <member name="F:Phidget22.Events.NetServerAddedEventArgs.Server">
            <summary>The server that has been added.
            </summary>
        </member>
        <member name="F:Phidget22.Events.NetServerAddedEventArgs.Kv">
            <summary>Opaque structure containing keys related to the server
            </summary>
        </member>
        <member name="T:Phidget22.Events.NetServerRemovedEventHandler">
            <summary>A Net ServerRemoved Event delegate</summary>
            <param name="e">A NetServerRemovedEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.NetServerRemovedEventArgs">
            <summary>Net ServerRemoved Event data</summary>
        </member>
        <member name="F:Phidget22.Events.NetServerRemovedEventArgs.Server">
            <summary>The server that has been removed.
            </summary>
        </member>
        <member name="T:Phidget22.Events.AttachEventHandler">
            <summary>A Phidget Attach Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A AttachEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.AttachEventArgs">
            <summary>Phidget Attach Event data</summary>
        </member>
        <member name="T:Phidget22.Events.DetachEventHandler">
            <summary>A Phidget Detach Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A DetachEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.DetachEventArgs">
            <summary>Phidget Detach Event data</summary>
        </member>
        <member name="T:Phidget22.Events.ErrorEventHandler">
            <summary>A Phidget Error Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A ErrorEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.ErrorEventArgs">
            <summary>Phidget Error Event data</summary>
        </member>
        <member name="F:Phidget22.Events.ErrorEventArgs.Code">
            <summary>The error code
            </summary>
        </member>
        <member name="F:Phidget22.Events.ErrorEventArgs.Description">
            <summary>The error description
            </summary>
        </member>
        <member name="T:Phidget22.Events.PropertyChangeEventHandler">
            <summary>A Phidget PropertyChange Event delegate</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">A PropertyChangeEventArg object contains data and information related to the Event.</param>
        </member>
        <member name="T:Phidget22.Events.PropertyChangeEventArgs">
            <summary>Phidget PropertyChange Event data</summary>
        </member>
        <member name="F:Phidget22.Events.PropertyChangeEventArgs.PropertyName">
            <summary>The name of the property that has changed
            </summary>
        </member>
        <member name="T:Phidget22.BLDCMotor">
            <summary>BLDCMotor class definition</summary>
        </member>
        <member name="M:Phidget22.BLDCMotor.#ctor">
            <summary>BLDCMotor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.BLDCMotor.Finalize">
            <summary>BLDCMotor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.BLDCMotor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the BLDCMotor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.BLDCMotor.Dispose">
            <summary>Releases all resources used by the BLDCMotor.</summary>
        </member>
        <member name="P:Phidget22.BLDCMotor.Acceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The rate at which the controller can change the motor's <c>Velocity</c>.
            <list>
            <item>The acceleration is bounded by <c>MinAcceleration</c> and
            <c>MaxAcceleration</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The minimum value that <c>Acceleration</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The maximum value that <c>Acceleration</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.BrakingStrength">
            <summary>The braking strength value
            </summary>
            <remarks>The most recent braking strength value that the controller has reported.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinBrakingStrength">
            <summary>The braking value
            </summary>
            <remarks>The minimum value that <c>TargetBrakingStrength</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxBrakingStrength">
            <summary>The braking value
            </summary>
            <remarks>The maximum value that <c>TargetBrakingStrength</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.CurrentLimit">
            <summary>The current value
            </summary>
            <remarks>The controller will limit the current through the motor to the <c>CurrentLimit</c> value.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinCurrentLimit">
            <summary>The current value
            </summary>
            <remarks>The minimum value that <c>CurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxCurrentLimit">
            <summary>The current value
            </summary>
            <remarks>The maximum value that <c>CurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>VelocityUpdate</c> / <c>PositionChange</c> / <c>BrakingStrengthChange</c>
            event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.Position">
            <summary>The position value
            </summary>
            <remarks>The most recent position value that the controller has reported.
            <list>
            <item>Position values are calculated using Hall Effect sensors mounted on the motor, therefore, the
            resolution of position depends on the motor you are using.</item>
            <item>Units for <c>Position</c> can be set by the user through the <c>RescaleFactor</c>.
            The <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees. For more information on how to apply the <c>RescaleFactor</c> to your application,
            see your controller's User Guide.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinPosition">
            <summary>The position value
            </summary>
            <remarks>The lower bound of <c>Position</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxPosition">
            <summary>The position value
            </summary>
            <remarks>The upper bound of <c>Position</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.RescaleFactor">
            <summary>The rescale factor value
            </summary>
            <remarks>Change the units of your parameters so that your application is more intuitive.
            <list>
            <item>Units for <c>Position</c> can be set by the user through the <c>RescaleFactor</c>.
            The <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees. For more information on how to apply the <c>RescaleFactor</c> to your application,
            see your controller's User Guide.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.StallVelocity">
            <summary>The stall velocity value.
            </summary>
            <remarks>Before reading this description, it is important to note the difference between the units of
            <c>StallVelocity</c> and <c>Velocity</c>.
            <list>
            <item><c>Velocity</c> is a number between -1 and 1 with units of 'duty cycle'. It simply
            represents the average voltage across the motor.</item>
            <item><c>StallVelocity</c> represents a real velocity (e.g. m/s, RPM, etc.) and the units are
            determined by the <c>RescaleFactor</c>. With a <c>RescaleFactor</c> of 1, the default
            units would be in commutations per second.</item>
            </list>
            If the load on your motor is large, your motor may begin rotating more slowly, or even fully stall.
            Depending on the voltage across your motor, this may result in a large amount of current through
            both the controller and the motor. In order to prevent damage in these situations, you can use the
            <c>StallVelocity</c> property.
            
            The <c>StallVelocity</c> should be set to the lowest velocity you would expect from your
            motor. The controller will then monitor the motor's velocity, as well as the <c>Velocity</c>,
            and prevent a 'dangerous stall' from occuring. If the controller detects a dangerous stall, it will
            immediately reduce the <c>Velocity</c> (i.e. average voltage) to 0 and an error will be
            reported to your program.
            <list>
            <item>A 'dangerous stall' will occur faster when the <c>Velocity</c> is higher (i.e. when the
            average voltage across the motor is higher)</item>
            <item>A 'dangerous stall' will occur faster as (<c>StallVelocity</c> - motor velocity) becomes
            larger .</item>
            </list>
            Setting <c>StallVelocity</c> to 0 will turn off stall protection functionality.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinStallVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The lower bound of <c>StallVelocity</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxStallVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The upper bound of <c>StallVelocity</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.TargetBrakingStrength">
            <summary>The braking value
            </summary>
            <remarks>When a motor is not being actively driven forward or reverse, you can choose if the motor will be
            allowed to freely turn, or will resist being turned.
            <list>
            <item>A low <c>TargetBrakingStrength</c> value corresponds to free wheeling, this will have the
            following effects:
            <list>
            <item>The motor will continue to rotate after the controller is no longer driving the motor (i.e.
            <c>Velocity</c> is 0), due to inertia.</item>
            <item>The motor shaft will provide little resistance to being turned when it is stopped.</item>
            </list>
            </item>
            <item>A higher <c>TargetBrakingStrength</c> value will resist being turned, this will have the
            following effects:
            <list>
            <item>The motor will more stop more quickly if it is in motion and braking has been requested. It
            will fight against the rotation of the shaft.</item>
            </list>
            </item>
            <item>Braking mode is enabled by setting the <c>Velocity</c> to <c>MinVelocity</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.TargetVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The average voltage across the motor is based on the <c>TargetVelocity</c> value.
            <list>
            <item>At a constant load, increasing the target velocity will increase the speed of the motor.</item>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            <item>Setting <c>TargetVelocity</c> to <c>MinVelocity</c> will stop the motor. See
            <c>TargetBrakingStrength</c> for more information on stopping the motor.</item>
            <item>The units of <c>TargetVelocity</c> and <c>Acceleration</c> refer to 'duty cycle'.
            This is because the controller must rapidly switch the power on/off (i.e. change the duty cycle) in
            order to manipulate the voltage across the motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.Velocity">
            <summary>The velocity value
            </summary>
            <remarks>The most recent velocity value that the controller has reported.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MinVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The minimum value that <c>TargetVelocity</c> can be set to.
            <list>
            <item>Set the <c>TargetVelocity</c> to <c>MinVelocity</c> to stop the motor. See
            <c>TargetBrakingStrength</c> for more information on stopping the motor.</item>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.BLDCMotor.MaxVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The maximum value that <c>TargetVelocity</c> can be set to.
            <list>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.BLDCMotor.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For BLDC Motor channels, this will disengage the motor. Once the channel enters the
            <b>failsafe state</b>, it will reject any further input until the channel is reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.BLDCMotor.AddPositionOffset(System.Double)">
            <remarks>Adds an offset (positive or negative) to the current position.
            <list>
            <item>This can be especially useful for zeroing position.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.BLDCMotor.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.BLDCMotor.BeginSetTargetVelocity(System.Double,System.AsyncCallback,System.Object)">
            <summary>The velocity value
             </summary>
            <remarks>The average voltage across the motor is based on the <c>TargetVelocity</c> value.
            <list>
            <item>At a constant load, increasing the target velocity will increase the speed of the motor.</item>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            <item>Setting <c>TargetVelocity</c> to <c>MinVelocity</c> will stop the motor. See
            <c>TargetBrakingStrength</c> for more information on stopping the motor.</item>
            <item>The units of <c>TargetVelocity</c> and <c>Acceleration</c> refer to 'duty cycle'.
            This is because the controller must rapidly switch the power on/off (i.e. change the duty cycle) in
            order to manipulate the voltage across the motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.BLDCMotor.EndSetTargetVelocity(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetTargetVelocity</param>
        </member>
        <member name="E:Phidget22.BLDCMotor.BrakingStrengthChange">
            <remarks>The most recent braking strength value will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            <list>
            <item>Regardless of the <c>DataInterval</c>, this event will occur only when the braking
            strength value has changed from the previous value reported.</item>
            <item>Braking mode is enabled by setting the <c>Velocity</c> to <c>MinVelocity</c></item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.BLDCMotor.PositionChange">
            <remarks>The most recent position value will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            <list>
            <item>Regardless of the <c>DataInterval</c>, this event will occur only when the position value
            has changed from the previous value reported.</item>
            <item>Position values are calculated using Hall Effect sensors mounted on the motor, therefore, the
            resolution of position depends on the motor you are using.</item>
            <item>Units for <c>Position</c> can be set by the user through the <c>RescaleFactor</c>.
            The <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees. For more information on how to apply the <c>RescaleFactor</c> to your application,
            see your controller's User Guide.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.BLDCMotor.VelocityUpdate">
            <remarks>The most recent velocity value will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            <list>
            <item>This event will <b>always</b> occur when the <c>DataInterval</c> elapses. You can depend
            on this event for constant timing when implementing control loops in code. This is the last event
            to fire, giving you up-to-date access to all properties.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.CapacitiveTouch">
            <summary>CapacitiveTouch class definition</summary>
        </member>
        <member name="M:Phidget22.CapacitiveTouch.#ctor">
            <summary>CapacitiveTouch Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.CapacitiveTouch.Finalize">
            <summary>CapacitiveTouch Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.CapacitiveTouch.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the CapacitiveTouch and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.CapacitiveTouch.Dispose">
            <summary>Releases all resources used by the CapacitiveTouch.</summary>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>Touch</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>Touch</c> events can also be affected by the
            <c>TouchValueChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MinDataInterval">
            <summary>The minimum data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MaxDataInterval">
            <summary>The maximum data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.Sensitivity">
            <summary>The sensitivity value
            </summary>
            <remarks>Determines the sensitivity of all capacitive regions on the device.
            <list>
            <item>Higher values result in greater touch sensitivity.</item>
            <item>The sensitivity value is bounded by <c>MinSensitivity</c> and
            <c>MaxSensitivity</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MinSensitivity">
            <summary>The minimum sensitivity value
            </summary>
            <remarks>The minimum value that <c>Sensitivity</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MaxSensitivity">
            <summary>The maximum sensitivity value
            </summary>
            <remarks>The maximum value that <c>Sensitivity</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.IsTouched">
            <summary>The touched state
            </summary>
            <remarks>The most recent touch state that the channel has reported.
            <list>
            <item>This will be 0 or 1</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>0 is not touched</item>
            <item>1 is touched</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.TouchValue">
            <summary>The touch input value
            </summary>
            <remarks>The most recent touch value that the channel has reported.
            <list>
            <item>This will be 0 or 1 for button-type inputs, or a ratio between 0-1 for axis-type inputs.</item>
            <item>This value is bounded by <c>MinTouchValue</c> and <c>MaxTouchValue</c></item>
            <item>The value is not reset when the touch ends</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MinTouchValue">
            <summary>The minimum touch input value
            </summary>
            <remarks>The minimum value the <c>Touch</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MaxTouchValue">
            <summary>The maximum touch input value
            </summary>
            <remarks>The maximum value the <c>Touch</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.TouchValueChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>Touch</c> event until the touch value has changed by the
            amount specified by the <c>TouchValueChangeTrigger</c>.
            <list>
            <item>Setting the <c>TouchValueChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MinTouchValueChangeTrigger">
            <summary>The minimum change trigger value
            </summary>
            <remarks>The minimum value that <c>TouchValueChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CapacitiveTouch.MaxTouchValueChangeTrigger">
            <summary>The maximum change trigger value
            </summary>
            <remarks>The maximum value that <c>TouchValueChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.CapacitiveTouch.Touch">
            <remarks>The most recent touch value the channel has measured will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>TouchValueChangeTrigger</c> has been set to a non-zero value, the
            <c>Touch</c> event will not occur until the touch value has changed by at least the
            <c>TouchValueChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.CapacitiveTouch.TouchEnd">
            <remarks>The channel will report a <c>TouchEnd</c> event to signify that it is no longer detecting a
            touch.
            </remarks>
        </member>
        <member name="T:Phidget22.CurrentInput">
            <summary>CurrentInput class definition</summary>
        </member>
        <member name="M:Phidget22.CurrentInput.#ctor">
            <summary>CurrentInput Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.CurrentInput.Finalize">
            <summary>CurrentInput Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.CurrentInput.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the CurrentInput and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.CurrentInput.Dispose">
            <summary>Releases all resources used by the CurrentInput.</summary>
        </member>
        <member name="P:Phidget22.CurrentInput.Current">
            <summary>The current value
            </summary>
            <remarks>The most recent current value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinCurrent</c> and <c>MaxCurrent</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MinCurrent">
            <summary>The current value
            </summary>
            <remarks>The minimum value the <c>CurrentChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MaxCurrent">
            <summary>The current value
            </summary>
            <remarks>The maximum value the <c>CurrentChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.CurrentChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>CurrentChange</c> event until the current value has changed
            by the amount specified by the <c>CurrentChangeTrigger</c>.
            <list>
            <item>Setting the <c>CurrentChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MinCurrentChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>CurrentChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MaxCurrentChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>CurrentChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>CurrentChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>CurrentChange</c> events can also be affected by the
            <c>CurrentChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.CurrentInput.PowerSupply">
            <summary>The power supply value
            </summary>
            <remarks>Choose the power supply voltage.
            <list>
            <item>Set this to the voltage specified in the attached sensor's data sheet to power it.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Set to <c>PowerSupply.Off</c> to turn off the supply to save power.</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.CurrentInput.CurrentChange">
            <remarks>The most recent current value the channel has measured will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>CurrentChangeTrigger</c> has been set to a non-zero value, the
            <c>CurrentChange</c> event will not occur until the current value has changed by at least the
            <c>CurrentChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.DataAdapter">
            <summary> DataAdapter class definition </summary>
            <summary>DataAdapter class definition</summary>
        </member>
        <member name="M:Phidget22.DataAdapter.#ctor">
            <summary>DataAdapter Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.Finalize">
            <summary>DataAdapter Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.DataAdapter.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the DataAdapter and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.DataAdapter.Dispose">
            <summary>Releases all resources used by the DataAdapter.</summary>
        </member>
        <member name="P:Phidget22.DataAdapter.BaudRate">
            <summary>The baud rate to use for future data transfers.
            </summary>
            <remarks>The rate at which data is transmitted over the communication lines in bits per second.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MinBaudRate">
            <summary>The baud rate value
            </summary>
            <remarks>The minimum value that <c>BaudRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MaxBaudRate">
            <summary>The baud rate value
            </summary>
            <remarks>The maximum value that <c>BaudRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.DataBits">
            <summary>The number of data bits
            </summary>
            <remarks>Configures the number of data bits used for communication. Refer to the documentation for the
            device you are communicating with.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MinDataBits">
            <summary>The number of data bits
            </summary>
            <remarks>The minimum number of data bits
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MaxDataBits">
            <summary>The number of data bits
            </summary>
            <remarks>The maximum number of data bits
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.DeviceAddress">
            <summary>The address of the device.
            </summary>
            <remarks>In SPI Mode, this specifies which CS pin is used to signal the device. In I2C mode, this is used to
            specify the device address. This is not used in UART mode.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.HandshakeMode">
            <summary>The method used for hardware handshaking
            </summary>
            <remarks>Configures behaviour of the RTS and CTS pins used for harware handshaking.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.Endianness">
            <summary>The endianness of the data bytes.
            </summary>
            <remarks>Configures endianness of each byte.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.IOVoltage">
            <summary>The IO Voltage
            </summary>
            <remarks>The voltage used to communicate with (and power?) the external device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.NewDataAvailable">
            <summary>True if new data is ready.
            </summary>
            <remarks>Indicates whether new data has come in since the last call to getLastData.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.Parity">
            <summary>Indicates whether a parity bit is used for communication.
            </summary>
            <remarks>Allows you to set whether even or odd parity is used, if any.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.Protocol">
            <summary>The communication protocol.
            </summary>
            <remarks>Configures communication protocol used to communicate on the bus.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MaxReceivePacketLength">
            <summary>The maximum length of a received packet.
            </summary>
            <remarks>The maximum length of a packet that can be received in bytes.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.ResponseTimeout">
            <summary>The reaposne timeout time.
            </summary>
            <remarks>This is how long a function that sends data and waits for a response will wait for a complete
            response from the external device from the time the call is made.This includes the amount of time
            it takes to send the packet, which can easily affect long packets at slow data rates.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MinResponseTimeout">
            <summary>The minimum timeout
            </summary>
            <remarks>The minimum value the timeout can be set to
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MaxResponseTimeout">
            <summary>The maximum timeout
            </summary>
            <remarks>The maximum value the timeout can be set to
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MaxSendPacketLength">
            <summary>The maximum length of a sent packet.
            </summary>
            <remarks>The maximum length of a packet that can be sent in bytes.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MaxSendWaitPacketLength">
            <summary>The maximum length of a packet using <c>SendPacketWaitResponse()</c>.
            </summary>
            <remarks>The maximum length of a packet that can be sent using <c>SendPacketWaitResponse()</c>, in
            bytes.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.SPIMode">
            <summary>The SPI mode.
            </summary>
            <remarks>Configures SCLK polarity and phase. Throws <c>ErrorCode.NotConfigured</c> if the channel is
            not configured to use <c>DataAdapterProtocol.SPI</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.StopBits">
            <summary>The number of stop bits
            </summary>
            <remarks>Configures the number of stop bits used for communication. Refer to the documentation for the
            device you are communicating with.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.TransmitTimeout">
            <summary>The transmission timeout time.
            </summary>
            <remarks>The timeout time to transmit a packet. <b>You may leave this set as default unless you have reason
            to require a specific timeout.</b>
            
            Set to 0 to have a default timeout of twice the expected time to send a packet at your set BAUD
            rate.
            Depending on your BAUD rate, this timeout will apply to different subsections of the full
            transmission.
            <table>
            <tr>
            <th>Baud</th>
            <th>Subdivision</th>
            </tr>
            <tr>
            <td>&gt;6400</td>
            <td>8192 Bytes</td>
            </tr>
            <tr>
            <td>3201 - 6400</td>
            <td>4096 Bytes</td>
            </tr>
            <tr>
            <td>1601 - 3200</td>
            <td>2048 Bytes</td>
            </tr>
            <tr>
            <td>≤1600</td>
            <td>1024 Bytes</td>
            </tr>
            </table>
            
            If your packet transmission times out, there is a chance some of the data was transmitted before
            the timeout occurred.This will only be a problem on sytems where the remote device is heavily
            regulating communications (with handshaking enabled), and will need to be considered in your
            application if the possibility of timeout applies.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MinTransmitTimeout">
            <summary>The minimum timeout
            </summary>
            <remarks>The minimum value the timeout can be set to
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DataAdapter.MaxTransmitTimeout">
            <summary>The maximum timeout
            </summary>
            <remarks>The maximum value the timeout can be set to
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.SetI2CFormat(System.String)">
            <remarks>The I2C format string. Specify the bytes of your I2C packet using 's' for start, 'R' for read, 'T'
            for write, and 'p' for stop. These are case sensitive.
            For example, if you wanted to write two bytes, then read three bytes, the string would be
            "sTTsRRRp". Throws <c>ErrorCode.NotConfigured</c> if the channel is not configured to use
            <c>DataAdapterProtocol.I2C</c>
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.SetEndOfLine(System.String)">
            <remarks>Sets the End-of-Line terminator appended to the end of writeWithResponse strings to signify the end
            of a transmission, up to 8 charactersSet this to empty string ("") to use default behaviour of
            writing \r\n, and accepting \r\n, \n\r, \r, or \n as valid EOL responses.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.SendPacket(System.Byte[])">
            <remarks>Transmits a packet of data using the selected protocol information on the corresponding
            communication terminals to any connected device(s).
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.BeginSendPacket(System.Byte[],System.AsyncCallback,System.Object)">
            <remarks>Transmits a packet of data using the selected protocol information on the corresponding
            communication terminals to any connected device(s).
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.EndSendPacket(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSendPacket</param>
        </member>
        <member name="M:Phidget22.DataAdapter.Write(System.String)">
            <remarks>Sends a string through the communication bus. This call will block until the entire message is
            successfully sent to the external device, or until the <c>TransmitTimeout</c> has elapsed.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.BeginWrite(System.String,System.AsyncCallback,System.Object)">
            <remarks>Sends a string through the communication bus. This call will block until the entire message is
            successfully sent to the external device, or until the <c>TransmitTimeout</c> has elapsed.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.EndWrite(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginWrite</param>
        </member>
        <member name="M:Phidget22.DataAdapter.WriteLine(System.String)">
            <remarks>Sends a string through the communication bus with a user defined end-of-line terminator.
            
            See <c>SetEndOfLine()</c> for more details.
            
            This call will block until the entire message is successfully sent to the external device, or until
            the <c>TransmitTimeout</c> has elapsed.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.BeginWriteLine(System.String,System.AsyncCallback,System.Object)">
            <remarks>Sends a string through the communication bus with a user defined end-of-line terminator.
            
            See <c>SetEndOfLine()</c> for more details.
            
            This call will block until the entire message is successfully sent to the external device, or until
            the <c>TransmitTimeout</c> has elapsed.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DataAdapter.EndWriteLine(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginWriteLine</param>
        </member>
        <member name="E:Phidget22.DataAdapter.Packet">
            <remarks>The most recent packet that the channel has received will be reported in this event.
            </remarks>
        </member>
        <member name="T:Phidget22.DCMotor">
            <summary>DCMotor class definition</summary>
        </member>
        <member name="M:Phidget22.DCMotor.#ctor">
            <summary>DCMotor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DCMotor.Finalize">
            <summary>DCMotor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.DCMotor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the DCMotor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.DCMotor.Dispose">
            <summary>Releases all resources used by the DCMotor.</summary>
        </member>
        <member name="P:Phidget22.DCMotor.Acceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The rate at which the controller can change the motor's <c>Velocity</c>.
            <list>
            <item>The acceleration is bounded by <c>MinAcceleration</c> and
            <c>MaxAcceleration</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The minimum value that <c>Acceleration</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The maximum value that <c>Acceleration</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.BackEMF">
            <summary>The back EMF value
            </summary>
            <remarks>The most recent <c>BackEMF</c> value that the controller has reported.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.BackEMFSensingState">
            <summary>The back EMF state
            </summary>
            <remarks>When <c>BackEMFSensingState</c> is enabled, the controller will measure and report the
            <c>BackEMF</c>.
            <list>
            <item>The motor will coast (freewheel) 5% of the time while the back EMF is being measured (800μs
            every 16ms). Therefore, at a <c>Velocity</c> of 100%, the motor will only be driven for 95%
            of the time.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.BrakingStrength">
            <summary>The braking strength value
            </summary>
            <remarks>The most recent braking strength value that the controller has reported. See
            <c>TargetBrakingStrength</c> for details.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinBrakingStrength">
            <summary>The braking strength value
            </summary>
            <remarks>The minimum value that <c>TargetBrakingStrength</c> can be set to. See
            <c>TargetBrakingStrength</c> for details.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxBrakingStrength">
            <summary>The braking strength value
            </summary>
            <remarks>The maximum value that <c>TargetBrakingStrength</c> can be set to. See
            <c>TargetBrakingStrength</c> for details.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.CurrentLimit">
            <summary>The current limit value
            </summary>
            <remarks>The controller will limit the current through the motor to the <c>CurrentLimit</c> value.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinCurrentLimit">
            <summary>The current value
            </summary>
            <remarks>The minimum value that <c>CurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxCurrentLimit">
            <summary>The current value
            </summary>
            <remarks>The maximum value that <c>CurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.CurrentRegulatorGain">
            <summary>The current regulator gain value
            </summary>
            <remarks>Depending on power supply voltage and motor coil inductance, current through the motor can change
            relatively slowly or extremely rapidly. A physically larger DC Motor will typically have a lower
            inductance, requiring a higher current regulator gain. A higher power supply voltage will result in
            motor current changing more rapidly, requiring a higher current regulator gain. If the current
            regulator gain is too small, spikes in current will occur, causing large variations in torque, and
            possibly damaging the motor controller. If the current regulator gain is too high, the current will
            jitter, causing the motor to sound 'rough', especially when changing directions.
            
            As a rule of thumb, we recommend setting this value as follows:
            <div style="margin-left: 2em">
            <pre>
            CurrentRegulatorGain = CurrentLimit * (Voltage / 12)
            </pre></div>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinCurrentRegulatorGain">
            <summary>The current regulator gain value
            </summary>
            <remarks>The minimum value that <c>CurrentRegulatorGain</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxCurrentRegulatorGain">
            <summary>The current regulator gain value
            </summary>
            <remarks>The maximum value that <c>CurrentRegulatorGain</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>VelocityUpdate</c> / <c>BrakingStrengthChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            <list>
            <item>Note: <c>BrakingStrengthChange</c> events will only fire if a change in braking has
            occurred.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.FanMode">
            <summary>The fan mode
            </summary>
            <remarks>The <c>FanMode</c> dictates the operating condition of the fan.
            <list>
            <item>Choose between on, off, or automatic (based on temperature).</item>
            <item>If the <c>FanMode</c> is set to automatic, the fan will turn on when the temperature
            reaches 70°C and it will remain on until the temperature falls below 55°C.</item>
            <item>If the <c>FanMode</c> is off, the controller will still turn on the fan if the
            temperature reaches 85°C and it will remain on until it falls below 70°C.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.TargetBrakingStrength">
            <summary>The braking strength value
            </summary>
            <remarks><p>This setting allows you to choose how hard the motor will resist being turned when it is not
            being driven forward or reverse (<c>Velocity</c> = 0). The <c>TargetBrakingStrength</c>
            sets the relative amount of electrical braking to be applied to the DC motor, with
            <c>MinBrakingStrength</c> corresponding to no braking (free-wheeling), and
            <c>MaxBrakingStrength</c> indicating full braking.</p>
            <list>
            <item>A low <c>TargetBrakingStrength</c> value corresponds to free-wheeling. This means:
            <list>
            <item>The motor will continue to rotate after the controller is no longer driving the motor
            (<c>Velocity</c> = 0), due to its momentum.</item>
            <item>The motor shaft will provide little resistance to being turned when it is stopped.</item>
            </list>
            </item>
            <item>As <c>TargetBrakingStrength</c> increases, this will engage electrical braking of the DC
            motor. This means:
            <list>
            <item>The motor will stop more quickly if it is in motion when braking is requested.</item>
            <item>The motor shaft will resist rotation by outside forces.</item>
            </list>
            </item>
            <item>Braking will be added gradually, according to the <c>Acceleration</c> setting, once the
            motor controller's <c>Velocity</c> reaches 0.0</item>
            <item>Braking will be immediately stopped when a new (non-zero) <c>TargetVelocity</c> is set,
            and the motor will accelerate to the requested velocity.</item>
            <item>Braking mode is enabled by setting the <c>Velocity</c> to 0.0</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.TargetVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The average voltage across the motor is based on the <c>TargetVelocity</c> value.
            <list>
            <item>At a constant load, increasing the target velocity will increase the speed of the motor.</item>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            <item>Setting <c>TargetVelocity</c> to <c>MinVelocity</c> will stop the motor. See
            <c>TargetBrakingStrength</c> for more information on stopping the motor.</item>
            <item>The units of <c>TargetVelocity</c> and <c>Acceleration</c> refer to 'duty cycle'.
            This is because the controller controls velocity by rapidly switching the power on/off (i.e.
            changing the duty cycle) in order to manipulate the voltage across the motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.Velocity">
            <summary>The velocity value
            </summary>
            <remarks>The most recent velocity value that the controller has reported.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MinVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The minimum value that <c>TargetVelocity</c> can be set to.
            <list>
            <item>Set the <c>TargetVelocity</c> to <c>MinVelocity</c> to stop the motor. See
            <c>TargetBrakingStrength</c> for more information on stopping the motor.</item>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DCMotor.MaxVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The maximum value that <c>TargetVelocity</c> can be set to.
            <list>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DCMotor.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For DC Motor channels, this will disengage the motor. Once the channel enters the
            <b>failsafe state</b>, it will reject any further input until the channel is reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DCMotor.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DCMotor.BeginSetTargetVelocity(System.Double,System.AsyncCallback,System.Object)">
            <summary>The velocity value
             </summary>
            <remarks>The average voltage across the motor is based on the <c>TargetVelocity</c> value.
            <list>
            <item>At a constant load, increasing the target velocity will increase the speed of the motor.</item>
            <item><c>TargetVelocity</c> is bounded by -<c>MaxVelocity</c> and
            +<c>MaxVelocity</c>, where a sign change (±) is indicitave of a direction change.</item>
            <item>Setting <c>TargetVelocity</c> to <c>MinVelocity</c> will stop the motor. See
            <c>TargetBrakingStrength</c> for more information on stopping the motor.</item>
            <item>The units of <c>TargetVelocity</c> and <c>Acceleration</c> refer to 'duty cycle'.
            This is because the controller controls velocity by rapidly switching the power on/off (i.e.
            changing the duty cycle) in order to manipulate the voltage across the motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DCMotor.EndSetTargetVelocity(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetTargetVelocity</param>
        </member>
        <member name="E:Phidget22.DCMotor.BackEMFChange">
            <remarks>The most recent back emf value will be reported in this event.
            </remarks>
        </member>
        <member name="E:Phidget22.DCMotor.BrakingStrengthChange">
            <remarks>Occurs when the motor braking strength changes.
            </remarks>
        </member>
        <member name="E:Phidget22.DCMotor.VelocityUpdate">
            <remarks>Occurs at a rate defined by the <c>DataInterval</c>.
            </remarks>
        </member>
        <member name="T:Phidget22.Dictionary">
            <summary> Dictionary class definition </summary>
            <summary>Dictionary class definition</summary>
        </member>
        <member name="M:Phidget22.Dictionary.Get(System.String)">
            <summary>Gets the value </summary>
            <remarks>Gets the value associated with the give key from the dictionary</remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.Get(System.String,System.String)">
            <summary>Gets the value </summary>
            <remarks>Gets the value associated with the give key from the dictionary</remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.Scan(System.String)">
             <summary>Gets a list of keys.</summary>
             <remarks>The list starts at they key following the provided key (an empty string means start at the first key).
            
             The list may not contain all of the keys in the dictionary, and it is implementation specific how many will be returned.
             It is the responsibility of the user to call scan() again to get any remaining keys.
            
             When all of the keys have been scanned, an empty list is returned.
            
             Keys added during the scan may be missed, and keys deleted during the scan may be included.</remarks>
             <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.#ctor">
            <summary>Dictionary Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.Finalize">
            <summary>Dictionary Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Dictionary.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Dictionary and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Dictionary.Dispose">
            <summary>Releases all resources used by the Dictionary.</summary>
        </member>
        <member name="M:Phidget22.Dictionary.EnableControlDictionary">
            <remarks>Adds a new dictionary that exports the control interface from the system
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.AddDictionary(System.Int32,System.String)">
            <remarks>Adds a new dictionary to the system.
            <p>The serial number must be greater than 1000.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.RemoveDictionary(System.Int32)">
            <remarks>Removes a dictionary from the system.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.LoadDictionary(System.Int32,System.String)">
            <remarks>Loads data from a file into the specified dictionary.
            <list>
            <item>The data is loaded from a file of the form key=value</item>
            <item>Blank lines are ignored</item>
            <item>Whitespace before and after the key and value is stripped</item>
            <item>Only the first = is observed</item>
            <item>Lines starting with # are ignored</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.EnableStatsDictionary">
            <remarks>Adds a new dictionary that exports runtime statistics from the system
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.Add(System.String,System.String)">
            <remarks>Adds a new key value pair to the dictionary. It is an error if the key already exits.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.RemoveAll">
            <remarks>Removes every key from the dictionary
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.Remove(System.String)">
            <remarks>Removes the key from the dictionary
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.Set(System.String,System.String)">
            <remarks>Sets the value of a key, or creates the key value pair if the key does not already exist.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Dictionary.Update(System.String,System.String)">
            <remarks>Updates a key value pair in the dictionary. It is an error if the key does not exist.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Dictionary.KeyAdd">
            <remarks>Occurs when a new key value pair is added to the dictionary.
            </remarks>
        </member>
        <member name="E:Phidget22.Dictionary.KeyRemove">
            <remarks>Occurs when a key is removed from the dictionary.
            </remarks>
        </member>
        <member name="E:Phidget22.Dictionary.KeyValueUpdate">
            <remarks>Occurs when a change is made to a key value pair in the dictionary.
            </remarks>
        </member>
        <member name="T:Phidget22.DigitalInput">
            <summary>DigitalInput class definition</summary>
        </member>
        <member name="M:Phidget22.DigitalInput.#ctor">
            <summary>DigitalInput Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalInput.Finalize">
            <summary>DigitalInput Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.DigitalInput.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the DigitalInput and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.DigitalInput.Dispose">
            <summary>Releases all resources used by the DigitalInput.</summary>
        </member>
        <member name="P:Phidget22.DigitalInput.InputMode">
            <summary>The input mode value
            </summary>
            <remarks>The input polarity mode for your channel.
            <list>
            <item>See your device's User Guide for more information about what value to chooose for the
            <c>InputMode</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalInput.PowerSupply">
            <summary>The power supply value
            </summary>
            <remarks>Choose the power supply voltage.
            <list>
            <item>Set this to the voltage specified in the attached sensor's data sheet to power it.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Set to <c>PowerSupply.Off</c> to turn off the supply to save power.</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalInput.State">
            <summary>The state value
            </summary>
            <remarks>The most recent state value that the channel has reported.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.DigitalInput.StateChange">
            <remarks>This event will occur when the state of the digital input has changed.
            <list>
            <item>The value will either be 0 or 1 (true or false).</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.DigitalOutput">
            <summary>DigitalOutput class definition</summary>
        </member>
        <member name="M:Phidget22.DigitalOutput.#ctor">
            <summary>DigitalOutput Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalOutput.Finalize">
            <summary>DigitalOutput Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.DigitalOutput.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the DigitalOutput and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.DigitalOutput.Dispose">
            <summary>Releases all resources used by the DigitalOutput.</summary>
        </member>
        <member name="P:Phidget22.DigitalOutput.DutyCycle">
            <summary>The duty cycle value
            </summary>
            <remarks>The <c>DutyCycle</c> represents the fraction of time the output is on (high).
            <list>
            <item>A <c>DutyCycle</c> of 1.0 translates to a high output, a <c>DutyCycle</c> of 0
            translates to a low output.</item>
            <item>A <c>DutyCycle</c> of 0.5 translates to an output that is high half the time, which
            results in an average output voltage of (output voltage x 0.5)</item>
            <item>You can use the <c>DutyCycle</c> to create a dimming effect on LEDs.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MinDutyCycle">
            <summary>The duty cycle value
            </summary>
            <remarks>The minimum value that <c>DutyCycle</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MaxDutyCycle">
            <summary>The duty cycle value
            </summary>
            <remarks>The maximum value that <c>DutyCycle</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.Frequency">
            <summary>The PWM frequency
            </summary>
            <remarks>The <c>Frequency</c> parameter sets the PWM frequency for all frequency-settable PWM outputs
            on the board.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MinFrequency">
            <summary>The frequency
            </summary>
            <remarks>The minimum value that <c>Frequency</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MaxFrequency">
            <summary>The frequency
            </summary>
            <remarks>The maximum value that <c>Frequency</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.LEDCurrentLimit">
            <summary>The current limit value
            </summary>
            <remarks>The <c>LEDCurrentLimit</c> is the maximum amount of current that the controller will provide
            to the output.
            <list>
            <item>Reference the data sheet of the LED you are using before setting this value.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MinLEDCurrentLimit">
            <summary>The current limit value
            </summary>
            <remarks>The minimum value that <c>LEDCurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.MaxLEDCurrentLimit">
            <summary>The current limit value
            </summary>
            <remarks>The maximum value that <c>LEDCurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.LEDForwardVoltage">
            <summary>The forward voltage value
            </summary>
            <remarks>The <c>LEDForwardVoltage</c> is the voltage that will be available to your LED.
            <list>
            <item>Reference the data sheet of the LED you are using before setting this value. Choose the
            <c>LEDForwardVoltage</c> that is closest to the forward voltage specified in the data
            sheet.</item>
            <item>This forward voltage is shared for all channels on this device. Setting the LEDForwardVoltage
            on any channel will set the LEDForwardVoltage for all channels on the device.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DigitalOutput.State">
            <summary>The state value
            </summary>
            <remarks>The <c>State</c> will indicate whether the output is high (TRUE) or low (FALSE).
            <list>
            <item>If a <c>DutyCycle</c> has been set, the state will return as TRUE if the DutyCycle is
            above 0.5, or FALSE otherwise.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalOutput.BeginSetDutyCycle(System.Double,System.AsyncCallback,System.Object)">
            <summary>The duty cycle value
             </summary>
            <remarks>The <c>DutyCycle</c> represents the fraction of time the output is on (high).
            <list>
            <item>A <c>DutyCycle</c> of 1.0 translates to a high output, a <c>DutyCycle</c> of 0
            translates to a low output.</item>
            <item>A <c>DutyCycle</c> of 0.5 translates to an output that is high half the time, which
            results in an average output voltage of (output voltage x 0.5)</item>
            <item>You can use the <c>DutyCycle</c> to create a dimming effect on LEDs.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalOutput.EndSetDutyCycle(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetDutyCycle</param>
        </member>
        <member name="M:Phidget22.DigitalOutput.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For Digital Output channels, this will set the output State to FALSE. Once the channel
            enters the <b>failsafe state</b>, it will reject any further input until the channel is
            reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalOutput.BeginSetLEDCurrentLimit(System.Double,System.AsyncCallback,System.Object)">
            <summary>The current limit value
             </summary>
            <remarks>The <c>LEDCurrentLimit</c> is the maximum amount of current that the controller will provide
            to the output.
            <list>
            <item>Reference the data sheet of the LED you are using before setting this value.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalOutput.EndSetLEDCurrentLimit(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetLEDCurrentLimit</param>
        </member>
        <member name="M:Phidget22.DigitalOutput.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalOutput.BeginSetState(System.Boolean,System.AsyncCallback,System.Object)">
            <summary>The state value
             </summary>
            <remarks>The <c>State</c> will dictate whether the output is constantly high (TRUE) or low (FALSE).
            <list>
            <item>This will override any <c>DutyCycle</c> that may have been set on the channel.</item>
            <item>Setting the <c>State</c> to TRUE is the same as setting <c>DutyCycle</c> to 1.0,
            and setting the <c>State</c> to FALSE is the same as setting a <c>DutyCycle</c> of
            0.0.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DigitalOutput.EndSetState(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetState</param>
        </member>
        <member name="T:Phidget22.DistanceSensor">
            <summary>DistanceSensor class definition</summary>
        </member>
        <member name="M:Phidget22.DistanceSensor.#ctor">
            <summary>DistanceSensor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DistanceSensor.Finalize">
            <summary>DistanceSensor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.DistanceSensor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the DistanceSensor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.DistanceSensor.Dispose">
            <summary>Releases all resources used by the DistanceSensor.</summary>
        </member>
        <member name="P:Phidget22.DistanceSensor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between events can also be affected by the <c>DistanceChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.Distance">
            <summary>The distance value
            </summary>
            <remarks>The most recent distance value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinDistance</c> and <c>MaxDistance</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MinDistance">
            <summary>The distance value
            </summary>
            <remarks>The minimum distance that a event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MaxDistance">
            <summary>The distance value
            </summary>
            <remarks>The maximum distance that a event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.DistanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue an event until the distance value has changed by the amount specified by
            the <c>DistanceChangeTrigger</c>.
            <list>
            <item>Setting the <c>DistanceChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering,</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MinDistanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>DistanceChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.MaxDistanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>DistanceChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.DistanceSensor.SonarQuietMode">
            <summary>The quiet mode value
            </summary>
            <remarks>When set to true, the device will operate more quietly.
            <list>
            <item>The measurable range is reduced when operating in quiet mode.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.DistanceSensor.GetSonarReflections">
            <remarks>The most recent reflection values that the channel has reported.
            <list>
            <item>The distance values will always be between <c>MinDistance</c> and
            <c>MaxDistance</c>.</item>
            <item>The closest reflection will be placed at index 0 of the distances array, and the furthest
            reflection at index 7</item>
            <item>The amplitude values are relative amplitudes of the reflections that are normalized to an
            arbitrary scale.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.DistanceSensor.DistanceChange">
            <remarks>The most recent distance value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>DistanceChangeTrigger</c> has been set to a non-zero value, the
            <c>DistanceChange</c> event will not occur until the distance has changed by at least the
            <c>DistanceChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.DistanceSensor.SonarReflectionsUpdate">
            <remarks>The most recent reflections the channel has detected will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>DistanceChangeTrigger</c> has been set to a non-zero value, the
            <c>SonarReflectionsUpdate</c> event will not occur until the distance has changed by at least
            the <c>DistanceChangeTrigger</c> value.</item>
            <item>The closest reflection will be placed at index 0 of the <small><i>distances</i></small> array,
            and the furthest reflection at index 7.</item>
            <item>If you are only interested in the closest reflection, you can simply use the
            <c>DistanceChange</c> event.</item>
            <item>The values reported as amplitudes are relative amplitudes of the reflections that are
            normalized to an arbitrary scale.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.Encoder">
            <summary>Encoder class definition</summary>
        </member>
        <member name="M:Phidget22.Encoder.#ctor">
            <summary>Encoder Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Encoder.Finalize">
            <summary>Encoder Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Encoder.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Encoder and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Encoder.Dispose">
            <summary>Releases all resources used by the Encoder.</summary>
        </member>
        <member name="P:Phidget22.Encoder.Enabled">
            <summary>The enabled value
            </summary>
            <remarks>The enabled state of the encoder.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>PositionChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>PositionChange</c> events can also be affected by the
            <c>PositionChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.IndexPosition">
            <summary>The index position value
            </summary>
            <remarks>The most recent position of the index channel calculated by the Phidgets library.
            <list>
            <item>The index channel will usually pulse once per rotation.</item>
            <item>Setting the encoder position will move the index position the same amount so their relative
            position stays the same.</item>
            <item>Index position is tracked locally as the last position at which the index was triggered.
            Setting position will only affect the local copy of the index position value. This means that index
            positions seen by multiple network applications may not agree.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.IOMode">
            <summary>The IO mode value.
            </summary>
            <remarks>The encoder interface mode. Match the mode to the type of encoder you have attached.
            <list>
            <item>It is recommended to only change this when the encoder disabled in order to avoid unexpected
            results.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.Position">
            <summary>The position value
            </summary>
            <remarks>The most recent position value calculated by the Phidgets library.
            <list>
            <item>Position counts quadrature edges within a quadrature cycle. This means there are four counts
            per full quadrature cycle.</item>
            <item>Position is tracked locally as the total position change from the time the channel is opened.
            Setting position will only affect the local copy of the position value. This means that positions
            seen by multiple network applications may not agree.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.PositionChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>PositionChange</c> event until the position value has changed
            by the amount specified by the <c>PositionChangeTrigger</c>.
            <list>
            <item>Setting the <c>PositionChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.MinPositionChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>PositionChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Encoder.MaxPositionChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>PositionChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Encoder.PositionChange">
            <remarks>The most recent position change and time change the channel has measured will be reported in this
            event, which occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>PositionChangeTrigger</c> has been set to a non-zero value, the
            <c>PositionChange</c> event will not occur until the position has changed by at least the
            <c>PositionChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.FirmwareUpgrade">
            <summary>FirmwareUpgrade class definition</summary>
        </member>
        <member name="M:Phidget22.FirmwareUpgrade.#ctor">
            <summary>FirmwareUpgrade Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.FirmwareUpgrade.Finalize">
            <summary>FirmwareUpgrade Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.FirmwareUpgrade.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the FirmwareUpgrade and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.FirmwareUpgrade.Dispose">
            <summary>Releases all resources used by the FirmwareUpgrade.</summary>
        </member>
        <member name="P:Phidget22.FirmwareUpgrade.ActualDeviceID">
            <summary>Device ID
            </summary>
            <remarks>TODO: Text Here
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FirmwareUpgrade.ActualDeviceName">
            <summary>Name of the device
            </summary>
            <remarks>TODO: Text Here
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FirmwareUpgrade.ActualDeviceSKU">
            <summary>Device SKU
            </summary>
            <remarks>TODO: Text Here
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FirmwareUpgrade.ActualDeviceVersion">
            <summary>Firmware version
            </summary>
            <remarks>TODO: Text Here
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FirmwareUpgrade.ActualDeviceVINTID">
            <summary>Device VINT ID
            </summary>
            <remarks>TODO: Text Here
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FirmwareUpgrade.Progress">
            <summary>Firmware update progress
            </summary>
            <remarks>TODO: Text Here
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.FirmwareUpgrade.SendFirmware(System.Byte[])">
            <remarks>TODO
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.FirmwareUpgrade.ProgressChange">
            <remarks>Occurs on firmware upgrade progress.
            </remarks>
        </member>
        <member name="T:Phidget22.FrequencyCounter">
            <summary>FrequencyCounter class definition</summary>
        </member>
        <member name="M:Phidget22.FrequencyCounter.#ctor">
            <summary>FrequencyCounter Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.FrequencyCounter.Finalize">
            <summary>FrequencyCounter Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.FrequencyCounter.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the FrequencyCounter and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.FrequencyCounter.Dispose">
            <summary>Releases all resources used by the FrequencyCounter.</summary>
        </member>
        <member name="P:Phidget22.FrequencyCounter.Count">
            <summary>The count value
            </summary>
            <remarks>The most recent count value the channel has reported.
            <list>
            <item>The count represents the total number of pulses since the the channel was opened, or last
            reset.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.Enabled">
            <summary>The enabled value
            </summary>
            <remarks>Enables or disables the channel.
            <list>
            <item>When a channel is disabled, it will not longer register counts, therefore the
            <c>TimeElapsed</c> and <c>Count</c> will not be updated until the channel is
            re-enabled.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>CountChange</c> / <c>FrequencyChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.FilterType">
            <summary>The filter value
            </summary>
            <remarks>Determines the signal type that the channel responds to.
            <list>
            <item>The filter type is chosen based on the type of input signal. See the
            <c>FrequencyFilterType</c> entry under Enumerations for more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.Frequency">
            <summary>The frequency value
            </summary>
            <remarks>The most recent frequency value that the channel has reported.
            <list>
            <item>This value will always be between 0 Hz and <c>MaxFrequency</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.MaxFrequency">
            <summary>The frequency value
            </summary>
            <remarks>The maximum value the <c>FrequencyChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.FrequencyCutoff">
            <summary>The frequency cutoff value
            </summary>
            <remarks>The frequency at which zero hertz is assumed.
            <list>
            <item>This means any frequency at or below the <c>FrequencyCutoff</c> value will be reported as
            0 Hz.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>This property is stored locally, so other users who have this Phidget open over a network
            connection won't see the effects of your selected cutoff.</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.MinFrequencyCutoff">
            <summary>The frequency value
            </summary>
            <remarks>The minimum value that <c>FrequencyCutoff</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.MaxFrequencyCutoff">
            <summary>The frequency value
            </summary>
            <remarks>The maximum value that <c>FrequencyCutoff</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.InputMode">
            <summary>The input mode value
            </summary>
            <remarks>The input polarity mode for your channel.
            <list>
            <item>See your device's User Guide for more information about what value to chooose for the
            <c>InputMode</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.PowerSupply">
            <summary>The power supply value
            </summary>
            <remarks>Choose the power supply voltage.
            <list>
            <item>Set this to the voltage specified in the attached sensor's data sheet to power it.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Set to <c>PowerSupply.Off</c> to turn off the supply to save power.</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.FrequencyCounter.TimeElapsed">
            <summary>The time value
            </summary>
            <remarks>The amount of time the frequency counter has been enabled for.
            <list>
            <item>This property complements <c>Count</c>, the total number of pulses detected since the
            channel was opened, or last reset.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.FrequencyCounter.Reset">
            <remarks>Resets the <c>Count</c> and <c>TimeElapsed</c>.
            <list>
            <item>For best results, reset should be called when the channel is disabled.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.FrequencyCounter.CountChange">
            <remarks>The most recent values the channel has measured will be reported in this event, which occurs when
            the <c>DataInterval</c> has elapsed.
            </remarks>
        </member>
        <member name="E:Phidget22.FrequencyCounter.FrequencyChange">
            <remarks>The most recent frequency value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            </remarks>
        </member>
        <member name="T:Phidget22.Generic">
            <summary>Generic class definition</summary>
        </member>
        <member name="M:Phidget22.Generic.#ctor">
            <summary>Generic Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Generic.Finalize">
            <summary>Generic Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Generic.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Generic and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Generic.Dispose">
            <summary>Releases all resources used by the Generic.</summary>
        </member>
        <member name="T:Phidget22.GPS">
            <summary>GPS class definition</summary>
        </member>
        <member name="P:Phidget22.GPS.DateAndTime">
            <summary>
            Gets the GPS date and time, in UTC.
            </summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.GPS.#ctor">
            <summary>GPS Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.GPS.Finalize">
            <summary>GPS Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.GPS.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the GPS and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.GPS.Dispose">
            <summary>Releases all resources used by the GPS.</summary>
        </member>
        <member name="P:Phidget22.GPS.Altitude">
            <summary>Altitude of the GPS
            </summary>
            <remarks>The altitude above mean sea level in meters.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.Date">
            <summary>Date of last position
            </summary>
            <remarks>The UTC date of the last received position.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.Heading">
            <summary>Heading of the GPS
            </summary>
            <remarks>The current true course over ground of the GPS
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.Latitude">
            <summary>Latitude of the GPS
            </summary>
            <remarks>The latitude of the GPS in degrees
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.Longitude">
            <summary>Longtidue of the GPS
            </summary>
            <remarks>The longitude of the GPS.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.NMEAData">
            <summary>NMEA Data structure
            </summary>
            <remarks>The NMEA data structure.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.PositionFixState">
            <summary>Status of the position fix
            </summary>
            <remarks>The status of the position fix
            <list>
            <item>True if a fix is available and latitude, longitude, and altitude can be read. False if the fix
            is not available.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.Time">
            <summary>Current time
            </summary>
            <remarks>The current UTC time of the GPS
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.GPS.Velocity">
            <summary>Velocity of the GPS
            </summary>
            <remarks>The current speed over ground of the GPS.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.GPS.HeadingChange">
            <remarks>The most recent heading and velocity values will be reported in this event, which occurs when the
            GPS heading changes.
            </remarks>
        </member>
        <member name="E:Phidget22.GPS.PositionChange">
            <remarks>The most recent values the channel has measured will be reported in this event, which occurs when
            the GPS position changes.
            </remarks>
        </member>
        <member name="E:Phidget22.GPS.PositionFixStateChange">
            <remarks>Occurs when a position fix is obtained or lost.
            </remarks>
        </member>
        <member name="T:Phidget22.Gyroscope">
            <summary>Gyroscope class definition</summary>
        </member>
        <member name="M:Phidget22.Gyroscope.#ctor">
            <summary>Gyroscope Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Gyroscope.Finalize">
            <summary>Gyroscope Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Gyroscope.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Gyroscope and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Gyroscope.Dispose">
            <summary>Releases all resources used by the Gyroscope.</summary>
        </member>
        <member name="P:Phidget22.Gyroscope.AngularRate">
            <summary>The last reported angular rate
            </summary>
            <remarks>The most recent angular rate value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinAngularRate</c> and
            <c>MaxAngularRate</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.MinAngularRate">
            <summary>The angular rate values
            </summary>
            <remarks>The minimum value the <c>AngularRateUpdate</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.MaxAngularRate">
            <summary>The angular rate values
            </summary>
            <remarks>The maximum value the <c>AngularRateUpdate</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.AxisCount">
            <summary>Axis count value
            </summary>
            <remarks>The number of axes the channel can measure angular rate on.
            <list>
            <item>See your device's User Guide for more information about the number of axes and their
            orientation.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>AngularRateUpdate</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.HeatingEnabled">
            <summary>Whether self-heating temperature stabilization is enabled
            </summary>
            <remarks>Set to TRUE to enable the temperature stabilization feature of this device. This enables onboard
            heating elements to bring the board up to a known temperature to minimize ambient temerature
            effects on the sensor's reading. You can leave this setting FALSE to conserve power
            consumption.
            
            If you enable heating, it is strongly recommended to keep the board in its enclosure to keep it
            insulated from moving air.
            
            This property is shared by any and all spatial-related objects on this device (Accelerometer,
            Gyroscope, Magnetometer, Spatial)
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.Precision">
            <summary>The sensor precision value
            </summary>
            <remarks>Selects between high/low precision sensing chips.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Gyroscope.Timestamp">
            <summary>The timestamp value
            </summary>
            <remarks>The most recent timestamp value that the channel has reported. This is an extremely accurate time
            measurement streamed from the device.
            <list>
            <item>If your application requires a time measurement, you should use this value over a local
            software timestamp.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Gyroscope.Zero">
            <remarks>Re-zeros the gyroscope in 1-2 seconds.
            <list>
            <item>The device must be stationary when zeroing.</item>
            <item>The angular rate will be reported as 0.0°/s while zeroing.</item>
            <item>Zeroing the gyroscope is a method of compensating for the drift that is inherent to all
            gyroscopes. See your device's User Guide for more information on dealing with drift.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Gyroscope.AngularRateUpdate">
            <remarks>The most recent angular rate and timestamp values the channel has measured will be reported in this
            event, which occurs when the <c>DataInterval</c> has elapsed.
            </remarks>
        </member>
        <member name="T:Phidget22.Hub">
            <summary>Hub class definition</summary>
        </member>
        <member name="M:Phidget22.Hub.#ctor">
            <summary>Hub Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.Finalize">
            <summary>Hub Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Hub.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Hub and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Hub.Dispose">
            <summary>Releases all resources used by the Hub.</summary>
        </member>
        <member name="M:Phidget22.Hub.SetFirmwareUpgradeFlag(System.Int32,System.Int32)">
            <remarks>Sets a flag on this hub port which forces the next VINT devices plugged in to stay in firmware
            upgrade mode.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.SetPortAutoSetSpeed(System.Int32,System.Boolean)">
            <remarks>Enables / disables Auto Set Speed on the hub port. When enabled, and a supported VINT device is
            attached, the <b>HubPortSpeed</b> will automatically be set to the fastest reliable speed. This is
            enabled by default on supported VINT Hubs.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.GetPortMaxSpeed(System.Int32)">
            <remarks>The max communication speed of a high-speed capable VINT Port.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.GetPortMode(System.Int32)">
            <remarks>Gets the mode of the selected hub port. VINT devices will not show up when the port is in
            digital/analog mode.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.SetPortMode(System.Int32,Phidget22.HubPortMode)">
            <remarks>Sets the mode of the selected port. This could be used to set a port back to VINT mode if it was
            left in digital/analog mode.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.GetPortPower(System.Int32)">
            <remarks>Gets the VINT Hub Port power state
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.SetPortPower(System.Int32,System.Boolean)">
            <remarks>Controls power to the VINT Hub Port.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.GetPortSupportsAutoSetSpeed(System.Int32)">
            <remarks>Indicates that this VINT Port support Auto Set Speed.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Hub.GetPortSupportsSetSpeed(System.Int32)">
            <remarks>Indicates that the communication speed of this VINT port can be set.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="T:Phidget22.HumiditySensor">
            <summary>HumiditySensor class definition</summary>
        </member>
        <member name="M:Phidget22.HumiditySensor.#ctor">
            <summary>HumiditySensor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.HumiditySensor.Finalize">
            <summary>HumiditySensor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.HumiditySensor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the HumiditySensor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.HumiditySensor.Dispose">
            <summary>Releases all resources used by the HumiditySensor.</summary>
        </member>
        <member name="P:Phidget22.HumiditySensor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>HumidityChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>HumidityChange</c> events can also be affected by the
            <c>HumidityChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.Humidity">
            <summary>The humidity value
            </summary>
            <remarks>The most recent humidity value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinHumidity</c> and <c>MaxHumidity</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MinHumidity">
            <summary>The humidity value
            </summary>
            <remarks>The minimum value that the <c>HumidityChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MaxHumidity">
            <summary>The humidity value
            </summary>
            <remarks>The maximum value that the <c>HumidityChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.HumidityChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>HumidityChange</c> event until the humidity value has changed
            by the amount specified by the <c>HumidityChangeTrigger</c>.
            <list>
            <item>Setting the <c>HumidityChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MinHumidityChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>HumidityChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.HumiditySensor.MaxHumidityChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>HumidityChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.HumiditySensor.HumidityChange">
            <remarks>The most recent humidity value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>HumidityChangeTrigger</c> has been set to a non-zero value, the
            <c>HumidityChange</c> event will not occur until the humidity has changed by at least the
            <c>HumidityChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.IR">
            <summary>IR class definition</summary>
        </member>
        <member name="M:Phidget22.IR.#ctor">
            <summary>IR Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.IR.Finalize">
            <summary>IR Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.IR.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the IR and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.IR.Dispose">
            <summary>Releases all resources used by the IR.</summary>
        </member>
        <member name="F:Phidget22.IR.RawDataLongSpace">
            <summary>The value for a long space in raw data
            </summary>
        </member>
        <member name="F:Phidget22.IR.MaxCodeBitCount">
            <summary>Maximum bit count for sent / received data
            </summary>
        </member>
        <member name="F:Phidget22.IR.MaxCodeStringLength">
            <summary>Maximum bit count for sent / received data
            </summary>
        </member>
        <member name="M:Phidget22.IR.GetLastCode">
            <remarks>The last code the channel has received.
            <list>
            <item>The code is represented by a hexadecimal string (array of bytes).</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.IR.GetLastLearnedCode">
            <remarks>The last code the channel has learned.
            <list>
            <item>The code is represented by a hexadecimal string (array of bytes).</item>
            <item>The <c>codeInfo</c> structure holds data that describes the learned code.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.IR.Transmit(System.String,Phidget22.IRCodeInfo)">
            <remarks>Transmits a code
            <list>
            <item><c>code</c> data is transmitted MSBit first.</item>
            <item>MSByte is in array index 0 of <c>code</c></item>
            <item>LSBit is right justified, therefore, MSBit may be in bit position 0-7 (of array index 0)
            depending on the bit count.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.IR.TransmitRaw(System.Int32[],System.Int32,System.Double,System.Int32)">
            <remarks>Transmits <b>raw</b> data as a series of pulses and spaces.
            <list>
            <item><c>data</c> must start and end with a pulse.
            <list>
            <item>Each element is a positive time in μs</item>
            </list>
            </item>
            <item><c>dataLength</c> has a maximum length of 200, however, streams should be kept must
            shorter than this (less than 100ms between gaps).</item>
            <item style="list-style: none; display: inline">
            <list>
            <item><c>dataLength</c> must be an odd number</item>
            </list>
            </item>
            <item>Leave <c>carrierFrequency</c> as 0 for default.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item><c>carrierFrequency</c> has a range of 10kHz - 1MHz</item>
            </list>
            </item>
            <item>Leave <c>dutyCycle</c> as 0 for default</item>
            <item style="list-style: none; display: inline">
            <list>
            <item><c>dutyCycle</c> can have a value between 0.1 and 0.5</item>
            </list>
            </item>
            <item>Specifying a <c>gap</c> will guarantee a gap time (no transmitting) after data is
            sent.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>gap time is in μs</item>
            <item>gap time can be set to 0</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.IR.TransmitRepeat">
            <remarks>Transmits a repeat of the last transmited code.
            <list>
            <item>Depending on the CodeInfo structure, this may be a retransmission of the code itself, or there
            may be a special repeat code.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.IR.Code">
            <remarks>This event is fired every time a code is received and correctly decoded.
            <list>
            <item>The code is represented by a hexadecimal string (array of bytes) with a length of 1/4 of
            <c>bitCount</c>.</item>
            <item>The MSBit is considered to be the first bit received and will be in array index 0 of
            <c>code</c></item>
            <item>Repeat will be true if a repeat is detected (either timing wise or via a repeat code)</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>False repeasts can happen if two separate button presses happen close together</item>
            </list>
            </item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.IR.Learn">
            <remarks>This event fires when a button has been held down long enough for the channel to have learned the
            CodeInfo values
            <list>
            <item>A code is usually learned after 1 second, or after 4 repeats.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.IR.RawData">
            <remarks>This event will fire every time the channel gets more data
            <list>
            <item>This will happen at most once every 8ms.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.LCD">
            <summary>LCD class definition</summary>
        </member>
        <member name="M:Phidget22.LCD.#ctor">
            <summary>LCD Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.Finalize">
            <summary>LCD Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.LCD.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the LCD and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.LCD.Dispose">
            <summary>Releases all resources used by the LCD.</summary>
        </member>
        <member name="P:Phidget22.LCD.AutoFlush">
            <summary>Allows setting the LCD to flush the screen automatically
            </summary>
            <remarks>Set to true to automatically flush the LCD screen after every message that writes to the LCD.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.Backlight">
            <summary>The backlight value
            </summary>
            <remarks>The <c>Backlight</c> affects the brightness of the LCD screen.
            <list>
            <item><c>Backlight</c> is bounded by <c>MinBacklight</c> and
            <c>MaxBacklight</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.MinBacklight">
            <summary>The backlight value
            </summary>
            <remarks>The minimum value that <c>Backlight</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.MaxBacklight">
            <summary>The backlight value
            </summary>
            <remarks>The maximum value that <c>Backlight</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.Contrast">
            <summary>The contrast value
            </summary>
            <remarks>Contrast level of the text or graphic pixels.
            <list>
            <item>A higher contrast will make the image darker.</item>
            <item><c>Contrast</c> is bounded by <c>MinContrast</c> and <c>MaxContrast</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.MinContrast">
            <summary>The contrast value.
            </summary>
            <remarks>The minimum value that <c>Contrast</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.MaxContrast">
            <summary>The contrast value.
            </summary>
            <remarks>The maximum value that <c>Contrast</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.CursorBlink">
            <summary>The cursor blink mode
            </summary>
            <remarks>When <c>CursorBlink</c> is true, the device will cause the cursor to periodically blink.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.CursorOn">
            <summary>The cursor on value
            </summary>
            <remarks>When <c>CursorOn</c> is true, the device will underline to the cursor position.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.FrameBuffer">
            <summary>The current frame buffer
            </summary>
            <remarks>The frame buffer that is currently being used.
            <list>
            <item>Commands sent to the device are performed on this buffer.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.Height">
            <summary>The height value
            </summary>
            <remarks>The height of the LCD screen attached to the channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.ScreenSize">
            <summary>The screen size
            </summary>
            <remarks>The size of the LCD screen attached to the channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.Sleeping">
            <summary>The sleep status
            </summary>
            <remarks>The on/off state of <c>Sleeping</c>. Putting the device to sleep turns off the display and
            backlight in order to save power.
            <list>
            <item>The device will still take commands while asleep, and will wake up if the screen is flushed, or
            if the contrast or backlight are changed.</item>
            <item>When the device wakes up, it will return to its last known state, taking into account any
            changes that happened while asleep.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LCD.Width">
            <summary>The width value
            </summary>
            <remarks>The width of the LCD screen attached to the channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.SetCharacterBitmap(Phidget22.LCDFont,System.String,System.Byte[])">
            <remarks>Create a bitmap and select a character to represent it. Now, when you use the specific character,
            the bitmap will show in it's place.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginSetCharacterBitmap(Phidget22.LCDFont,System.String,System.Byte[],System.AsyncCallback,System.Object)">
            <remarks>Create a bitmap and select a character to represent it. Now, when you use the specific character,
            the bitmap will show in it's place.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndSetCharacterBitmap(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetCharacterBitmap</param>
        </member>
        <member name="M:Phidget22.LCD.GetMaxCharacters(Phidget22.LCDFont)">
            <remarks>The maximum number of characters that can fit on the frame buffer for the specified font.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.Clear">
            <remarks>Clears all pixels in the current frame buffer.
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginClear(System.AsyncCallback,System.Object)">
            <remarks>Clears all pixels in the current frame buffer.
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndClear(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginClear</param>
        </member>
        <member name="M:Phidget22.LCD.Copy(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <remarks>Copies all pixels from a specified rectangular region to another.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginCopy(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.AsyncCallback,System.Object)">
            <remarks>Copies all pixels from a specified rectangular region to another.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndCopy(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginCopy</param>
        </member>
        <member name="M:Phidget22.LCD.DrawLine(System.Int32,System.Int32,System.Int32,System.Int32)">
            <remarks>Draws a straight line in the current frame buffer between two specified points
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginDrawLine(System.Int32,System.Int32,System.Int32,System.Int32,System.AsyncCallback,System.Object)">
            <remarks>Draws a straight line in the current frame buffer between two specified points
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndDrawLine(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginDrawLine</param>
        </member>
        <member name="M:Phidget22.LCD.DrawPixel(System.Int32,System.Int32,Phidget22.LCDPixelState)">
            <remarks>Draws, erases, or inverts a single specified pixel.
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginDrawPixel(System.Int32,System.Int32,Phidget22.LCDPixelState,System.AsyncCallback,System.Object)">
            <remarks>Draws, erases, or inverts a single specified pixel.
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndDrawPixel(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginDrawPixel</param>
        </member>
        <member name="M:Phidget22.LCD.DrawRectangle(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <remarks>Draws a rectangle in the current frame buffer using the specified points
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginDrawRectangle(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Boolean,System.AsyncCallback,System.Object)">
            <remarks>Draws a rectangle in the current frame buffer using the specified points
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndDrawRectangle(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginDrawRectangle</param>
        </member>
        <member name="M:Phidget22.LCD.Flush">
            <remarks>Flushes the buffered LCD contents to the LCD screen.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginFlush(System.AsyncCallback,System.Object)">
            <remarks>Flushes the buffered LCD contents to the LCD screen.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndFlush(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginFlush</param>
        </member>
        <member name="M:Phidget22.LCD.GetFontSize(Phidget22.LCDFont)">
            <remarks>Gets the size of the specified font.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.SetFontSize(Phidget22.LCDFont,System.Int32,System.Int32)">
            <remarks>Sets the size of the specified font.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginSetFrameBuffer(System.Int32,System.AsyncCallback,System.Object)">
            <summary>The current frame buffer
             </summary>
            <remarks>The frame buffer that is currently being used.
            <list>
            <item>Commands sent to the device are performed on this buffer.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndSetFrameBuffer(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetFrameBuffer</param>
        </member>
        <member name="M:Phidget22.LCD.Initialize">
            <remarks>Initializes the Text LCD display
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.SaveFrameBuffer(System.Int32)">
            <remarks>Writes the specified frame buffer to flash memory
            <list>
            <item>Use sparingly. The flash memory is only designed to be written to 10,000 times before it may
            become unusable. This method can only be called one time each time the channel is opened.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginSaveFrameBuffer(System.Int32,System.AsyncCallback,System.Object)">
            <remarks>Writes the specified frame buffer to flash memory
            <list>
            <item>Use sparingly. The flash memory is only designed to be written to 10,000 times before it may
            become unusable. This method can only be called one time each time the channel is opened.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndSaveFrameBuffer(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSaveFrameBuffer</param>
        </member>
        <member name="M:Phidget22.LCD.WriteBitmap(System.Int32,System.Int32,System.Int32,System.Int32,System.Byte[])">
            <remarks>Draws a bitmap to the current frame buffer at the given location.
            <list>
            <item>Each byte in the array represents one pixel in row-major order.</item>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginWriteBitmap(System.Int32,System.Int32,System.Int32,System.Int32,System.Byte[],System.AsyncCallback,System.Object)">
            <remarks>Draws a bitmap to the current frame buffer at the given location.
            <list>
            <item>Each byte in the array represents one pixel in row-major order.</item>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndWriteBitmap(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginWriteBitmap</param>
        </member>
        <member name="M:Phidget22.LCD.WriteText(Phidget22.LCDFont,System.Int32,System.Int32,System.String)">
            <remarks>Writes text to the current frame buffer at the specified location
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.BeginWriteText(Phidget22.LCDFont,System.Int32,System.Int32,System.String,System.AsyncCallback,System.Object)">
            <remarks>Writes text to the current frame buffer at the specified location
            <list>
            <item>Changes made to the frame buffer must be flushed to the LCD screen using
            <c>Flush()</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LCD.EndWriteText(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginWriteText</param>
        </member>
        <member name="T:Phidget22.LightSensor">
            <summary>LightSensor class definition</summary>
        </member>
        <member name="M:Phidget22.LightSensor.#ctor">
            <summary>LightSensor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.LightSensor.Finalize">
            <summary>LightSensor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.LightSensor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the LightSensor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.LightSensor.Dispose">
            <summary>Releases all resources used by the LightSensor.</summary>
        </member>
        <member name="P:Phidget22.LightSensor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>IlluminanceChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>IlluminanceChange</c> events can also be affected by the
            <c>IlluminanceChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.Illuminance">
            <summary>The illuminance value
            </summary>
            <remarks>The most recent illuminance value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinIlluminance</c> and
            <c>MaxIlluminance</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MinIlluminance">
            <summary>The illuminance value
            </summary>
            <remarks>The minimum value the <c>IlluminanceChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MaxIlluminance">
            <summary>The illuminance value
            </summary>
            <remarks>The maximum value the <c>IlluminanceChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.IlluminanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>IlluminanceChange</c> event until the illuminance value has
            changed by the amount specified by the <c>IlluminanceChangeTrigger</c>.
            <list>
            <item>Setting the <c>IlluminanceChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MinIlluminanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>IlluminanceChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.LightSensor.MaxIlluminanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>IlluminanceChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.LightSensor.IlluminanceChange">
            <remarks>The most recent illuminance value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>IlluminanceChangeTrigger</c> has been set to a non-zero value, the
            <c>IlluminanceChange</c> event will not occur until the illuminance has changed by at least
            the <c>IlluminanceChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.Magnetometer">
            <summary>Magnetometer class definition</summary>
        </member>
        <member name="M:Phidget22.Magnetometer.#ctor">
            <summary>Magnetometer Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Magnetometer.Finalize">
            <summary>Magnetometer Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Magnetometer.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Magnetometer and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Magnetometer.Dispose">
            <summary>Releases all resources used by the Magnetometer.</summary>
        </member>
        <member name="P:Phidget22.Magnetometer.AxisCount">
            <summary>The axis count value
            </summary>
            <remarks>The number of axes the channel can measure field strength on.
            <list>
            <item>See your device's User Guide for more information about the number of axes and their
            orientation.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>MagneticFieldChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>MagneticFieldChange</c> events can also be affected by the
            <c>MagneticFieldChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.HeatingEnabled">
            <summary>Whether self-heating temperature stabilization is enabled
            </summary>
            <remarks>Set to TRUE to enable the temperature stabilization feature of this device. This enables onboard
            heating elements to bring the board up to a known temperature to minimize ambient temerature
            effects on the sensor's reading. You can leave this setting FALSE to conserve power
            consumption.
            
            If you enable heating, it is strongly recommended to keep the board in its enclosure to keep it
            insulated from moving air.
            
            This property is shared by any and all spatial-related objects on this device (Accelerometer,
            Gyroscope, Magnetometer, Spatial)
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MagneticField">
            <summary>The channel's measured MagneticField
            </summary>
            <remarks>The most recent field strength value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinMagneticField</c> and
            <c>MaxMagneticField</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MinMagneticField">
            <summary>The field strength value
            </summary>
            <remarks>The minimum value the <c>MagneticFieldChange</c> event will report.Any readings outside this
            range will result in a <c>Saturation</c> event. This check is done after calibration values
            have been applied, which will affect your magnetometer's range accordingly.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MaxMagneticField">
            <summary>The field strength value
            </summary>
            <remarks>The maximum value the <c>MagneticFieldChange</c> event will report.Any readings outside this
            range will result in a <c>Saturation</c> event. This check is done after calibration values
            have been applied, which will affect your magnetometer's range accordingly.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MagneticFieldChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>MagneticFieldChange</c> event until the field strength value
            has changed by the amount specified by the <c>MagneticFieldChangeTrigger</c>.
            <list>
            <item>Setting the <c>MagneticFieldChangeTrigger</c> to 0 will result in the channel firing
            events every <c>DataInterval</c>. This is useful for applications that implement their own
            data filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MinMagneticFieldChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>MagneticFieldChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.MaxMagneticFieldChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>MagneticFieldChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Magnetometer.Timestamp">
            <summary>The timestamp value
            </summary>
            <remarks>The most recent timestamp value that the channel has reported. This is an extremely accurate time
            measurement streamed from the device.
            <list>
            <item>If your application requires a time measurement, you should use this value over a local
            software timestamp.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Magnetometer.SetCorrectionParameters(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <remarks>Calibrate your device for the environment it will be used in.
            <list>
            <item>Due to physical location, hard and soft iron offsets, and even bias errors, your device should
            be calibrated. We have created a calibration program that will provide you with the
            <c>MagnetometerCorrectionParameters</c> for your specific situation. See your device's User
            Guide for more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Magnetometer.ResetCorrectionParameters">
            <remarks>Resets the <c>MagnetometerCorrectionParameters</c> to their default values.
            <list>
            <item>Due to physical location, hard and soft iron offsets, and even bias errors, your device should
            be calibrated. We have created a calibration program that will provide you with the
            <c>MagnetometerCorrectionParameters</c> for your specific situation. See your device's User
            Guide for more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Magnetometer.SaveCorrectionParameters">
            <remarks>Saves the <c>MagnetometerCorrectionParameters</c>.
            <list>
            <item>Due to physical location, hard and soft iron offsets, and even bias errors, your device should
            be calibrated. We have created a calibration program that will provide you with the
            <c>MagnetometerCorrectionParameters</c> for your specific situation. See your device's User
            Guide for more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Magnetometer.MagneticFieldChange">
            <remarks>The most recent magnetic field values the channel has measured will be reported in this event,
            which occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>MagneticFieldChangeTrigger</c> has been set to a non-zero value, the
            <c>MagneticFieldChange</c> event will not occur until the field strength has changed by at
            least the <c>MagneticFieldChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.MotorPositionController">
            <summary>MotorPositionController class definition</summary>
        </member>
        <member name="M:Phidget22.MotorPositionController.#ctor">
            <summary>MotorPositionController Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorPositionController.Finalize">
            <summary>MotorPositionController Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.MotorPositionController.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the MotorPositionController and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.MotorPositionController.Dispose">
            <summary>Releases all resources used by the MotorPositionController.</summary>
        </member>
        <member name="P:Phidget22.MotorPositionController.Acceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The rate at which the controller can change the motor's velocity.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The minimum value that <c>Acceleration</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The maximum value that <c>Acceleration</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.CurrentLimit">
            <summary>Motor current limit
            </summary>
            <remarks>The controller will limit the current through the motor to this value.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinCurrentLimit">
            <summary>Minimum current limit
            </summary>
            <remarks>The minimum current limit that can be set for the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxCurrentLimit">
            <summary>Maximum current limit
            </summary>
            <remarks>The maximum current limit that can be set for the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.CurrentRegulatorGain">
            <summary>Current Regulator Gain
            </summary>
            <remarks>Depending on power supply voltage and motor coil inductance, current through the motor can change
            relatively slowly or extremely rapidly. A physically larger DC Motor will typically have a lower
            inductance, requiring a higher current regulator gain. A higher power supply voltage will result in
            motor current changing more rapidly, requiring a higher current regulator gain. If the current
            regulator gain is too small, spikes in current will occur, causing large variations in torque, and
            possibly damaging the motor controller. If the current regulator gain is too high, the current will
            jitter, causing the motor to sound 'rough', especially when changing directions. Each DC Motor we
            sell specifies a suitable current regulator gain.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinCurrentRegulatorGain">
            <summary>Minimum current regulator gain
            </summary>
            <remarks>The minimum current regulator gain for the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxCurrentRegulatorGain">
            <summary>Maximum current regulator gain
            </summary>
            <remarks>The maximum current regulator gain for the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>PositionChange</c> / <c>DutyCycleUpdate</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.DeadBand">
            <summary>The dead band value
            </summary>
            <remarks><p><c>DeadBand</c> specifies a a region around the <c>TargetPosition</c>
            (<c>TargetPosition</c> +/- <c>DeadBand</c>) where control of the motor is relaxed.</p>
            Depending on your system, it may not be possible to bring the position error
            (<c>TargetPosition</c> - <c>Position</c>) to zero. A small error can lead to the motor
            continually 'hunting' for a target position, which can cause unwanted effects. By setting a
            non-zero <c>DeadBand</c>, the position controller will relax control of the motor within the
            deadband, preventing the 'hunting' behavior.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.DutyCycle">
            <summary>The duty cycle value.
            </summary>
            <remarks>The most recent duty cycle value that the controller has reported.
            <list>
            <item>This value will be between -1 and 1 where a sign change (±) is indicitave of a direction
            change.</item>
            <item>Note that <c>DutyCycle</c> is merely an indication of the average voltage across the
            motor. At a constant load, an increase in <c>DutyCycle</c> indicates an increase in motor
            speed.</item>
            <item>The units of <c>DutyCycle</c> refer to 'duty cycle'. This is because the controller must
            rapidly switch the power on/off (i.e. change the duty cycle) in order to manipulate the voltage
            across the motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.Engaged">
            <summary>The engaged value.
            </summary>
            <remarks>When engaged, a motor has the ability to be positioned. When disengaged, no commands are sent to
            the motor.
            <list>
            <item>This function is useful for completely relaxing a motor once it has reached the target
            position.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.FanMode">
            <summary>The fan mode
            </summary>
            <remarks>The <c>FanMode</c> dictates the operating condition of the fan.
            <list>
            <item>Choose between on, off, or automatic (based on temperature).</item>
            <item>If the <c>FanMode</c> is set to automatic, the fan will turn on when the temperature
            reaches 70°C and it will remain on until the temperature falls below 55°C.</item>
            <item>If the <c>FanMode</c> is off, the controller will still turn on the fan if the
            temperature reaches 85°C and it will remain on until it falls below 70°C.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.IOMode">
            <summary>The IO mode value.
            </summary>
            <remarks>The encoder interface mode. Match the mode to the type of encoder you have attached.
            <list>
            <item>It is recommended to only change this when the encoder disabled in order to avoid unexpected
            results.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.Kd">
            <summary>The Kd value.
            </summary>
            <remarks>Derivative gain constant. A higher <c>Kd</c> will help reduce oscillations.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.Ki">
            <summary>The Ki value.
            </summary>
            <remarks>Integral gain constant. The integral term will help eliminate steady-state error.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.Kp">
            <summary>The Kp value.
            </summary>
            <remarks>Proportional gain constant. A small <c>Kp</c> value will result in a less responsive
            controller, however, if <c>Kp</c> is too high, the system can become unstable.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.Position">
            <summary>The position value
            </summary>
            <remarks>The most recent position value that the controller has reported.
            <list>
            <item>This value will always be between <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinPosition">
            <summary>The position value
            </summary>
            <remarks>The minimum value that <c>TargetPosition</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxPosition">
            <summary>The position value
            </summary>
            <remarks>The maximum value that <c>TargetPosition</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.RescaleFactor">
            <summary>The rescale factor value
            </summary>
            <remarks>Change the units of your parameters so that your application is more intuitive.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.StallVelocity">
            <summary>The stall velocity value.
            </summary>
            <remarks>Before reading this description, it is important to note the difference between the units of
            <c>StallVelocity</c> and <c>DutyCycle</c>.
            <list>
            <item><c>DutyCycle</c> is a number between -1 and 1 with units of 'duty cycle'. It simply
            represents the average voltage across the motor.</item>
            <item><c>StallVelocity</c> represents a real velocity (e.g. m/s, RPM, etc.) and the units are
            determined by the <c>RescaleFactor</c>. With a <c>RescaleFactor</c> of 1, the default
            units would be in commutations per second.</item>
            </list>
            If the load on your motor is large, your motor may begin rotating more slowly, or even fully stall.
            Depending on the voltage across your motor, this may result in a large amount of current through
            both the controller and the motor. In order to prevent damage in these situations, you can use the
            <c>StallVelocity</c> property.
            
            The <c>StallVelocity</c> should be set to the lowest velocity you would expect from your
            motor. The controller will then monitor the motor's velocity, as well as the
            <c>DutyCycle</c>, and prevent a 'dangerous stall' from occuring. If the controller detects a
            dangerous stall, it will immediately disengage the motor (i.e. <c>Engaged</c> will be set to
            false) and an error will be reported to your program.
            <list>
            <item>A 'dangerous stall' will occur faster when the <c>DutyCycle</c> is higher (i.e. when the
            average voltage across the motor is higher)</item>
            <item>A 'dangerous stall' will occur faster as (<c>StallVelocity</c> - motor velocity) becomes
            larger .</item>
            </list>
            Setting <c>StallVelocity</c> to 0 will turn off stall protection functionality.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinStallVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The lower bound of <c>StallVelocity</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxStallVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The upper bound of <c>StallVelocity</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.TargetPosition">
            <summary>The position value
            </summary>
            <remarks>If the controller is configured and the <c>TargetPosition</c> is set, the motor will try to
            reach the <c>TargetPosition</c>.
            <list>
            <item>If the <c>DeadBand</c> is non-zero, the final position of the motor may not match the
            <c>TargetPosition</c></item>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.VelocityLimit">
            <summary>The velocity value.
            </summary>
            <remarks>When moving, the motor velocity will be limited by this value.
            <list>
            <item><c>VelocityLimit</c> is bounded by <c>MinVelocityLimit</c> and
            <c>MaxVelocityLimit</c>.</item>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            <item style="list-style: none">.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MinVelocityLimit">
            <summary>The velocity value
            </summary>
            <remarks>The minimum value that <c>VelocityLimit</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorPositionController.MaxVelocityLimit">
            <summary>The velocity value
            </summary>
            <remarks>The maximum value that <c>VelocityLimit</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorPositionController.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For Motor Position Controller channels, this will disengage the motor. Once the channel
            enters the <b>failsafe state</b>, it will reject any further input until the channel is
            reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorPositionController.AddPositionOffset(System.Double)">
            <remarks>Adds an offset (positive or negative) to the current position. Useful for zeroing position.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorPositionController.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorPositionController.BeginSetTargetPosition(System.Double,System.AsyncCallback,System.Object)">
            <summary>The position value
             </summary>
            <remarks>If the controller is configured and the <c>TargetPosition</c> is set, the motor will try to
            reach the <c>TargetPosition</c>.
            <list>
            <item>If the <c>DeadBand</c> is non-zero, the final position of the motor may not match the
            <c>TargetPosition</c></item>
            <item>Units for <c>Position</c>, <c>VelocityLimit</c>, <c>Acceleration</c>, and
            <c>DeadBand</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorPositionController.EndSetTargetPosition(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetTargetPosition</param>
        </member>
        <member name="E:Phidget22.MotorPositionController.DutyCycleUpdate">
            <remarks>The most recent duty cycle value will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            <list>
            <item>This event will <b>always</b> occur when the <c>DataInterval</c> elapses. You can depend
            on this event for constant timing when implementing control loops in code. This is the last event
            to fire, giving you up-to-date access to all properties.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.MotorPositionController.PositionChange">
            <remarks>The most recent position value will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            <list>
            <item>Regardless of the <c>DataInterval</c>, this event will occur only when the position value
            has changed from the previous value reported.</item>
            <item>Units for <c>Position</c> can be set by the user through the <c>RescaleFactor</c>.
            The <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.MotorVelocityController">
            <summary>MotorVelocityController class definition</summary>
        </member>
        <member name="M:Phidget22.MotorVelocityController.#ctor">
            <summary>MotorVelocityController Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorVelocityController.Finalize">
            <summary>MotorVelocityController Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.MotorVelocityController.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the MotorVelocityController and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.MotorVelocityController.Dispose">
            <summary>Releases all resources used by the MotorVelocityController.</summary>
        </member>
        <member name="P:Phidget22.MotorVelocityController.Acceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The rate at which the controller can change the motor's velocity.
            <list>
            <item>Units for <c>TargetVelocity</c> and <c>Acceleration</c> can be set by the user
            through the <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more
            intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The minimum value that <c>Acceleration</c> can be set to.
            <list>
            <item>Units for <c>TargetVelocity</c> and <c>Acceleration</c> can be set by the user
            through the <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more
            intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxAcceleration">
            <summary>The acceleration value.
            </summary>
            <remarks>The maximum value that <c>Acceleration</c> can be set to.
            <list>
            <item>Units for <c>TargetVelocity</c> and <c>Acceleration</c> can be set by the user
            through the <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more
            intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.ActiveCurrentLimit">
            <summary>The active current limit value
            </summary>
            <remarks>The latest momentary current limit used by the motor controller taking into account
            <c>SurgeCurrentLimit</c>, <c>CurrentLimit</c>, and temperature.
            <list>
            <item>Most of the time this will match your <c>SurgeCurrentLimit</c></item>
            <item>If <c>SurgeCurrentLimit</c> is higher than the <c>CurrentLimit</c>, and your system
            exceeds the <c>CurrentLimit</c> for too long, this will be gradually reduced until it matches
            the <c>SurgeCurrentLimit</c>.</item>
            <item>If the board's temperature exceeds 75°C, this will be further reduced to prevent overheating.
            See this product's User Guide for details.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinBrakingStrength">
            <summary>The braking strength value
            </summary>
            <remarks>The minimum value that <c>FailsafeBrakingStrength</c> can be set to. See
            <c>FailsafeBrakingStrength</c> for details.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxBrakingStrength">
            <summary>The braking strength value
            </summary>
            <remarks>The maximum value that <c>FailsafeBrakingStrength</c> can be set to. See
            <c>FailsafeBrakingStrength</c> for details.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.CurrentLimit">
            <summary>Motor current limit
            </summary>
            <remarks>The controller will limit the current through the motor to this value.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinCurrentLimit">
            <summary>Minimum current limit
            </summary>
            <remarks>The minimum current limit that can be set for the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxCurrentLimit">
            <summary>Maximum current limit
            </summary>
            <remarks>The maximum current limit that can be set for the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>VelocityChange</c> / <c>DutyCycleUpdate</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.DeadBand">
            <summary>The dead band value
            </summary>
            <remarks>This parameter specifies a minimum <c>Velocity</c> below which your system will relax if the
            <c>TargetVelocity</c> is set to 0, to prevent unwanted jitter.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.DutyCycle">
            <summary>The duty cycle value.
            </summary>
            <remarks>The most recent duty cycle value that the controller has reported.
            <list>
            <item>This value will be between -1 and 1 where a sign change (±) is indicitave of a direction
            change.</item>
            <item>Note that <c>DutyCycle</c> is merely an indication of the average voltage across the
            motor. At a constant load, an increase in <c>DutyCycle</c> indicates an increase in motor
            speed.</item>
            <item>The units of <c>DutyCycle</c> refer to 'duty cycle'. This is because the controller must
            rapidly switch the power on/off (i.e. change the duty cycle) in order to manipulate the voltage
            across the motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.Engaged">
            <summary>The engaged value.
            </summary>
            <remarks>When engaged, a motor has the ability to be controlled. When disengaged, the motor is left to
            freewheel.
            <list>
            <item>This function is useful for completely relaxing a motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.ExpectedVelocity">
            <summary>The expected velocity value
            </summary>
            <remarks>This value indicates the current actual velocity the motor controller is tracking along the
            trapezoidal motion curve. Use this to verify your PID is working as expected.
            <list>
            <item>Units for <c>ExpectedVelocity</c>, can be set by the user through the
            <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more intuitive units
            such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.EnableExpectedVelocity">
            <summary>Enable expected velocity feedback
            </summary>
            <remarks>Set to TRUE to allow expected velocity feedback for tuning the PID loop.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.FailsafeBrakingStrength">
            <summary>The failsafe braking strength value
            </summary>
            <remarks><p>This setting allows you to choose whether motor will forcibly stop once it enters the
            <b>FAILSAFE</b> state.</p>
            <list>
            <item>A setting of 0 will simply stop applying power to the motor, allowing it to spin down
            natually.</item>
            <item>A setting of 1 will apply braking up to the <c>FailsafeCurrentLimit</c>, actively
            stopping the motor</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.FailsafeCurrentLimit">
            <summary>The failsafe current limit value
            </summary>
            <remarks>In <b>FAILSAFE</b> mode, the controller will limit the current through the motor to the
            <c>FailsafeCurrentLimit</c> value.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.Inductance">
            <summary>The inductance of your motor
            </summary>
            <remarks><p>Set during attach to skip motor characterization, or 'get' to capture motor inductance value for
            later use</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinInductance">
            <summary>The motor inductance value
            </summary>
            <remarks>The minimum value that <c>Inductance</c> can be set to. See <c>Inductance</c> for
            details.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxInductance">
            <summary>The motor inductance value
            </summary>
            <remarks>The maximum value that <c>Inductance</c> can be set to. See <c>Inductance</c> for
            details.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.Kd">
            <summary>The Kd value.
            </summary>
            <remarks>Derivative gain constant. A higher <c>Kd</c> will help reduce oscillations.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.Ki">
            <summary>The Ki value.
            </summary>
            <remarks>Integral gain constant. The integral term will help eliminate steady-state error.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.Kp">
            <summary>The Kp value.
            </summary>
            <remarks>Proportional gain constant. A small <c>Kp</c> value will result in a less responsive
            controller, however, if <c>Kp</c> is too high, the system can become unstable.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.PositionType">
            <summary>The position type selection
            </summary>
            <remarks>The <c>PositionType</c> sets whether the control algorithm uses the encoder of the hall
            effect sensor for position information. This setting is locked in once the channel is
            <c>Engaged</c> and cannot be changed until the channel is reset.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.RescaleFactor">
            <summary>The rescale factor value
            </summary>
            <remarks>Change the units of your parameters so that your application is more intuitive.
            <list>
            <item>Units for <c>TargetVelocity</c> and <c>Acceleration</c> can be set by the user
            through the <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more
            intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.StallVelocity">
            <summary>The stall velocity value.
            </summary>
            <remarks>Before reading this description, it is important to note the difference between the units of
            <c>StallVelocity</c> and <c>DutyCycle</c>.
            <list>
            <item><c>DutyCycle</c> is a number between -1 and 1 with units of 'duty cycle'. It simply
            represents the average voltage across the motor.</item>
            <item><c>StallVelocity</c> represents a real velocity (e.g. m/s, RPM, etc.) and the units are
            determined by the <c>RescaleFactor</c>. With a <c>RescaleFactor</c> of 1, the default
            units would be in commutations per second.</item>
            </list>
            If the load on your motor is large, your motor may begin rotating more slowly, or even fully stall.
            Depending on the voltage across your motor, this may result in a large amount of current through
            both the controller and the motor. In order to prevent damage in these situations, you can use the
            <c>StallVelocity</c> property.
            
            The <c>StallVelocity</c> should be set to the lowest velocity you would expect from your
            motor. The controller will then monitor the motor's velocity, as well as the
            <c>DutyCycle</c>, and prevent a 'dangerous stall' from occuring. If the controller detects a
            dangerous stall, it will immediately disengage the motor (i.e. <c>Engaged</c> will be set to
            false) and an error will be reported to your program.
            <list>
            <item>A 'dangerous stall' will occur faster when the <c>DutyCycle</c> is higher (i.e. when the
            average voltage across the motor is higher)</item>
            <item>A 'dangerous stall' will occur faster as (<c>StallVelocity</c> - motor velocity) becomes
            larger .</item>
            </list>
            Setting <c>StallVelocity</c> to 0 will turn off stall protection functionality.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinStallVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The lower bound of <c>StallVelocity</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxStallVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The upper bound of <c>StallVelocity</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.SurgeCurrentLimit">
            <summary>The surge current limit value
            </summary>
            <remarks>The controller will limit the current through the motor to the <c>SurgeCurrentLimit</c> value
            up to 2 seconds, then scale current down to CurrentLimit.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinSurgeCurrentLimit">
            <summary>The surge current value
            </summary>
            <remarks>The minimum value that <c>SurgeCurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxSurgeCurrentLimit">
            <summary>The surge current value
            </summary>
            <remarks>The maximum value that <c>SurgeCurrentLimit</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.TargetVelocity">
            <summary>The velocity value.
            </summary>
            <remarks>When moving, the motor velocity will be limited by this value.
            <list>
            <item><c>TargetVelocity</c> is bounded by <c>MinTargetVelocity</c> and
            <c>MaxTargetVelocity</c>.</item>
            <item>Units for <c>TargetVelocity</c> and <c>Acceleration</c> can be set by the user
            through the <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more
            intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MinTargetVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The minimum value that <c>TargetVelocity</c> can be set to.
            <list>
            <item>Units for <c>TargetVelocity</c> and <c>Acceleration</c> can be set by the user
            through the <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more
            intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.MaxTargetVelocity">
            <summary>The velocity value
            </summary>
            <remarks>The maximum value that <c>TargetVelocity</c> can be set to.
            <list>
            <item>Units for <c>TargetVelocity</c> and <c>Acceleration</c> can be set by the user
            through the <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more
            intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.MotorVelocityController.Velocity">
            <summary>The velocity value
            </summary>
            <remarks>The most recent velocity value that the controller has reported.
            <list>
            <item>Units for <c>Velocity</c>, <c>TargetVelocity</c>, and <c>Acceleration</c>,
            can be set by the user through the <c>RescaleFactor</c>. The <c>RescaleFactor</c>
            allows you to use more intuitive units such as rotations, or degrees.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorVelocityController.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For Motor Velocity Controller channels, this will disengage the motor. Once the channel
            enters the <b>failsafe state</b>, it will reject any further input until the channel is
            reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.MotorVelocityController.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.MotorVelocityController.DutyCycleUpdate">
            <remarks>The most recent duty cycle value will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            <list>
            <item>This event will <b>always</b> occur when the <c>DataInterval</c> elapses. You can depend
            on this event for constant timing when implementing control loops in code. This is the last event
            to fire, giving you up-to-date access to all properties.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.MotorVelocityController.ExpectedVelocityChange">
            <remarks>The most recent velocity being tracked by the Velocity Control loop, which occurs when the
            <c>DataInterval</c> has elapsed.
            <list>
            <item>Regardless of the <c>DataInterval</c>, this event will occur only when the velocity value
            has changed from the previous value reported.</item>
            <item>Units for <c>Velocity</c> can be set by the user through the <c>RescaleFactor</c>.
            The <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.MotorVelocityController.VelocityChange">
            <remarks>The most recent velocity value will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            <div style="margin-left: 2em">Units for <c>Velocity</c> can be set by the user through the
            <c>RescaleFactor</c>. The <c>RescaleFactor</c> allows you to use more intuitive units
            such as rotations, or degrees.</div>
            
            </remarks>
        </member>
        <member name="T:Phidget22.PHSensor">
            <summary>PHSensor class definition</summary>
        </member>
        <member name="M:Phidget22.PHSensor.#ctor">
            <summary>PHSensor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.PHSensor.Finalize">
            <summary>PHSensor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.PHSensor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the PHSensor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.PHSensor.Dispose">
            <summary>Releases all resources used by the PHSensor.</summary>
        </member>
        <member name="P:Phidget22.PHSensor.CorrectionTemperature">
            <summary>The temperature of the solution to correct the pH measurement.
            </summary>
            <remarks>Set this property to the measured temperature of the solution to correct the slope of the pH
            conversion for temperature.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MinCorrectionTemperature">
            <summary>The minimum temperature that can be corrected for.
            </summary>
            <remarks>The minimum value that <c>CorrectionTemperature</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MaxCorrectionTemperature">
            <summary>The maximum temperature that can be corrected for.
            </summary>
            <remarks>The maximum value that <c>CorrectionTemperature</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>PHChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>PHChange</c> events can also be affected by the
            <c>PHChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.PH">
            <summary>The pH value
            </summary>
            <remarks>The most recent pH value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinPH</c> and <c>MaxPH</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MinPH">
            <summary>The pH value
            </summary>
            <remarks>The minimum value the <c>PHChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MaxPH">
            <summary>The pH value
            </summary>
            <remarks>The maximum value the <c>PHChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.PHChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>PHChange</c> event until the pH value has changed by the
            amount specified by the <c>PHChangeTrigger</c>.
            <list>
            <item>Setting the <c>PHChangeTrigger</c> to 0 will result in the channel firing events every
            <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MinPHChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>PHChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PHSensor.MaxPHChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>PHChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.PHSensor.PHChange">
            <remarks>The most recent pH value the channel has measured will be reported in this event, which occurs when
            the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>PHChangeTrigger</c> has been set to a non-zero value, the <c>PHChange</c>
            event will not occur until the pH has changed by at least the <c>PHChangeTrigger</c>
            value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.PowerGuard">
            <summary>PowerGuard class definition</summary>
        </member>
        <member name="M:Phidget22.PowerGuard.#ctor">
            <summary>PowerGuard Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.PowerGuard.Finalize">
            <summary>PowerGuard Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.PowerGuard.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the PowerGuard and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.PowerGuard.Dispose">
            <summary>Releases all resources used by the PowerGuard.</summary>
        </member>
        <member name="P:Phidget22.PowerGuard.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PowerGuard.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PowerGuard.FanMode">
            <summary>The fan mode value
            </summary>
            <remarks>The <c>FanMode</c> dictates the operating condition of the fan.
            <list>
            <item>Choose between on, off, or automatic (based on temperature).</item>
            <item>If the <c>FanMode</c> is set to automatic, the fan will turn on when the temperature
            reaches 70°C and it will remain on until the temperature falls below 55°C.</item>
            <item>If the <c>FanMode</c> is off, the device will still turn on the fan if the temperature
            reaches 85°C and it will remain on until it falls below 70°C.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PowerGuard.OverVoltage">
            <summary>The voltage value
            </summary>
            <remarks>The device constantly monitors the output voltage, and if it exceeds the <c>OverVoltage</c>
            value, it will disconnect the input from the output.
            <list>
            <item>This functionality is critical for protecting power supplies from regenerated voltage coming
            from motors. Many power supplies assume that a higher than output expected voltage is related to an
            internal failure to the power supply, and will permanently disable themselves to protect the
            system. A typical safe value is to set OverVoltage to 1-2 volts higher than the output voltage of
            the supply. For instance, a 12V supply would be protected by setting OverVoltage to 13V.</item>
            <item>The device will connect the input to the output again when the voltage drops to
            (<c>OverVoltage</c> - 1V)</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PowerGuard.MinOverVoltage">
            <summary>The voltage value
            </summary>
            <remarks>The minimum value that <c>OverVoltage</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PowerGuard.MaxOverVoltage">
            <summary>The voltage value
            </summary>
            <remarks>The maximum value that <c>OverVoltage</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PowerGuard.PowerEnabled">
            <summary>The power enabled value.
            </summary>
            <remarks>When <c>PowerEnabled</c> is true, the device will connect the input to the output and begin
            monitoring.
            <list>
            <item>The output voltage is constantly monitored and will be automatically disconnected from the
            input when the output exceeds the <c>OverVoltage</c> value.</item>
            <item><c>PowerEnabled</c> allows the device to operate as a Solid State Relay, powering on or
            off all devices connected to the output.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.PowerGuard.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For Power Guard channels, this will turn off the output. Once the channel enters the
            <b>failsafe state</b>, it will reject any further input until the channel is reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.PowerGuard.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="T:Phidget22.PressureSensor">
            <summary>PressureSensor class definition</summary>
        </member>
        <member name="M:Phidget22.PressureSensor.#ctor">
            <summary>PressureSensor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.PressureSensor.Finalize">
            <summary>PressureSensor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.PressureSensor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the PressureSensor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.PressureSensor.Dispose">
            <summary>Releases all resources used by the PressureSensor.</summary>
        </member>
        <member name="P:Phidget22.PressureSensor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>PressureChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>PressureChange</c> events can also be affected by the
            <c>PressureChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.Pressure">
            <summary>The pressure value
            </summary>
            <remarks>The most recent pressure value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinPressure</c> and <c>MaxPressure</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MinPressure">
            <summary>The pressure value
            </summary>
            <remarks>The minimum value the <c>PressureChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MaxPressure">
            <summary>The pressure value
            </summary>
            <remarks>The maximum value the <c>PressureChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.PressureChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>PressureChange</c> event until the pressure value has changed
            by the amount specified by the <c>PressureChangeTrigger</c>.
            <list>
            <item>Setting the <c>PressureChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MinPressureChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>PressureChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.PressureSensor.MaxPressureChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>PressureChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.PressureSensor.PressureChange">
            <remarks>The most recent pressure value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>PressureChangeTrigger</c> has been set to a non-zero value, the
            <c>PressureChange</c> event will not occur until the pressure has changed by at least the
            <c>PressureChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.RCServo">
            <summary>RCServo class definition</summary>
        </member>
        <member name="M:Phidget22.RCServo.#ctor">
            <summary>RCServo Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RCServo.Finalize">
            <summary>RCServo Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.RCServo.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the RCServo and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.RCServo.Dispose">
            <summary>Releases all resources used by the RCServo.</summary>
        </member>
        <member name="P:Phidget22.RCServo.Acceleration">
            <summary>The acceleration value
            </summary>
            <remarks>When changing velocity, the RC servo motor will accelerate/decelerate at this rate.
            <list>
            <item>The acceleration is bounded by <c>MaxAcceleration</c> and
            <c>MinAcceleration</c>.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Using the <b>default settings</b> this acceleration will correspond acceleration of servo arm
            in <b>degrees/s<sup>2</sup></b>, for many standard RC servos.</item>
            </list>
            </item>
            <item><c>SpeedRampingState</c> controls whether or not the acceleration value is actually
            applied when trying to reach a target position.</item>
            <item>There is a practical limit on how fast your RC servo motor can accelerate. This is based on the
            load and physical design of the motor.</item>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinAcceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The minimum value that <c>Acceleration</c> can be set to.
            <list>
            <item>This value depends on <c>MinPosition</c>/<c>MaxPosition</c> and
            <c>MinPulseWidth</c>/<c>MaxPulseWidth</c></item>
            <item style="list-style: none">.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxAcceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The maximum acceleration that <c>Acceleration</c> can be set to.
            <list>
            <item>This value depends on <c>MinPosition</c>/<c>MaxPosition</c> and
            <c>MinPulseWidth</c>/<c>MaxPulseWidth</c>.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>PositionChange</c> / <c>VelocityChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.Engaged">
            <summary>The engaged value
            </summary>
            <remarks>When engaged, a RC servo motor has the ability to be positioned. When disengaged, no commands are
            sent to the RC servo motor.
            <list>
            <item>There is no position feedback to the controller, so the RC servo motor will immediately snap to
            the <c>TargetPosition</c> after being engaged from a disengaged state.</item>
            <item>This property is useful for relaxing a servo once it has reached a given position.</item>
            <item>If you are concerned about tracking position accurately, you should not disengage the motor
            while <c>IsMoving</c> is true.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.IsMoving">
            <summary>The moving value
            </summary>
            <remarks><c>IsMoving</c> returns true if the RC servo motor is currently in motion.
            <list>
            <item>The controller cannot know if the RC servo motor is physically moving. When
            <c>IsMoving</c> is false, it simply means there are no commands in the pipeline to the RC
            servo motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.Position">
            <summary>The position value
            </summary>
            <remarks>The most recent position of the RC servo motor that the controller has reported.
            <list>
            <item>This value will always be between <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Using the <b>default settings</b> this position will correspond to the rotation of the servo
            arm in <b>degrees</b>, for many standard RC servos.</item>
            </list>
            </item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinPosition">
            <summary>The position value
            </summary>
            <remarks>The minimum position that <c>TargetPosition</c> can be set to.
            <list>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxPosition">
            <summary>The position value
            </summary>
            <remarks>The maximum position <c>TargetPosition</c> can be set to.
            <list>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinPulseWidth">
            <summary>The pulse width value
            </summary>
            <remarks>The <c>MinPulseWidth</c> represents the minimum pulse width that your RC servo motor
            specifies.
            <list>
            <item>This value can be found in the data sheet of most RC servo motors.</item>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxPulseWidth">
            <summary>The pulse width value
            </summary>
            <remarks>The <c>MaxPulseWidth</c> represents the maximum pulse width that your RC servo motor
            specifies.
            <list>
            <item>This value can be found in the data sheet of most RC servo motors.</item>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinPulseWidthLimit">
            <summary>The pulse width value
            </summary>
            <remarks>The minimum pulse width that <c>MinPulseWidth</c> can be set to.
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxPulseWidthLimit">
            <summary>The pulse width value
            </summary>
            <remarks>The maximum pulse width that <c>MaxPulseWidth</c> can be set to.
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.SpeedRampingState">
            <summary>The speed ramping state value
            </summary>
            <remarks>When speed ramping state is enabled, the controller will take the <c>Acceleration</c> and
            <c>VelocityLimit</c> properties into account when moving the RC servo motor, usually
            resulting in smooth motion. If speed ramping state is not enabled, the controller will simply set
            the RC servo motor to the requested position.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.TargetPosition">
            <summary>The position value
            </summary>
            <remarks>If the RC servo motor is configured and <c>TargetPosition</c> is set, the controller will
            continuously try to reach targeted position.
            <list>
            <item>The target position is bounded by <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Using the <b>default settings</b> this position will correspond to the rotation of the servo
            arm in <b>degrees</b>, for many standard RC servos.</item>
            </list>
            </item>
            <item>If the RC servo motor is not engaged, then the position cannot be read.</item>
            <item>The position can still be set while the RC servo motor is not engaged. Once engaged, the RC
            servo motor will snap to position, assuming it is not there already.</item>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            <h3>Position and Pulse Width</h3>
            <list>
            <item>An RC servo motor's position is controlled using a type of <b>Pulse Width Modulation</b>,
            sending voltage pulses of a given time span, or <b>Pulse Width</b> to the servo.</item>
            <item>The servo translates the <b>Pulse Width</b> of the control signal to a corresponding position
            of the servo arm.</item>
            <item>Knowing this, a servo's range of motion can be thought of in terms of a
            <c>MinPulseWidth</c> and a <c>MaxPulseWidth</c> corresponding to range of pulse widths
            that produce the servo arm's full <b>range of movement</b>.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>In Phidget22, you can adjust the <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>
            stored by the library to match the desired <b>range of movement</b> you expect from your
            servo.</item>
            </list>
            </item>
            <item>Since directly setting the timing of RC servo pulse widths is not very intuitive for most
            purpses, we map these pulse widths to a user-defied <i><b>Minimum</b></i> and <i><b>Maximum</b></i>
            <b>Position</b>.This allows you to define the servo's position in terms best suited to your
            application, such as degrees, fractions of a rotation, or even some measure of speed for a
            continuous-rotation servo.</item>
            <item>By setting the servo's <c>TargetPosition</c> to <c>MaxPosition</c>, the controller
            will send pulses of <c>MaxPulseWidth</c> to the servo.
            <list>
            <item>Similarly, <c>MinPosition</c> will send pulses of <c>MinPulseWidth</c> to the
            servo</item>
            <item><c>MaxPosition</c> can be set smaller than <c>MinPosition</c> to invert movement of
            the servo, if it helps your application.</item>
            </list>
            </item>
            <item>Setting a <c>TargetPosition</c> will transate the position between
            <c>MinPosition</c> and <c>MaxPosition</c> to a corresponding <b>Pulse Width</b> between
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>, in turn sending the servo arm to the
            desired position.</item>
            <item>Setting <c>VelocityLimit</c> and <c>Acceleration</c> for your servo will limit the
            rate of change of the servo's position in terms of one <i><b>UserUnit</b></i> per second (or
            /s<sup>2</sup>). Here, a <i><b>UserUnit</b></i> is whatever distance is maked by the change of the
            <c>TargetPosition</c> by <b>1.0</b></item>
            </list>
            <h3>Adjusting the Servo's Limits</h3>
            <list>
            <item><b>To tune your program to a specific servo:</b></item>
            </list>
            <ol>
            <item>First adjust the servo's range of motion by setting the <c>MaxPulseWidth</c> and
            <c>MinPulseWidth</c>. You can use the default values for these <i>(or the ones on your
            servo's datasheet)</i> as a starting point.</item>
            <item>Send the servo to <c>MaxPosition</c> and <c>MinPosition</c> to check the results.
            Repeat steps 1 and 2 as nessesarry.</item>
            <item>Set the <c>MaxPosition</c> and <c>MinPosition</c> to match whatever numbers you
            find best suited to your application.</item>
            </ol>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.Torque">
            <summary>The torque value.
            </summary>
            <remarks>The <c>Torque</c> is a ratio of the maximum available torque.
            <list>
            <item>The torque is bounded by <c>MinTorque</c> and <c>MaxTorque</c></item>
            <item>Increasing the torque will increase the speed and power consumption of the RC servo motor.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinTorque">
            <summary>The torque value
            </summary>
            <remarks>The minimum value that <c>Torque</c> can be set to.
            <list>
            <item><c>Torque</c> is a ratio of the maximum available torque, therefore the minimum torque is
            a unitless constant.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxTorque">
            <summary>The torque value
            </summary>
            <remarks>The maximum value that <c>Torque</c> can be set to.
            <list>
            <item><c>Torque</c> is a ratio of the maximum available torque, therefore the minimum torque is
            a unitless constant.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.Velocity">
            <summary>The velocity value
            </summary>
            <remarks>The velocity that the RC servo motor is being driven at.
            <list>
            <item>A negative value means the RC servo motor is moving towards a lower position.</item>
            <item>The velocity range of the RC servo motor will be from -<c>VelocityLimit</c> to
            +<c>VelocityLimit</c>, depending on direction.</item>
            <item>This is not the actual physical velocity of the RC servo motor.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.VelocityLimit">
            <summary>The velocity value
            </summary>
            <remarks>When moving, the RC servo motor velocity will be limited by this value.
            <list>
            <item>The velocity limit is bounded by <c>MinVelocityLimit</c> and
            <c>MaxVelocityLimit</c>.</item>
            </list>
            <list>
            <item>Using the <b>default settings</b> this velocity will correspond to the maximum speed of
            rotation of servo arm in <b>degrees/s</b>, for many standard RC servos.</item>
            </list>
            <list>
            <item><c>SpeedRampingState</c> controls whether or not the velocity limit value is actually
            applied when trying to reach a target position.</item>
            <item>The velocity range of the RC servo motor will be from -<c>VelocityLimit</c> to
            +<c>VelocityLimit</c>, depending on direction.</item>
            <item>Note that when this value is set to 0, the RC servo motor will not move.</item>
            <item>There is a practical limit on how fast your servo can rotate, based on the physical design of
            the motor.</item>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MinVelocityLimit">
            <summary>The velocity value
            </summary>
            <remarks>The minimum velocity <c>VelocityLimit</c> can be set to.
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.MaxVelocityLimit">
            <summary>The velocity value
            </summary>
            <remarks>The maximum velocity <c>VelocityLimit</c> can be set to. This value depends on
            <c>MinPosition</c>/<c>MaxPosition</c> and
            <c>MinPulseWidth</c>/<c>MaxPulseWidth</c>.
            <p>See <c>TargetPosition</c> for a deeper explanation of how the settings of your RC Servo
            controller interact to move your servo.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RCServo.Voltage">
            <summary>The voltage value
            </summary>
            <remarks>The supply voltage for the RC servo motor.
            <list>
            <item>If your controller supports multiple RC servo motors, every motor will have the same supply
            voltage. It is not possible to set individual supply voltages.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RCServo.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For RC Servo channels, this will disengage the servo. Once the channel enters the
            <b>failsafe state</b>, it will reject any further input until the channel is reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RCServo.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RCServo.BeginSetTargetPosition(System.Double,System.AsyncCallback,System.Object)">
            <summary>The position value
             </summary>
            <remarks>If the RC servo motor is configured and <c>TargetPosition</c> is set, the controller will
            continuously try to reach targeted position.
            <list>
            <item>The target position is bounded by <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Using the <b>default settings</b> this position will correspond to the rotation of the servo
            arm in <b>degrees</b>, for many standard RC servos.</item>
            </list>
            </item>
            <item>If the RC servo motor is not engaged, then the position cannot be read.</item>
            <item>The position can still be set while the RC servo motor is not engaged. Once engaged, the RC
            servo motor will snap to position, assuming it is not there already.</item>
            <item>The units for <c>TargetPosition</c>, <c>VelocityLimit</c>, and
            <c>Acceleration</c> are configured by scaling the internal timing (set with
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>) to a user specified range with
            <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            </list>
            <h3>Position and Pulse Width</h3>
            <list>
            <item>An RC servo motor's position is controlled using a type of <b>Pulse Width Modulation</b>,
            sending voltage pulses of a given time span, or <b>Pulse Width</b> to the servo.</item>
            <item>The servo translates the <b>Pulse Width</b> of the control signal to a corresponding position
            of the servo arm.</item>
            <item>Knowing this, a servo's range of motion can be thought of in terms of a
            <c>MinPulseWidth</c> and a <c>MaxPulseWidth</c> corresponding to range of pulse widths
            that produce the servo arm's full <b>range of movement</b>.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>In Phidget22, you can adjust the <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>
            stored by the library to match the desired <b>range of movement</b> you expect from your
            servo.</item>
            </list>
            </item>
            <item>Since directly setting the timing of RC servo pulse widths is not very intuitive for most
            purpses, we map these pulse widths to a user-defied <i><b>Minimum</b></i> and <i><b>Maximum</b></i>
            <b>Position</b>.This allows you to define the servo's position in terms best suited to your
            application, such as degrees, fractions of a rotation, or even some measure of speed for a
            continuous-rotation servo.</item>
            <item>By setting the servo's <c>TargetPosition</c> to <c>MaxPosition</c>, the controller
            will send pulses of <c>MaxPulseWidth</c> to the servo.
            <list>
            <item>Similarly, <c>MinPosition</c> will send pulses of <c>MinPulseWidth</c> to the
            servo</item>
            <item><c>MaxPosition</c> can be set smaller than <c>MinPosition</c> to invert movement of
            the servo, if it helps your application.</item>
            </list>
            </item>
            <item>Setting a <c>TargetPosition</c> will transate the position between
            <c>MinPosition</c> and <c>MaxPosition</c> to a corresponding <b>Pulse Width</b> between
            <c>MinPulseWidth</c> and <c>MaxPulseWidth</c>, in turn sending the servo arm to the
            desired position.</item>
            <item>Setting <c>VelocityLimit</c> and <c>Acceleration</c> for your servo will limit the
            rate of change of the servo's position in terms of one <i><b>UserUnit</b></i> per second (or
            /s<sup>2</sup>). Here, a <i><b>UserUnit</b></i> is whatever distance is maked by the change of the
            <c>TargetPosition</c> by <b>1.0</b></item>
            </list>
            <h3>Adjusting the Servo's Limits</h3>
            <list>
            <item><b>To tune your program to a specific servo:</b></item>
            </list>
            <ol>
            <item>First adjust the servo's range of motion by setting the <c>MaxPulseWidth</c> and
            <c>MinPulseWidth</c>. You can use the default values for these <i>(or the ones on your
            servo's datasheet)</i> as a starting point.</item>
            <item>Send the servo to <c>MaxPosition</c> and <c>MinPosition</c> to check the results.
            Repeat steps 1 and 2 as nessesarry.</item>
            <item>Set the <c>MaxPosition</c> and <c>MinPosition</c> to match whatever numbers you
            find best suited to your application.</item>
            </ol>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RCServo.EndSetTargetPosition(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetTargetPosition</param>
        </member>
        <member name="E:Phidget22.RCServo.PositionChange">
            <remarks>An event that occurs when the position changes on a RC servo motor.
            </remarks>
        </member>
        <member name="E:Phidget22.RCServo.TargetPositionReached">
            <remarks>Occurs when the RC servo motor has reached the <c>TargetPosition</c>.
            <list>
            <item>The controller cannot know if the RC servo motor has physically reached the target position.
            When <c>TargetPosition</c> is reached, it simply means the controller pulse width output is
            matching its target.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.RCServo.VelocityChange">
            <remarks>An event that occurs when the velocity changes on a RC servo motor.
            </remarks>
        </member>
        <member name="T:Phidget22.ResistanceInput">
            <summary>ResistanceInput class definition</summary>
        </member>
        <member name="M:Phidget22.ResistanceInput.#ctor">
            <summary>ResistanceInput Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.ResistanceInput.Finalize">
            <summary>ResistanceInput Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.ResistanceInput.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the ResistanceInput and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.ResistanceInput.Dispose">
            <summary>Releases all resources used by the ResistanceInput.</summary>
        </member>
        <member name="P:Phidget22.ResistanceInput.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>ResistanceChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>ResistanceChange</c> events can also be affected by the
            <c>ResistanceChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.Resistance">
            <summary>The resistance value
            </summary>
            <remarks>The most recent resistance value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinResistance</c> and
            <c>MaxResistance</c>.</item>
            <item>The <c>Resistance</c> value will change when the device is also being used as a
            temperature sensor. This is a side effect of increasing accuracy on the temperature channel.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MinResistance">
            <summary>The minimum resistance
            </summary>
            <remarks>The minimum value the <c>ResistanceChange</c> event will report.
            <list>
            <item>When the device is also being used as a TemperatureSensor the <c>MinResistance</c> and
            <c>MaxResistance</c> will not represent the true input range. This is a side effect of
            increasing accuracy on the temperature channel.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MaxResistance">
            <summary>The resistance value
            </summary>
            <remarks>The maximum value the <c>ResistanceChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.ResistanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>ResistanceChange</c> event until the resistance value has
            changed by the amount specified by the <c>ResistanceChangeTrigger</c>.
            <list>
            <item>Setting the <c>ResistanceChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MinResistanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that the <c>ResistanceChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.MaxResistanceChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>ResistanceChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.ResistanceInput.RTDWireSetup">
            <summary>Wire setup value
            </summary>
            <remarks>Select the RTD wiring configuration.
            <list>
            <item>More information about RTD wiring can be found in the user guide.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.ResistanceInput.ResistanceChange">
            <remarks>The most recent resistance value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>ResistanceChangeTrigger</c> has been set to a non-zero value, the
            <c>ResistanceChange</c> event will not occur until the resistance has changed by at least the
            <c>ResistanceChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.RFID">
            <summary>RFID class definition</summary>
        </member>
        <member name="M:Phidget22.RFID.#ctor">
            <summary>RFID Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RFID.Finalize">
            <summary>RFID Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.RFID.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the RFID and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.RFID.Dispose">
            <summary>Releases all resources used by the RFID.</summary>
        </member>
        <member name="P:Phidget22.RFID.AntennaEnabled">
            <summary>The state of the antenna
            </summary>
            <remarks>The on/off state of the antenna.
            <list>
            <item>You can turn the antenna off to save power.</item>
            <item>You must turn the antenna on in order to detect and read RFID tags.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.RFID.TagPresent">
            <summary>Tag is in range
            </summary>
            <remarks>This property is true if a compatibile RFID tag is being read by the reader.
            <list>
            <item><c>TagPresent</c> will remain true until the tag is out of range and can no longer be
            read.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RFID.GetLastTag">
            <remarks>Gets the most recently read tag's data, even if that tag is no longer within read range.
            <list>
            <item>Only valid after at least one tag has been read.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.RFID.Write(System.String,Phidget22.RFIDProtocol,System.Boolean)">
            <remarks>Writes data to the tag being currently read by the reader.
            <list>
            <item>You cannot write to a read-only or locked tag.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.RFID.Tag">
            <remarks>Occurs when an RFID tag is read.
            </remarks>
        </member>
        <member name="E:Phidget22.RFID.TagLost">
            <remarks>Occurs when an RFID tag that was being read is no longer seen by the reader. Typically this
            indicates the tag has been removed from the read range, though it could also happen due to
            interference from multiple tags entering the read range at the same time.
            </remarks>
        </member>
        <member name="T:Phidget22.SoundSensor">
            <summary>SoundSensor class definition</summary>
        </member>
        <member name="M:Phidget22.SoundSensor.#ctor">
            <summary>SoundSensor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.SoundSensor.Finalize">
            <summary>SoundSensor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.SoundSensor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the SoundSensor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.SoundSensor.Dispose">
            <summary>Releases all resources used by the SoundSensor.</summary>
        </member>
        <member name="P:Phidget22.SoundSensor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>SPLChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>SPLChange</c> events can also be affected by the
            <c>SPLChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.dB">
            <summary>The dB value
            </summary>
            <remarks>The most recent dB SPL value that has been calculated.
            <list>
            <item>This value is bounded by <c>MaxdB</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.MaxdB">
            <summary>The dB value
            </summary>
            <remarks>The maximum value the <c>SPLChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.dBA">
            <summary>The dBA value
            </summary>
            <remarks>The most recent dBA SPL value that has been calculated.
            <list>
            <item>The dBA SPL value is calculated by applying a A-weighted filter to the <c>Octaves</c>
            data.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.dBC">
            <summary>The dBC value
            </summary>
            <remarks>The most recent dBC SPL value that has been calculated.
            <list>
            <item>The dBC SPL value is calculated by applying a C-weighted filter to the <c>Octaves</c>
            data.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.NoiseFloor">
            <summary>The noise floor value.
            </summary>
            <remarks>The minimum SPL value that the channel can accurately measure.
            <list>
            <item>Input SPLs below this level will not produce an output from the microphone.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.Octaves">
            <summary>The octave values
            </summary>
            <remarks>The unweighted value of each frequency band.
            <list>
            <item>The following frequency bands are represented:</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>octaves[0] = 31.5 Hz</item>
            <item>octaves[1] = 63 Hz</item>
            <item>octaves[2] = 125 Hz</item>
            <item>octaves[3] = 250 Hz</item>
            <item>octaves[4] = 500 Hz</item>
            <item>octaves[5] = 1 kHz</item>
            <item>octaves[6] = 2 kHz</item>
            <item>octaves[7] = 4 kHz</item>
            <item>octaves[8] = 8 kHz</item>
            <item>octaves[9] = 16 kHz</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.SPLChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>SPLChange</c> event until the <c>dB</c> value has
            changed by the amount specified by the <c>SPLChangeTrigger</c>.
            <list>
            <item>Setting the <c>SPLChangeTrigger</c> to 0 will result in the channel firing events every
            <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.MinSPLChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>SPLChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.MaxSPLChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>SPLChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.SoundSensor.SPLRange">
            <summary>The range value.
            </summary>
            <remarks>When selecting a range, first decide how sensitive you want the microphone to be. Select a smaller
            range when you want more sensitivity from the microphone.
            <list>
            <item>If a <c>Saturation</c> event occurrs, increase the range.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.SoundSensor.SPLChange">
            <remarks>The most recent SPL values the channel has measured will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>SPLChangeTrigger</c> has been set to a non-zero value, the <c>SPLChange</c>
            event will not occur until the <c>dB</c> SPL value has changed by at least the
            <c>SPLChangeTrigger</c> value.</item>
            <item>The dB SPL value is calculated from the <c>Octaves</c> data.</item>
            <item>The dBA SPL value is calculated by applying a A-weighted filter to the <c>Octaves</c>
            data.</item>
            <item>The dBC SPL value is calculated by applying a C-weighted filter to the <c>Octaves</c>
            data.</item>
            <item>The following frequency bands are represented:</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>octaves[0] = 31.5 Hz</item>
            <item>octaves[1] = 63 Hz</item>
            <item>octaves[2] = 125 Hz</item>
            <item>octaves[3] = 250 Hz</item>
            <item>octaves[4] = 500 Hz</item>
            <item>octaves[5] = 1 kHz</item>
            <item>octaves[6] = 2 kHz</item>
            <item>octaves[7] = 4 kHz</item>
            <item>octaves[8] = 8 kHz</item>
            <item>octaves[9] = 16 kHz</item>
            </list>
            </item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.Spatial">
            <summary>Spatial class definition</summary>
        </member>
        <member name="M:Phidget22.Spatial.#ctor">
            <summary>Spatial Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Spatial.Finalize">
            <summary>Spatial Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Spatial.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Spatial and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Spatial.Dispose">
            <summary>Releases all resources used by the Spatial.</summary>
        </member>
        <member name="P:Phidget22.Spatial.MinAcceleration">
            <summary>The minimum acceleration value
            </summary>
            <remarks>The minimum acceleration the sensor will measure.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MaxAcceleration">
            <summary>The maximum acceleration values
            </summary>
            <remarks>The maximum acceleration the sensor will measure.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.Algorithm">
            <summary>The sensor algorithm
            </summary>
            <remarks>Selects the IMU/AHRS algorithm.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.AlgorithmMagnetometerGain">
            <summary>The AHRS algorithm magnetometer gain
            </summary>
            <remarks>Sets the gain for the magnetometer in the AHRS algorithm. Lower gains reduce sensor noise while
            slowing response time.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MinAngularRate">
            <summary>The angular rate values
            </summary>
            <remarks>The minimum angular rate the sensor will measure.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MaxAngularRate">
            <summary>The angular rate values
            </summary>
            <remarks>The maximum angular rate the sensor will measure.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>SpatialData</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.EulerAngles">
            <summary>Gets the latest device orientation in the form of Euler angles.
            </summary>
            <remarks>Gets the latest device orientation in the form of Euler angles. (Pitch, roll, and yaw)
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.HeatingEnabled">
            <summary>Whether self-heating temperature stabilization is enabled
            </summary>
            <remarks>Set to TRUE to enable the temperature stabilization feature of this device. This enables on-board
            heating elements to bring the board up to a known temperature to minimize ambient temperature
            effects on the sensor's reading. You can leave this setting FALSE to conserve power
            consumption.
            
            If you enable heating, it is strongly recommended to keep the board in its enclosure to keep it
            insulated from moving air.
            
            This property is shared by any and all spatial-related objects on this device (Accelerometer,
            Gyroscope, Magnetometer, Spatial)
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MinMagneticField">
            <summary>The field strength value
            </summary>
            <remarks>The minimum field strength the sensor will measure.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.MaxMagneticField">
            <summary>The field strength value
            </summary>
            <remarks>The maximum field strength the sensor will measure.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.Precision">
            <summary>The sensor precision value
            </summary>
            <remarks>Selects between high/low precision sensing chips.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Spatial.Quaternion">
            <summary>Gets the latest AHRS/IMU quaternion sent from the device.
            </summary>
            <remarks>Gets the latest AHRS/IMU quaternion sent from the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Spatial.SetAHRSParameters(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <remarks>Calibrate your device for the environment it will be used in.
            <list>
            <item>Setting these parameters will allow you to tune the AHRS algorithm on the device to your
            specific application.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Spatial.SetMagnetometerCorrectionParameters(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <remarks>Calibrate your device for the environment it will be used in.
            <list>
            <item>Due to physical location, hard and soft iron offsets, and even bias errors, your device should
            be calibrated. We have created a calibration program that will provide you with the
            <c>MagnetometerCorrectionParameters</c> for your specific situation. See your device's User
            Guide for more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Spatial.ResetMagnetometerCorrectionParameters">
            <remarks>Resets the <c>MagnetometerCorrectionParameters</c> to their default values.
            <list>
            <item>Due to physical location, hard and soft iron offsets, and even bias errors, your device should
            be calibrated. We have created a calibration program that will provide you with the
            <c>MagnetometerCorrectionParameters</c> for your specific situation. See your device's User
            Guide for more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Spatial.SaveMagnetometerCorrectionParameters">
            <remarks>Saves the <c>MagnetometerCorrectionParameters</c>.
            <list>
            <item>Due to physical location, hard and soft iron offsets, and even bias errors, your device should
            be calibrated. We have created a calibration program that will provide you with the
            <c>MagnetometerCorrectionParameters</c> for your specific situation. See your device's User
            Guide for more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Spatial.ZeroAlgorithm">
            <remarks>Zeros the AHRS algorithm.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Spatial.ZeroGyroscope">
            <remarks>Re-zeros the gyroscope in 1-2 seconds.
            <list>
            <item>The device must be stationary when zeroing.</item>
            <item>The angular rate will be reported as 0.0°/s while zeroing.</item>
            <item>Zeroing the gyroscope is a method of compensating for the drift that is inherent to all
            gyroscopes. See your device's User Guide for more information on dealing with drift.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Spatial.AlgorithmData">
            <remarks>The most recent IMU/AHRS Quaternion will be reported in this event, which occurs when the
            <c>DataInterval</c> has elapsed.
            </remarks>
        </member>
        <member name="E:Phidget22.Spatial.SpatialData">
            <remarks>The most recent values that your channel has measured will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            </remarks>
        </member>
        <member name="T:Phidget22.Stepper">
            <summary>Stepper class definition</summary>
        </member>
        <member name="M:Phidget22.Stepper.#ctor">
            <summary>Stepper Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Stepper.Finalize">
            <summary>Stepper Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Stepper.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Stepper and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Stepper.Dispose">
            <summary>Releases all resources used by the Stepper.</summary>
        </member>
        <member name="P:Phidget22.Stepper.Acceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The rate at which the controller can change the motor's <c>Velocity</c>.
            <list>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            <item>Changing the acceleration value while the stepper is in motion (especially at speeds higher
            than 1000 1/16th steps/s) can cause unpredictable results due to the inability of the processor
            tocalculate a new acceleration curve quickly enough. Generally you should wait until the motor is
            stationary until calling this function.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MinAcceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The minimum value that <c>Acceleration</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MaxAcceleration">
            <summary>The acceleration value
            </summary>
            <remarks>The maximum value that <c>Acceleration</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.ControlMode">
            <summary>The control mode value
            </summary>
            <remarks>Use <c>StepperControlMode.Step</c> mode when you want to set a <c>TargetPosition</c>
            for the Stepper motor. Use <c>StepperControlMode.Run</c> mode when you simply want the
            Stepper motor to rotate continuously in a specific direction.
            
            Changing the control mode while the motor is running will not have an effect on the motor's
            movements until a new <c>TargetPosition</c> or <c>VelocityLimit</c> is set.
            
            In <c>StepperControlMode.Run</c> mode, setting a <c>VelocityLimit</c> will also set the
            target position of the controller to <c>MinPosition</c> or <c>MaxPosition</c>,
            corresponding to the direction of movement.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.CurrentLimit">
            <summary>The current limit value
            </summary>
            <remarks>The current through the motor will be limited by the <c>CurrentLimit</c>.
            <list>
            <item>See your Stepper motor's data sheet for more information about what value the
            <c>CurrentLimit</c> should be.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MinCurrentLimit">
            <summary>The current limit
            </summary>
            <remarks>The minimum value that <c>CurrentLimit</c> and <c>HoldingCurrentLimit</c> can be set
            to.
            <list>
            <item>Reference your controller's User Guide for more information about how the
            <c>HoldingCurrentLimit</c> and <c>CurrentLimit</c> can be used in your
            application.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MaxCurrentLimit">
            <summary>The current limit
            </summary>
            <remarks>The maximum value that <c>CurrentLimit</c> and <c>HoldingCurrentLimit</c> can be set
            to.
            <list>
            <item>Reference your controller's User Guide for more information about how the
            <c>HoldingCurrentLimit</c> and <c>CurrentLimit</c> can be used in your
            application.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>PositionChange</c> / <c>VelocityChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.Engaged">
            <summary>The engaged state
            </summary>
            <remarks>When this property is true, the controller will supply power to the motor coils.
            <list>
            <item>The controller must be <c>Engaged</c> in order to move the Stepper motor, or have it hold
            position.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.HoldingCurrentLimit">
            <summary>The current value
            </summary>
            <remarks>The <c>HoldingCurrentLimit</c> will activate when the <c>TargetPosition</c> has been
            reached. It will limit current through the motor.
            <list>
            <item>When the motor is not stopped, the current through the motor is limited by the
            <c>CurrentLimit</c>.</item>
            <item>If no <c>HoldingCurrentLimit</c> is specified, the <c>CurrentLimit</c> value will
            persist when the motor is stopped.</item>
            <item>Reference your controller's User Guide for more information about how the
            <c>HoldingCurrentLimit</c> and <c>CurrentLimit</c> can be used in your
            application.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.IsMoving">
            <summary>The moving state
            </summary>
            <remarks><c>IsMoving</c> returns true while the controller is sending commands to the motor. Note:
            there is no feedback to the controller, so it does not know whether the motor shaft is actually
            moving or not.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.Position">
            <summary>The position value
            </summary>
            <remarks>The most recent position value that the controller has reported.
            <list>
            <item>This value will always be between <c>MinPosition</c> and <c>MaxPosition</c>.</item>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MinPosition">
            <summary>The position value
            </summary>
            <remarks>The minimum value that <c>TargetPosition</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MaxPosition">
            <summary>The position value
            </summary>
            <remarks>The maximum value that <c>TargetPosition</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.RescaleFactor">
            <summary>The rescale factor value
            </summary>
            <remarks>Applies a factor to the [user units] per step to all movement parameters to make the units in your
            application is more intuitive.
            <list>
            <item>For example, starting from position 0 and setting a new position with a rescale factor, the
            stepper will move <c>Position</c> / <c>RescaleFactor</c> steps.</item>
            <item>In this way, units for <c>Position</c>, <c>Velocity</c>, and
            <c>Acceleration</c> can be set by the user through the <c>RescaleFactor</c>. The
            <c>RescaleFactor</c> allows you to use more intuitive units such as rotations, or
            degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            <item style="list-style: none">
            <div style="margin-left: 2em">
            <pre>
            RescaleFactor = (1/16) * (MotorStepAngle/Degrees Per UserUnit)
            </pre></div>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.TargetPosition">
            <summary>The position value
            </summary>
            <remarks>If the controller is configured and the <c>TargetPosition</c> is set, the Stepper motor will
            move towards the <c>TargetPosition</c> at the specified <c>Acceleration</c> and
            <c>Velocity</c>.
            <list>
            <item><c>TargetPosition</c> is only used when the <c>ControlMode</c> is set to step
            mode.</item>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.Velocity">
            <summary>The velocity value
            </summary>
            <remarks>The most recent velocity value that the controller has reported.
            <list>
            <item>This value is bounded by <c>MinVelocityLimit</c> and <c>MaxVelocityLimit</c>.</item>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.VelocityLimit">
            <summary>Velocity limit
            </summary>
            <remarks>When moving, the Stepper motor velocity will be limited by this value.
            <list>
            <item>The <c>VelocityLimit</c> is bounded by <c>MinVelocityLimit</c> and
            <c>MaxVelocityLimit</c>.</item>
            <item>When in step mode, the <c>MinVelocityLimit</c> has a value of 0. This is because the sign
            (±) of the <c>TargetPosition</c> will indicate the direction.</item>
            <item>When in run mode, the <c>MinVelocityLimit</c> has a value of
            -<c>MaxVelocityLimit</c>. This is because there is no target position, so the direction is
            defined by the sign (±) of the <c>VelocityLimit</c>.</item>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            <item>While <c>VelocityLimit</c> is listed as a double, it is rounded down to an integer number
            of 1/16th steps when sent to the board since the board is limited by a minimum unit of 1/16th
            steps/s. This is especially important to consider when using different <c>RescaleFactor</c>
            values where converting to units of, for example, RPM results in 1.5RPM (80 1/16th steps/s) and
            1.509375 RPM (80.5 1/16th steps/s) both being sent to the board as 80 1/16th steps/s.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MinVelocityLimit">
            <summary>The velocity limit value
            </summary>
            <remarks>The minimum value that <c>VelocityLimit</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Stepper.MaxVelocityLimit">
            <summary>The velocity value
            </summary>
            <remarks>The maximum value that <c>VelocityLimit</c> can be set to.
            <list>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Stepper.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For Stepper Motor channels, this will disengage the motor. Once the channel enters the
            <b>failsafe state</b>, it will reject any further input until the channel is reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Stepper.AddPositionOffset(System.Double)">
            <remarks>Adds an offset (positive or negative) to the current position and target position.
            <list>
            <item>This is especially useful for zeroing position.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Stepper.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Stepper.BeginSetTargetPosition(System.Double,System.AsyncCallback,System.Object)">
            <summary>The position value
             </summary>
            <remarks>If the controller is configured and the <c>TargetPosition</c> is set, the Stepper motor will
            move towards the <c>TargetPosition</c> at the specified <c>Acceleration</c> and
            <c>Velocity</c>.
            <list>
            <item><c>TargetPosition</c> is only used when the <c>ControlMode</c> is set to step
            mode.</item>
            <item>Units for <c>Position</c>, <c>Velocity</c>, and <c>Acceleration</c> can be
            set by the user through the <c>RescaleFactor</c>.The <c>RescaleFactor</c> allows you to
            use more intuitive units such as rotations, or degrees.</item>
            <item>The default units for this motor controller are <b>1/16steps per count</b>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Stepper.EndSetTargetPosition(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetTargetPosition</param>
        </member>
        <member name="E:Phidget22.Stepper.PositionChange">
            <remarks>Occurs when the controller updates the stepper motor position.
            <list>
            <item>This event will still fire even if the motor is blocked from physically moving or misses
            steps.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.Stepper.Stopped">
            <remarks>Occurs when the motor controller stops.
            <list>
            <item>The motor may still be physically moving if the inertia is great enough to make it
            misstep.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.Stepper.VelocityChange">
            <remarks>Occurs when the stepper motor velocity changes.
            </remarks>
        </member>
        <member name="T:Phidget22.TemperatureSensor">
            <summary>TemperatureSensor class definition</summary>
        </member>
        <member name="M:Phidget22.TemperatureSensor.#ctor">
            <summary>TemperatureSensor Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.TemperatureSensor.Finalize">
            <summary>TemperatureSensor Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.TemperatureSensor.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the TemperatureSensor and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.TemperatureSensor.Dispose">
            <summary>Releases all resources used by the TemperatureSensor.</summary>
        </member>
        <member name="P:Phidget22.TemperatureSensor.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            <c>TemperatureChange</c> event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between <c>TemperatureChange</c> events can also be affected by the
            <c>TemperatureChangeTrigger</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.RTDType">
            <summary>The RTD type
            </summary>
            <remarks>The <c>RTDType</c> must correspond to the RTD type you are using in your application.
            <list>
            <item>If you are unsure which <c>RTDType</c> to use, visit your device's User Guide for more
            information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.RTDWireSetup">
            <summary>The RTD wire setup
            </summary>
            <remarks>The <c>RTDWireSetup</c> must correspond to the wire configuration you are using in your
            application.
            <list>
            <item>If you are unsure which <c>RTDWireSetup</c> to use, visit your device's User Guide for
            more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.Temperature">
            <summary>The temperature value
            </summary>
            <remarks>The most recent temperature value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinTemperature</c> and
            <c>MaxTemperature</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MinTemperature">
            <summary>The temperature value
            </summary>
            <remarks>The minimum value the <c>TemperatureChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MaxTemperature">
            <summary>The temperature value
            </summary>
            <remarks>The maximum value the <c>TemperatureChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.TemperatureChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>TemperatureChange</c> event until the temperature value has
            changed by the amount specified by the <c>TemperatureChangeTrigger</c>.
            <list>
            <item>Setting the <c>TemperatureChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MinTemperatureChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>TemperatureChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.MaxTemperatureChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>TemperatureChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.TemperatureSensor.ThermocoupleType">
            <summary>The thermocouple type
            </summary>
            <remarks>The <c>ThermocoupleType</c> must correspond to the thermocouple type you are using in your
            application.
            <list>
            <item>If you are unsure which <c>ThermocoupleType</c> to use, visit the <a href=
            'https://www.phidgets.com/docs/Thermocouple_Primer' target='_blank'>Thermocouple Primer</a> for
            more information.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.TemperatureSensor.TemperatureChange">
            <remarks>The most recent temperature value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>TemperatureChangeTrigger</c> has been set to a non-zero value, the
            <c>TemperatureChange</c> event will not occur until the temperature has changed by at least
            the <c>TemperatureChangeTrigger</c> value.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.VoltageInput">
            <summary>VoltageInput class definition</summary>
        </member>
        <member name="M:Phidget22.VoltageInput.#ctor">
            <summary>VoltageInput Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.VoltageInput.Finalize">
            <summary>VoltageInput Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.VoltageInput.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the VoltageInput and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.VoltageInput.Dispose">
            <summary>Releases all resources used by the VoltageInput.</summary>
        </member>
        <member name="P:Phidget22.VoltageInput.DataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between events can also be affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.PowerSupply">
            <summary>The power supply value
            </summary>
            <remarks>Choose the power supply voltage.
            <list>
            <item>Set this to the voltage specified in the attached sensor's data sheet to power it.</item>
            <item style="list-style: none; display: inline">
            <list>
            <item>Set to <c>PowerSupply.Off</c> to turn off the supply to save power.</item>
            </list>
            </item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.SensorType">
            <summary>The sensor type value
            </summary>
            <remarks>We sell a variety of analog sensors that do not have their own API, they simply output a voltage
            that can be converted to a digital value using a specific formula. By matching the
            <c>SensorType</c> to your analog sensor, the correct formula will automatically be applied to
            data when you get the <c>SensorValue</c> or subscribe to the <c>SensorChange</c> event.
            <list>
            <item>The <c>SensorChange</c> event has its own change trigger associated with it:
            <c>SensorValueChangeTrigger</c>.</item>
            <item>Any data from getting the <c>SensorValue</c> or subscribing to the
            <c>SensorChange</c> event will have a <c>SensorUnit</c> associated with it.</item>
            </list>
            <strong>Note:</strong> Unlike other properties such as <c>Phidget.DeviceSerialNumber</c> or
            <c>Phidget.Channel</c>, <c>SensorType</c> is set after the device is opened, not
            before.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.SensorUnit">
            <summary>The sensor unit information corresponding to the <c>SensorValue</c>.
            </summary>
            <remarks>The unit of measurement that applies to the sensor values of the <c>SensorType</c> that has
            been selected.
            <list>
            <item>Helps keep track of the type of information being calculated from the voltage input.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.SensorValue">
            <summary>The sensor value
            </summary>
            <remarks>The most recent sensor value that the channel has reported.
            <list>
            <item>Use <c>SensorUnit</c> to get the measurement units that are associated with the
            <c>SensorValue</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.SensorValueChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>SensorChange</c> event until the sensor value has changed by
            the amount specified by the <c>SensorValueChangeTrigger</c>.
            <list>
            <item>Setting the <c>SensorValueChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.Voltage">
            <summary>The voltage value
            </summary>
            <remarks>The most recent voltage value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinVoltage</c> and <c>MaxVoltage</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MinVoltage">
            <summary>The voltage value
            </summary>
            <remarks>The minimum value the <c>VoltageChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MaxVoltage">
            <summary>The voltage value
            </summary>
            <remarks>The maximum value the <c>VoltageChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.VoltageChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>VoltageChange</c> event until the voltage value has changed
            by the amount specified by the <c>VoltageChangeTrigger</c>.
            <list>
            <item>Setting the <c>VoltageChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MinVoltageChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>VoltageChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.MaxVoltageChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>VoltageChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageInput.VoltageRange">
            <summary>The voltage range value
            </summary>
            <remarks>The voltage range you choose should allow you to measure the full range of your input signal.
            <list>
            <item>A larger <c>VoltageRange</c> equates to less resolution.</item>
            <item>If a <c>Saturation</c> event occurs, increase the voltage range.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.VoltageInput.SensorChange">
            <remarks>The most recent sensor value the channel has measured will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>SensorValueChangeTrigger</c> has been set to a non-zero value, the
            <c>SensorChange</c> event will not occur until the sensor value has changed by at least the
            <c>SensorValueChangeTrigger</c> value.</item>
            <item>This event only fires when <c>SensorType</c> is not set to
            <c>VoltageSensorType.Voltage</c></item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.VoltageInput.VoltageChange">
            <remarks>The most recent voltage value the channel has measured will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>VoltageChangeTrigger</c> has been set to a non-zero value, the
            <c>VoltageChange</c> event will not occur until the voltage has changed by at least the
            <c>VoltageChangeTrigger</c> value.</item>
            <item>If <c>SensorType</c> is supported and set to anything other then
            <c>VoltageSensorType.Voltage</c>, this event will not fire.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.VoltageOutput">
            <summary>VoltageOutput class definition</summary>
        </member>
        <member name="M:Phidget22.VoltageOutput.#ctor">
            <summary>VoltageOutput Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.VoltageOutput.Finalize">
            <summary>VoltageOutput Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.VoltageOutput.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the VoltageOutput and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.VoltageOutput.Dispose">
            <summary>Releases all resources used by the VoltageOutput.</summary>
        </member>
        <member name="P:Phidget22.VoltageOutput.Enabled">
            <summary>The enabled value
            </summary>
            <remarks>Enable the output voltage by setting <c>Enabled</c> to true.
            <list>
            <item>Disable the output by seting <c>Enabled</c> to false to save power.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageOutput.MinFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The minimum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageOutput.MaxFailsafeTime">
            <summary>The failsafe time
            </summary>
            <remarks>The maximum value that <c>failsafeTime</c> can be set to when calling
            <c>EnableFailsafe()</c>.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageOutput.Voltage">
            <summary>The voltage value
            </summary>
            <remarks>The voltage value that the channel will output.
            <list>
            <item>The <c>Voltage</c> value is bounded by <c>MinVoltage</c> and
            <c>MaxVoltage</c>.</item>
            <item>The voltage value will not be output until <c>Enabled</c> is set to true.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageOutput.MinVoltage">
            <summary>The voltage value
            </summary>
            <remarks>The minimum value that <c>Voltage</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageOutput.MaxVoltage">
            <summary>The voltage value
            </summary>
            <remarks>The maximum value that <c>Voltage</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageOutput.VoltageOutputRange">
            <summary>The output range value
            </summary>
            <remarks>Choose a <c>VoltageOutputRange</c> that best suits your application.
            <list>
            <item>Changing the <c>VoltageOutputRange</c> will also affect the <c>MinVoltage</c> and
            <c>MaxVoltage</c> values.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.VoltageOutput.EnableFailsafe(System.Int32)">
            <remarks><p>Enables the <b>failsafe</b> feature for the channel, with a given <b>failsafe time</b>.</p>
            <p>The <b>failsafe</b> feature is intended for use in applications where it is important for the
            channel to enter a known <i>safe state</i> if the program controlling it locks up or crashes. If
            you do not enable the failsafe feature, the channel will carry out whatever instructions it was
            last given until it is explicitly told to stop.</p>
            <p>Enabling the failsafe feature starts a recurring <b>failsafe timer</b> for the channel. Once the
            failsafe timer is enabled, it must be reset within the specified time or the channel will enter a
            <b>failsafe state</b>. The failsafe timer may be reset by sending any valid command to the device*.
            Resetting the failsafe timer will reload the timer with the specified <i>failsafe time</i>,
            starting when the message to reset the timer is received by the Phidget.</p>
            <p><i>*(<b>get</b> requests do not typically send commands and won't reset the failsafe
            timer)</i></p>
            <p>For example: if the failsafe is enabled with a <b>failsafe time</b> of 1000ms, you will have
            1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms
            from that time to reset the failsafe again.</p>
            <p>If the failsafe timer is not reset before it runs out, the channel will enter a <b>failsafe
            state</b>. For Voltage Output channels, this will set the output voltage to 0V. Once the channel
            enters the <b>failsafe state</b>, it will reject any further input until the channel is
            reopened.</p>
            <p>To prevent the channel from falsely entering the failsafe state, we recommend resetting the
            failsafe timer as frequently as is practical for your application. A good rule of thumb is to not
            let more than a third of the failsafe time pass before resetting the timer.</p>
            <p>Once the failsafe timer has been set, it cannot be disabled by any means other than closing and
            reopening the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.VoltageOutput.ResetFailsafe">
            <remarks><p>Resets the failsafe timer, if one has been set. See <c>EnableFailsafe()</c> for
            details.</p>
            <p>This function will fail if no failsafe timer has been set for the channel.</p>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.VoltageOutput.BeginSetVoltage(System.Double,System.AsyncCallback,System.Object)">
            <summary>The voltage value
             </summary>
            <remarks>The voltage value that the channel will output.
            <list>
            <item>The <c>Voltage</c> value is bounded by <c>MinVoltage</c> and
            <c>MaxVoltage</c>.</item>
            <item>The voltage value will not be output until <c>Enabled</c> is set to true.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.VoltageOutput.EndSetVoltage(System.IAsyncResult)">
            <summary>Checks the result obtained from the corresponding async Begin function</summary>
            <param name="result">IAsyncResult object returned from BeginSetVoltage</param>
        </member>
        <member name="T:Phidget22.VoltageRatioInput">
            <summary>VoltageRatioInput class definition</summary>
        </member>
        <member name="M:Phidget22.VoltageRatioInput.#ctor">
            <summary>VoltageRatioInput Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.VoltageRatioInput.Finalize">
            <summary>VoltageRatioInput Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.VoltageRatioInput.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the VoltageRatioInput and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.VoltageRatioInput.Dispose">
            <summary>Releases all resources used by the VoltageRatioInput.</summary>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.BridgeEnabled">
            <summary>The enabled value
            </summary>
            <remarks>Enable power to the input and start collecting data by setting <c>BridgeEnabled</c> to true.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.BridgeGain">
            <summary>The bridge gain value
            </summary>
            <remarks>Choose a <c>BridgeGain</c> that best suits your application.
            <list>
            <item>For more information about the range and accuracy of each <c>BridgeGain</c> to decide
            which best suits your application, see your device's User Guide.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.DataInterval">
            <summary>The data interval for the channel
            </summary>
            <remarks>The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between events can also be affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.SensorType">
            <summary>The sensor type value
            </summary>
            <remarks>We sell a variety of analog sensors that do not have their own API, they simply output a voltage
            that can be converted to a digital value using a specific formula. By matching the
            <c>SensorType</c> to your analog sensor, the correct formula will automatically be applied to
            data when you get the <c>SensorValue</c> or subscribe to the <c>SensorChange</c> event.
            <list>
            <item>The <c>SensorChange</c> event has its own change trigger associated with it:
            <c>SensorValueChangeTrigger</c>.</item>
            <item>Any data from getting the <c>SensorValue</c> or subscribing to the
            <c>SensorChange</c> event will have a <c>SensorUnit</c> associated with it.</item>
            </list>
            <strong>Note:</strong> Unlike other properties such as <c>Phidget.DeviceSerialNumber</c> or
            <c>Phidget.Channel</c>, <c>SensorType</c> is set after the device is opened, not
            before.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.SensorUnit">
            <summary>The sensor unit information corresponding to the <c>SensorValue</c>.
            </summary>
            <remarks>The unit of measurement that applies to the sensor values of the <c>SensorType</c> that has
            been selected.
            <list>
            <item>Helps keep track of the type of information being calculated from the voltage ratio input.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.SensorValue">
            <summary>The sensor value
            </summary>
            <remarks>The most recent sensor value that the channel has reported.
            <list>
            <item>Use <c>SensorUnit</c> to get the measurement units that are associated with the
            <c>SensorValue</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.SensorValueChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>SensorChange</c> event until the sensor value has changed by
            the amount specified by the <c>SensorValueChangeTrigger</c>.
            <list>
            <item>Setting the <c>SensorValueChangeTrigger</c> to 0 will result in the channel firing events
            every <c>DataInterval</c>. This is useful for applications that implement their own data
            filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.VoltageRatio">
            <summary>The voltage ratio value
            </summary>
            <remarks>The most recent voltage ratio value that the channel has reported.
            <list>
            <item>This value will always be between <c>MinVoltageRatio</c> and
            <c>MaxVoltageRatio</c>.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MinVoltageRatio">
            <summary>The voltage ratio value
            </summary>
            <remarks>The minimum value the <c>VoltageRatioChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MaxVoltageRatio">
            <summary>The voltage ratio value
            </summary>
            <remarks>The maximum value the <c>VoltageRatioChange</c> event will report.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.VoltageRatioChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The channel will not issue a <c>VoltageRatioChange</c> event until the voltage ratio value
            has changed by the amount specified by the <c>VoltageRatioChangeTrigger</c>.
            <list>
            <item>Setting the <c>VoltageRatioChangeTrigger</c> to 0 will result in the channel firing
            events every <c>DataInterval</c>. This is useful for applications that implement their own
            data filtering</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MinVoltageRatioChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The minimum value that <c>VoltageRatioChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.VoltageRatioInput.MaxVoltageRatioChangeTrigger">
            <summary>The change trigger value
            </summary>
            <remarks>The maximum value that <c>VoltageRatioChangeTrigger</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.VoltageRatioInput.SensorChange">
            <remarks>The most recent sensor value the channel has measured will be reported in this event, which occurs
            when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>SensorValueChangeTrigger</c> has been set to a non-zero value, the
            <c>SensorChange</c> event will not occur until the sensor value has changed by at least the
            <c>SensorValueChangeTrigger</c> value.</item>
            <item>This event only fires when <c>SensorType</c> is not set to
            <c>VoltageRatioSensorType.VoltageRatio</c></item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.VoltageRatioInput.VoltageRatioChange">
            <remarks>The most recent voltage ratio value the channel has measured will be reported in this event, which
            occurs when the <c>DataInterval</c> has elapsed.
            <list>
            <item>If a <c>VoltageRatioChangeTrigger</c> has been set to a non-zero value, the
            <c>VoltageRatioChange</c> event will not occur until the voltage has changed by at least the
            <c>VoltageRatioChangeTrigger</c> value.</item>
            <item>If <c>SensorType</c> is supported and set to anything other than
            <c>VoltageRatioSensorType.VoltageRatio</c>, this event will not fire.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.Log">
            <summary> Log class definition </summary>
            <summary>Log class definition</summary>
        </member>
        <member name="M:Phidget22.Log.GetSources">
            <summary> </summary>
            <remarks>Determies the number of log sources in the system, and the names of those sources.</remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.Disable">
            <remarks>Disables logging within the Phidget library.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.Enable(Phidget22.LogLevel,System.String)">
            <remarks>Enables logging within the Phidget library.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.GetLevel">
            <remarks>Gets the log level for the phidget22 source.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.SetLevel(Phidget22.LogLevel)">
            <remarks>Sets the log level for all sources not prefaced with _phidget22.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.Rotate">
            <remarks>Manually rotate the log file. This will only have an effect if automatic rotation is disabled and
            the log file is larger than the specified maximum file size.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.IsRotating">
            <remarks>Determines if the library is automatically rotating the log file
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.GetRotating">
            <remarks>Gets the current log rotation parameters
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.SetRotating(System.Int64,System.Int32)">
            <remarks>Sets log rotation parameters.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.EnableRotating">
            <remarks>Enables automatic rotation of the log file (the default).
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.DisableRotating">
            <remarks>Disables automatic rotation of the log file.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.AddSource(System.String,Phidget22.LogLevel)">
            <remarks>Adds a source to the Phidget logging system. This is useful for declaring a source and setting its
            log level before sending any messages.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.GetSourceLevel(System.String)">
            <remarks>Gets the log level of the specified log source.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.SetSourceLevel(System.String,Phidget22.LogLevel)">
            <remarks>Sets the log level of the specified log source.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.WriteLine(Phidget22.LogLevel,System.String)">
            <remarks>Writes a message to the Phidget library log.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Log.WriteLine(Phidget22.LogLevel,System.String,System.String)">
            <remarks>Writes a message to the Phidget library log with a specified source.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="T:Phidget22.Manager">
            <summary>Manager class definition</summary>
        </member>
        <member name="M:Phidget22.Manager.#ctor">
            <summary>Manager Constructor</summary>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Manager.Finalize">
            <summary>Manager Destructor</summary>
            <remarks>Will attempt to close the device.</remarks>
        </member>
        <member name="M:Phidget22.Manager.Dispose(System.Boolean)">
            <summary>Releases the unmanaged resources used by the Manager and optionally releases the managed resources.</summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:Phidget22.Manager.Dispose">
            <summary>Releases all resources used by the Manager.</summary>
        </member>
        <member name="M:Phidget22.Manager.Close">
            <remarks>Closes a Phidget Manager that has been opened.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Manager.Open">
            <remarks>Opens the Phidget Manager.
            
            Be sure to register <b>Attach</b> and <b>Detach</b> event handlers for the Manager before opening
            it, to ensure you program doesn't miss the events reported for devices already connected to your
            system.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Manager.Attach">
            <remarks>Occurs when a channel is attached.
            <list>
            <item>Phidget channels you get from the manager are informational only, you can read information
            about them such as serial number, class, name, etc. but they are not opened. In order to interact
            with one, you must <c>create</c> and <c>open</c> a Phidget object of the correct
            type.</item>
            </list>
            
            </remarks>
        </member>
        <member name="E:Phidget22.Manager.Detach">
            <remarks>Occurs when a channel is detached.
            <list>
            <item>Phidget channels you get from the manager are informational only, you can read information
            about them such as serial number, class, name, etc. but they are not opened. In order to interact
            with one, you must <c>create</c> and <c>open</c> a Phidget object of the correct
            type.</item>
            </list>
            
            </remarks>
        </member>
        <member name="T:Phidget22.Net">
            <summary>Net class definition</summary>
        </member>
        <member name="M:Phidget22.Net.GetServerAddressList(System.String,System.Int32)">
            <summary> </summary>
            <remarks>Returns addresses for a server</remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.GetKeyValue_String(System.IntPtr,System.String,System.String)">
            <summary> Gets a string from the server added kv </summary>
        </member>
        <member name="M:Phidget22.Net.GetKeyValue_Int64(System.IntPtr,System.String,System.Int64)">
            <summary> Gets an Int32 from the server added kv </summary>
        </member>
        <member name="M:Phidget22.Net.GetKeyValue_Int32(System.IntPtr,System.String,System.Int32)">
            <summary> Gets aa Int64 from the server added kv </summary>
        </member>
        <member name="M:Phidget22.Net.GetKeyValue_Boolean(System.IntPtr,System.String,System.Boolean)">
            <summary> Gets a bool from the server added kv </summary>
        </member>
        <member name="M:Phidget22.Net.GetKeyValueExists(System.IntPtr,System.String)">
            <summary> Checks if a key exists in the server added kv </summary>
        </member>
        <member name="F:Phidget22.Net.AuthRequired">
            <summary>PhidgetServer flag indicating that the server requires a password to authenticate
            </summary>
        </member>
        <member name="M:Phidget22.Net.RemoveAllServers">
            <remarks>Removes all server registrations
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.AddServer(System.String,System.String,System.Int32,System.String,System.Int32)">
            <remarks>Registers a server that the client (your program) will try to connect to. The client will
            continually try to connect to the server, increasing the time between each attempt to a maximum
            interval of 16 seconds.
            
            This call is intended for use when server discovery is not enabled, or to connect to a server that
            is not discoverable.
            
            The server name used by this function does not have to match the name of the server running on the
            host machine. Only the address, port, and password need to match.
            
            This call will fail if a server with the same name has already been discovered.
            
            This call will fail if <c>SetServerPassword()</c> has already been called with the same
            server name, as <c>SetServerPassword()</c> registers the server entry anticipating the
            discovery of the server.
            
            See:
            <list>
            <item><c>RemoveServer()</c></item>
            <item><c>EnableServerDiscovery()</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.RemoveServer(System.String)">
            <remarks>Removes a registration for a server that the client (your program) is trying to connect to.If the
            client is currently connected to the server, the connection will be closed.
            
            If the server was discovered (not added by <c>AddServer()</c>), the connection may be
            reestablished if and when the server is rediscovered. <c>DisableServer()</c> should be used
            to prevent the reconnection of a discovered server
            
            See:
            <list>
            <item><c>AddServer()</c></item>
            <item><c>DisableServer()</c></item>
            <item><c>DisableServerDiscovery()</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.EnableServer(System.String)">
            <remarks>Enables attempts to connect to a discovered server, if attempts were previously disabled by
            <c>DisableServer()</c>. All servers are enabled by default.
            
            This call will fail if the server was not previously added, disabled or discovered.
            
            See:
            <list>
            <item><c>DisableServer()</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.DisableServer(System.String,System.Int32)">
            <remarks>Prevents attempts to automatically connect to a server.
            <p>By default the client (your program) will continually attempt to connect to added or discovered
            servers.This call will disable those attempts, but will not close an already established
            connection.
            
            See:</p>
            <list>
            <item><c>AddServer()</c></item>
            <item><c>EnableServer()</c></item>
            <item><c>EnableServerDiscovery()</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.EnableServerDiscovery(Phidget22.ServerType)">
            <remarks>Enables the dynamic discovery of servers that publish their identity to the network. Currently
            Multicast DNS is used to discover and publish Phidget servers.
            <p>To connect to remote Phidgets, call this function with server type
            <c>ServerType.DeviceRemote</c>.</p>
            <p><c>EnableServerDiscovery()</c> must be called once for each server type your program
            requires. Multiple calls for the same server type are ignored</p>
            <p>This call will fail with the error code <c>ErrorCode.Unsupported</c> if your computer does
            not have the required mDNS support. We recommend using Bonjour Print Services on Windows and Mac,
            or Avahi on Linux.</p>
            
            
            See:
            <list>
            <item><c>DisableServerDiscovery()</c></item>
            <item><c>AddServer()</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.DisableServerDiscovery(Phidget22.ServerType)">
            <remarks>Disables the dynamic discovery of servers that publish their identity.
            <p><c>DisableServerDiscovery()</c> does not disconnect already established connections.
            
            See:</p>
            <list>
            <item><c>EnableServerDiscovery()</c></item>
            <item><c>DisableServer()</c></item>
            <item><c>RemoveServer()</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Net.SetServerPassword(System.String,System.String)">
            <remarks>Sets the password that will be used to attempt to connect to the server. If the server has not
            already been added or discovered, a placeholder server entry will be registered to use this
            password on the server once it is discovered.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Net.ServerAdded">
            <remarks>Subscribe to this event if you would like to know when a server has been added.
            </remarks>
        </member>
        <member name="E:Phidget22.Net.ServerRemoved">
            <remarks>Subscribe to this event if you would like to know when a server has been removed.
            </remarks>
        </member>
        <member name="T:Phidget22.Pconf">
            <summary> Phidget Config file interface </summary>
        </member>
        <member name="M:Phidget22.Pconf.#ctor(Phidget22.Pconf.PconfType)">
            <summary> Create new Pconf object </summary>
        </member>
        <member name="M:Phidget22.Pconf.#ctor(System.IO.FileInfo,Phidget22.Pconf.PconfType)">
            <summary> Create new Pconf object from a file </summary>
        </member>
        <member name="T:Phidget22.Pconf.PconfType">
            <summary> Pconf file format </summary>
        </member>
        <member name="F:Phidget22.Pconf.PconfType.JSON">
            <summary> Json </summary>
        </member>
        <member name="F:Phidget22.Pconf.PconfType.PC">
            <summary> Pconf </summary>
        </member>
        <member name="P:Phidget22.Pconf.File">
            <summary> The file </summary>
        </member>
        <member name="P:Phidget22.Pconf.Locked">
            <summary> Whether the file is write locked </summary>
        </member>
        <member name="M:Phidget22.Pconf.Load(System.String,Phidget22.Pconf.PconfType)">
            <summary>Loads pconf from a string </summary>
        </member>
        <member name="M:Phidget22.Pconf.Load(System.IO.FileInfo,Phidget22.Pconf.PconfType,System.Boolean)">
            <summary>Loads pconf from a file </summary>
        </member>
        <member name="M:Phidget22.Pconf.Reload">
            <summary> Reload a pconf from file </summary>
        </member>
        <member name="M:Phidget22.Pconf.Load">
            <summary> Load a pconf from file </summary>
        </member>
        <member name="M:Phidget22.Pconf.Unload">
            <summary> Unload /release pconf resources </summary>
        </member>
        <member name="M:Phidget22.Pconf.Finalize">
            <summary> finalizer </summary>
        </member>
        <member name="M:Phidget22.Pconf.RenderJSON">
            <summary> Render pconf as Json </summary>
        </member>
        <member name="M:Phidget22.Pconf.RenderPC">
            <summary> Render pconf as Pconf </summary>
        </member>
        <member name="M:Phidget22.Pconf.RenderPCLocked(Phidget22.Pconf@)">
            <summary> Render locked pconf back out to file </summary>
        </member>
        <member name="M:Phidget22.Pconf.Unlock(Phidget22.Pconf@)">
            <summary> Unlock pconf loaded from file </summary>
        </member>
        <member name="M:Phidget22.Pconf.Remove(System.String)">
            <summary> Remove entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.GetEntryName(System.String,System.Int32)">
            <summary> get entry name </summary>
        </member>
        <member name="M:Phidget22.Pconf.GetCount(System.String)">
            <summary> Get number of entries at path </summary>
        </member>
        <member name="M:Phidget22.Pconf.AddBlock(System.String)">
            <summary> Add new block </summary>
        </member>
        <member name="M:Phidget22.Pconf.AddArray(System.String)">
            <summary> Add array </summary>
        </member>
        <member name="M:Phidget22.Pconf.Add(System.String,System.String,System.Boolean)">
            <summary> Add entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Add(System.String,System.Double)">
            <summary> Add entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Add(System.String,System.Boolean)">
            <summary> Add entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Add(System.String,System.Int32)">
            <summary> Add entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Add(System.String,System.Int64)">
            <summary> Add entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Set(System.String,System.String,System.Boolean)">
            <summary> Set entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Set(System.String,System.Double)">
            <summary> Set entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Set(System.String,System.Boolean)">
            <summary> Set entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Set(System.String,System.Int32)">
            <summary> Set entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Set(System.String,System.Int64)">
            <summary> Set entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Get(System.String)">
            <summary> Get entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Get(System.String,System.Int32)">
            <summary> Get entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Get(System.String,System.Int64)">
            <summary> Get entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Get(System.String,System.String)">
            <summary> Get entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Get(System.String,System.Boolean)">
            <summary> Get entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Get(System.String,System.Double)">
            <summary> Get entry </summary>
        </member>
        <member name="M:Phidget22.Pconf.Exists(System.String)">
            <summary> Get entry exists </summary>
        </member>
        <member name="M:Phidget22.Pconf.IsBlock(System.String)">
            <summary> Get path is block </summary>
        </member>
        <member name="M:Phidget22.Pconf.IsArray(System.String)">
            <summary> Get path is array </summary>
        </member>
        <member name="T:Phidget22.Phidget">
            <summary>Phidget class definition</summary>
        </member>
        <member name="M:Phidget22.Phidget.Finalize">
            <summary>Releases the underlying Phidget if it came from a Manager </summary>
        </member>
        <member name="M:Phidget22.Phidget.Dispose">
            <summary>Releases all resources used by the Phidget.</summary>
        </member>
        <member name="P:Phidget22.Phidget.InvokeEventCallbacks">
             <summary>
             When true, event callbacks will be called via Invoke() if Invoke is required.
             </summary>
             <remarks>
             Calling events via Invoke allows you to access the GUI directly from the event callbacks. However, this can lead
             to hard to debug dead-lock behaviour is code is not written carefully, so this should be disabled.
            
             However, this is enabled by default to maintain the same behaviour as phidget21.
             </remarks>
        </member>
        <member name="M:Phidget22.Phidget.FinalizeLibrary(System.Int32)">
            <summary>Finalizes the library </summary>
            <remarks>This can be called before the library is unloaded to clean up all memory and threads.</remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.ResetLibrary">
            <summary> </summary>
            <remarks>Closes all channels, and stops all threads. The library is reset to a newly loaded state
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.Open">
            <summary> </summary>
            <remarks>Opens the Phidget channel. The specific channel to be opened can be specified by setting any of the following properties:<ul><li>DeviceSerialNumber</li> <li>DeviceLabel</li> <li>Channel</li> <li>ServerName</li> <li>IsLocal</li><li>IsRemote</li><li>HubPort</li><li>HubSerialNumber</li><li>HubLabel</li><li>IsHubPortDevice</li></ul>Open will return immediately, with the open proceding asynchronously.Use the Attach event or Attached property to determine when the channel is ready to use.</remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.Open(System.Int32)">
            <summary> </summary>
            <remarks>Opens the Phidget channel.The specific channel to be opened can be specified by setting any of the following properties:<ul><li>DeviceSerialNumber</li> <li>DeviceLabel</li> <li>Channel</li> <li>ServerName</li><li> IsLocal</li><li>IsRemote</li> <li>HubPort</li> <li>HubSerialNumber</li> <li>HubLabel</li><li>IsHubPortDevice</li></ul>Open will block until the channel is opened or a timeout occurs. A timeout value of 0 will wait forever.</remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.ToString">
            <summary>Phidget Description</summary>
            <remarks>Returns a descripton of the Phidget.</remarks>
        </member>
        <member name="F:Phidget22.Phidget.AnySerialNumber">
            <summary>Pass to <c>DeviceSerialNumber</c> to open any serial number.
            </summary>
        </member>
        <member name="F:Phidget22.Phidget.AnyHubPort">
            <summary>Pass to <c>HubPort</c> to open any hub port.
            </summary>
        </member>
        <member name="F:Phidget22.Phidget.AnyChannel">
            <summary>Pass to <c>Channel</c> to open any channel.
            </summary>
        </member>
        <member name="F:Phidget22.Phidget.AnyLabel">
            <summary>Pass to <c>DeviceLabel</c> to open any label.
            </summary>
        </member>
        <member name="F:Phidget22.Phidget.InfiniteTimeout">
            <summary>Pass to <c>Open()</c> for an infinite timeout.
            </summary>
        </member>
        <member name="F:Phidget22.Phidget.DefaultTimeout">
            <summary>Pass to <c>Open()</c> for the default timeout.
            </summary>
        </member>
        <member name="F:Phidget22.Phidget.AutoHubPortSpeed">
            <summary>Pass to <c>HubPortSpeed</c> to set the Hub Port speed automatically when supported by both
            the hub port and the VINT device.
            </summary>
        </member>
        <member name="P:Phidget22.Phidget.LibraryVersion">
            <summary>The Phidget library version.
            </summary>
            <remarks><c>ErrorCode</c> <c>ErrorCode.Success</c> Gets the version of the Phidget library being
            used by the program in human readable form.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.LibraryVersionNumber">
            <summary>The Phidget library version number.
            </summary>
            <remarks>Gets the version of the Phidget library being used by the program as a version number string.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.Attached">
            <summary>True if the channel is attached
            </summary>
            <remarks>Gets the attached status of channel. A Phidget is attached after it has been opened and the Phidget
            library finds and connects to the corresponding hardware device.
            <list>
            <item>Most API calls are only valid on attached Phidgets.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.Channel">
            <summary>The channel index
            </summary>
            <remarks>Gets the channel index of the channel on the device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.IsChannel">
            <summary>True if the handle is for a channel.
            </summary>
            <remarks>Returns true if this represents a channel, false if this represents a device. Mostly for use
            alongside <c>Parent</c> to distinguish channel handles from device handles.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ChannelClass">
            <summary>The channel class
            </summary>
            <remarks>Gets the channel class of the channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ChannelClassName">
            <summary>The name of the channel's class
            </summary>
            <remarks>Gets the name of the channel class the channel belongs to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ChannelName">
            <summary>The channel's name
            </summary>
            <remarks>Gets the channel's name. This name serves as a description of the specific nature of the channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ChannelSubclass">
            <summary>The channel's subclass
            </summary>
            <remarks>Gets the subclass for this channel. Allows for identifying channels with specific characteristics
            without needing to know the exact device and channel index.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DataInterval">
            <summary>The data interval of the channel
            </summary>
            <remarks>Gets the data interval for any channel that supports one.
            The <c>DataInterval</c> is the time that must elapse before the channel will fire another
            event.
            <list>
            <item>The data interval is bounded by <c>MinDataInterval</c> and
            <c>MaxDataInterval</c>.</item>
            <item>The timing between events can also be affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.MinDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The minimum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.MaxDataInterval">
            <summary>The data interval value
            </summary>
            <remarks>The maximum value that <c>DataInterval</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DataRate">
            <summary>The data rate for the channel
            </summary>
            <remarks>The <c>DataRate</c> is the frequency of events from the device.
            <list>
            <item>The data rate is bounded by <c>MinDataRate</c> and <c>MaxDataRate</c>.</item>
            <item>Changing <c>DataRate</c> will change the channel's <c>DataInterval</c> to a
            corresponding value, rounded to the nearest integer number of milliseconds.</item>
            <item>The timing between events can also affected by the change trigger.</item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.MinDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The minimum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.MaxDataRate">
            <summary>The data rate value
            </summary>
            <remarks>The maximum value that <c>DataRate</c> can be set to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceClass">
            <summary>The class of the device the channel is a part of.
            </summary>
            <remarks>Gets the device class for the Phidget which this channel is a part of.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceClassName">
            <summary>The class name of the device the channel is a part of.
            </summary>
            <remarks>Gets the name of the device class for the Phidget which this channel is a part of.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceFirmwareUpgradeString">
            <summary>The firmware upgrade string
            </summary>
            <remarks>Gets the string which will match the filename of the firmware upgrade file
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceID">
            <summary>The device id of the device the channel is a part of
            </summary>
            <remarks>Gets the Device ID for the Phidget which this channel is a part of.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceLabel">
            <summary>The device label
            </summary>
            <remarks>Gets the label of the Phidget which this channel is a part of. A device label is a custom string
            used to more easily identify a Phidget. Labels are written to a Phidget using
            <c>WriteDeviceLabel()</c>, or by right-clicking the device and setting a label in the Phidget
            Control Panel for Windows.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceName">
            <summary>The name of the device the channel is a part of
            </summary>
            <remarks>Gets the name of the Phidget which this channel is a part of.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceSerialNumber">
            <summary>The device serial number
            </summary>
            <remarks>Gets the serial number of the Phidget which this channel is a part of.
            If the channel is part of a VINT device, this will be the serial number of the VINT Hub the device
            is attached to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceSKU">
            <summary>The SKU of the device the channel is a part of
            </summary>
            <remarks>Gets the SKU (part number) of the Phidget which this channel is a part of.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceVersion">
            <summary>The version of the device the channel is a part of
            </summary>
            <remarks>Gets the firmware version of the Phidget which this channel is a part of.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.DeviceVINTID">
            <summary>The vint id of the channels device
            </summary>
            <remarks>Gets the vint id for the Phidget which this channel is a part of.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.Hub">
            <summary>The hub the channels device is attached to
            </summary>
            <remarks>Gets the hub that this channel is attached to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.HubPort">
            <summary>The hub port index
            </summary>
            <remarks>Gets the hub port index of the VINT Hub port that the channel is attached to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.HubPortCount">
            <summary>The number of ports on the VINT Hub
            </summary>
            <remarks>Gets the number of VINT ports present on the VINT Hub that the channel is attached to.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.IsHubPortDevice">
            <summary>The hub port mode (True if the channel is a hub port itself)
            </summary>
            <remarks>Gets whether this channel is a VINT Hub port channel, or part of a VINT device attached to a hub
            port.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.HubPortSpeed">
            <summary>The VINT Device communication speed
            </summary>
            <remarks>Configures the communication speed for this VINT device. Both the
            <c>HubPortSupportsSetSpeed</c> and <c>VINTDeviceSupportsSetSpeed</c> must be true in
            order to set the hub port speed.Available speeds are: 100000, 160000, 250000, 400000, 500000,
            800000 and 1000000. Setting any other speed will select the nearest lower supported speed. The
            upper speed is bound by the lesser of <c>MaxHubPortSpeed</c> and
            <c>MaxVINTDeviceSpeed</c>. Set the speed to <c>AutoHubPortSpeed</c> to enable Auto Set
            Speed on Hubs that support it (enabled by default).
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.MaxHubPortSpeed">
            <summary>The VINT Port max speed
            </summary>
            <remarks>The max communication speed of a high-speed capable VINT Port.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.HubPortSupportsAutoSetSpeed">
            <summary>The VINT Port supports auto set speed
            </summary>
            <remarks>Indicates that the communication speed of this VINT port can be set automatically.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.HubPortSupportsSetSpeed">
            <summary>The VINT Port supports set speed
            </summary>
            <remarks>Indicates that the communication speed of this VINT port can be set.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.IsLocal">
            <summary>True if the channel is attached to a local device
            </summary>
            <remarks>Returns true when this channel is attached directly on the local machine, or false otherwise.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.MeshMode">
            <summary>The mesh mode
            </summary>
            <remarks>The mesh mode of a mesh device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.IsOpen">
            <summary>True if the channel is opened.
            </summary>
            <remarks>Returns true if <c>Open()</c> has been called on this channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.Parent">
            <summary>The handle of the parent
            </summary>
            <remarks><p>Gets the handle of the parent device of the given Phidget handle.</p>
            <p>For example, this would refer to the device the channel is a part of, or the Hub that a device
            is plugged into.</p>
            This is useful when used alongside a <b>Phidget Manager</b> to create device trees like the one in
            the Phidget Control Panel.
            <list>
            <item>This can be used to travel up the device tree and get device information at each step.</item>
            <item>The root device will return a null handle</item>
            <item>Parent handles always refer to devices. See <c>IsChannel</c></item>
            </list>
            
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.IsRemote">
            <summary>True if the channel is attached to a network device
            </summary>
            <remarks>Returns true when this channel is attached via a Phidget network server, or false otherwise.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ServerHostname">
            <summary>The hostname of the channel's server
            </summary>
            <remarks>Gets the hostname of the Phidget network server for network attached Phidgets.
            Fails if the channel is not connected to a Phidget network server.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ServerName">
            <summary>The name of the Phidget network server the channel is from
            </summary>
            <remarks>Gets the name of the Phidget network server the channel is attached to, if any.
            Fails if the channel is not connected to a Phidget network server.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ServerPeerName">
            <summary>The address and port of the channel's server
            </summary>
            <remarks>Gets the peer name (address and port) of the Phidget server for network attached Phidgets,
            formatted as: <c>address:port</c>
            Fails if the channel is not connected to a Phidget network server.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.ServerUniqueName">
            <summary>The unique name of the server
            </summary>
            <remarks>Gets the unique name for the server the channel is attached to, if any. This is either a unique
            mDNS name, or the name specified in <c>Net.AddServer()</c>
            Fails if the channel is not connected to a Phidget network server.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.MaxVINTDeviceSpeed">
            <summary>The VINT Device max commuinication speed
            </summary>
            <remarks>The max communication speed of a high-speed capable VINT Device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.VINTDeviceSupportsAutoSetSpeed">
            <summary>The VINT Device supports auto set speed
            </summary>
            <remarks>Indicates that the communication speed of this VINT device can be set automatically.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="P:Phidget22.Phidget.VINTDeviceSupportsSetSpeed">
            <summary>The VINT Device supports set speed
            </summary>
            <remarks>Indicates that the communication speed of this VINT device can be set.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.GetClientVersion">
            <remarks>Gets the network protocol version of the client, for a network attached channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.Close">
            <remarks>Closes a Phidget channel that has been opened.<c>Close()</c> will release the channel on the
            Phidget device.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.GetDeviceChannelCount(Phidget22.ChannelClass)">
            <remarks>Gets the number of channels of the specified channel class on the device. Pass
            <c>ChannelClass.None</c> to get the total number of channels.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.Reboot">
            <remarks>Reboots the device into the regular firmware.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.RebootFirmwareUpgrade(System.Int32)">
            <remarks>Reboots the device into firmware upgrade mode.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.GetServerVersion">
            <remarks>Gets the protocol version of the remote Network Server, for a network attached channel.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="M:Phidget22.Phidget.WriteDeviceLabel(System.String)">
            <remarks>Writes a label to the device in the form of a string in the device flash memory. This label can
            then be used to identify the device, and will persist across power cycles.
            
            The label can be at most 10 UTF-16 code units. Most unicode characters take up a single code unit,
            but some, such as emoji, can take several.
            
            Some older devices can not have their labels set from Windows. For these devices the label should
            be set from Linux or macOS.
            
            Note: You should be careful when writing labels in your code, because the label is stored in flash
            which can only be re-written around 10,000 times before it will no longer write. If your program is
            complex, be sure to test it thoroughly before using WriteLabel to avoid accidentally burning out
            the flash.
            </remarks>
            <exception cref="T:Phidget22.PhidgetException">A Phidget error occurs.</exception>
        </member>
        <member name="E:Phidget22.Phidget.Attach">
            <remarks>Occurs when the channel is attached to a physical channel on a Phidget.
            
            <c>Attach</c> must be registered prior to calling <c>Open()</c>, and will be called
            when the Phidget library matches the channel with a physical channel on a Phidget.
            <c>Attach</c> may be called more than once if the channel is detached during its
            lifetime.
            
            <c>Attach</c> is the recommended place to configuration properties of the channel such as the
            data interval or change trigger.
            </remarks>
        </member>
        <member name="E:Phidget22.Phidget.Detach">
            <remarks>Occurs when the channel is detached from a Phidget device channel.<c>Detach</c> typically
            occurs when the Phidget device is removed from the system.
            </remarks>
        </member>
        <member name="E:Phidget22.Phidget.Error">
            <remarks><c>Error</c> is called when an error condition has been detected.
            
            See the documentation for your specific channel class to see what error events it might throw.
            </remarks>
        </member>
        <member name="E:Phidget22.Phidget.PropertyChange">
            <remarks>Occurs when a property is changed externally from the user channel, usually from a network client
            attached to the same channel.
            </remarks>
        </member>
        <member name="T:Phidget22.WindowsLibraryLoader">
            <summary>
            Handles loading embedded dlls into memory.
            </summary>
            <remarks>This code is based on https://github.com/charlesw/tesseract - taken from OpenCvSharp</remarks>
        </member>
        <member name="P:Phidget22.WindowsLibraryLoader.Instance">
             <summary>
            
             </summary>
        </member>
        <member name="F:Phidget22.WindowsLibraryLoader.ProcessorArchitecture">
            <summary>
            The default base directory name to copy the assemblies too.
            </summary>
        </member>
        <member name="F:Phidget22.WindowsLibraryLoader.processorArchitecturePlatforms">
            <summary>
            Map processor
            </summary>
        </member>
        <member name="F:Phidget22.WindowsLibraryLoader.processorArchitectureAddressWidthPlatforms">
            <summary>
            Used as a sanity check for the returned processor architecture to double check the returned value.
            </summary>
        </member>
        <member name="M:Phidget22.WindowsLibraryLoader.IsLibraryLoaded(System.String)">
             <summary>
            
             </summary>
             <param name="dllName"></param>
             <returns></returns>
        </member>
        <member name="M:Phidget22.WindowsLibraryLoader.IsCurrentPlatformSupported">
             <summary>
            
             </summary>
             <returns></returns>
        </member>
        <member name="M:Phidget22.WindowsLibraryLoader.LoadLibrary(System.String)">
             <summary>
            
             </summary>
             <param name="dllName"></param>
        </member>
        <member name="M:Phidget22.WindowsLibraryLoader.GetProcessArchitecture">
            <summary>
            Get's the current process architecture while keeping track of any assumptions or possible errors.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Phidget22.WindowsLibraryLoader.FixUpDllFileName(System.String)">
            <summary>
            Determines if the dynamic link library file name requires a suffix
            and adds it if necessary.
            </summary>
        </member>
        <member name="M:Phidget22.WindowsLibraryLoader.GetPlatformName(System.String)">
            <summary>
            Given the processor architecture, returns the name of the platform.
            </summary>
        </member>
        <member name="T:Phidget22.WindowsLibraryLoader.ProcessArchitectureInfo">
             <summary>
            
             </summary>
        </member>
        <member name="P:Phidget22.UnixLibraryLoader.Instance">
             <summary>
            
             </summary>
        </member>
        <member name="M:Phidget22.UnixLibraryLoader.IsLibraryLoaded(System.String)">
             <summary>
            
             </summary>
             <param name="dllName"></param>
             <returns></returns>
        </member>
        <member name="M:Phidget22.UnixLibraryLoader.IsCurrentPlatformSupported">
             <summary>
            
             </summary>
             <returns></returns>
        </member>
        <member name="M:Phidget22.UnixLibraryLoader.LoadLibrary(System.String,System.String)">
             <summary>
            
             </summary>
             <param name="dllName"></param>
             <param name="path"></param>
        </member>
        <member name="T:Phidget22.PhidgetException">
            <summary>
            This class represents Phidget related exceptions.
            </summary>
            <remarks>
            All Phidget exceptions originate in the phidget22 C library. These exceptions can be thrown by most function in the library and
            cover such things as trying to access a Phidget before opening it, or before it is attached and ready to use,
            out of bounds Index and data values, and other less common problems.
            </remarks>
        </member>
        <member name="M:Phidget22.PhidgetException.CreateByCode(Phidget22.ErrorCode)">
            <summary>
            Creates an exception of the specified type
            </summary>
        </member>
        <member name="P:Phidget22.PhidgetException.ErrorCode">
            <summary>
            Gets the error code.
            </summary>
        </member>
        <member name="P:Phidget22.PhidgetException.Description">
            <summary>
            Gets the error description.
            </summary>
            <remarks>
            This is an English phrase that names the exception that occured.
            </remarks>
        </member>
        <member name="P:Phidget22.PhidgetException.Detail">
            <summary>
            Gets the error details.
            </summary>
            <remarks>
            This is an English phrase that describes why the exception occured, and how to diagnose it.
            </remarks>
        </member>
        <member name="T:Phidget22.EncoderIOMode">
            <summary>Encoder interface mode
            </summary>
        </member>
        <member name="F:Phidget22.EncoderIOMode.PushPull">
            <summary>No additional pull-up or pull-down resistors will be applied to the input lines.</summary>
        </member>
        <member name="F:Phidget22.EncoderIOMode.LineDriver_2K2">
            <summary>2.2kΩ pull-down resistors will be applied to the input lines.</summary>
        </member>
        <member name="F:Phidget22.EncoderIOMode.LineDriver_10K">
            <summary>10kΩ pull-down resistors will be applied to the input lines.</summary>
        </member>
        <member name="F:Phidget22.EncoderIOMode.OpenCollector_2K2">
            <summary>2.2kΩ pull-up resistors will be applied to the input lines.</summary>
        </member>
        <member name="F:Phidget22.EncoderIOMode.OpenCollector_10K">
            <summary>10kΩ pull-up resistors will be applied to the input lines.</summary>
        </member>
        <member name="T:Phidget22.ErrorCode">
            <summary>Error codes returned from all API calls via Exceptions.
            </summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Success">
            <summary>Call succeeded.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NotPermitted">
            <summary>Not Permitted</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NoSuchEntity">
            <summary>The specified entity does not exist. This is usually a result of Net or Log API calls.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Timeout">
            <summary>Call has timed out. This can happen for a number of common reasons: Check that the Phidget you are trying to open is plugged in, and that the addressing parameters have been specified correctly. Check that the Phidget is not already open in another program, such as the Phidget Control Panel, or another program you are developing. If your Phidget has a plug or terminal block for external power, ensure it is plugged in and powered. If you are using remote Phidgets, ensure that your computer can access the remote Phidgets using the Phidget Control Panel. If you are using remote Phidgets, ensure you have enabled Server Discovery or added the server corresponding to the Phidget you are trying to open. If you are using Network Server Discovery, try extending the timeout to allow more time for the server to be discovered.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.KeepAlive">
            <summary>Keep Alive Failure</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Interrupted">
            <summary>The operation was interrupted; either from an error, or because the device was closed.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.IO">
            <summary>IO Issue</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NoMemory">
            <summary>Memory Issue</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Access">
            <summary>Access to the resource (file) is denied. This can happen when enabling logging.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Fault">
            <summary>Address Issue</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Busy">
            <summary>Specified resource is in use. This error code is not normally used.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Exists">
            <summary>Object Exists</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.IsNotDirectory">
            <summary>Object is not a directory</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.IsDirectory">
            <summary>Object is a directory</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Invalid">
            <summary>Invalid or malformed command. This can be caused by sending a command to a device which is not supported in it's current configuration.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.TooManyFilesSystem">
            <summary>Too many open files in system</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.TooManyFiles">
            <summary>Too many open files</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NoSpace">
            <summary>The provided buffer argument size is too small.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.FileTooBig">
            <summary>File too Big</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.ReadOnlyFilesystem">
            <summary>Read Only Filesystem</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.ReadOnly">
            <summary>Read Only Object</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Unsupported">
            <summary>This API call is not supported. For Class APIs this means that this API is not supported by this device. This can also mean the API is not supported on this OS, or OS configuration.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.InvalidArgument">
            <summary>One or more of the parameters passed to the method or property is not accepted by the channel in its current configuration.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.TryAgain">
            <summary>Try again</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NotEmpty">
            <summary>Not Empty</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Unexpected">
            <summary>Something unexpected has occured. Enable library logging and have a look at the log, or contact Phidgets support.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Duplicate">
            <summary>Duplicated request. Can happen with some Net API calls, such as trying to add the same server twice.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.BadPassword">
            <summary>Bad Credential</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NetworkUnavailable">
            <summary>Network Unavailable</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.ConnectionRefused">
            <summary>Connection Refused</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.ConnectionReset">
            <summary>Connection Reset</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.HostUnreachable">
            <summary>No route to host</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NoSuchDevice">
            <summary>No Such Device</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.WrongDevice">
            <summary>A Phidget channel object of the wrong channel class was passed into this API call.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.BrokenPipe">
            <summary>Broken Pipe</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NameResolutionFailure">
            <summary>Name Resolution Failure</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.UnknownValue">
            <summary>The value is unknown. This can happen right after attach, when the value has not yet been recieved from the Phidget. This can also happen if a device has not yet been configured / enabled. Some properties can only be read back after being set.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NotAttached">
            <summary>This can happen for a number of common reasons. Be sure you are opening the channel before trying to use it. If you are opening the channel, the program may not be waiting for the channel to be attached. If possible use the version of Open that takes a timeout parameter. Otherwise, be sure to check the Attached property of the channel before trying to use it.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.InvalidPacket">
            <summary>Invalid or Unexpected Packet</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.TooBig">
            <summary>Argument List Too Long</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.BadVersion">
            <summary>Bad Version</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Closed">
            <summary>Channel was closed. This can happen if a channel is closed while openWaitForAttachment is waiting.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.NotConfigured">
            <summary>Device is not configured enough for this API call. Have a look at the must-set properties for this device and make sure to configure them first.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.EndOfFile">
            <summary>End of File</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.Failsafe">
            <summary>Failsafe Triggered on this channel. Close and Re-open the channel to resume operation.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.UnknownValueHigh">
            <summary>The value has been measured to be higher than the valid range of the sensor.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.UnknownValueLow">
            <summary>The value has been measured to be lower than the valid range of the sensor.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.BadPower">
            <summary>The power supply of your device is outside the acceptable range to allow operation.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.PowerCycle">
            <summary>Something has caused your device to decide it needs to be powered off and on to resume operation.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.HALLSENSOR">
            <summary>The hall sensor on your BLDC Motor Controller is Improperly Connected</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.BADCURRENT">
            <summary>Current sensor offset outside acceptable bounds. Move the sensor aways from magnetic fields and try again.</summary>
        </member>
        <member name="F:Phidget22.ErrorCode.BADCONNECTION">
            <summary>One or more required connections on the device has been deemed faulty. Check your connections and try again.</summary>
        </member>
        <member name="T:Phidget22.ErrorEventCode">
            <summary>The error code from an Error event
            </summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.BadVersion">
            <summary>Client and Server protocol versions don't match. Ensure that both sides are using the same release of phidget22.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Busy">
            <summary>Check that the Phidget is not already open in another program, such as the Phidget Control Panel, or another program you are developing.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Network">
            <summary>This could be a network communication issue, an authentication issue (if server password is enabled), or a Device access / hardware issue.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Dispatch">
            <summary>An error occured dispatching a command or event.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Failure">
            <summary>A general failure occured - see description for details.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Success">
            <summary>An error state has cleared.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Overrun">
            <summary>A sampling overrun happened in firmware.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.PacketLost">
            <summary>One or more packets were lost.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.WrapAround">
            <summary>Variable has wrapped around.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.OverTemperature">
            <summary>Over-temperature condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.OverCurrent">
            <summary>Over-current condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.OutOfRange">
            <summary>Out of range condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.BadPower">
            <summary>Power supply problem detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Saturation">
            <summary>Saturation condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.OverVoltage">
            <summary>Over-voltage condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.FailsafeCondition">
            <summary>Failsafe condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.VoltageError">
            <summary>Voltage error detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.EnergyDumpCondition">
            <summary>Energy dump condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.MotorStallCondition">
            <summary>Motor stall detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.InvalidStateCondition">
            <summary>Invalid state detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.BadConnectionCondition">
            <summary>Bad connection detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.OutOfRangeHighCondition">
            <summary>Measurement is above the valid range.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.OutOfRangeLowCondition">
            <summary>Measurement is below the valid range.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.Fault">
            <summary>Fault condition detected.</summary>
        </member>
        <member name="F:Phidget22.ErrorEventCode.EStop">
            <summary>External stop condition detected.</summary>
        </member>
        <member name="T:Phidget22.DeviceID">
            <summary>Phidget device ID
            </summary>
        </member>
        <member name="F:Phidget22.DeviceID.None">
            <summary>Unknown device</summary>
        </member>
        <member name="F:Phidget22.DeviceID.Unknown">
            <summary>Unknown device</summary>
        </member>
        <member name="F:Phidget22.DeviceID.DigitalInputPort">
            <summary>Hub Port in Digital Input mode</summary>
        </member>
        <member name="F:Phidget22.DeviceID.DigitalOutputPort">
            <summary>Hub Port in Digital Output mode</summary>
        </member>
        <member name="F:Phidget22.DeviceID.VoltageInputPort">
            <summary>Hub Port in Voltage Input mode</summary>
        </member>
        <member name="F:Phidget22.DeviceID.VoltageRatioInputPort">
            <summary>Hub Port in Voltage Ratio Input mode</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DICTIONARY">
            <summary>Dictionary</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1000">
            <summary>PhidgetServo 1-Motor (1000)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1001">
            <summary>PhidgetServo 4-Motor (1001)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1002">
            <summary>PhidgetAnalog 4-Output (1002)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1008">
            <summary>PhidgetAccelerometer 2-Axis (1008)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1010_1013_1018_1019">
            <summary>PhidgetInterfaceKit 8/8/8 (1010, 1013, 1018, 1019)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1011">
            <summary>PhidgetInterfaceKit 2/2/2 (1011)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1012">
            <summary>PhidgetInterfaceKit 0/16/16 (1012)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1014">
            <summary>PhidgetInterfaceKit 0/0/4 (1014)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1015">
            <summary>PhidgetLinearTouch (1015)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1016">
            <summary>PhidgetCircularTouch (1016)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1017">
            <summary>PhidgetInterfaceKit 0/0/8 (1017)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1023">
            <summary>PhidgetRFID (1023)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1024">
            <summary>PhidgetRFID Read-Write (1024)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1030">
            <summary>PhidgetLED-64 (1030)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1031">
            <summary>PhidgetLED-64 Advanced (1031)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1032">
            <summary>PhidgetLED-64 Advanced (1032)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1040">
            <summary>PhidgetGPS (1040)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1041">
            <summary>PhidgetSpatial 0/0/3 Basic (1041)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1042">
            <summary>PhidgetSpatial 3/3/3 Basic (1042)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1043">
            <summary>PhidgetSpatial Precision 0/0/3 High Resolution (1043)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1044">
            <summary>PhidgetSpatial Precision 3/3/3 High Resolution (1044)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1045">
            <summary>PhidgetTemperatureSensor IR (1045)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1046">
            <summary>PhidgetBridge 4-Input (1046)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1047">
            <summary>PhidgetEncoder HighSpeed 4-Input (1047)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1048">
            <summary>PhidgetTemperatureSensor 4-input (1048)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1049">
            <summary>PhidgetSpatial 0/0/3 (1049)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1051">
            <summary>PhidgetTemperatureSensor 1-Input (1051)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1052">
            <summary>PhidgetEncoder Mechanical (1052)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1053">
            <summary>PhidgetAccelerometer 2-Axis (1053)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1054">
            <summary>PhidgetFrequencyCounter (1054)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1055">
            <summary>PhidgetIR (1055)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1056">
            <summary>PhidgetSpatial 3/3/3 (1056)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1057">
            <summary>PhidgetEncoder HighSpeed (1057)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1058">
            <summary>PhidgetPHSensor (1058)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1059">
            <summary>PhidgetAccelerometer 3-Axis (1059)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1060">
            <summary>PhidgetMotorControl LV (1060)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1061">
            <summary>PhidgetAdvancedServo 8-Motor (1061)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1062">
            <summary>PhidgetStepper Unipolar 4-Motor (1062)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1063">
            <summary>PhidgetStepper Bipolar 1-Motor (1063)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1064">
            <summary>PhidgetMotorControl HC (1064)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1065">
            <summary>PhidgetMotorControl 1-Motor (1065)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1066">
            <summary>PhidgetAdvancedServo 1-Motor (1066)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1067">
            <summary>PhidgetStepper Bipolar HC (1067)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1202_1203">
            <summary>PhidgetTextLCD 20x2 with PhidgetInterfaceKit 8/8/8 (1202, 1203)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1204">
            <summary>PhidgetTextLCD Adapter (1204)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1215__1218">
            <summary>PhidgetTextLCD 20x2 (1215, 1216, 1217, 1218)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_1219__1222">
            <summary>PhidgetTextLCD 20x2 with PhidgetInterfaceKit 0/8/8 (1219, 1220, 1221, 1222)</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_ADP1000">
            <summary>pH Adapter</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DAQ1000">
            <summary>Analog Input Module x8</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DAQ1200">
            <summary>Digital Input 4</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DAQ1300">
            <summary>Digital Input 4 Isolated</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DAQ1301">
            <summary>Digital Input 16</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DAQ1400">
            <summary>Versatile Input</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DAQ1500">
            <summary>Bridge</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DCC1000">
            <summary>DC Motor Controller with PID</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DCC1001">
            <summary>Small DC Motor Controller</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DCC1002">
            <summary>4A Small DC Motor Controller</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DCC1003">
            <summary>2 Channel DC Motor Controller</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DCC1100">
            <summary>BLDC Motor Controller</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DST1000">
            <summary>200mm Distance Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DST1001">
            <summary>650mm distance sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DST1002">
            <summary>1200mm distance sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_DST1200">
            <summary>Sonar Distance Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_ENC1000">
            <summary>Encoder</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_ENC1001">
            <summary>Encoder</summary>
        </member>
        <member name="F:Phidget22.DeviceID.FirmwareUpgradeSPI">
            <summary>Phidget SPI device under firmware upgrade</summary>
        </member>
        <member name="F:Phidget22.DeviceID.FirmwareUpgradeSTM32F0">
            <summary>VINT Device in firmware upgrade mode, STM32F0 Proc.</summary>
        </member>
        <member name="F:Phidget22.DeviceID.FirmwareUpgradeSTM32F3">
            <summary>VINT Device in firmware upgrade mode, STM32F3 Proc.</summary>
        </member>
        <member name="F:Phidget22.DeviceID.FirmwareUpgradeSTM32G0">
            <summary>VINT Device in firmware upgrade mode, STM32G0 Proc.</summary>
        </member>
        <member name="F:Phidget22.DeviceID.FirmwareUpgradeSTM8S">
            <summary>VINT Device in firmware upgrade mode, STM8S Proc.</summary>
        </member>
        <member name="F:Phidget22.DeviceID.FirmwareUpgradeUSB">
            <summary>USB device in firmware upgrade mode</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HIN1000">
            <summary>Capacitive Touch Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HIN1001">
            <summary>Capacitive Scroll</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HIN1100">
            <summary>Joystick</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HIN1101">
            <summary>Dial Encoder</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUB0000">
            <summary>Phidget USB VINT Hub with 6 ports</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUB0001">
            <summary>Phidget USB VINT Hub with 6 ports</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUB0002">
            <summary>Phidget USB VINT Hub with 6 ports</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUB0004">
            <summary>Phidget SPI VINT Hub with 6 ports</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUB0007">
            <summary>Phidget USB VINT Hub with 1 port</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUB5000">
            <summary>Phidget Network Hub with 6 ports</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUM1000">
            <summary>Humidity Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUM1001">
            <summary>Humidity Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_HUM1100">
            <summary>VINT Moisture Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_InterfaceKit488">
            <summary>PhidgetInterfaceKit 4/8/8</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_LCD1100">
            <summary>LCD</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_LED1000">
            <summary>LED Driver 32</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_LUX1000">
            <summary>Light Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_MOT0100">
            <summary>Phidget Accelerometer</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_MOT0109">
            <summary>PhidgetSpatial Precision 3/3/3</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_MOT0110">
            <summary>PhidgetSpatial Precision 3/3/3</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_MOT1100">
            <summary>Accelerometer 0/0/3</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_MOT1101">
            <summary>Spatial 3/3/3</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_MOT1102">
            <summary>VINT Spatial Phidget AHRS</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_OUT1000">
            <summary>Analog Output 0-5V</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_OUT1001">
            <summary>Analog Output (+/-)10V</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_OUT1002">
            <summary>Analog Output (+/-)10V - 16 bit</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_OUT1100">
            <summary>Digital Output 4</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_PRE1000">
            <summary>Barometer</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_RCC0004">
            <summary>PhidgetAdvancedServo 8-Motor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_RCC1000">
            <summary>8-Servo Controller</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_REL1000">
            <summary>Power Relay 4</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_REL1100">
            <summary>Digital Output 4 Isolated</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_REL1101">
            <summary>Digital Output 16 Isolated</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_SAF1000">
            <summary>Power Supply Protector</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_SND1000">
            <summary>Sound Pressure Level Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_STC1000">
            <summary>Bipolar Stepper Motor Controller</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_STC1001">
            <summary>Bipolar Stepper Motor SmallController</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_STC1002">
            <summary>8A Bipolar Stepper Motor Controller</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_STC1003">
            <summary>4A Bipolar Stepper Motor SmallController</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_STC1005">
            <summary>4A Bipolar Stepper Motor SmallController</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_TMP1000">
            <summary>Integrated Temperature Sensor</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_TMP1100">
            <summary>Thermocouple 1</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_TMP1101">
            <summary>Thermocouple 4</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_TMP1200">
            <summary>RTD</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_VCP1000">
            <summary>Voltage Sensor High Precision</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_VCP1001">
            <summary>Voltage Sensor Large</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_VCP1002">
            <summary>Voltage Sensor Small</summary>
        </member>
        <member name="F:Phidget22.DeviceID.PN_VCP1100">
            <summary>30A Current Sensor</summary>
        </member>
        <member name="T:Phidget22.LogLevel">
            <summary>Phidget logging level
            </summary>
        </member>
        <member name="F:Phidget22.LogLevel.Critical">
            <summary>Critical</summary>
        </member>
        <member name="F:Phidget22.LogLevel.Error">
            <summary>Error</summary>
        </member>
        <member name="F:Phidget22.LogLevel.Warning">
            <summary>Warning</summary>
        </member>
        <member name="F:Phidget22.LogLevel.Info">
            <summary>Info</summary>
        </member>
        <member name="F:Phidget22.LogLevel.Debug">
            <summary>Debug</summary>
        </member>
        <member name="F:Phidget22.LogLevel.Verbose">
            <summary>Verbose</summary>
        </member>
        <member name="T:Phidget22.DeviceClass">
            <summary>Phidget device class
            </summary>
        </member>
        <member name="F:Phidget22.DeviceClass.None">
            <summary>Any device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Accelerometer">
            <summary>PhidgetAccelerometer device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.AdvancedServo">
            <summary>PhidgetAdvancedServo device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Analog">
            <summary>PhidgetAnalog device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Bridge">
            <summary>PhidgetBridge device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Dictionary">
            <summary>Dictionary device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Encoder">
            <summary>PhidgetEncoder device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.FirmwareUpgrade">
            <summary>Phidget device in Firmware Upgrade mode</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.FrequencyCounter">
            <summary>PhidgetFrequencyCounter device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Generic">
            <summary>Generic device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.GPS">
            <summary>PhidgetGPS device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Hub">
            <summary>Phidget VINT Hub device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.InterfaceKit">
            <summary>PhidgetInterfaceKit device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.IR">
            <summary>PhidgetIR device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.LED">
            <summary>PhidgetLED device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.MotorControl">
            <summary>PhidgetMotorControl device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.PHSensor">
            <summary>PhidgetPHSensor device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.RFID">
            <summary>PhidgetRFID device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Servo">
            <summary>PhidgetServo device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Spatial">
            <summary>PhidgetSpatial device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.Stepper">
            <summary>PhidgetStepper device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.TemperatureSensor">
            <summary>PhidgetTemperatureSensor device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.TextLCD">
            <summary>PhidgetTextLCD device</summary>
        </member>
        <member name="F:Phidget22.DeviceClass.VINT">
            <summary>Phidget VINT device</summary>
        </member>
        <member name="T:Phidget22.ChannelClass">
            <summary>Phidget channel class
            </summary>
        </member>
        <member name="F:Phidget22.ChannelClass.None">
            <summary>Any channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Accelerometer">
            <summary>Accelerometer channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.BLDCMotor">
            <summary>BLDC motor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.CapacitiveTouch">
            <summary>Capacitive Touch channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.CurrentInput">
            <summary>Current input channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.DCMotor">
            <summary>DC motor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Dictionary">
            <summary>Dictionary</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.DigitalInput">
            <summary>Digital input channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.DigitalOutput">
            <summary>Digital output channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.DistanceSensor">
            <summary>Distance sensor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Encoder">
            <summary>Encoder channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.FirmwareUpgrade">
            <summary>Firmware upgrade channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.FrequencyCounter">
            <summary>Frequency counter channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Generic">
            <summary>Generic channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.GPS">
            <summary>GPS channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Gyroscope">
            <summary>Gyroscope channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Hub">
            <summary>VINT Hub channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.HumiditySensor">
            <summary>Humidity sensor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.IR">
            <summary>IR channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.LCD">
            <summary>LCD channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.LightSensor">
            <summary>Light sensor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Magnetometer">
            <summary>Magnetometer channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.MotorPositionController">
            <summary>Motor position control channel.</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.PHSensor">
            <summary>pH sensor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.PowerGuard">
            <summary>Power guard channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.PressureSensor">
            <summary>Pressure sensor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.RCServo">
            <summary>RC Servo channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.ResistanceInput">
            <summary>Resistance input channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.RFID">
            <summary>RFID channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.SoundSensor">
            <summary>Sound sensor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Spatial">
            <summary>Spatial channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.Stepper">
            <summary>Stepper channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.TemperatureSensor">
            <summary>Temperature sensor channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.VoltageInput">
            <summary>Voltage input channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.VoltageOutput">
            <summary>Voltage output channel</summary>
        </member>
        <member name="F:Phidget22.ChannelClass.VoltageRatioInput">
            <summary>Voltage ratio input channel</summary>
        </member>
        <member name="T:Phidget22.ChannelSubclass">
            <summary>Phidget channel sub class
            </summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.None">
            <summary>No subclass</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.DigitalOutputDutyCycle">
            <summary>Digital output duty cycle</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.DigitalOutputFrequency">
            <summary>Digital output frequency</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.DigitalOutputLEDDriver">
            <summary>Digital output LED driver</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.EncoderModeSettable">
            <summary>Encoder IO mode settable</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.LCDGraphic">
            <summary>Graphic LCD</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.LCDText">
            <summary>Text LCD</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.SpatialAHRS">
            <summary>Spatial AHRS/IMU</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.TemperatureSensorRTD">
            <summary>Temperature sensor RTD</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.TemperatureSensorThermocouple">
            <summary>Temperature sensor thermocouple</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.VoltageInputSensorPort">
            <summary>Voltage sensor port</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.VoltageRatioInputBridge">
            <summary>Voltage ratio bridge input</summary>
        </member>
        <member name="F:Phidget22.ChannelSubclass.VoltageRatioInputSensorPort">
            <summary>Voltage ratio sensor port</summary>
        </member>
        <member name="T:Phidget22.MeshMode">
            <summary>Phidget mesh mode
            </summary>
        </member>
        <member name="F:Phidget22.MeshMode.Router">
            <summary>Router mode</summary>
        </member>
        <member name="F:Phidget22.MeshMode.SleepyEndDevice">
            <summary>Sleepy end device mode</summary>
        </member>
        <member name="T:Phidget22.PowerSupply">
            <summary>The voltage level being provided to the sensor
            </summary>
        </member>
        <member name="F:Phidget22.PowerSupply.Off">
            <summary>Switch the sensor power supply off</summary>
        </member>
        <member name="F:Phidget22.PowerSupply.Volts_12">
            <summary>The sensor is provided with 12 volts</summary>
        </member>
        <member name="F:Phidget22.PowerSupply.Volts_24">
            <summary>The sensor is provided with 24 volts</summary>
        </member>
        <member name="T:Phidget22.RTDWireSetup">
            <summary>RTD wiring configuration
            </summary>
        </member>
        <member name="F:Phidget22.RTDWireSetup.Wires_2">
            <summary>Configures the device to make resistance calculations based on a 2-wire RTD setup.</summary>
        </member>
        <member name="F:Phidget22.RTDWireSetup.Wires_3">
            <summary>Configures the device to make resistance calculations based on a 3-wire RTD setup.</summary>
        </member>
        <member name="F:Phidget22.RTDWireSetup.Wires_4">
            <summary>Configures the device to make resistance calculations based on a 4-wire RTD setup.</summary>
        </member>
        <member name="T:Phidget22.InputMode">
            <summary>The selected polarity mode for the digital input
            </summary>
        </member>
        <member name="F:Phidget22.InputMode.NPN">
            <summary>For interfacing NPN digital sensors</summary>
        </member>
        <member name="F:Phidget22.InputMode.PNP">
            <summary>For interfacing PNP digital sensors</summary>
        </member>
        <member name="T:Phidget22.FanMode">
            <summary>The operating condition of the fan. Choose between on, off, or automatic (based on temperature).
            </summary>
        </member>
        <member name="F:Phidget22.FanMode.Off">
            <summary>Turns the fan off.</summary>
        </member>
        <member name="F:Phidget22.FanMode.On">
            <summary>Turns the fan on.</summary>
        </member>
        <member name="F:Phidget22.FanMode.Auto">
            <summary>The fan will be automatically controlled based on temperature.</summary>
        </member>
        <member name="T:Phidget22.DecelerationType">
            <summary>The drive type selection for the motor
            </summary>
        </member>
        <member name="F:Phidget22.DecelerationType.COAST">
            <summary>Configures the motor for coasting deceleration</summary>
        </member>
        <member name="F:Phidget22.DecelerationType.FORCED">
            <summary>Configures the motor for forced deceleration</summary>
        </member>
        <member name="T:Phidget22.PositionType">
            <summary>The position type selection
            </summary>
        </member>
        <member name="F:Phidget22.PositionType.ENCODER">
            <summary>Configures the controller to use the encoder as a position source</summary>
        </member>
        <member name="F:Phidget22.PositionType.HALL_SENSOR">
            <summary>Configures the controller to use the hall-effect sensor as a position source</summary>
        </member>
        <member name="T:Phidget22.SpatialPrecision">
            <summary>Controls how data from primary and backup spatial sensing chips are used.
            </summary>
        </member>
        <member name="F:Phidget22.SpatialPrecision.Hybrid">
            <summary>High precision sensor is used when possible, fallback to low precision sensor.</summary>
        </member>
        <member name="F:Phidget22.SpatialPrecision.High">
            <summary>High precision sensor is always used.</summary>
        </member>
        <member name="F:Phidget22.SpatialPrecision.Low">
            <summary>Low precision sensor is always used.</summary>
        </member>
        <member name="T:Phidget22.Unit">
            <summary>Analog sensor units. These correspond to the types of quantities that can be measured by Phidget
            analog sensors.
            </summary>
        </member>
        <member name="F:Phidget22.Unit.None">
            <summary>Unitless</summary>
        </member>
        <member name="F:Phidget22.Unit.Boolean">
            <summary>Boolean</summary>
        </member>
        <member name="F:Phidget22.Unit.Percent">
            <summary>Percent</summary>
        </member>
        <member name="F:Phidget22.Unit.Decibel">
            <summary>Decibel</summary>
        </member>
        <member name="F:Phidget22.Unit.Millimeter">
            <summary>Millimeter</summary>
        </member>
        <member name="F:Phidget22.Unit.Centimeter">
            <summary>Centimeter</summary>
        </member>
        <member name="F:Phidget22.Unit.Meter">
            <summary>Meter</summary>
        </member>
        <member name="F:Phidget22.Unit.Gram">
            <summary>Gram</summary>
        </member>
        <member name="F:Phidget22.Unit.Kilogram">
            <summary>Kilogram</summary>
        </member>
        <member name="F:Phidget22.Unit.Milliampere">
            <summary>Milliampere</summary>
        </member>
        <member name="F:Phidget22.Unit.Ampere">
            <summary>Ampere</summary>
        </member>
        <member name="F:Phidget22.Unit.Kilopascal">
            <summary>Kilopascal</summary>
        </member>
        <member name="F:Phidget22.Unit.Volt">
            <summary>Volt</summary>
        </member>
        <member name="F:Phidget22.Unit.DegreeCelcius">
            <summary>Degree Celcius</summary>
        </member>
        <member name="F:Phidget22.Unit.Lux">
            <summary>Lux</summary>
        </member>
        <member name="F:Phidget22.Unit.Gauss">
            <summary>Gauss</summary>
        </member>
        <member name="F:Phidget22.Unit.pH">
            <summary>pH</summary>
        </member>
        <member name="F:Phidget22.Unit.Watt">
            <summary>Watt</summary>
        </member>
        <member name="T:Phidget22.UnitInfo">
            <summary>The name, symbol, and Phidgets enumeration of the units of the sensor value calculated from the
            analog sensor's measurements.
            </summary>
        </member>
        <member name="F:Phidget22.UnitInfo.Unit">
            <summary>Unit</summary>
        </member>
        <member name="F:Phidget22.UnitInfo.Name">
            <summary>Name</summary>
        </member>
        <member name="F:Phidget22.UnitInfo.Symbol">
            <summary>Symbol</summary>
        </member>
        <member name="T:Phidget22.ServerType">
            <summary>Phidget Server Types
            </summary>
        </member>
        <member name="F:Phidget22.ServerType.None">
            <summary>Unknown or unspecified server type</summary>
        </member>
        <member name="F:Phidget22.ServerType.DeviceListener">
            <summary>Phidget22 Server listener</summary>
        </member>
        <member name="F:Phidget22.ServerType.Device">
            <summary>Phidget22 Server connection</summary>
        </member>
        <member name="F:Phidget22.ServerType.DeviceRemote">
            <summary>Phidget22 Server<br/>Server discovery with this server type allows discovery of servers hosting Phidget devices. Enabling server discovery with this server type allows automated connection to these servers, and the Phidgets connected to them. Enabling server discovery with this server type will also enable ServerAdded and ServerRemoved events for this server type.</summary>
        </member>
        <member name="F:Phidget22.ServerType.WWWListener">
            <summary>Phidget22 Web Server</summary>
        </member>
        <member name="F:Phidget22.ServerType.WWW">
            <summary>Phidget22 Web Server connection</summary>
        </member>
        <member name="F:Phidget22.ServerType.WWWRemote">
            <summary>Phidget22 Web server<br/>Server discovery with this server type detects the presence of Phidget web servers used to communicate with in-browser JavaScript. Enabling server discovery with this server type will enable ServerAdded and ServerRemoved events for this server type.</summary>
        </member>
        <member name="F:Phidget22.ServerType.SBC">
            <summary>Phidget SBC<br/>Server discovery with this server type detects the presence of Phidget SBCs on the network. Enabling server discovery with this server type will enable ServerAdded and ServerRemoved events for this server type.</summary>
        </member>
        <member name="T:Phidget22.PhidgetServer">
            <summary>Describes a known server. See Constants for supported flags.
            </summary>
        </member>
        <member name="F:Phidget22.PhidgetServer.Name">
            <summary>The name of the server</summary>
        </member>
        <member name="F:Phidget22.PhidgetServer.TypeName">
            <summary>Name of the server type</summary>
        </member>
        <member name="F:Phidget22.PhidgetServer.Type">
            <summary>The server type</summary>
        </member>
        <member name="F:Phidget22.PhidgetServer.Flags">
            <summary>Flags describing the server state</summary>
        </member>
        <member name="F:Phidget22.PhidgetServer.Address">
            <summary>The address of the server</summary>
        </member>
        <member name="F:Phidget22.PhidgetServer.Hostname">
            <summary>The hostname of the server</summary>
        </member>
        <member name="F:Phidget22.PhidgetServer.Port">
            <summary>The port number of the server</summary>
        </member>
        <member name="T:Phidget22.BridgeGain">
            <summary>Bridge gain amplification setting. Higher gain results in better resolution, but narrower voltage
            range.
            </summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_1x">
            <summary>1x Amplificaion</summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_2x">
            <summary>2x Amplification</summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_4x">
            <summary>4x Amplification</summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_8x">
            <summary>8x Amplification</summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_16x">
            <summary>16x Amplification</summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_32x">
            <summary>32x Amplification</summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_64x">
            <summary>64x Amplification</summary>
        </member>
        <member name="F:Phidget22.BridgeGain.Gain_128x">
            <summary>128x Amplification</summary>
        </member>
        <member name="T:Phidget22.VoltageRatioSensorType">
            <summary>The type of sensor attached to the voltage ratio input
            </summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.VoltageRatio">
            <summary>Default. Configures the channel to be a generic ratiometric sensor. Unit is volts/volt.</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1101_Sharp2D120X">
            <summary>1101 - IR Distance Adapter, with Sharp Distance Sensor 2D120X (4-30cm)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1101_Sharp2Y0A21">
            <summary>1101 - IR Distance Adapter, with Sharp Distance Sensor 2Y0A21 (10-80cm)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1101_Sharp2Y0A02">
            <summary>1101 - IR Distance Adapter, with Sharp Distance Sensor 2Y0A02 (20-150cm)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1102">
            <summary>1102 - IR Reflective Sensor 5mm</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1103">
            <summary>1103 - IR Reflective Sensor 10cm</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1104">
            <summary>1104 - Vibration Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1105">
            <summary>1105 - Light Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1106">
            <summary>1106 - Force Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1107">
            <summary>1107 - Humidity Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1108">
            <summary>1108 - Magnetic Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1109">
            <summary>1109 - Rotation Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1110">
            <summary>1110 - Touch Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1111">
            <summary>1111 - Motion Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1112">
            <summary>1112 - Slider 60</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1113">
            <summary>1113 - Mini Joy Stick Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1115">
            <summary>1115 - Pressure Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1116">
            <summary>1116 - Multi-turn Rotation Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1118_AC">
            <summary>1118 - 50Amp Current Sensor AC</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1118_DC">
            <summary>1118 - 50Amp Current Sensor DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1119_AC">
            <summary>1119 - 20Amp Current Sensor AC</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1119_DC">
            <summary>1119 - 20Amp Current Sensor DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1120">
            <summary>1120 - FlexiForce Adapter</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1121">
            <summary>1121 - Voltage Divider</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1122_AC">
            <summary>1122 - 30 Amp Current Sensor AC</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1122_DC">
            <summary>1122 - 30 Amp Current Sensor DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1124">
            <summary>1124 - Precision Temperature Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1125_Humidity">
            <summary>1125 - Humidity Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1125_Temperature">
            <summary>1125 - Temperature Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1126">
            <summary>1126 - Differential Air Pressure Sensor +- 25kPa</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1128">
            <summary>1128 - MaxBotix EZ-1 Sonar Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1129">
            <summary>1129 - Touch Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1131">
            <summary>1131 - Thin Force Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1134">
            <summary>1134 - Switchable Voltage Divider</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1136">
            <summary>1136 - Differential Air Pressure Sensor +-2 kPa</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1137">
            <summary>1137 - Differential Air Pressure Sensor +-7 kPa</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1138">
            <summary>1138 - Differential Air Pressure Sensor 50 kPa</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1139">
            <summary>1139 - Differential Air Pressure Sensor 100 kPa</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1140">
            <summary>1140 - Absolute Air Pressure Sensor 20-400 kPa</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1141">
            <summary>1141 - Absolute Air Pressure Sensor 15-115 kPa</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_1146">
            <summary>1146 - IR Reflective Sensor 1-4mm</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3120">
            <summary>3120 - Compression Load Cell (0-4.5 kg)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3121">
            <summary>3121 - Compression Load Cell (0-11.3 kg)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3122">
            <summary>3122 - Compression Load Cell (0-22.7 kg)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3123">
            <summary>3123 - Compression Load Cell (0-45.3 kg)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3130">
            <summary>3130 - Relative Humidity Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3520">
            <summary>3520 - Sharp Distance Sensor (4-30cm)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3521">
            <summary>3521 - Sharp Distance Sensor (10-80cm)</summary>
        </member>
        <member name="F:Phidget22.VoltageRatioSensorType.PN_3522">
            <summary>3522 - Sharp Distance Sensor (20-150cm)</summary>
        </member>
        <member name="T:Phidget22.LEDForwardVoltage">
            <summary>The forward voltage setting of the LED
            </summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_1_7">
            <summary>1.7 V</summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_2_75">
            <summary>2.75 V</summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_3_2">
            <summary>3.2 V</summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_3_9">
            <summary>3.9 V</summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_4_0">
            <summary>4.0 V</summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_4_8">
            <summary>4.8 V</summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_5_0">
            <summary>5.0 V</summary>
        </member>
        <member name="F:Phidget22.LEDForwardVoltage.Volts_5_6">
            <summary>5.6 V</summary>
        </member>
        <member name="T:Phidget22.RCServoVoltage">
            <summary>Voltage supplied to all attached servos
            </summary>
        </member>
        <member name="F:Phidget22.RCServoVoltage.Volts_5_0">
            <summary>Run all servos on 5V DC</summary>
        </member>
        <member name="F:Phidget22.RCServoVoltage.Volts_6_0">
            <summary>Run all servos on 6V DC</summary>
        </member>
        <member name="F:Phidget22.RCServoVoltage.Volts_7_4">
            <summary>Run all servos on 7.4V DC</summary>
        </member>
        <member name="T:Phidget22.VoltageOutputRange">
            <summary>The selected output voltage range
            </summary>
        </member>
        <member name="F:Phidget22.VoltageOutputRange.Volts_10">
            <summary>±10V DC</summary>
        </member>
        <member name="F:Phidget22.VoltageOutputRange.Volts_5">
            <summary>0-5V DC</summary>
        </member>
        <member name="T:Phidget22.VoltageRange">
            <summary>Measurement range of the voltage input. Larger ranges have less resolution.
            </summary>
        </member>
        <member name="F:Phidget22.VoltageRange.MilliVolts_10">
            <summary>Range ±10mV DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.MilliVolts_40">
            <summary>Range ±40mV DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.MilliVolts_200">
            <summary>Range ±200mV DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.MilliVolts_312_5">
            <summary>Range ±312.5mV DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.MilliVolts_400">
            <summary>Range ±400mV DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.MilliVolts_1000">
            <summary>Range ±1000mV DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.Volts_2">
            <summary>Range ±2V DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.Volts_5">
            <summary>Range ±5V DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.Volts_15">
            <summary>Range ±15V DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.Volts_40">
            <summary>Range ±40V DC</summary>
        </member>
        <member name="F:Phidget22.VoltageRange.Auto">
            <summary>Auto-range mode changes based on the present voltage measurements.</summary>
        </member>
        <member name="T:Phidget22.VoltageSensorType">
            <summary>Type of sensor attached to the voltage input
            </summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.Voltage">
            <summary>Default. Configures the channel to be a generic voltage sensor. Unit is volts.</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1114">
            <summary>1114 - Temperature Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1117">
            <summary>1117 - Voltage Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1123">
            <summary>1123 - Precision Voltage Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1127">
            <summary>1127 - Precision Light Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1130_pH">
            <summary>1130 - pH Adapter</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1130_ORP">
            <summary>1130 - ORP Adapter</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1132">
            <summary>1132 - 4-20mA Adapter</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1133">
            <summary>1133 - Sound Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1135">
            <summary>1135 - Precision Voltage Sensor</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1142">
            <summary>1142 - Light Sensor 1000 lux</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_1143">
            <summary>1143 - Light Sensor 70000 lux</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3500">
            <summary>3500 - AC Current Sensor 10Amp</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3501">
            <summary>3501 - AC Current Sensor 25Amp</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3502">
            <summary>3502 - AC Current Sensor 50Amp</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3503">
            <summary>3503 - AC Current Sensor 100Amp</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3507">
            <summary>3507 - AC Voltage Sensor 0-250V (50Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3508">
            <summary>3508 - AC Voltage Sensor 0-250V (60Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3509">
            <summary>3509 - DC Voltage Sensor 0-200V</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3510">
            <summary>3510 - DC Voltage Sensor 0-75V</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3511">
            <summary>3511 - DC Current Sensor 0-10mA</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3512">
            <summary>3512 - DC Current Sensor 0-100mA</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3513">
            <summary>3513 - DC Current Sensor 0-1A</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3514">
            <summary>3514 - AC Active Power Sensor 0-250V*0-30A (50Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3515">
            <summary>3515 - AC Active Power Sensor 0-250V*0-30A (60Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3516">
            <summary>3516 - AC Active Power Sensor 0-250V*0-5A (50Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3517">
            <summary>3517 - AC Active Power Sensor 0-250V*0-5A (60Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3518">
            <summary>3518 - AC Active Power Sensor 0-110V*0-5A (60Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3519">
            <summary>3519 - AC Active Power Sensor 0-110V*0-15A (60Hz)</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3584">
            <summary>3584 - 0-50A DC Current Transducer</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3585">
            <summary>3585 - 0-100A DC Current Transducer</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3586">
            <summary>3586 - 0-250A DC Current Transducer</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3587">
            <summary>3587 - +-50A DC Current Transducer</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3588">
            <summary>3588 - +-100A DC Current Transducer</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_3589">
            <summary>3589 - +-250A DC Current Transducer</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_MOT2002_LOW">
            <summary>MOT2002 - Motion Sensor Low Sensitivity</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_MOT2002_MED">
            <summary>MOT2002 - Motion Sensor Medium Sensitivity</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_MOT2002_HIGH">
            <summary>MOT2002 - Motion Sensor High Sensitivity</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_VCP4114">
            <summary>VCP4114 - +-25A DC Current Transducer</summary>
        </member>
        <member name="F:Phidget22.VoltageSensorType.PN_VCP4115">
            <summary>VCP4115 - +-75A DC Current Transducer</summary>
        </member>
        <member name="T:Phidget22.RFIDProtocol">
            <summary>The protocol used to communicate with the tags
            </summary>
        </member>
        <member name="F:Phidget22.RFIDProtocol.EM4100">
            <summary>EM4100 Series</summary>
        </member>
        <member name="F:Phidget22.RFIDProtocol.ISO11785_FDX_B">
            <summary>ISO11785 FDX B</summary>
        </member>
        <member name="F:Phidget22.RFIDProtocol.PhidgetTAG">
            <summary>PhidgetTAG</summary>
        </member>
        <member name="T:Phidget22.GPSTime">
            <summary>The GPS time in UTC
            </summary>
        </member>
        <member name="F:Phidget22.GPSTime.Millisecond">
            <summary>Milliseconds</summary>
        </member>
        <member name="F:Phidget22.GPSTime.Second">
            <summary>Seconds</summary>
        </member>
        <member name="F:Phidget22.GPSTime.Minute">
            <summary>Minutes</summary>
        </member>
        <member name="F:Phidget22.GPSTime.Hour">
            <summary>Hours</summary>
        </member>
        <member name="T:Phidget22.GPSDate">
            <summary>GPS Date in UTC
            </summary>
        </member>
        <member name="F:Phidget22.GPSDate.Day">
            <summary>Day (1-31)</summary>
        </member>
        <member name="F:Phidget22.GPSDate.Month">
            <summary>Month (1-12)</summary>
        </member>
        <member name="F:Phidget22.GPSDate.Year">
            <summary>Year</summary>
        </member>
        <member name="T:Phidget22.GPGGA">
            <summary>NMEA GGA Sentence
            </summary>
        </member>
        <member name="F:Phidget22.GPGGA.Latitude">
            <summary>Latitude</summary>
        </member>
        <member name="F:Phidget22.GPGGA.Longitude">
            <summary>Longitude</summary>
        </member>
        <member name="F:Phidget22.GPGGA.FixQuality">
            <summary>GPS quality indicator</summary>
        </member>
        <member name="F:Phidget22.GPGGA.NumSatellites">
            <summary>Number of satellites in use</summary>
        </member>
        <member name="F:Phidget22.GPGGA.HorizontalDilution">
            <summary>Horizontal dilution of precision</summary>
        </member>
        <member name="F:Phidget22.GPGGA.Altitude">
            <summary>Mean sea level altitude</summary>
        </member>
        <member name="F:Phidget22.GPGGA.HeightOfGeoid">
            <summary>Geoidal separation</summary>
        </member>
        <member name="T:Phidget22.GPGSA">
            <summary>NMEA GSA sentence
            </summary>
        </member>
        <member name="F:Phidget22.GPGSA.Mode">
            <summary>Manual/Automatic mode (A = auto, M = manual)</summary>
        </member>
        <member name="F:Phidget22.GPGSA.FixType">
            <summary>Fix type (1 = no fix, 2 = 2D, 3 = 3D)</summary>
        </member>
        <member name="F:Phidget22.GPGSA.SatUsed">
            <summary>Satellite IDs</summary>
        </member>
        <member name="F:Phidget22.GPGSA.PositionDilution">
            <summary>Position dilution of precision</summary>
        </member>
        <member name="F:Phidget22.GPGSA.HorizontalDilution">
            <summary>Horizontal dilution of precision</summary>
        </member>
        <member name="F:Phidget22.GPGSA.VerticalDilution">
            <summary>Vertical dilution of precision</summary>
        </member>
        <member name="T:Phidget22.GPRMC">
            <summary>NMEA RMC sentence
            </summary>
        </member>
        <member name="F:Phidget22.GPRMC.Status">
            <summary>Status of the data</summary>
        </member>
        <member name="F:Phidget22.GPRMC.Latitude">
            <summary>Latitude</summary>
        </member>
        <member name="F:Phidget22.GPRMC.Longitude">
            <summary>Longitude</summary>
        </member>
        <member name="F:Phidget22.GPRMC.SpeedKnots">
            <summary>Speed over ground in knots</summary>
        </member>
        <member name="F:Phidget22.GPRMC.Heading">
            <summary>Heading over ground in degrees</summary>
        </member>
        <member name="F:Phidget22.GPRMC.MagneticVariation">
            <summary>Magnetic variation</summary>
        </member>
        <member name="F:Phidget22.GPRMC.Mode">
            <summary>Mode indicator</summary>
        </member>
        <member name="T:Phidget22.GPVTG">
            <summary>NMEA VTG sentence
            </summary>
        </member>
        <member name="F:Phidget22.GPVTG.TrueHeading">
            <summary>True heading over ground</summary>
        </member>
        <member name="F:Phidget22.GPVTG.MagneticHeading">
            <summary>Magnetic heading</summary>
        </member>
        <member name="F:Phidget22.GPVTG.SpeedKnots">
            <summary>Speed over ground in knots</summary>
        </member>
        <member name="F:Phidget22.GPVTG.Speed">
            <summary>Speed over ground in km/h</summary>
        </member>
        <member name="F:Phidget22.GPVTG.Mode">
            <summary>Mode indicator</summary>
        </member>
        <member name="T:Phidget22.NMEAData">
            <summary>The NMEA Data structure
            </summary>
        </member>
        <member name="F:Phidget22.NMEAData.GGA">
            <summary>NMEA GGA Sentence</summary>
        </member>
        <member name="F:Phidget22.NMEAData.GSA">
            <summary>NMEA GSA Sentence</summary>
        </member>
        <member name="F:Phidget22.NMEAData.RMC">
            <summary>NMEA RMC Sentence</summary>
        </member>
        <member name="F:Phidget22.NMEAData.VTG">
            <summary>NMEA VTG Sentence</summary>
        </member>
        <member name="T:Phidget22.SpatialAlgorithm">
            <summary>Controls the AHRS algorithm.
            </summary>
        </member>
        <member name="F:Phidget22.SpatialAlgorithm.None">
            <summary>No AHRS algorithm is used.</summary>
        </member>
        <member name="F:Phidget22.SpatialAlgorithm.AHRS">
            <summary>AHRS algorithm, incorporating magnetometer data for yaw correction.</summary>
        </member>
        <member name="F:Phidget22.SpatialAlgorithm.IMU">
            <summary>IMU algorithm, using gyro and accelerometer, but not magnetometer.</summary>
        </member>
        <member name="T:Phidget22.SpatialQuaternion">
            <summary>A quaternion from a PhidgetSpatial
            </summary>
        </member>
        <member name="F:Phidget22.SpatialQuaternion.X">
            <summary>The x component of the quaternion</summary>
        </member>
        <member name="F:Phidget22.SpatialQuaternion.Y">
            <summary>The y component of the quaternion</summary>
        </member>
        <member name="F:Phidget22.SpatialQuaternion.Z">
            <summary>The z component of the quaternion</summary>
        </member>
        <member name="F:Phidget22.SpatialQuaternion.W">
            <summary>The W component of the quaternion</summary>
        </member>
        <member name="T:Phidget22.SpatialEulerAngles">
            <summary>A set of Euler Angles from a PhidgetSpatial
            </summary>
        </member>
        <member name="F:Phidget22.SpatialEulerAngles.Pitch">
            <summary>The pitch angle, in degrees</summary>
        </member>
        <member name="F:Phidget22.SpatialEulerAngles.Roll">
            <summary>The roll angle, in degrees</summary>
        </member>
        <member name="F:Phidget22.SpatialEulerAngles.Heading">
            <summary>The heading angle, in degrees</summary>
        </member>
        <member name="T:Phidget22.RTDType">
            <summary>RTD sensor type
            </summary>
        </member>
        <member name="F:Phidget22.RTDType.PT100_3850">
            <summary>Configures the RTD type as a PT100 with a 3850ppm curve.</summary>
        </member>
        <member name="F:Phidget22.RTDType.PT1000_3850">
            <summary>Configures the RTD type as a PT1000 with a 3850ppm curve.</summary>
        </member>
        <member name="F:Phidget22.RTDType.PT100_3920">
            <summary>Configures the RTD type as a PT100 with a 3920ppm curve.</summary>
        </member>
        <member name="F:Phidget22.RTDType.PT1000_3920">
            <summary>Configures the RTD type as a PT1000 with a 3920ppm curve.</summary>
        </member>
        <member name="T:Phidget22.ThermocoupleType">
            <summary>The type of thermocouple being used
            </summary>
        </member>
        <member name="F:Phidget22.ThermocoupleType.J">
            <summary>Configures the thermocouple input as a J-Type thermocouple.</summary>
        </member>
        <member name="F:Phidget22.ThermocoupleType.K">
            <summary>Configures the thermocouple input as a K-Type thermocouple.</summary>
        </member>
        <member name="F:Phidget22.ThermocoupleType.E">
            <summary>Configures the thermocouple input as a E-Type thermocouple.</summary>
        </member>
        <member name="F:Phidget22.ThermocoupleType.T">
            <summary>Configures the thermocouple input as a T-Type thermocouple.</summary>
        </member>
        <member name="T:Phidget22.FrequencyFilterType">
            <summary>Type of filter used on the frequency input
            </summary>
        </member>
        <member name="F:Phidget22.FrequencyFilterType.ZeroCrossing">
            <summary>Frequency is calculated from the number of times the signal transitions from a negative voltage to a positive voltage and back again.</summary>
        </member>
        <member name="F:Phidget22.FrequencyFilterType.LogicLevel">
            <summary>Frequency is calculated from the number of times the signal transitions from a logic false to a logic true and back again.</summary>
        </member>
        <member name="T:Phidget22.IRCodeEncoding">
            <summary>Describes the encoding technique used for the code
            </summary>
        </member>
        <member name="F:Phidget22.IRCodeEncoding.Unknown">
            <summary>Unknown - the default value</summary>
        </member>
        <member name="F:Phidget22.IRCodeEncoding.Space">
            <summary>Space encoding, or Pulse Distance Modulation</summary>
        </member>
        <member name="F:Phidget22.IRCodeEncoding.Pulse">
            <summary>Pulse encoding, or Pulse Width Modulation</summary>
        </member>
        <member name="F:Phidget22.IRCodeEncoding.BiPhase">
            <summary>Bi-Phase, or Manchester encoding</summary>
        </member>
        <member name="F:Phidget22.IRCodeEncoding.RC5">
            <summary>RC5 - a type of Bi-Phase encoding</summary>
        </member>
        <member name="F:Phidget22.IRCodeEncoding.RC6">
            <summary>RC6 - a type of Bi-Phase encoding</summary>
        </member>
        <member name="T:Phidget22.IRCodeLength">
            <summary>The length type of the bitstream and gaps
            </summary>
        </member>
        <member name="F:Phidget22.IRCodeLength.Unknown">
            <summary>Unknown - the default value</summary>
        </member>
        <member name="F:Phidget22.IRCodeLength.Constant">
            <summary>Constant - the bitstream and gap length is constant</summary>
        </member>
        <member name="F:Phidget22.IRCodeLength.Variable">
            <summary>Variable - the bitstream has a variable length with a constant gap</summary>
        </member>
        <member name="T:Phidget22.IRCodeInfo">
            <summary>The PhidgetIR CodeInfo structure contains all information needed to transmit a code, apart from the
            actual code data.
            <list>
            <item>Some values can be set to null to select defaults.</item>
            </list>
            
            </summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.BitCount">
            <summary>Number of bits in the code</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.Encoding">
            <summary>Encoding technique used to encode the data</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.Length">
            <summary>Constant or Variable length encoding</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.Gap">
            <summary>Gap time in microseconds</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.Trail">
            <summary>Trail time in microseconds. Can be zero for no trail</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.Header">
            <summary>Header pulse and space. Can be zero for no header</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.One">
            <summary>Pulse and Space times to represent a '1' bit, in microseconds</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.Zero">
            <summary>Pulse and Space times to represent a '0' bit, in microseconds</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.Repeat">
            <summary>A series or pulse and space times to represent the repeat code. Start and end with pulses and null terminate. Set to 0 for none.</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.MinRepeat">
            <summary>Minium number of times to repeat a code on transmit</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.DutyCycle">
            <summary>Duty Cycle in percent (0.1-0.5). Defaults to 0.33</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.CarrierFrequency">
            <summary>Carrier frequency in Hz - defaults to 38kHz</summary>
        </member>
        <member name="F:Phidget22.IRCodeInfo.ToggleMask">
            <summary>Bit toggles, which are applied to the code after each transmit</summary>
        </member>
        <member name="T:Phidget22.StepperControlMode">
            <summary>Method of motor control
            </summary>
        </member>
        <member name="F:Phidget22.StepperControlMode.Step">
            <summary>Control the motor by setting a target position.</summary>
        </member>
        <member name="F:Phidget22.StepperControlMode.Run">
            <summary>Control the motor by selecting a target velocity (sign indicates direction). The motor will rotate continuously in the chosen direction.</summary>
        </member>
        <member name="T:Phidget22.LCDFont">
            <summary>The type of font being used
            </summary>
        </member>
        <member name="F:Phidget22.LCDFont.User1">
            <summary>User-defined font #1</summary>
        </member>
        <member name="F:Phidget22.LCDFont.User2">
            <summary>User-defined font #2</summary>
        </member>
        <member name="F:Phidget22.LCDFont.Dimensions_6x10">
            <summary>6px by 10px font</summary>
        </member>
        <member name="F:Phidget22.LCDFont.Dimensions_5x8">
            <summary>5px by 8px font</summary>
        </member>
        <member name="F:Phidget22.LCDFont.Dimensions_6x12">
            <summary>6px by 12px font</summary>
        </member>
        <member name="T:Phidget22.LCDScreenSize">
            <summary>Size of the attached LCD screen
            </summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.NoScreen">
            <summary>Screen size unknown</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_1x8">
            <summary>One row, eight column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_2x8">
            <summary>Two row, eight column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_1x16">
            <summary>One row, 16 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_2x16">
            <summary>Two row, 16 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_4x16">
            <summary>Four row, 16 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_2x20">
            <summary>Two row, 20 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_4x20">
            <summary>Four row, 20 column text screen.</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_2x24">
            <summary>Two row, 24 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_1x40">
            <summary>One row, 40 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_2x40">
            <summary>Two row, 40 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_4x40">
            <summary>Four row, 40 column text screen</summary>
        </member>
        <member name="F:Phidget22.LCDScreenSize.Dimensions_64x128">
            <summary>64px by 128px graphic screen</summary>
        </member>
        <member name="T:Phidget22.LCDPixelState">
            <summary>The on/off state of the pixel to be set
            </summary>
        </member>
        <member name="F:Phidget22.LCDPixelState.Off">
            <summary>Pixel off state</summary>
        </member>
        <member name="F:Phidget22.LCDPixelState.On">
            <summary>Pixel on state</summary>
        </member>
        <member name="F:Phidget22.LCDPixelState.Invert">
            <summary>Invert the pixel state</summary>
        </member>
        <member name="T:Phidget22.DataAdapterParity">
            <summary>The parity setting of the data adapter
            </summary>
        </member>
        <member name="F:Phidget22.DataAdapterParity.None">
            <summary>No Parity Bit</summary>
        </member>
        <member name="F:Phidget22.DataAdapterParity.Even">
            <summary>Even Parity</summary>
        </member>
        <member name="F:Phidget22.DataAdapterParity.Odd">
            <summary>Odd Parity</summary>
        </member>
        <member name="T:Phidget22.DataAdapterStopBits">
            <summary>The number of stop bits used for communication
            </summary>
        </member>
        <member name="F:Phidget22.DataAdapterStopBits.One">
            <summary>One Stop Bit</summary>
        </member>
        <member name="F:Phidget22.DataAdapterStopBits.Two">
            <summary>Two Stop Bits</summary>
        </member>
        <member name="T:Phidget22.DataAdapterHandshakeMode">
            <summary>The mothod of handshaking used for communication
            </summary>
        </member>
        <member name="F:Phidget22.DataAdapterHandshakeMode.None">
            <summary>RTS is never set, and CTS is ignored.</summary>
        </member>
        <member name="F:Phidget22.DataAdapterHandshakeMode.RequestToSend">
            <summary>RTS Pin requests to transmit data. CTS input confirms we can send data.</summary>
        </member>
        <member name="F:Phidget22.DataAdapterHandshakeMode.ReadyToReceive">
            <summary>RTS signals this device can receive data. CTS confirms we can send data.</summary>
        </member>
        <member name="T:Phidget22.DataAdapterProtocol">
            <summary>The communication protocol
            </summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.RS485">
            <summary>Basic half-duplex RS485. Always receiving until you send data.</summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.RS422">
            <summary>Uses full-duplex RS422 communication.</summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.DMX512">
            <summary>Allows communication with DMX512-compatible devices, such as stage lighting</summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.MODBUS_RTU">
            <summary>Allows communication with MODBUS RTU compatible devices</summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.SPI">
            <summary>Allows communication with SPI compatible devices</summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.I2C">
            <summary>Allows communication with I2C compatible devices</summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.UART">
            <summary>Allows communication with UART compatible devices</summary>
        </member>
        <member name="F:Phidget22.DataAdapterProtocol.RS232">
            <summary>Allows communication with RS232 compatible devices</summary>
        </member>
        <member name="T:Phidget22.DataAdapterSPIMode">
            <summary>The SPI Mode
            </summary>
        </member>
        <member name="F:Phidget22.DataAdapterSPIMode.Mode_0">
            <summary>CPOL = 0 CPHA = 0</summary>
        </member>
        <member name="F:Phidget22.DataAdapterSPIMode.Mode_1">
            <summary>CPOL = 0 CPHA = 1</summary>
        </member>
        <member name="F:Phidget22.DataAdapterSPIMode.Mode_2">
            <summary>CPOL = 1 CPHA = 0</summary>
        </member>
        <member name="F:Phidget22.DataAdapterSPIMode.Mode_3">
            <summary>CPOL = 1 CPHA = 1</summary>
        </member>
        <member name="T:Phidget22.DataAdapterEndianness">
            <summary>The SPI Mode
            </summary>
        </member>
        <member name="F:Phidget22.DataAdapterEndianness.MSB_First">
            <summary>MSB First</summary>
        </member>
        <member name="F:Phidget22.DataAdapterEndianness.LSB_First">
            <summary>LSB First</summary>
        </member>
        <member name="T:Phidget22.DataAdapterIOVoltage">
            <summary>The IO Voltage
            </summary>
        </member>
        <member name="F:Phidget22.DataAdapterIOVoltage.External">
            <summary>Voltage supplied by external device</summary>
        </member>
        <member name="F:Phidget22.DataAdapterIOVoltage.Volts_1_8">
            <summary>1.8V</summary>
        </member>
        <member name="F:Phidget22.DataAdapterIOVoltage.Volts_2_5">
            <summary>2.5V</summary>
        </member>
        <member name="F:Phidget22.DataAdapterIOVoltage.Volts_3_3">
            <summary>3.3V</summary>
        </member>
        <member name="F:Phidget22.DataAdapterIOVoltage.Volts_5">
            <summary>5.0V</summary>
        </member>
        <member name="T:Phidget22.PacketErrorCode">
            <summary>The Type of Error on the Packet
            </summary>
        </member>
        <member name="F:Phidget22.PacketErrorCode.Ok">
            <summary>No error</summary>
        </member>
        <member name="F:Phidget22.PacketErrorCode.Unknown">
            <summary>Unknown Error</summary>
        </member>
        <member name="F:Phidget22.PacketErrorCode.Timeout">
            <summary>The response packet timed out</summary>
        </member>
        <member name="F:Phidget22.PacketErrorCode.Format">
            <summary>Something about the received transmission didn't match the expected format.</summary>
        </member>
        <member name="F:Phidget22.PacketErrorCode.Invalid">
            <summary>The input lines are invalid. This likely means a cable has been unplugged.</summary>
        </member>
        <member name="F:Phidget22.PacketErrorCode.Overrun">
            <summary>Data is being received fater than it can be processed. Some has been lost.</summary>
        </member>
        <member name="F:Phidget22.PacketErrorCode.Corrupt">
            <summary>Something behind the scenes got out of sequence.</summary>
        </member>
        <member name="T:Phidget22.SPLRange">
            <summary>The measurement range of the sound sensor
            </summary>
        </member>
        <member name="F:Phidget22.SPLRange.dB_102">
            <summary>Range 102dB</summary>
        </member>
        <member name="F:Phidget22.SPLRange.dB_82">
            <summary>Range 82dB</summary>
        </member>
        <member name="T:Phidget22.HubPortMode">
            <summary>The mode of the VINT port
            </summary>
        </member>
        <member name="F:Phidget22.HubPortMode.VINT">
            <summary>Communicate with a smart VINT device</summary>
        </member>
        <member name="F:Phidget22.HubPortMode.DigitalInput">
            <summary>5V Logic-level digital input</summary>
        </member>
        <member name="F:Phidget22.HubPortMode.DigitalOutput">
            <summary>3.3V digital output</summary>
        </member>
        <member name="F:Phidget22.HubPortMode.VoltageInput">
            <summary>0-5V voltage input for non-ratiometric sensors </summary>
        </member>
        <member name="F:Phidget22.HubPortMode.VoltageRatioInput">
            <summary>0-5V voltage input for ratiometric sensors</summary>
        </member>
        <member name="T:Phidget22.PhidgetClientVersion">
            <summary>PhidgetClientVersion contains the returns values from GetClientVersion()
            </summary>
        </member>
        <member name="F:Phidget22.PhidgetClientVersion.Major">
            <summary>The Major version</summary>
        </member>
        <member name="F:Phidget22.PhidgetClientVersion.Minor">
            <summary>The Minor version</summary>
        </member>
        <member name="T:Phidget22.PhidgetServerVersion">
            <summary>PhidgetServerVersion contains the returns values from GetServerVersion()
            </summary>
        </member>
        <member name="F:Phidget22.PhidgetServerVersion.Major">
            <summary>The Major version</summary>
        </member>
        <member name="F:Phidget22.PhidgetServerVersion.Minor">
            <summary>The Minor version</summary>
        </member>
        <member name="T:Phidget22.LogRotating">
            <summary>LogRotating contains the returns values from GetRotating()
            </summary>
        </member>
        <member name="F:Phidget22.LogRotating.Size">
            <summary>The file size above which the log file should be rotated.</summary>
        </member>
        <member name="F:Phidget22.LogRotating.KeepCount">
            <summary>The number of log files that will be kept after rotation.</summary>
        </member>
        <member name="T:Phidget22.RFIDTag">
            <summary>RFIDTag contains the returns values from GetLastTag()
            </summary>
        </member>
        <member name="F:Phidget22.RFIDTag.TagString">
            <summary>The data stored on the most recently read tag</summary>
        </member>
        <member name="F:Phidget22.RFIDTag.Protocol">
            <summary>Protocol of the most recently read tag</summary>
        </member>
        <member name="T:Phidget22.IRCode">
            <summary>IRCode contains the returns values from GetLastCode()
            </summary>
        </member>
        <member name="F:Phidget22.IRCode.Code">
            <summary>The last received code</summary>
        </member>
        <member name="F:Phidget22.IRCode.BitCount">
            <summary>length of the received code in bits</summary>
        </member>
        <member name="T:Phidget22.IRLearnedCode">
            <summary>IRLearnedCode contains the returns values from GetLastLearnedCode()
            </summary>
        </member>
        <member name="F:Phidget22.IRLearnedCode.Code">
            <summary>The last learned code</summary>
        </member>
        <member name="F:Phidget22.IRLearnedCode.CodeInfo">
            <summary>contains the data for characterizing the code</summary>
        </member>
        <member name="T:Phidget22.LCDFontSize">
            <summary>LCDFontSize contains the returns values from GetFontSize()
            </summary>
        </member>
        <member name="F:Phidget22.LCDFontSize.Width">
            <summary>The width of the font</summary>
        </member>
        <member name="F:Phidget22.LCDFontSize.Height">
            <summary>The height of the font</summary>
        </member>
        <member name="T:Phidget22.DistanceSensorSonarReflections">
            <summary>DistanceSensorSonarReflections contains the returns values from GetSonarReflections()
            </summary>
        </member>
        <member name="F:Phidget22.DistanceSensorSonarReflections.Distances">
            <summary>The reflection values</summary>
        </member>
        <member name="F:Phidget22.DistanceSensorSonarReflections.Amplitudes">
            <summary>The amplitude values</summary>
        </member>
        <member name="F:Phidget22.DistanceSensorSonarReflections.Count">
            <summary>The number of reflections</summary>
        </member>
    </members>
</doc>
