Files
2011-10-15 01:28:43 +07:00

1010 lines
49 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>AForge.Robotics.TeRK</name>
</assembly>
<members>
<member name="T:AForge.Robotics.TeRK.Qwerk">
<summary>
Manipulation of Qwerk robotics board.
</summary>
<remarks>
<para>The class allows to manipulate with Qwerk robotics board developed by
<a href="http://www.charmedlabs.com/">Charmed Labs</a> and supported by
<a href="http://www.terk.ri.cmu.edu/">TeRK project</a>. Using this class it is
possible to get access to different Qwerk's services, like digital inputs and outputs,
motors and servos, analog inputs, on-board LEDs, video camera, etc.</para>
<para><img src="img/robotics/qwerk_board.jpg" width="192" height="201" /></para>
<para><note>Since TeRK project, which is the software core of Qwerk board, is
based on <a href="http://www.zeroc.com/ice.html">Internet Communication Engine (ICE)</a>,
the ICE runtime should be installed in order to use Qwerk classes.</note></para>
<para>Sample usage:</para>
<code>
Qwerk qwerk = new Qwerk( );
// connect to Qwerk
qwerk.Connect( "192.168.0.5" );
// turn off all on-board LEDs
qwerk.GetLedsService( ).SetLedsState( Qwerk.LedState.Off );
// get digital output service
Qwerk.DigitalOut outputs = qwerk.GetDigitalOutService( );
// set all digital outputs to disabled state
outputs.SetOutputs( false );
// enable zero output
outputs.SetOutput( 0, true );
// get state of all analog inputs
short[] inputs = qwerk.GetAnalogInService( ).GetInputs( );
// get state of all digital inputs
bool[] inputs = qwerk.GetDigitalInService( ).GetInputs( );
</code>
</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.#ctor">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk"/> class.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Connect(System.String)">
<summary>
Connect to Qwerk.
</summary>
<param name="hostAddress">Qwerk's address or host name to connect to.</param>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to Qwerk.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service,
which may be due to the fact that something is wrong with Qwerk device or connection
was initiated not with Qwerk.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Disconnect">
<summary>
Disconnect from Qwerk device.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetLedsService">
<summary>
Get Qwerk's LEDs service.
</summary>
<returns>Returns Qwerk's LEDs service.</returns>
<remarks>For the list of possible exceptions, see documentation to
<see cref="M:AForge.Robotics.TeRK.Qwerk.Leds.#ctor(AForge.Robotics.TeRK.Qwerk)"/>.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetDigitalOutService">
<summary>
Get Qwerk's digital outputs service.
</summary>
<returns>Returns Qwerk's digital outputs service.</returns>
<remarks>For the list of possible exceptions, see documentation to
<see cref="M:AForge.Robotics.TeRK.Qwerk.DigitalOut.#ctor(AForge.Robotics.TeRK.Qwerk)"/>.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetDigitalInService">
<summary>
Get Qwerk's digital inputs service.
</summary>
<returns>Returns Qwerk's digital inputs service.</returns>
<remarks>For the list of possible exceptions, see documentation to
<see cref="M:AForge.Robotics.TeRK.Qwerk.DigitalIn.#ctor(AForge.Robotics.TeRK.Qwerk)"/>.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetAnalogInService">
<summary>
Get Qwerk's analog inputs service.
</summary>
<returns>Returns Qwerk's analog inputs service.</returns>
<remarks>For the list of possible exceptions, see documentation to
<see cref="M:AForge.Robotics.TeRK.Qwerk.AnalogIn.#ctor(AForge.Robotics.TeRK.Qwerk)"/>.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetVideoService">
<summary>
Get Qwerk's video service.
</summary>
<returns>Returns Qwerk's video service.</returns>
<remarks>For the list of possible exceptions, see documentation to
<see cref="M:AForge.Robotics.TeRK.Qwerk.Video.#ctor(AForge.Robotics.TeRK.Qwerk)"/>.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetMotorsService">
<summary>
Get Qwerk's motors service.
</summary>
<returns>Returns Qwerk's motors service.</returns>
<remarks>For the list of possible exceptions, see documentation to
<see cref="M:AForge.Robotics.TeRK.Qwerk.Motors.#ctor(AForge.Robotics.TeRK.Qwerk)"/>.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetServosService">
<summary>
Get Qwerk's servos service.
</summary>
<returns>Returns Qwerk's servos service.</returns>
<remarks>For the list of possible exceptions, see documentation to
<see cref="M:AForge.Robotics.TeRK.Qwerk.Servos.#ctor(AForge.Robotics.TeRK.Qwerk)"/>.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.GetPower">
<summary>
Get Qwerk's power level.
</summary>
<returns>Returns Qwerk's power level in millivolts.</returns>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="P:AForge.Robotics.TeRK.Qwerk.HostAddress">
<summary>
Qwerk's host address.
</summary>
<remarks><para>The property keeps Qwerk's host address if the class is connected
to Qwerk board, otherwise it equals to <see langword="null."/>.</para></remarks>
</member>
<member name="P:AForge.Robotics.TeRK.Qwerk.IsConnected">
<summary>
Connection state.
</summary>
<remarks><para>The property equals to <see langword="true"/> if the class is connected
to Qwerk board, otherwise it equals to <see langword="false"/>.</para></remarks>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.Servos">
<summary>
Provides access to Qwerk's servos' controllers.
</summary>
<remarks><para>The class allows to manipulate Qwerk's servos. The total number
of available servos equals to <see cref="F:AForge.Robotics.TeRK.Qwerk.Servos.Count"/>.</para>
<para>Each servo has logical and physical positions, which may or may not be equal.
Both positions may vary in the [0, 255] range. Physical and logical positions are
equal, when servo's physical moving bound (range) is set to [0, 255] (see <see cref="M:AForge.Robotics.TeRK.Qwerk.Servos.SetBound(System.Int32,AForge.IntRange)"/>).
In this case setting servo's logical position with <see cref="M:AForge.Robotics.TeRK.Qwerk.Servos.SetPosition(System.Int32,System.Int32)"/> method results
in servo's physical moving in the [0, 255] range. However, of physical bound is set
to [10, 20], for example, then physically the servo will move only in this range. But logical
position is still may be set in [0, 255] range, which is mapped to physical range.</para>
<para>Sample usage:</para>
<code>
// get Qwerk's servos service
Qwerk.Servos servos = qwerk.GetServosService( );
// stop all servos
servos.StopServos( );
// set 0th servo's bounds
servos.SetBound( 0, new IntRange( 10, 100 ) );
// set servo's position
servos.SetPosition( 0, 50 );
// ...
// get 0th servo's position
int currentPosition = servos.GetPosition( 0 );
</code>
</remarks>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.Servos.Count">
<summary>
Number of available servos' controllers, 16.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.#ctor(AForge.Robotics.TeRK.Qwerk)">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk.Servos"/> class.
</summary>
<param name="qwerk">Reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object, which is connected to Qwerk board.</param>
<exception cref="T:AForge.NotConnectedException">The passed reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object is not connected to
Qwerk board.</exception>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to the requested service.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.StopServo(System.Int32)">
<summary>
Stop specified servo.
</summary>
<param name="servo">Servo to stop, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Servos.Count"/>).</param>
<returns>Returns current position of the specified servo.</returns>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid servo is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.StopServos">
<summary>
Stop all servos.
</summary>
<returns>Returns array of current servos' positions.</returns>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.StopServos(System.Boolean[])">
<summary>
Stop specified servos.
</summary>
<param name="mask">Mask array specifying which servos need to stop.</param>
<returns>Returns array of current servos' positions.</returns>
<remarks><para>The <paramref name="mask"/> array specifies
which Qwerk's servo need to be stopped. If value of the <paramref name="mask"/>
array is set to <see langword="true"/>, then corresponding servo is stopped.</para>
</remarks>
<exception cref="T:System.ArgumentException">Incorrect length of <paramref name="mask"/> array.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.SetPosition(System.Int32,System.Int32)">
<summary>
Set position of a single servo.
</summary>
<param name="servo">Servo to set position for, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Servos.Count"/>).</param>
<param name="position">Position to set for the specified servo, [0, 255].</param>
<returns>Returns current position of the specified servo.</returns>
<remarks><para>The method sets position of single Qwerk's servo, which index is
specified. It is preferred to use <see cref="M:AForge.Robotics.TeRK.Qwerk.Servos.SetPositions(System.Boolean[],System.Int32[])"/> for setting positions
of multiple servos, which does it at once.</para></remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid servo is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.SetPositions(System.Boolean[],System.Int32[])">
<summary>
Set positions of specified servos.
</summary>
<param name="mask">Mask array specifying which servos need to be set.</param>
<param name="positions">Array of servos' positions to set. Each position is in [0, 255] range.</param>
<returns>Returns array of current servos' positions.</returns>
<remarks><para>The <paramref name="mask"/> and <paramref name="positions"/> arrays specify
which Qwerk's servo's state should be updated. If value of the <paramref name="mask"/>
array is set to <see langword="true"/>, then corresponding servo's state is changed to the state,
which is specified in <paramref name="positions"/> array.</para>
</remarks>
<exception cref="T:System.ArgumentException">Incorrect length of <paramref name="mask"/> or
<paramref name="positions"/> array.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.GetPosition(System.Int32)">
<summary>
Get current position of a single servo.
</summary>
<param name="servo">Servo to get position for, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Servos.Count"/>).</param>
<returns>Returns current position of the specified servo.</returns>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid servo is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.GetPositions">
<summary>
Get current positions of all servos.
</summary>
<returns>Returns array of current servos' positions.</returns>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.SetBound(System.Int32,AForge.IntRange)">
<summary>
Set bounds for the specified servo.
</summary>
<param name="servo">Servo to set bounds for, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Servos.Count"/>).</param>
<param name="bound">Bounds to set for the specified servo.</param>
<remarks><para>The method sets servo's physical bounds in which it may move.
See documentation to <see cref="T:AForge.Robotics.TeRK.Qwerk.Servos"/> for clarification.</para></remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid servo is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.SetBounds(System.Boolean[],AForge.IntRange[])">
<summary>
Set bounds for specified servos.
</summary>
<param name="mask">Mask array specifying which servos need to be set.</param>
<param name="bounds">Array of servos' bounds. Each bound may be in [0, 255] range.</param>
<remarks><para>The method sets servos' physical bounds in which they may move.
See documentation to <see cref="T:AForge.Robotics.TeRK.Qwerk.Servos"/> for clarification.</para></remarks>
<exception cref="T:System.ArgumentException">Incorrect length of <paramref name="mask"/>,
or <paramref name="bounds"/> array.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.GetBound(System.Int32)">
<summary>
Get bounds for the specified servo.
</summary>
<param name="servo">Servo to get bounds for, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Servos.Count"/>).</param>
<returns>Returns configured bounds of the specified servo.</returns>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid servo is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Servos.GetBounds">
<summary>
Get bounds of all servos.
</summary>
<returns>Returns array of configured servos' bounds.</returns>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.Video">
<summary>
Provides access to web camera connected to Qwerk.
</summary>
<remarks><para>The class allows to start Qwerk's camera and continuously receive
frames from it. The class creates background thread to poll Qwerk's camera and provides
them through <see cref="E:AForge.Robotics.TeRK.Qwerk.Video.NewFrame"/> event. The video frame rate can be configured
using <see cref="P:AForge.Robotics.TeRK.Qwerk.Video.FrameInterval"/> property, which sets time interval between frames.</para>
<para>Sample usage:</para>
<code>
// get Qwerk's video service
Qwerk.Video video = qwerk.GetVideoService( );
// set NewFrame event handler
video.NewFrame += new NewFrameEventHandler( video_NewFrame );
// start the video source
video.Start( );
// ...
// signal to stop
video.SignalToStop( );
// ...
private void video_NewFrame( object sender, NewFrameEventArgs eventArgs )
{
// get new frame
Bitmap bitmap = eventArgs.Frame;
// process the frame
}
</code>
</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Video.#ctor(AForge.Robotics.TeRK.Qwerk)">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk.Video"/> class.
</summary>
<param name="qwerk">Reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object, which is connected to Qwerk board.</param>
<exception cref="T:AForge.NotConnectedException">The passed reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object is not connected to
Qwerk board.</exception>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to the requested service.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Video.Start">
<summary>
Start video source.
</summary>
<remarks>Starts video source and return execution to caller. Video source
object creates background thread and notifies about new frames with the
help of <see cref="E:AForge.Robotics.TeRK.Qwerk.Video.NewFrame"/> event.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Video.SignalToStop">
<summary>
Signal video source to stop its work.
</summary>
<remarks>Signals video source to stop its background thread, stop to
provide new frames and free resources.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Video.WaitForStop">
<summary>
Wait for video source has stopped.
</summary>
<remarks>Waits for video source stopping after it was signalled to stop using
<see cref="M:AForge.Robotics.TeRK.Qwerk.Video.SignalToStop"/> method.</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Video.Stop">
<summary>
Stop video source.
</summary>
<remarks><para>Stops video source aborting its thread.</para>
<para><note>Since the method aborts background thread, its usage is highly not preferred
and should be done only if there are no other options. The correct way of stopping camera
is <see cref="M:AForge.Robotics.TeRK.Qwerk.Video.SignalToStop">signaling it stop</see> and then
<see cref="M:AForge.Robotics.TeRK.Qwerk.Video.WaitForStop">waiting</see> for background thread's completion.</note></para>
</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Video.Free">
<summary>
Free resource.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Video.WorkerThread">
<summary>
Worker thread.
</summary>
</member>
<member name="E:AForge.Robotics.TeRK.Qwerk.Video.NewFrame">
<summary>
New frame event.
</summary>
<remarks><para>Notifies clients about new available frame from video source.</para>
<para><note>Since video source may have multiple clients, each client is responsible for
making a copy (cloning) of the passed video frame, because the video source disposes its
own original copy after notifying of clients.</note></para>
</remarks>
</member>
<member name="E:AForge.Robotics.TeRK.Qwerk.Video.VideoSourceError">
<summary>
Video source error event.
</summary>
<remarks>This event is used to notify clients about any type of errors occurred in
video source object, for example internal exceptions.</remarks>
</member>
<member name="E:AForge.Robotics.TeRK.Qwerk.Video.PlayingFinished">
<summary>
Video playing finished event.
</summary>
<remarks><para>This event is used to notify clients that the video playing has finished.</para>
</remarks>
</member>
<member name="P:AForge.Robotics.TeRK.Qwerk.Video.FrameInterval">
<summary>
Frame interval.
</summary>
<remarks><para>The property sets the interval in milliseconds betwen frames. If the property is
set to 100, then the desired frame rate will be 10 frames per second.</para>
<para>Default value is set to <b>0</b> - get new frames as fast as possible.</para>
</remarks>
</member>
<member name="P:AForge.Robotics.TeRK.Qwerk.Video.Source">
<summary>
Video source string.
</summary>
<remarks>
<para>The property keeps connection string, which is used to connect to TeRK's video
streaming service.</para>
</remarks>
</member>
<member name="P:AForge.Robotics.TeRK.Qwerk.Video.FramesReceived">
<summary>
Received frames count.
</summary>
<remarks>Number of frames the video source provided from the moment of the last
access to the property.
</remarks>
</member>
<member name="P:AForge.Robotics.TeRK.Qwerk.Video.BytesReceived">
<summary>
Received bytes count.
</summary>
<remarks>Number of bytes the video source provided from the moment of the last
access to the property.
</remarks>
</member>
<member name="P:AForge.Robotics.TeRK.Qwerk.Video.IsRunning">
<summary>
State of the video source.
</summary>
<remarks>Current state of video source object - running or not.</remarks>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.LedState">
<summary>
Enumeration of Qwerk's LEDs' states.
</summary>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.LedState.Off">
<summary>
LED is off.
</summary>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.LedState.On">
<summary>
LED is on.
</summary>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.LedState.Blinking">
<summary>
LES is on and blinking.
</summary>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.Leds">
<summary>
Provides access to Qwerk's on-board LEDs.
</summary>
<remarks><para>The class allows to manipulate Qwerk's on-boar LED's. The total number
of available on-board LEDs equals to <see cref="F:AForge.Robotics.TeRK.Qwerk.Leds.Count"/>.</para>
<para>Sample usage:</para>
<code>
// get Qwerk's LEDs service
Qwerk.Leds leds = qwerk.GetLedsService( );
// turn off all LEDs
leds.SetLedsState( Qwerk.LedState.Off );
// set zero LED to blinking state
leds.SetLedState( 0, Qwerk.LedState.Blinking );
// turn on 4th and 5th LEDs
bool[] mask = new bool[10] {
false, false, false, false, true,
true, false, false, false, false };
Qwerk.LedState[] states = new Qwerk.LedState[10] {
Qwerk.LedState.Off, Qwerk.LedState.Off, Qwerk.LedState.Off,
Qwerk.LedState.Off, Qwerk.LedState.On, Qwerk.LedState.On,
Qwerk.LedState.Off, Qwerk.LedState.Off, Qwerk.LedState.Off,
Qwerk.LedState.Off };
leds.SetLedsState( mask, states );
</code>
</remarks>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.Leds.Count">
<summary>
Number of available on-board LEDs, 10.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Leds.#ctor(AForge.Robotics.TeRK.Qwerk)">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk.Leds"/> class.
</summary>
<param name="qwerk">Reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object, which is connected to Qwerk board.</param>
<exception cref="T:AForge.NotConnectedException">The passed reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object is not connected to
Qwerk board.</exception>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to the requested service.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Leds.SetLedState(System.Int32,AForge.Robotics.TeRK.Qwerk.LedState)">
<summary>
Set state of specified LED.
</summary>
<param name="led">LED to set state for, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Leds.Count"/>).</param>
<param name="state">LED's state to set.</param>
<remarks><para>The method sets state of one of Qwerk's LEDs, which index is specified.</para></remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid LED is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Leds.SetLedsState(AForge.Robotics.TeRK.Qwerk.LedState)">
<summary>
Set state of all LEDs.
</summary>
<param name="state">State, which will be set to all LEDs.</param>
<remarks><para>The method sets the same state to all Qwerk's on-board LEDs.</para></remarks>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Leds.SetLedsState(System.Boolean[],AForge.Robotics.TeRK.Qwerk.LedState[])">
<summary>
Set state of all LEDs.
</summary>
<param name="ledsMask">Mask array specifying which LED's state need to be set.</param>
<param name="states">Array of LEDs' states.</param>
<remarks><para>The <paramref name="ledsMask"/> and <paramref name="states"/> arrays specify
which Qwerk's on-board LED's state should be updated. If value of the <paramref name="ledsMask"/>
array is set to <see langword="true"/>, then corresponding LED's state is changed to the state,
which is specified in <paramref name="states"/> array.</para>
</remarks>
<exception cref="T:System.ArgumentException">Incorrect length of LEDs' masks or states array.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.DigitalOut">
<summary>
Provides access to Qwerk's digital outputs.
</summary>
<remarks><para>The class allows to manipulate Qwerk's digital outputs. The total number
of available digital outputs equals to <see cref="F:AForge.Robotics.TeRK.Qwerk.DigitalOut.Count"/>.</para>
<para>Sample usage:</para>
<code>
// get Qwerk's digital outs service
Qwerk.DigitalOut digitalOuts = qwerk.GetDigitalOutService( );
// disbale all outputs
digitalOuts.SetOutputs( false );
// enable zero output
digitalOuts.SetOutput( 0, true );
// enable 2nd and 3rd outputs
bool[] mask = new bool[4] { false, false, true, true };
bool[] states = new bool[4] { false, false, true, true };
digitalOuts.SetOutputs( mask, states );
</code>
</remarks>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.DigitalOut.Count">
<summary>
Number of available digital outputs, 4.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.DigitalOut.#ctor(AForge.Robotics.TeRK.Qwerk)">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk.DigitalOut"/> class.
</summary>
<param name="qwerk">Reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object, which is connected to Qwerk board.</param>
<exception cref="T:AForge.NotConnectedException">The passed reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object is not connected to
Qwerk board.</exception>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to the requested service.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.DigitalOut.SetOutput(System.Int32,System.Boolean)">
<summary>
Set state of specified digital output.
</summary>
<param name="output">Digital output to state for, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.DigitalOut.Count"/>).</param>
<param name="state">Digital output's state to set.</param>
<remarks><para>The method sets state of one of Qwerk's digital outputs, which index is
specified. The output is either enabled (state is set to <see langword="true"/> or
disabled otherwise.</para></remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid output is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.DigitalOut.SetOutputs(System.Boolean)">
<summary>
Set state of all digital outputs.
</summary>
<param name="state">State, which will be set to all digital outputs.</param>
<remarks><para>The method sets the same state to all Qwerk's digital outputs.</para></remarks>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.DigitalOut.SetOutputs(System.Boolean[],System.Boolean[])">
<summary>
Set state of all digital outputs.
</summary>
<param name="outpusMask">Mask array specifying which output's state need to be set.</param>
<param name="states">Array of outputs' states.</param>
<remarks><para>The <paramref name="outpusMask"/> and <paramref name="states"/> arrays specify
which Qwerk's digital output's state should be updated. If value of the <paramref name="outpusMask"/>
array is set to <see langword="true"/>, then corresponding output's state is changed to the state,
which is specified in <paramref name="states"/> array.</para>
</remarks>
<exception cref="T:System.ArgumentException">Incorrect length of outputs' masks or states array.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.Motors">
<summary>
Provides access to Qwerk's motors' controllers.
</summary>
<remarks><para>The class allows to manipulate Qwerk's motors. The total number
of available motors equals to <see cref="F:AForge.Robotics.TeRK.Qwerk.Motors.Count"/>.</para>
<para>Sample usage:</para>
<code>
// get Qwerk's motors service
Qwerk.Motors motors = qwerk.GetMotorsService( );
// stop all motors
motors.StopMotors( );
// run first motor
motors.SetMotorVelocity( 0, 10000 );
</code>
</remarks>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.Motors.Count">
<summary>
Number of available motors' controllers, 4.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Motors.#ctor(AForge.Robotics.TeRK.Qwerk)">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk.Motors"/> class.
</summary>
<param name="qwerk">Reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object, which is connected to Qwerk board.</param>
<exception cref="T:AForge.NotConnectedException">The passed reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object is not connected to
Qwerk board.</exception>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to the requested service.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Motors.StopMotor(System.Int32)">
<summary>
Stop specified motor.
</summary>
<param name="motor">Motor to stop, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Motors.Count"/>).</param>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid motor is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Motors.StopMotors">
<summary>
Stop all motors.
</summary>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.Motors.SetMotorVelocity(System.Int32,System.Int32)">
<summary>
Set velocity of specified motor.
</summary>
<param name="motor">Motor to set velocity for, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.Motors.Count"/>).</param>
<param name="velocity">Velocity to set.</param>
<remarks><para>The method sets specified motor's velocity, which is measured in
ticks per second. "Ticks" is a made-up term, which does not depend on specific motor,
but is an unknown in distance and rotation (see Qwerk documentation for details).</para></remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid motor is specified.</exception>
<exception cref="T:AForge.NotConnectedException">No connection to Qwerk or its service.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.DigitalIn">
<summary>
Provides access to Qwerk's digital inputs.
</summary>
<remarks><para>The class allows to retrieve state of Qwerk's digital inputs. The total
number of available digital inputs equals to <see cref="F:AForge.Robotics.TeRK.Qwerk.DigitalIn.Count"/>.</para>
<para>Sample usage:</para>
<code>
// get Qwerk's digital inputs service
Qwerk.DigitalIn digitalIns = qwerk.GetDigitalInService( );
// get state of 0th input
bool input0 = digitalIns.GetInput( 0 );
// get state of all inputs
bool[] inputs = digitalIns.GetInputs( );
</code>
</remarks>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.DigitalIn.Count">
<summary>
Number of available digital inputs, 4.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.DigitalIn.#ctor(AForge.Robotics.TeRK.Qwerk)">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk.DigitalIn"/> class.
</summary>
<param name="qwerk">Reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object, which is connected to Qwerk board.</param>
<exception cref="T:AForge.NotConnectedException">The passed reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object is not connected to
Qwerk board.</exception>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to the requested service.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.DigitalIn.GetInput(System.Int32)">
<summary>
Get state of the specified digital input.
</summary>
<param name="input">Digital input to get state of, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.DigitalIn.Count"/>).</param>
<returns>Returns state of the requested input as boolean values - active/inactive.</returns>
<remarks><para>In the case if multiply inputs should be queried, it is much
preferred to use <see cref="M:AForge.Robotics.TeRK.Qwerk.DigitalIn.GetInputs"/> method, which retrieves state of all
inputs at once.</para></remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid input is specified.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.DigitalIn.GetInputs">
<summary>
Get state of all available digital inputs.
</summary>
<returns>Returns state of all digital inputs as boolean values - active/inactive.</returns>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="T:AForge.Robotics.TeRK.Qwerk.AnalogIn">
<summary>
Provides access to Qwerk's analog inputs.
</summary>
<remarks><para>The class allows to retrieve state of Qwerk's analog inputs. The total
number of available analog inputs equals to <see cref="F:AForge.Robotics.TeRK.Qwerk.AnalogIn.Count"/>.</para>
<para>Sample usage:</para>
<code>
// get Qwerk's analog inputs service
Qwerk.AnalogIn analogIns = qwerk.GetAnalogInService( );
// get state of 0th input
short input0 = analogIns.GetInput( 0 );
// get state of all inputs
short[] inputs = analogIns.GetInputs( );
</code>
</remarks>
</member>
<member name="F:AForge.Robotics.TeRK.Qwerk.AnalogIn.Count">
<summary>
Number of available analog inputs, 8.
</summary>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.AnalogIn.#ctor(AForge.Robotics.TeRK.Qwerk)">
<summary>
Initializes a new instance of the <see cref="T:AForge.Robotics.TeRK.Qwerk.AnalogIn"/> class.
</summary>
<param name="qwerk">Reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object, which is connected to Qwerk board.</param>
<exception cref="T:AForge.NotConnectedException">The passed reference to <see cref="T:AForge.Robotics.TeRK.Qwerk"/> object is not connected to
Qwerk board.</exception>
<exception cref="T:AForge.ConnectionFailedException">Failed connecting to the requested service.</exception>
<exception cref="T:AForge.Robotics.TeRK.ServiceAccessFailedException">Failed accessing to the requested service.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.AnalogIn.GetInput(System.Int32)">
<summary>
Get state of the specified analog input.
</summary>
<param name="input">Analog input to get state of, [0, <see cref="F:AForge.Robotics.TeRK.Qwerk.AnalogIn.Count"/>).</param>
<returns>Returns state of the requested input measured in milli volts.</returns>
<remarks><para>In the case if multiply inputs should be queried, it is much
preferred to use <see cref="M:AForge.Robotics.TeRK.Qwerk.AnalogIn.GetInputs"/> method, which retrieves state of all
inputs at once.</para></remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Invalid input is specified.</exception>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="M:AForge.Robotics.TeRK.Qwerk.AnalogIn.GetInputs">
<summary>
Get state of all available analog inputs.
</summary>
<returns>Returns state of all analog inputs measured in milli volts.</returns>
<exception cref="T:AForge.ConnectionLostException">Connestion to Qwerk is lost.</exception>
</member>
<member name="T:AForge.Robotics.TeRK.ServiceAccessFailedException">
<summary>
Service access failed exception.
</summary>
<remarks><para>The excetion is thrown in the case if the requested service can not
be accessed or does not exist on the Qwerk's board.</para>
</remarks>
</member>
<member name="M:AForge.Robotics.TeRK.ServiceAccessFailedException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:AForge.NotConnectedException"/> class.
</summary>
<param name="message">Exception's message.</param>
</member>
</members>
</doc>