Difference between revisions of "LEGO IGT Compilation"

From NAMIC Wiki
Jump to: navigation, search
(New page: About NXT_USB: This 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::...)
 
Line 1: Line 1:
About NXT_USB:
+
NXT_USB is a C++ library used to control a LEGO Mindstorms NXT robot over a USB connection.
This is a C++ library used to control a LEGO Mindstorms NXT robot over a USB connection.
 
  
 
This code was modified from:
 
This code was modified from:
Line 6: Line 5:
 
     -Device::USB: http://search.cpan.org/~gwadej/Device-USB-0.21
 
     -Device::USB: http://search.cpan.org/~gwadej/Device-USB-0.21
  
Reqirements:
+
= Linux Installation =
1.  This code can be used only on a Linux distribution with root access.  Remember to run any software utilizing this code as root.
 
2.  libusb: http://libusb.sourceforge.net/
 
  
Instructions:
+
== 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:
 
Download libusb from:
http://libusb.sourceforge.net
+
  http://libusb.sourceforge.net (version 0.1.12)
(version 0.1.12)
 
  
 
Then run:
 
Then run:
tar zxvf libusb-0.1.12.tar.gz
+
  tar zxvf libusb-0.1.12.tar.gz
cd libusb-0.1.12/
+
  cd libusb-0.1.12/
./configure CFLAGS=-funsigned-char --prefix=<your libusb directory> --exec-prefix=<your libsub directory>
+
  ./configure CFLAGS=-funsigned-char --prefix=<your libusb directory> --exec-prefix=<your libsub directory>
make
+
  make
make install
+
  make install
  
 
Then add the libusb directory to your $LD_LIBRARY_PATH variable.
 
Then add the libusb directory to your $LD_LIBRARY_PATH variable.

Revision as of 14:18, 25 June 2008

Home < LEGO IGT Compilation

NXT_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

Linux Installation

Reqirements

  1. This code can be used only on a Linux distribution with root access. Remember to run any software utilizing this code as root.
  2. 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.

Contact information: I would be more than happy to reply to any questions and comments emailed to dpace [at] bwh.harvard.edu.