You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2044 lines
90 KiB
2044 lines
90 KiB
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>AForge.Robotics.Lego</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:AForge.Robotics.Lego.Internals.GhostAPI">
|
|
<summary>
|
|
GhostAPI wrapper class.
|
|
</summary>
|
|
|
|
<remarks><para>GhostAPI is a library provided by Lego, to communicate with its
|
|
RCX robotics kit.</para></remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhCreateStack(System.String,System.String,System.String,System.IntPtr@)">
|
|
<summary>
|
|
Creates Ghost communication stack.
|
|
</summary>
|
|
|
|
<param name="port">Port implementation required.</param>
|
|
<param name="protocol">Protocol implementation required.</param>
|
|
<param name="session">Session implementation required.</param>
|
|
<param name="stack">Stack handle created by this function.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhSelectFirstDevice(System.IntPtr,System.Text.StringBuilder,System.Int32)">
|
|
<summary>
|
|
Finds and selects the first available device.
|
|
</summary>
|
|
|
|
<param name="stack">Stack handle.</param>
|
|
<param name="deviceName">Buffer, which will be filled with the name of the selected port device.</param>
|
|
<param name="bufferSize">Size of the specified buffer.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhOpen(System.IntPtr)">
|
|
<summary>
|
|
Opens the currently selected device.
|
|
</summary>
|
|
|
|
<param name="stack">Handle of the stack to be opened.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhClose(System.IntPtr)">
|
|
<summary>
|
|
Closes the currently selected device.
|
|
</summary>
|
|
|
|
<param name="stack">Handle of the stack to be closed.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhSetInterleave(System.IntPtr,System.Int32,System.Int32)">
|
|
<summary>
|
|
Sets the current command interleave between the execute and download queue.
|
|
</summary>
|
|
|
|
<param name="stack">Stack handle.</param>
|
|
<param name="interleaveExecute">Number of immediate command blocks.</param>
|
|
<param name="interleaveDownload">Number of download slices.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhSetWaitMode(System.IntPtr,System.IntPtr)">
|
|
<summary>
|
|
Set the current notification mode to WAIT.
|
|
</summary>
|
|
|
|
<param name="stack">Stack handle.</param>
|
|
<param name="notify">Must be <b>IntPtr.Zero</b> - no callback function.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhCreateCommandQueue(System.IntPtr@)">
|
|
<summary>
|
|
Creates a command queue (containing one command to start with) and return handle.
|
|
</summary>
|
|
|
|
<param name="queue">Queue handle created by this function.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhDestroyCommandQueue(System.IntPtr)">
|
|
<summary>
|
|
Releases a command queue.
|
|
</summary>
|
|
|
|
<param name="queue">Queue handle.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhAppendCommand(System.IntPtr,System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Appends a command to the given command queue.
|
|
</summary>
|
|
|
|
<param name="queue"> Queue handle.</param>
|
|
<param name="commandData">Command buffer (command + parameters).</param>
|
|
<param name="commandLen">Length of the command buffer.</param>
|
|
<param name="expectedReplyLen">Length of the expected reply to this command.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhExecute(System.IntPtr,System.IntPtr)">
|
|
<summary>
|
|
Submits a command queue on the EXECUTE queue.
|
|
</summary>
|
|
|
|
<param name="stack">Stack handle.</param>
|
|
<param name="queue">Queue handle.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhGetFirstCommand(System.IntPtr,System.IntPtr@)">
|
|
<summary>
|
|
Gets the first command in the queue.
|
|
</summary>
|
|
<param name="queue">Queue handle.</param>
|
|
<param name="command">Retrieved command handle.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhGetCommandReplyLen(System.IntPtr,System.UInt32@)">
|
|
<summary>
|
|
Gets command reply length.
|
|
</summary>
|
|
|
|
<param name="command">Command handle.</param>
|
|
<param name="replyLen">Reply length.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.GhGetCommandReply(System.IntPtr,System.Byte[],System.UInt32)">
|
|
<summary>
|
|
Gets command reply.
|
|
</summary>
|
|
|
|
<param name="command">Command handle.</param>
|
|
<param name="replyData">Buffer for reply data.</param>
|
|
<param name="bufSize">Buffer size.</param>
|
|
|
|
<returns>GhostAPI error code.</returns>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.GhostAPI.PBKERR_SEVERITYBITS">
|
|
<summary>
|
|
Mask of severity bits.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.GhostAPI.PBKERR_SEVERITY_SUCCESS">
|
|
<summary>
|
|
Success severity.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.GhostAPI.PBKERR_SEVERITY_INFORMATIONAL">
|
|
<summary>
|
|
Informational severity.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.GhostAPI.PBKERR_SEVERITY_WARNING">
|
|
<summary>
|
|
Warning severity.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.GhostAPI.PBKERR_SEVERITY_ERROR">
|
|
<summary>
|
|
Error severity.
|
|
</summary>
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.PBK_IS_SUCCESS(System.UInt32)">
|
|
<summary>
|
|
Checks if return value has success severity.
|
|
</summary>
|
|
|
|
<param name="e">Error return value.</param>
|
|
|
|
<returns>True if the return value has success severity.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.PBK_IS_INFO(System.UInt32)">
|
|
<summary>
|
|
Checks if return value has info severity.
|
|
</summary>
|
|
|
|
<param name="e">Error return value.</param>
|
|
|
|
<returns>True if the return value has info severity.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.PBK_IS_WARNING(System.UInt32)">
|
|
<summary>
|
|
Checks if return value has warning severity.
|
|
</summary>
|
|
|
|
<param name="e">Error return value.</param>
|
|
|
|
<returns>True if the return value has warning severity.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.PBK_IS_ERROR(System.UInt32)">
|
|
<summary>
|
|
Checks if return value has error severity.
|
|
</summary>
|
|
|
|
<param name="e">Error return value.</param>
|
|
|
|
<returns>True if the return value has error severity.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.GhostAPI.PBK_SUCCEEDED(System.UInt32)">
|
|
<summary>
|
|
Checks for successful return code, which has success or info severity.
|
|
</summary>
|
|
|
|
<param name="e">Error return value.</param>
|
|
|
|
<returns>True if return value is successful.</returns>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.Internals.INXTCommunicationInterface">
|
|
<summary>
|
|
Interface, which wraps communication functions with Lego Mindstorms NXT brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.IsConnected">
|
|
<summary>
|
|
Get connection status.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.Connect">
|
|
<summary>
|
|
Connect to NXT brick.
|
|
</summary>
|
|
|
|
<returns>Returns <b>true</b> if connection was established successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.Disconnect">
|
|
<summary>
|
|
Disconnect from NXT brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.SendMessage(System.Byte[])">
|
|
<summary>
|
|
Send message to NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="message">Buffer containing the message to send.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was sent successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
<remarks>This method assumes that message starts from the start of the
|
|
specified buffer and occupies entire buffer.</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.SendMessage(System.Byte[],System.Int32)">
|
|
<summary>
|
|
Send message to NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="message">Buffer containing the message to send.</param>
|
|
<param name="length">Length of the message to send.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was sent successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
<remarks>This method assumes that message starts from the start of the
|
|
specified buffer.</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.SendMessage(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Send message to NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="message">Buffer containing the message to send.</param>
|
|
<param name="offset">Offset of the message in the buffer.</param>
|
|
<param name="length">Length of the message to send.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was sent successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.ReadMessage(System.Byte[],System.Int32@)">
|
|
<summary>
|
|
Read message from NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="buffer">Buffer to use for message reading.</param>
|
|
<param name="length">On successful return the variable keeps message length.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was read successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.INXTCommunicationInterface.ReadMessage(System.Byte[],System.Int32,System.Int32@)">
|
|
<summary>
|
|
Read message from NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="buffer">Buffer to use for message reading.</param>
|
|
<param name="offset">Offset in the buffer for message.</param>
|
|
<param name="length">On successful return the variable keeps message length.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was read successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.Internals.NXTCommandType">
|
|
<summary>
|
|
Enumeration of command types supported by Lego Mindstorms NXT brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTCommandType.DirectCommand">
|
|
<summary>
|
|
Direct command, which requires reply.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTCommandType.SystemCommand">
|
|
<summary>
|
|
System command, which requires reply.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTCommandType.ReplyCommand">
|
|
<summary>
|
|
Reply command received from NXT brick.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTCommandType.DirectCommandWithoutReply">
|
|
<summary>
|
|
Direct command, which does not require reply.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTCommandType.SystemCommandWithoutReply">
|
|
<summary>
|
|
System command, which does not require reply.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.Internals.NXTSystemCommand">
|
|
<summary>
|
|
Enumeration of system commands supported by Lego Mindstorms NXT brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTSystemCommand.GetFirmwareVersion">
|
|
<summary>
|
|
Get firmware version of NXT brick.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTSystemCommand.SetBrickName">
|
|
<summary>
|
|
Set NXT brick name.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTSystemCommand.GetDeviceInfo">
|
|
<summary>
|
|
Get device information.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.Internals.NXTDirectCommand">
|
|
<summary>
|
|
Enumeration of direct commands supported by Lego Mindstorms NXT brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.KeepAlive">
|
|
<summary>
|
|
Keep NXT brick alive.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.PlayTone">
|
|
<summary>
|
|
Play tone of specified frequency.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.GetBatteryLevel">
|
|
<summary>
|
|
Get battery level.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.SetOutputState">
|
|
<summary>
|
|
Set output state.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.GetOutputState">
|
|
<summary>
|
|
Get output state.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.ResetMotorPosition">
|
|
<summary>
|
|
Reset motor position.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.SetInputMode">
|
|
<summary>
|
|
Set input mode.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.GetInputValues">
|
|
<summary>
|
|
Get input values.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.LsGetStatus">
|
|
<summary>
|
|
Get status of the Low Speed bus.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.LsWrite">
|
|
<summary>
|
|
Write to the Low Speed bus.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.LsRead">
|
|
<summary>
|
|
Read from the Low Speed bus.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.NXTDirectCommand.ResetInputScaledValue">
|
|
<summary>
|
|
Reset input scaled value.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.Internals.RCXCommand">
|
|
<summary>
|
|
Enumeration of commands supported by Lego Mindstorms RXT brick.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.IsAlive">
|
|
<summary>
|
|
Check whether or not the RCX is alive.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.PlaySound">
|
|
<summary>
|
|
Play one of defined sounds.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.PlayTone">
|
|
<summary>
|
|
Play tone of specified frequency.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.GetVersions">
|
|
<summary>
|
|
Get ROM and firmware versions.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.GetBatteryPower">
|
|
<summary>
|
|
Get battery power.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.SetTime">
|
|
<summary>
|
|
Set time displayed on RCX brick.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.PowerOff">
|
|
<summary>
|
|
Turm off RCX brick.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.GetValue">
|
|
<summary>
|
|
Get value.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.SetSensorType">
|
|
<summary>
|
|
Set sensor type.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.SetSensorMore">
|
|
<summary>
|
|
Set sensor mode.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.ClearSensorValue">
|
|
<summary>
|
|
Clear sensor value.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.SetTransmitterRange">
|
|
<summary>
|
|
Set IR transmiter's range.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.SetMotorOnOff">
|
|
<summary>
|
|
Turn on/off motor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.SetMotorPower">
|
|
<summary>
|
|
Set motor's power.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.RCXCommand.SetMotorDirection">
|
|
<summary>
|
|
Set motor's direction
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.Internals.SerialCommunication">
|
|
<summary>
|
|
Implementation of serial communication interface with LEGO Mindstorm NXT brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.Internals.SerialCommunication.MaxMessageSize">
|
|
<summary>
|
|
Maximum message size, which can be sent over this communication interface to NXT
|
|
brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.Internals.SerialCommunication.PortName">
|
|
<summary>
|
|
Serial port name used for communication.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.Internals.SerialCommunication.IsConnected">
|
|
<summary>
|
|
Get connection status.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:AForge.Robotics.Lego.Internals.SerialCommunication"/> class.
|
|
</summary>
|
|
|
|
<param name="portName">Serial port name to use for communication.</param>
|
|
|
|
<remarks>This constructor initializes serial port with default write and read
|
|
timeout values, which are 1000 milliseconds.</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.#ctor(System.String,System.Int32,System.Int32)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:AForge.Robotics.Lego.Internals.SerialCommunication"/> class.
|
|
</summary>
|
|
|
|
<param name="portName">Serial port name to use for communication.</param>
|
|
<param name="writeTimeout">Timeout value used for write operations.</param>
|
|
<param name="readTimeout">Timeout value used for read operations.</param>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.Connect">
|
|
<summary>
|
|
Connect to NXT brick.
|
|
</summary>
|
|
|
|
<returns>Returns <b>true</b> if connection was established successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
<remarks>If communication interface was connected before the call, existing connection will be reused.
|
|
If it is required to force reconnection, then <see cref="M:AForge.Robotics.Lego.Internals.SerialCommunication.Disconnect"/> method should be called before.
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.Disconnect">
|
|
<summary>
|
|
Disconnect from NXT brick.
|
|
</summary>
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.SendMessage(System.Byte[])">
|
|
<summary>
|
|
Send message to NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="message">Buffer containing the message to send.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was sent successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
<remarks>This method assumes that message starts from the start of the
|
|
specified buffer and occupies entire buffer.</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.SendMessage(System.Byte[],System.Int32)">
|
|
<summary>
|
|
Send message to NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="message">Buffer containing the message to send.</param>
|
|
<param name="length">Length of the message to send.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was sent successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
<remarks>This method assumes that message starts from the start of the
|
|
specified buffer.</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.SendMessage(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Send message to NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="message">Buffer containing the message to send.</param>
|
|
<param name="offset">Offset of the message in the buffer.</param>
|
|
<param name="length">Length of the message to send.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was sent successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.ReadMessage(System.Byte[],System.Int32@)">
|
|
<summary>
|
|
Read message from NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="buffer">Buffer to use for message reading.</param>
|
|
<param name="length">On successful return the variable keeps message length.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was read successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.Internals.SerialCommunication.ReadMessage(System.Byte[],System.Int32,System.Int32@)">
|
|
<summary>
|
|
Read message from NXT brick over the communication interface.
|
|
</summary>
|
|
|
|
<param name="buffer">Buffer to use for message reading.</param>
|
|
<param name="offset">Offset in the buffer for message.</param>
|
|
<param name="length">On successful return the variable keeps message length.</param>
|
|
|
|
<returns>Returns <b>true</b> if message was read successfully or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick">
|
|
<summary>
|
|
Manipulation of Lego Mindstorms NXT device.
|
|
</summary>
|
|
|
|
<remarks>
|
|
<para>The class allows to manipulate with Lego Mindstorms NXT device,
|
|
setting/getting its motors' state, getting information about sensors'
|
|
values and retrieving generic information about the NXT brick.</para>
|
|
<para><img src="img/robotics/nxt.jpg" width="250" height="201" /></para>
|
|
|
|
<para><note>Only communication through Bluetooth (virtual serial port) is supported at this point.</note></para>
|
|
|
|
<para>Sample usage:</para>
|
|
<code>
|
|
// create an instance of NXT brick
|
|
NXTBrick nxt = new NXTBrick( );
|
|
// connect to the device
|
|
if ( nxt.Connect( "COM8" ) )
|
|
{
|
|
// run motor A
|
|
NXTBrick.MotorState motorState = new NXTBrick.MotorState( );
|
|
|
|
motorState.Power = 70;
|
|
motorState.TurnRatio = 50;
|
|
motorState.Mode = NXTBrick.MotorMode.On;
|
|
motorState.Regulation = NXTBrick.MotorRegulationMode.Idle;
|
|
motorState.RunState = NXTBrick.MotorRunState.Running;
|
|
motorState.TachoLimit = 1000;
|
|
|
|
nxt.SetMotorState( NXTBrick.Motor.A, motorState );
|
|
|
|
// get input value from the first sensor
|
|
NXTBrick.SensorValues sensorValues;
|
|
|
|
if ( nxt.GetSensorValue( NXTBrick.Sensor.First, out sensorValues ) )
|
|
{
|
|
// ...
|
|
}
|
|
// ...
|
|
}
|
|
</code>
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.Sensor">
|
|
<summary>
|
|
Enumeration of NXT brick sensor ports.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Sensor.First">
|
|
<summary>
|
|
First sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Sensor.Second">
|
|
<summary>
|
|
Second sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Sensor.Third">
|
|
<summary>
|
|
Third sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Sensor.Fourth">
|
|
<summary>
|
|
Fourth sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.SensorType">
|
|
<summary>
|
|
Enumeration of NXT brick sensor types.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.NoSensor">
|
|
<summary>
|
|
No sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Switch">
|
|
<summary>
|
|
NXT or Legacy touch sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Temperature">
|
|
<summary>
|
|
Legacy temperature sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Reflection">
|
|
<summary>
|
|
Legacy light sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Angle">
|
|
<summary>
|
|
Legacy rotation sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.LightActive">
|
|
<summary>
|
|
NXT light sensor with floodlight enabled.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.LightInactive">
|
|
<summary>
|
|
NXT light sensor with floodlight disabled.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.SoundDB">
|
|
<summary>
|
|
NXT sound sensor (dB scaling).
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.SoundDBA">
|
|
<summary>
|
|
NXT sound sensor (dBA scaling).
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Custom">
|
|
<summary>
|
|
Unused
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Lowspeed">
|
|
<summary>
|
|
I2C digital sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Lowspeed9V">
|
|
<summary>
|
|
I2C digital sensor (9V power).
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.Highspeed">
|
|
<summary>
|
|
Unused.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.ColorFull">
|
|
<summary>
|
|
NXT 2.0 color sensor in color detector mode.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.ColorRed">
|
|
<summary>
|
|
NXT 2.0 color sensor in light sensor mode with red light on.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.ColorGreen">
|
|
<summary>
|
|
NXT 2.0 color sensor in light sensor mode with green light on.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.ColorBlue">
|
|
<summary>
|
|
NXT 2.0 color sensor in light sensor mode with blue light on.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.ColorNone">
|
|
<summary>
|
|
NXT 2.0 color sensor in light sensor mode without light.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorType.ColorExit">
|
|
<summary>
|
|
NXT 2.0 color sensor internal state (no functionality known yet).
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.SensorMode">
|
|
<summary>
|
|
Enumeration of NXT brick sensor modes.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.Raw">
|
|
<summary>
|
|
Raw mode.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.Boolean">
|
|
<summary>
|
|
Boolean mode. Report scaled value as 1 (TRUE) or 0 (FALSE). The firmware uses
|
|
inverse Boolean logic to match the physical characteristics of NXT sensors. Readings
|
|
are FALSE if raw value exceeds 55% of total range; reading are TRUE if raw value
|
|
is less than 45% of total range.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.TransitionCounter">
|
|
<summary>
|
|
Report scaled value as number of transition between TRUE and FALSE.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.PeriodicCounter">
|
|
<summary>
|
|
Report scaled value as number of transitions from FALSE to TRUE, then back to FALSE.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.PCTFullScale">
|
|
<summary>
|
|
Report scaled value as percentage of full scale reading for configured sensor type.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.Celsius">
|
|
<summary>
|
|
Scale terperature reading to degrees Celsius.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.Fahrenheit">
|
|
<summary>
|
|
Scale terperature reading to degrees Fahrenheit.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.SensorMode.AngleSteps">
|
|
<summary>
|
|
Report scaled value as count of ticks on RCX-style rotation sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.SensorValues">
|
|
<summary>
|
|
Class describing sensor's values received from NXT brick's sensor port.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.IsValid">
|
|
<summary>
|
|
Specifies if data value should be treated as valid data.
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.IsCalibrated">
|
|
<summary>
|
|
Specifies if calibration file was found and used for <see cref="P:AForge.Robotics.Lego.NXTBrick.SensorValues.Calibrated"/>
|
|
field calculation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.SensorType">
|
|
<summary>
|
|
Sensor type.
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.SensorMode">
|
|
<summary>
|
|
Sensor mode.
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.Raw">
|
|
<summary>
|
|
Raw A/D value (device dependent).
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.Normalized">
|
|
<summary>
|
|
Normalized A/D value (sensor type dependent), [0, 1023].
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.Scaled">
|
|
<summary>
|
|
Scaled value (sensor mode dependent).
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.SensorValues.Calibrated">
|
|
<summary>
|
|
Value scaled according to calibration.
|
|
</summary>
|
|
|
|
<remarks><note>According to Lego notes the value is currently unused.</note></remarks>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.Motor">
|
|
<summary>
|
|
Enumeration of NXT brick motor ports.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Motor.A">
|
|
<summary>
|
|
Motor A.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Motor.B">
|
|
<summary>
|
|
Motor B.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Motor.C">
|
|
<summary>
|
|
Motor C.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.Motor.All">
|
|
<summary>
|
|
All motors (A, B and C).
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.MotorMode">
|
|
<summary>
|
|
Enumeration of supported motor modes.
|
|
</summary>
|
|
|
|
<remarks>Motor mode is a bit field, so several modes can be combined.</remarks>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorMode.None">
|
|
<summary>
|
|
Mode is not set.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorMode.On">
|
|
<summary>
|
|
Turn on the motor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorMode.Brake">
|
|
<summary>
|
|
Brake.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorMode.Regulated">
|
|
<summary>
|
|
Turn on regulated mode.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.MotorRegulationMode">
|
|
<summary>
|
|
Enumeration of motor regulation modes.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorRegulationMode.Idle">
|
|
<summary>
|
|
No regulation will be enabled.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorRegulationMode.Speed">
|
|
<summary>
|
|
Power control will be enabled on specified motor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorRegulationMode.Sync">
|
|
<summary>
|
|
Synchronization will be enabled.
|
|
</summary>
|
|
|
|
<remarks><note>Synchronization need to be enabled on two motors.</note></remarks>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.MotorRunState">
|
|
<summary>
|
|
Enumeration of motor run states.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorRunState.Idle">
|
|
<summary>
|
|
Motor will be idle.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorRunState.RampUp">
|
|
<summary>
|
|
Motor will ramp-up.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorRunState.Running">
|
|
<summary>
|
|
Motor will be running.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.NXTBrick.MotorRunState.RampDown">
|
|
<summary>
|
|
Motor will ramp-down.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.NXTBrick.MotorState">
|
|
<summary>
|
|
Class describing motor's state.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.Power">
|
|
<summary>
|
|
Power, [-100, 100].
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.TurnRatio">
|
|
<summary>
|
|
Turn ratio, [-100, 100].
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.Mode">
|
|
<summary>
|
|
Mode (bit field).
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.Regulation">
|
|
<summary>
|
|
Regulation mode.
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.RunState">
|
|
<summary>
|
|
Run state.
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.TachoLimit">
|
|
<summary>
|
|
Tacho limit (0 - run forever).
|
|
</summary>
|
|
|
|
<remarks>The value determines motor's run limit.</remarks>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.TachoCount">
|
|
<summary>
|
|
Number of counts since last reset of motor counter.
|
|
</summary>
|
|
|
|
<remarks><note>The value is ignored when motor's state is set. The value is
|
|
provided when motor's state is retrieved.</note></remarks>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.BlockTachoCount">
|
|
<summary>
|
|
Current position relative to last programmed movement.
|
|
</summary>
|
|
|
|
<remarks><note>The value is ignored when motor's state is set. The value is
|
|
provided when motor's state is retrieved.</note></remarks>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.MotorState.RotationCount">
|
|
<summary>
|
|
Current position relative to last reset of motor's rotation sensor.
|
|
</summary>
|
|
|
|
<remarks><note>The value is ignored when motor's state is set. The value is
|
|
provided when motor's state is retrieved.</note></remarks>
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.MotorState.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:AForge.Robotics.Lego.NXTBrick.MotorState"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.MotorState.#ctor(System.Int32,System.Int32,AForge.Robotics.Lego.NXTBrick.MotorMode,AForge.Robotics.Lego.NXTBrick.MotorRegulationMode,AForge.Robotics.Lego.NXTBrick.MotorRunState,System.Int32)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:AForge.Robotics.Lego.NXTBrick.MotorState"/> class.
|
|
</summary>
|
|
|
|
<param name="power">Power, [-100, 100].</param>
|
|
<param name="turnRatio">Turn ratio, [-100, 100].</param>
|
|
<param name="mode">Mode (bit field).</param>
|
|
<param name="regulation">Regulation mode.</param>
|
|
<param name="runState">Run state.</param>
|
|
<param name="tachoLimit">The value determines motor's run limit.</param>
|
|
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.NXTBrick.IsConnected">
|
|
<summary>
|
|
Check if connection to NXT brick is established.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:AForge.Robotics.Lego.NXTBrick"/> class.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.Finalize">
|
|
<summary>
|
|
Destroys the instance of the <see cref="T:AForge.Robotics.Lego.NXTBrick"/> class.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.Connect(System.String)">
|
|
<summary>
|
|
Connect to NXT brick.
|
|
</summary>
|
|
|
|
<param name="portName">Serial port name to use for communication, for example COM1.</param>
|
|
|
|
<returns>Returns <b>true</b> on successful connection or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
<remarks>If connection to NXT brick was established before the call, existing connection will be reused.
|
|
If it is required to force reconnection, then <see cref="M:AForge.Robotics.Lego.NXTBrick.Disconnect"/> method should be called before.
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.Disconnect">
|
|
<summary>
|
|
Disconnect from Lego NXT brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.IsAlive">
|
|
<summary>
|
|
Check if the NXT brick is alive and responds to messages.
|
|
</summary>
|
|
|
|
<returns>Returns <b>true</b> if device is alive or <b>false</b> otherwise.</returns>
|
|
|
|
<remarks>The command also keeps NXT brick alive preventing it from sleep.</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.PlayTone(System.Int16,System.Int16)">
|
|
<summary>
|
|
Play tone of specified frequency.
|
|
</summary>
|
|
|
|
<param name="frequency">Tone frequency in Hz.</param>
|
|
<param name="duration">Tone duration in milliseconds.</param>
|
|
|
|
<returns>Returns <b>true</b> if device is alive or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.PlayTone(System.Int16,System.Int16,System.Boolean)">
|
|
<summary>
|
|
Play tone of specified frequency.
|
|
</summary>
|
|
|
|
<param name="frequency">Tone frequency in Hz.</param>
|
|
<param name="duration">Tone duration in milliseconds.</param>
|
|
<param name="waitReply">Wait reply from NXT (safer option) or not (faster option).</param>
|
|
|
|
<returns>Returns <b>true</b> if device is alive or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.GetVersion(System.String@,System.String@)">
|
|
<summary>
|
|
Get firmware version of NXT brick.
|
|
</summary>
|
|
|
|
<param name="protocolVersion">Protocol version number.</param>
|
|
<param name="firmwareVersion">Firmware version number.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.GetDeviceInformation(System.String@,System.Byte[]@,System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Get information about NXT device.
|
|
</summary>
|
|
|
|
<param name="deviceName">Device name.</param>
|
|
<param name="btAddress">Bluetooth address.</param>
|
|
<param name="btSignalStrength">Bluetooth signal strength.</param>
|
|
<param name="freeUserFlash">Free user Flash.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.GetBatteryPower(System.Int32@)">
|
|
<summary>
|
|
Get battery power of NXT brick.
|
|
</summary>
|
|
|
|
<param name="power">NXT brick's battery power in millivolts.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.SetBrickName(System.String)">
|
|
<summary>
|
|
Set name of NXT device.
|
|
</summary>
|
|
|
|
<param name="deviceName">Device name to set for the brick.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.ResetMotorPosition(AForge.Robotics.Lego.NXTBrick.Motor,System.Boolean)">
|
|
<summary>
|
|
Reset motor's position.
|
|
</summary>
|
|
|
|
<param name="motor">Motor to reset.</param>
|
|
<param name="relative">Specifies if relative (to last movement) or absolute motor's
|
|
position should reset.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.ResetMotorPosition(AForge.Robotics.Lego.NXTBrick.Motor,System.Boolean,System.Boolean)">
|
|
<summary>
|
|
Reset motor's position.
|
|
</summary>
|
|
|
|
<param name="motor">Motor to reset.</param>
|
|
<param name="relative">Specifies if relative (to last movement) or absolute motor's
|
|
position should reset.</param>
|
|
<param name="waitReply">Wait reply from NXT (safer option) or not (faster option).</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.SetMotorState(AForge.Robotics.Lego.NXTBrick.Motor,AForge.Robotics.Lego.NXTBrick.MotorState)">
|
|
<summary>
|
|
Set motor state.
|
|
</summary>
|
|
|
|
<param name="motor">Motor to set state for.</param>
|
|
<param name="state">Motor's state to set.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.SetMotorState(AForge.Robotics.Lego.NXTBrick.Motor,AForge.Robotics.Lego.NXTBrick.MotorState,System.Boolean)">
|
|
<summary>
|
|
Set motor state.
|
|
</summary>
|
|
|
|
<param name="motor">Motor to set state for.</param>
|
|
<param name="state">Motor's state to set.</param>
|
|
<param name="waitReply">Wait reply from NXT (safer option) or not (faster option).</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.GetMotorState(AForge.Robotics.Lego.NXTBrick.Motor,AForge.Robotics.Lego.NXTBrick.MotorState@)">
|
|
<summary>
|
|
Get motor state.
|
|
</summary>
|
|
|
|
<param name="motor">Motor to get state for.</param>
|
|
<param name="state">Motor's state.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.SetSensorMode(AForge.Robotics.Lego.NXTBrick.Sensor,AForge.Robotics.Lego.NXTBrick.SensorType,AForge.Robotics.Lego.NXTBrick.SensorMode)">
|
|
<summary>
|
|
Set sensor's type and mode.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to set type of.</param>
|
|
<param name="type">Sensor's type.</param>
|
|
<param name="mode">Sensor's mode.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.SetSensorMode(AForge.Robotics.Lego.NXTBrick.Sensor,AForge.Robotics.Lego.NXTBrick.SensorType,AForge.Robotics.Lego.NXTBrick.SensorMode,System.Boolean)">
|
|
<summary>
|
|
Set sensor's type and mode.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to set type of.</param>
|
|
<param name="type">Sensor's type.</param>
|
|
<param name="mode">Sensor's mode.</param>
|
|
<param name="waitReply">Wait reply from NXT (safer option) or not (faster option).</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.GetSensorValue(AForge.Robotics.Lego.NXTBrick.Sensor,AForge.Robotics.Lego.NXTBrick.SensorValues@)">
|
|
<summary>
|
|
Get sensor's values.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to get values of.</param>
|
|
<param name="sensorValues">etrieved sensor's values.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.ClearSensor(AForge.Robotics.Lego.NXTBrick.Sensor)">
|
|
<summary>
|
|
Clear sensor's scaled value.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to clear value of.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.ClearSensor(AForge.Robotics.Lego.NXTBrick.Sensor,System.Boolean)">
|
|
<summary>
|
|
Clear sensor's scaled value.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to clear value of.</param>
|
|
<param name="waitReply">Wait reply from NXT (safer option) or not (faster option).</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.LsGetStatus(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@)">
|
|
<summary>
|
|
Get status of Low Speed bus.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to get the status from.</param>
|
|
<param name="readyBytes">Number of bytes that are ready to be read from the bus.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.LsWrite(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32)">
|
|
<summary>
|
|
Write to Low Speed bus.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to write to.</param>
|
|
<param name="data">Data to send to the I2C device.</param>
|
|
<param name="expectedBytes">Number of bytes expected from device on reply, [0..16].
|
|
Can be set to zero if I2C command does not suppose any reply.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
<exception cref="T:System.ArgumentException">Data length must be in the [1..16] range.</exception>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.LsWrite(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32,System.Boolean)">
|
|
<summary>
|
|
Write to Low Speed bus.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to write to.</param>
|
|
<param name="data">Data to send to the I2C device.</param>
|
|
<param name="expectedBytes">Number of bytes expected from device on reply, [0..16].
|
|
Can be set to zero if I2C command does not suppose any reply.</param>
|
|
<param name="waitReply">Wait reply from NXT (safer option) or not (faster option).</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
<exception cref="T:System.ArgumentException">Data length must be in the [1..16] range.</exception>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.LsRead(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32@)">
|
|
<summary>
|
|
Read data from Low Speed bus.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to read data from.</param>
|
|
<param name="readValues">Array to read data to.</param>
|
|
<param name="bytesRead">Bytes actually read from I2C device.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.GetUltrasonicSensorsValue(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@)">
|
|
<summary>
|
|
Read value of ultrasonic distance sensor.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to read value from.</param>
|
|
<param name="value">Distance value obtained from ultrasonic sensor, [0..255] cm.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
<remarks><para>The method retrieves value of ultrasonic distance sensor by
|
|
communicating with I2C device (writing to and reading from low speed bus).
|
|
The method first sends { 0x02, 0x42 } command to the specified device using
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.LsWrite(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32)"/> method. Then it waits until there is something available
|
|
to read using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsGetStatus(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@)"/> method. Finally it reads sensor's value
|
|
using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsRead(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32@)"/> device. See
|
|
<a href="http://hsrc.static.net/Research/NXT%20I2C%20Communication/">this page</a>
|
|
for details.</para>
|
|
|
|
<para><note>Before using this method it is required to use
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.SetSensorMode(AForge.Robotics.Lego.NXTBrick.Sensor,AForge.Robotics.Lego.NXTBrick.SensorType,AForge.Robotics.Lego.NXTBrick.SensorMode,System.Boolean)"/> method to set sensor's type to
|
|
<see cref="F:AForge.Robotics.Lego.NXTBrick.SensorType.Lowspeed9V"/> mode. It should be done
|
|
once after NXT brick is powered on. If sensor's type is not set properly,
|
|
the method will generate an exception. Also after setting sensor's
|
|
type application may need to wait a bit to give device some time
|
|
to initialize.</note></para>
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="E:AForge.Robotics.Lego.NXTBrick.MessageSent">
|
|
<summary>
|
|
The event is raised every time a command is sent successfully.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="E:AForge.Robotics.Lego.NXTBrick.MessageRead">
|
|
<summary>
|
|
The event is raised every time a command is read successfully.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.SendCommand(System.Byte[],System.Byte[])">
|
|
<summary>
|
|
Send command to Lego NXT brick and read reply.
|
|
</summary>
|
|
|
|
<param name="command">Command to send.</param>
|
|
<param name="reply">Buffer to receive reply into.</param>
|
|
|
|
<returns>Returns <b>true</b> if the command was sent successfully and reply was
|
|
received, otherwise <b>false</b>.</returns>
|
|
|
|
<exception cref="T:System.NullReferenceException">Communication can not be performed, because connection with
|
|
NXT brick was not established yet.</exception>
|
|
<exception cref="T:System.ArgumentException">Reply buffer size is smaller than the reply data size.</exception>
|
|
<exception cref="T:System.ApplicationException">Reply does not correspond to command (second byte of reply should
|
|
be equal to second byte of command).</exception>
|
|
<exception cref="T:System.ApplicationException">Error occurred on NXT brick side.</exception>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.ReadHiTechnicColorSensor(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Read data from HiTechnic color sensor (also color sensor v2).
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to read from.</param>
|
|
<param name="colorNumber"><a href="http://www.hitechnic.com/contents/media/Color%20Number.jpg">Found color number.</a></param>
|
|
<param name="redValue">Found red value.</param>
|
|
<param name="greenValue">Found green value.</param>
|
|
<param name="blueValue">Found blue value.</param>
|
|
|
|
<returns>Returns <b>true</b> if the command was sent successfully and reply was
|
|
received, otherwise <b>false</b>.</returns>
|
|
|
|
<remarks><para>The method retrieves the color valuse of a <a href="http://www.hitechnic.com/products/">HiTechnic color sensor</a>
|
|
by communicating with I2C device (writing to and reading from low speed bus).
|
|
The method first sends { 0x02, 0x42 } command to the specified device using
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.LsWrite(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32)"/> method. Then it waits until there is something available
|
|
to read using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsGetStatus(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@)"/> method. Finally it reads sensor's value
|
|
using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsRead(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32@)"/> device. See
|
|
<a href="http://hsrc.static.net/Research/NXT%20I2C%20Communication/">this page</a>
|
|
for details.</para>
|
|
|
|
<para><note>Before using this method it is required to use
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.SetSensorMode(AForge.Robotics.Lego.NXTBrick.Sensor,AForge.Robotics.Lego.NXTBrick.SensorType,AForge.Robotics.Lego.NXTBrick.SensorMode,System.Boolean)"/> method to set sensor's type to
|
|
<see cref="F:AForge.Robotics.Lego.NXTBrick.SensorType.Lowspeed"/> mode. It should be done
|
|
once after NXT brick is powered on. If sensor's type is not set properly,
|
|
the method will generate an exception. Also after setting sensor's
|
|
type application may need to wait a bit to give device some time
|
|
to initialize.</note></para>
|
|
|
|
<para><note>NXT Firmware version 1.24 must be loaded in the NXT for the HiTechnic color sensor to operate correctly.
|
|
You can check the firmware version using the <see cref="M:AForge.Robotics.Lego.NXTBrick.GetVersion(System.String@,System.String@)"/> method.</note></para>
|
|
|
|
<para><note>The color sensor V2 must be configured to match the mains electricity frequency for your
|
|
country. Details on how to configure the Color Sensor V2 can be found at
|
|
<a href="http://www.hitechnic.com/colorsensor"></a></note></para>
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.ReadHiTechnicCompassSensor(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@)">
|
|
<summary>
|
|
Read data from HiTechnic compass sensor.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to read from.</param>
|
|
<param name="angle">The magnetic heading, [0, 359] degrees.</param>
|
|
|
|
<returns>Returns <b>true</b> if the command was sent successfully and reply was
|
|
received, otherwise <b>false</b>.</returns>
|
|
|
|
<remarks><para>The method retrieves the angle of a <a href="http://www.hitechnic.com/products/">
|
|
HiTechnic compass sensor</a> by
|
|
communicating with I2C device (writing to and reading from low speed bus).
|
|
The method first sends { 0x02, 0x42 } command to the specified device using
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.LsWrite(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32)"/> method. Then it waits until there is something available
|
|
to read using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsGetStatus(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@)"/> method. Finally it reads sensor's value
|
|
using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsRead(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32@)"/> device. See
|
|
<a href="http://hsrc.static.net/Research/NXT%20I2C%20Communication/">this page</a>
|
|
for details.</para>
|
|
|
|
<para><note>Before using this method it is required to use
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.SetSensorMode(AForge.Robotics.Lego.NXTBrick.Sensor,AForge.Robotics.Lego.NXTBrick.SensorType,AForge.Robotics.Lego.NXTBrick.SensorMode,System.Boolean)"/> method to set sensor's type to
|
|
<see cref="F:AForge.Robotics.Lego.NXTBrick.SensorType.Lowspeed"/> mode. It should be done
|
|
once after NXT brick is powered on. If sensor's type is not set properly,
|
|
the method will generate an exception. Also after setting sensor's
|
|
type application may need to wait a bit to give device some time
|
|
to initialize.</note></para>
|
|
|
|
<para><note>The HiTechnic compass sensor will only operate correctly in a horizontal plane so you must keep the compass
|
|
level for it to read correctly. This is very important so remember this when you build it into your robot.
|
|
It is highly desirable to mount the compass at least 6 inches (15cm) away from the motors and 4 inches (10cm) away from the NXT brick
|
|
itself. Try to make sure it is firmly mounted, if it bounces around, the readings may bounce around too.
|
|
</note></para>
|
|
|
|
<para><note>NXT Firmware version 1.03 must be loaded in the NXT for the compass to operate correctly. You can check the firmware version
|
|
using the <see cref="M:AForge.Robotics.Lego.NXTBrick.GetVersion(System.String@,System.String@)"/> method.</note></para>
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.NXTBrick.ReadHiTechnicAccelerationTiltSensor(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@,System.Int32@,System.Int32@)">
|
|
<summary>
|
|
Read data from HiTechnic acceleration/tilt sensor. The HiTechnic accelerometer/tilt sensor measures acceleration in
|
|
three axes. It measures also tilt along each axis. Using the sensor, you can measure the acceleration of your robot in the range
|
|
of -2g to 2g.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to read from.</param>
|
|
<param name="xAceeleration">Acceleration in X direction, with a scaling of approximately 200 counts per g.</param>
|
|
<param name="yAceeleration">Acceleration in Y direction, with a scaling of approximately 200 counts per g.</param>
|
|
<param name="zAceeleration">Acceleration in Z direction, with a scaling of approximately 200 counts per g.</param>
|
|
|
|
<returns>Returns <b>true</b> if the command was sent successfully and reply was
|
|
received, otherwise <b>false</b>.</returns>
|
|
|
|
<remarks><para>The method retrieves the acceleration in three directions of a
|
|
<a href="http://www.hitechnic.com/products/"> HiTechnic acceleration/tilt sensor</a> by
|
|
communicating with I2C device (writing to and reading from low speed bus).
|
|
The method first sends { 0x02, 0x42 } command to the specified device using
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.LsWrite(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32)"/> method. Then it waits until there is something available
|
|
to read using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsGetStatus(AForge.Robotics.Lego.NXTBrick.Sensor,System.Int32@)"/> method. Finally it reads sensor's value
|
|
using <see cref="M:AForge.Robotics.Lego.NXTBrick.LsRead(AForge.Robotics.Lego.NXTBrick.Sensor,System.Byte[],System.Int32@)"/> device. See
|
|
<a href="http://hsrc.static.net/Research/NXT%20I2C%20Communication/">this page</a>
|
|
for details.</para>
|
|
|
|
<para><note>Before using this method it is required to use
|
|
<see cref="M:AForge.Robotics.Lego.NXTBrick.SetSensorMode(AForge.Robotics.Lego.NXTBrick.Sensor,AForge.Robotics.Lego.NXTBrick.SensorType,AForge.Robotics.Lego.NXTBrick.SensorMode,System.Boolean)"/> method to set sensor's type to
|
|
<see cref="F:AForge.Robotics.Lego.NXTBrick.SensorType.Lowspeed"/> mode. It should be done
|
|
once after NXT brick is powered onq If sensor's type is not set properly,
|
|
the method will generate an exception. Also after setting sensor's
|
|
type application may need to wait a bit to give device some time
|
|
to initialize.</note></para>
|
|
|
|
<para>The acceleration sensor can also be used to measure tilt in three axes This is possible because gravity is perceived
|
|
as acceleration. When the sensor is stationary and in the normal horizontal position, the x and y axis will be near
|
|
zero, because they are horizontal, while the z axis will be near 200, which represents g. If you tilt the sensor then
|
|
gravity will also be detected on the other axis and the value for the z axis will go down. Since gravity is distributed
|
|
among the three component vectors, the tilt of the sensor can be determined.</para>
|
|
|
|
<para><note>NXT Firmware version 1.05 or later must be loaded in the NXT for the acceleration/tilt sensor and other digital I2C
|
|
sensors to operate correctly. You can check the firmware version using the <see cref="M:AForge.Robotics.Lego.NXTBrick.GetVersion(System.String@,System.String@)"/> method.</note></para>
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.RCXBrick">
|
|
<summary>
|
|
Manipulation of Lego Mindstorms RCX device.
|
|
</summary>
|
|
|
|
<remarks>
|
|
<para>The class allows to manipulate with Lego Mindstorms RCX device,
|
|
setting its motors' state, getting information about sensors'
|
|
values and performing some other manipulations.</para>
|
|
<para><img src="img/robotics/rcx.jpg" width="312" height="251" /></para>
|
|
|
|
<para><note>The class supports both types of IR towers - USB and serial (see
|
|
<see cref="T:AForge.Robotics.Lego.RCXBrick.IRTowerType"/>).</note></para>
|
|
|
|
<para><note>The class uses GhostAPI to communicate with Lego RCX device, so its
|
|
libraries (GhostAPI.dll, PbkComm32.dll and PbkUsbPort.dll) should be placed into applications folder.</note></para>
|
|
|
|
<para><note>The class is deprecated.</note></para>
|
|
|
|
<para>Sample usage:</para>
|
|
<code>
|
|
// create an instance of RCX brick
|
|
RCXBrick rcx = new RCXBrick( );
|
|
// connect to the device
|
|
if ( rcx.Connect( RCXBrick.IRTowerType.USB ) )
|
|
{
|
|
// set forward direction of motor A
|
|
rcx.SetMotorDirection( RCXBrick.Motor.A, true );
|
|
// set power of motor
|
|
rcx.SetMotorPower( RCXBrick.Motor.A, 1 );
|
|
// turm motor on
|
|
rcx.SetMotorOn( RCXBrick.Motor.A, true );
|
|
// ...
|
|
// turn off motors A, B and C
|
|
rcx.SetMotorOn( RCXBrick.Motor.ABC, false );
|
|
|
|
// get first sensor's value
|
|
short value;
|
|
|
|
if ( rcx.GetSensorValue( RCXBrick.Sensor.First, out value ) )
|
|
{
|
|
// ...
|
|
}
|
|
// ...
|
|
}
|
|
</code>
|
|
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.RCXBrick.IRTowerType">
|
|
<summary>
|
|
Type of IR tower used for communication with RCX.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.IRTowerType.USB">
|
|
<summary>
|
|
USB IR tower.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.IRTowerType.Serial">
|
|
<summary>
|
|
RS232 IR tower.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.RCXBrick.SoundType">
|
|
<summary>
|
|
Enumeration of sound type playable by Lego RCX brick.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SoundType.Blip">
|
|
<summary>
|
|
Blip sound.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SoundType.BeepBeep">
|
|
<summary>
|
|
Double beep spund.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SoundType.DownwardTones">
|
|
<summary>
|
|
Downward tones sound.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SoundType.UpwardTones">
|
|
<summary>
|
|
Upward tones sound.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SoundType.LowBuzz">
|
|
<summary>
|
|
Low buzz sound.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SoundType.FastUpwardTones">
|
|
<summary>
|
|
Fast upward tones sound.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.RCXBrick.Sensor">
|
|
<summary>
|
|
Enumeration of RCX brick sensor ports.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Sensor.First">
|
|
<summary>
|
|
First sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Sensor.Second">
|
|
<summary>
|
|
Second sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Sensor.Third">
|
|
<summary>
|
|
Third sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.RCXBrick.SensorType">
|
|
<summary>
|
|
Enumeration of RCX brick sensor types.
|
|
</summary>
|
|
|
|
<remarks><para>Use <see cref="M:AForge.Robotics.Lego.RCXBrick.SetSensorType(AForge.Robotics.Lego.RCXBrick.Sensor,AForge.Robotics.Lego.RCXBrick.SensorType)"/> method to set RCX sensor's type.</para></remarks>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorType.Raw">
|
|
<summary>
|
|
Raw sensor.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorType.Touch">
|
|
<summary>
|
|
Touch sensor (default mode is boolean).
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorType.Temperatur">
|
|
<summary>
|
|
Temperature sensor (default mode is temperature in 癈).
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorType.Light">
|
|
<summary>
|
|
Light sensor (default mode is percentage).
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorType.Rotation">
|
|
<summary>
|
|
Rotation sensor (default mode is angle).
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.RCXBrick.SensorMode">
|
|
<summary>
|
|
Enumeration of RCX brick sensor modes.
|
|
</summary>
|
|
|
|
<remarks><para>Use <see cref="M:AForge.Robotics.Lego.RCXBrick.SetSensorMode(AForge.Robotics.Lego.RCXBrick.Sensor,AForge.Robotics.Lego.RCXBrick.SensorMode)"/> method to set RCX sensor's mode.</para></remarks>
|
|
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.Raw">
|
|
<summary>
|
|
Raw mode - value in [0, 1023].
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.Boolean">
|
|
<summary>
|
|
Boolean - either 0 or 1.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.EdgeCount">
|
|
<summary>
|
|
Number of boolean transitions.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.PulseCount">
|
|
<summary>
|
|
Number of boolean transitions divided by two.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.Percentage">
|
|
<summary>
|
|
Raw value scaled to [0, 100].
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.TemperatureC">
|
|
<summary>
|
|
Temperature in 癈 - 1/10ths of a degree, [-19.8, 69.5].
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.TemperatureF">
|
|
<summary>
|
|
Temperature in 癋 - 1/10ths of a degree, [-3.6, 157.1].
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.SensorMode.Angle">
|
|
<summary>
|
|
Angle - 1/16ths of a rotation, represented as a signed short.
|
|
</summary>
|
|
</member>
|
|
<member name="T:AForge.Robotics.Lego.RCXBrick.Motor">
|
|
<summary>
|
|
Enumeration of RCX brick motor ports.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.A">
|
|
<summary>
|
|
Motor A.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.B">
|
|
<summary>
|
|
Motor B.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.C">
|
|
<summary>
|
|
Motor C.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.AB">
|
|
<summary>
|
|
Motors A and B.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.AC">
|
|
<summary>
|
|
Motors A and C.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.BC">
|
|
<summary>
|
|
Motors B and C.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.ABC">
|
|
<summary>
|
|
Motors A, B and C.
|
|
</summary>
|
|
</member>
|
|
<member name="F:AForge.Robotics.Lego.RCXBrick.Motor.All">
|
|
<summary>
|
|
All motors (A, B and C).
|
|
</summary>
|
|
</member>
|
|
<member name="P:AForge.Robotics.Lego.RCXBrick.IsConnected">
|
|
<summary>
|
|
Check if connection to RCX brick is established.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:AForge.Robotics.Lego.RCXBrick"/> class.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.Finalize">
|
|
<summary>
|
|
Destroys the instance of the <see cref="T:AForge.Robotics.Lego.RCXBrick"/> class.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.Connect(AForge.Robotics.Lego.RCXBrick.IRTowerType)">
|
|
<summary>
|
|
Connect to Lego RCX brick.
|
|
</summary>
|
|
|
|
<param name="towerType">Type of IR tower to use for communication with RCX brick.</param>
|
|
|
|
<returns>Returns <b>true</b> on successful connection or <b>false</b>
|
|
otherwise.</returns>
|
|
|
|
<remarks>If connection to RCX brick was established before the call, existing connection will be reused.
|
|
If it is required to force reconnection, then <see cref="M:AForge.Robotics.Lego.RCXBrick.Disconnect"/> method should be called before.
|
|
</remarks>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.Disconnect">
|
|
<summary>
|
|
Disconnnect from Lego RCX brick.
|
|
</summary>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.IsAlive">
|
|
<summary>
|
|
Check if the RCX brick is alive and responds to messages.
|
|
</summary>
|
|
|
|
<returns>Returns <b>true</b> if device is alive or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.PlaySound(AForge.Robotics.Lego.RCXBrick.SoundType)">
|
|
<summary>
|
|
Play one of supported sounds.
|
|
</summary>
|
|
|
|
<param name="type">Sound type to play.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.PlayTone(System.Int16,System.Byte)">
|
|
<summary>
|
|
Play tone of specified frequency.
|
|
</summary>
|
|
|
|
<param name="frequency">Tone frequency in Hz.</param>
|
|
<param name="duration">Tone duration in 1/100ths of a second.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.GetVersion(System.String@,System.String@)">
|
|
<summary>
|
|
Get version information of RCX brick.
|
|
</summary>
|
|
|
|
<param name="romVersion">ROM version number.</param>
|
|
<param name="firmwareVersion">Firmware version number.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.GetBatteryPower(System.Int32@)">
|
|
<summary>
|
|
Get battery power of RCX brick.
|
|
</summary>
|
|
|
|
<param name="power">RCX brick's battery power in millivolts.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SetTime(System.Byte,System.Byte)">
|
|
<summary>
|
|
Set current time for the RCX brick.
|
|
</summary>
|
|
|
|
<param name="hours">Hours, [0..23].</param>
|
|
<param name="minutes">Minutes, [0..59].</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.PowerOff">
|
|
<summary>
|
|
Turn off the RCX brick.
|
|
</summary>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.GetSensorValue(AForge.Robotics.Lego.RCXBrick.Sensor,System.Int16@)">
|
|
<summary>
|
|
Get sensor's value.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to get value of.</param>
|
|
<param name="value">Retrieved sensor's value (units depend on current
|
|
<see cref="T:AForge.Robotics.Lego.RCXBrick.SensorType">sensor's type</see> and <see cref="T:AForge.Robotics.Lego.RCXBrick.SensorMode">mode</see>).</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SetSensorType(AForge.Robotics.Lego.RCXBrick.Sensor,AForge.Robotics.Lego.RCXBrick.SensorType)">
|
|
<summary>
|
|
Set sensor's type.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to set type of.</param>
|
|
<param name="type">Sensor type to set.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SetSensorMode(AForge.Robotics.Lego.RCXBrick.Sensor,AForge.Robotics.Lego.RCXBrick.SensorMode)">
|
|
<summary>
|
|
Set sensor's mode.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to set mode of.</param>
|
|
<param name="mode">Sensor mode to set.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.ClearSensor(AForge.Robotics.Lego.RCXBrick.Sensor)">
|
|
<summary>
|
|
Clear the counter associated with the specified sensor by setting it to a value of zero.
|
|
</summary>
|
|
|
|
<param name="sensor">Sensor to clear value of.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SetMotorOn(AForge.Robotics.Lego.RCXBrick.Motor,System.Boolean)">
|
|
<summary>
|
|
Turn on/off specified motors.
|
|
</summary>
|
|
|
|
<param name="motors">Motors to turn on/off.</param>
|
|
<param name="on">True to turn motors on, otherwise false.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SetMotorPower(AForge.Robotics.Lego.RCXBrick.Motor,System.Byte)">
|
|
<summary>
|
|
Set power of specified motors.
|
|
</summary>
|
|
|
|
<param name="motors">Motors to set power of.</param>
|
|
<param name="power">Power level to set, [0..7].</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SetMotorDirection(AForge.Robotics.Lego.RCXBrick.Motor,System.Boolean)">
|
|
<summary>
|
|
Set direction of specified motors.
|
|
</summary>
|
|
|
|
<param name="motors">Motors to set direction of.</param>
|
|
<param name="isForward">True to set forward direction, false to set backward.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SetTransmitterRange(System.Boolean)">
|
|
<summary>
|
|
Set IR transmitter's range.
|
|
</summary>
|
|
|
|
<param name="isLongRange">True if long range should be set, otherwise false.</param>
|
|
|
|
<returns>Returns <b>true</b> if command was executed successfully or <b>false</b> otherwise.</returns>
|
|
|
|
</member>
|
|
<member name="M:AForge.Robotics.Lego.RCXBrick.SendCommand(System.Byte[],System.Byte[],System.Int32)">
|
|
<summary>
|
|
Send command to Lego RCX brick and read reply.
|
|
</summary>
|
|
|
|
<param name="command">Command to send.</param>
|
|
<param name="reply">Buffer to receive reply into.</param>
|
|
<param name="expectedReplyLen">Expected reply length.</param>
|
|
|
|
<returns>Returns <b>true</b> if the command was sent successfully and reply was
|
|
received, otherwise <b>false</b>.</returns>
|
|
|
|
<exception cref="T:System.NullReferenceException">Communication can not be performed, because connection with
|
|
RCX brick was not established yet.</exception>
|
|
<exception cref="T:System.ArgumentException">Reply buffer size is smaller than the reply data size.</exception>
|
|
<exception cref="T:System.ApplicationException">Reply does not correspond to command (first byte of reply
|
|
should be complement (bitwise NOT) to the first byte of command orred with 0x08).</exception>
|
|
|
|
</member>
|
|
</members>
|
|
</doc>
|