Difference between revisions of "LEGO IGT Compilation"
Line 59: | Line 59: | ||
The Windows installation of the NXT_USB requires the windows port of libusb using libusb-win32 open-source project. | The Windows installation of the NXT_USB requires the windows port of libusb using libusb-win32 open-source project. | ||
− | + | # Download from [http://sourceforge.net/project/showfiles.php?group_id=78138&package_id=79216 SourceForge] | |
− | + | # Install libusb-win32-filter-bin-0.1.12.1.exe by following the instructions | |
+ | # Download libusb-win32-device-bin-0.1.12.1.tar.gz from [http://sourceforge.net/project/showfiles.php?group_id=78138&package_id=79216 SourceForge] | ||
+ | # Extract libusb-win32-device-bin-0.1.12.1.tar.gz using winrar or cygwin (tar -zxf) | ||
+ | # Plug the USB cable to your computer and start the Lego NXT | ||
+ | # Go to 'Start Menu'->'Programs'->'LibUSB-Win32'->'Test Program', you should see the NXT device: | ||
+ | |||
+ | bus-0/\\.\libusb0-0005--0x0694-0x0002 0694/0002 | ||
+ | Serial Number: 00165304BDE2 | ||
+ | wTotalLength: 32 | ||
+ | bNumInterfaces: 1 | ||
+ | bConfigurationValue: 1 | ||
+ | iConfiguration: 0 | ||
+ | bmAttributes: c0h | ||
+ | MaxPower: 0 | ||
+ | bInterfaceNumber: 0 | ||
+ | bAlternateSetting: 0 | ||
+ | bNumEndpoints: 2 | ||
+ | bInterfaceClass: 255 | ||
+ | bInterfaceSubClass: 255 | ||
+ | bInterfaceProtocol: 255 | ||
+ | iInterface: 0 | ||
+ | bEndpointAddress: 01h | ||
+ | bmAttributes: 02h | ||
+ | wMaxPacketSize: 64 | ||
+ | bInterval: 0 | ||
+ | bRefresh: 0 | ||
+ | bSynchAddress: 0 | ||
+ | bEndpointAddress: 82h | ||
+ | bmAttributes: 02h | ||
+ | wMaxPacketSize: 64 | ||
+ | bInterval: 0 | ||
+ | bRefresh: 0 | ||
+ | bSynchAddress: 0 | ||
= Contact information = | = Contact information = | ||
I would be more than happy to reply to any questions and comments emailed to dpace [at] bwh.harvard.edu. | I would be more than happy to reply to any questions and comments emailed to dpace [at] bwh.harvard.edu. |
Revision as of 14:32, 25 June 2008
Home < LEGO IGT CompilationNXT_USB is a C++ library used to control a LEGO Mindstorms NXT robot over a USB connection.
This code was modified from:
- NXT++: http://nxtpp.sourceforge.net
- Device::USB: http://search.cpan.org/~gwadej/Device-USB-0.21
Contents
Linux Installation
Reqirements
- This code can be used only on a Linux distribution with root access. Remember to run any software utilizing this code as root.
- libusb: http://libusb.sourceforge.net/
Instructions
Download libusb from:
http://libusb.sourceforge.net (version 0.1.12)
Then run:
tar zxvf libusb-0.1.12.tar.gz cd libusb-0.1.12/ ./configure CFLAGS=-funsigned-char --prefix=<your libusb directory> --exec-prefix=<your libsub directory> make make install
Then add the libusb directory to your $LD_LIBRARY_PATH variable. Note that the INSTALL.libusb file has information about the installation process.
Another alternative is to use CMake:
SET(CMAKE_CXX_FLAGS "-funsigned-char" )
INCLUDE_DIRECTORIES( ... <your libusb directory (can be a relative path)> )
ADD_LIBRARY(<your library name> ... NXT_USB.cxx NXT_USB_linux.cxx )
FIND_LIBRARY(LIBUSB_LIB NAMES libusb-lib PATHS <your libusb directory (can be a relative path)>/lib )
TARGET_LINK_LIBRARIES(Lego ... <your libusb directory (should be an absolute path)>/lib/libusb.so )
The simplest way to use this library is to keep the four NXT_USB files (NXT_USB.h, NXT_USB.cxx, NXT_USB_linux.h, and NXT_USB_linux.cxx) in the same directory as your program. Simply #include "NXT_USB.h" and compile as usual.
Windows Installation
The Windows installation of the NXT_USB requires the windows port of libusb using libusb-win32 open-source project.
- Download from SourceForge
- Install libusb-win32-filter-bin-0.1.12.1.exe by following the instructions
- Download libusb-win32-device-bin-0.1.12.1.tar.gz from SourceForge
- Extract libusb-win32-device-bin-0.1.12.1.tar.gz using winrar or cygwin (tar -zxf)
- Plug the USB cable to your computer and start the Lego NXT
- Go to 'Start Menu'->'Programs'->'LibUSB-Win32'->'Test Program', you should see the NXT device:
bus-0/\\.\libusb0-0005--0x0694-0x0002 0694/0002 Serial Number: 00165304BDE2 wTotalLength: 32 bNumInterfaces: 1 bConfigurationValue: 1 iConfiguration: 0 bmAttributes: c0h MaxPower: 0 bInterfaceNumber: 0 bAlternateSetting: 0 bNumEndpoints: 2 bInterfaceClass: 255 bInterfaceSubClass: 255 bInterfaceProtocol: 255 iInterface: 0 bEndpointAddress: 01h bmAttributes: 02h wMaxPacketSize: 64 bInterval: 0 bRefresh: 0 bSynchAddress: 0 bEndpointAddress: 82h bmAttributes: 02h wMaxPacketSize: 64 bInterval: 0 bRefresh: 0 bSynchAddress: 0
Contact information
I would be more than happy to reply to any questions and comments emailed to dpace [at] bwh.harvard.edu.