NXTMOTE

From TinyOS Wiki
Revision as of 01:30, 15 April 2008 by Rasped (talk | contribs) (Using the ''nescdt'' plugin for Eclipse)
Jump to: navigation, search
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 with syntax highlighting and it shows the .nc file type: ie. interface, (generic) module, or (generic) configuration. The same symbols are used as in nesdoc. The source is included in the jar file, and it is possible to refine it. To install the plugin:

  • Download the nescdt_0.0.6.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 nescsampleproject)
  • Create a new folder in the project (right-click on the project) and name it what you want (recommended to name it similar 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 in the timer folder):

Nxtmote-editor.jpg Nxtmote-editorsyntax.png

  • Side notes
    • The nescdt plugin is < 50 KB
    • 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

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...

Back to the TinyOS Documentation Wiki main page.