Difference between revisions of "NXTMOTE"

From TinyOS Wiki
Jump to: navigation, search
(Using the ''nescdt'' plugin for Eclipse)
(Using the ''nescdt'' plugin for Eclipse)
Line 30: Line 30:
 
[[Image:Nxtmote-editor.jpg]]
 
[[Image:Nxtmote-editor.jpg]]
 
[[Image:Nxtmote-editorsyntax.png]]
 
[[Image:Nxtmote-editorsyntax.png]]
* Side note: If the CVS [http://www.eclipse.org/articles/Article-Decorators/decorators.html decorators] annoys you, then turn it off from '''Window->Preferences...->General->Appearance->Label Decorations'''. The same is true for the nescdt plugin, which you can also turn off again...
+
* Side note: If the CVS [http://www.eclipse.org/articles/Article-Decorators/decorators.html decorators] annoys you, then turn it off from '''Window->Preferences...->General->Appearance->Label Decorations'''.  
 
* Another side note: You can also download the CDT plugin for editing the header files and c files in Eclipse. Enter the [http://download.eclipse.org/tools/cdt/releases/europa http://download.eclipse.org/tools/cdt/releases/europa] as a new ''Remote site'' in the Eclipse update manager and choose the CDT main plugin:  
 
* Another side note: You can also download the CDT plugin for editing the header files and c files in Eclipse. Enter the [http://download.eclipse.org/tools/cdt/releases/europa http://download.eclipse.org/tools/cdt/releases/europa] as a new ''Remote site'' in the Eclipse update manager and choose the CDT main plugin:  
 
[[Image:Nxtmote-cdtdownload.png]]
 
[[Image:Nxtmote-cdtdownload.png]]

Revision as of 01:36, 14 April 2008

LEGO MINDSTORMS NXT

TinyOS is a small operating for small (wireless) sensors. LEGO MINDSTORMS NXT is a platform for embedded systems experimentation: The combination of NXT and TinyOS is NXTMOTE.

Getting started

A good place to start is the AT91SAM7] PDF. It contains register definitions and provides an overview of the ARM7 processor in NXT.

To understand the software provided by LEGO one should download it from the LEGO website. LEGO's own software for NXT is based on a small virtual machine. Furthermore, inside the operating system there are a number of modules which are updated in a round robin fashion each one ms.

After having read the hardware specification and the PDF documents that comes with the LEGO software it is time to look at the NXTMOTE software. This platform aims to do provide both the LEGO software wrapped in nesC for compatibility and completeness reasons and also expose a set of API components (HPL, HAL, and HIL) providing access to the expected TinyOS functionality on this platform.

LEGO MINDSTORMS EDUCATION KIT

You also need a MINDSTORMS set and for educational purposes the LEGO® MINDSTORMS® Education Base Set is best. An equally fine option is to buy a MINDSTORMS set from a local store.


Using the nescdt plugin for Eclipse

A basic plugin for Eclipse that shows the .nc file type: ie. interface, (generic) module, or (generic) configuration. The same symbols are used as in nesdoc. It also does some syntax highlighting. The source is included in the jar file, and it is possible to refine it. To install the plugin:

  • Download the nescdt_0.0.3.jar file [here]
  • Save it in the root of Eclipse plugin directory (where the other (jar) plugins also reside)
  • Restart Eclipse (perhaps verify for yourself that it is installed: Help->About Eclipse SDK->Plug-in Details)
  • Associate the *.nc files with this editor: Windows->Preferences->General->Editors->File Associations

Nxtmote-fileassosi.png

  • Create a new empty project Nxtmote-newproject.jpg and name it what you want to (for example tosproj)
  • Create a new folder in the project (right-click on the project) and name it what you want (recommended to name it to the folder name that we will link to in the next step)
  • Import and link to the part of the TinyOS tree or your own code(right-click and press import)

Nxtmote-folderlink.jpg

  • Choose the Link to folder in the file system option and proceed (this will not change your TinyOS code at all and it will not copy any files on your computer)
  • When you are done the Eclipse IDE could look something like (note that the content of the files have been analyzed and that the icon reveals that we have some modules, generic modules, configurations and interface files here):

Nxtmote-editor.jpg Nxtmote-editorsyntax.png

  • Side note: If the CVS decorators annoys you, then turn it off from Window->Preferences...->General->Appearance->Label Decorations.
  • Another side note: You can also download the CDT plugin for editing the header files and c files in Eclipse. Enter the http://download.eclipse.org/tools/cdt/releases/europa as a new Remote site in the Eclipse update manager and choose the CDT main plugin:

Nxtmote-cdtdownload.png

Setting up the host

There is a tutorial available the outlines some options for setting you machine. A nice utility called fwflash enables direct download of a nxtmote.bin image using the USB cable that comes with NXT.

Further information

The NXTMOTE project web site has additional information (like CVS browsing and nesdoc html). The project is (like most other projects in tinyos-2.x-contrib) classified as experimental...but you are welcome to send a help request to nxtmote(at)gmail.com.

Back to the TinyOS Documentation Wiki main page.