Wednesday, February 15, 2006

More on NXT Software

Robert Morton, a former National Instruments employee, who used to work on the Lego compiler for Mindstorms NXT, wrote on Slashdot about the compiler and runtime of the NXT brick.

Here are the key points that he adds:
  • He called the runtime on the brick a virtual machine. This implies that there is an intermediate language that runs on the brick, if the name is used correctly.
  • The Labview environment compiles to that intermediate language, if the interpretation is correct.
  • Lego wants third parties to augment the software environment (to support new hardware). That collaborative spirit was also in earlier interviews.
  • The new runtime on the brick is better suited for C-style languages than the RIS 2.0 one.
  • The new runtime is oriented on highly parallel dataflow programming (extending the RIS approach). This makes a lot of sense to me.
  • The compiler itself was written in LabVIEW.
  • You could use the LabVIEW version that is delivered with Lego Mindstorms NXT to extend Mindstorms (and its compiler) with new functionality.
  • However, his best guess is that much of the API used by the compiler won't be initially available to everyone, because the release time schedule of Mindstorms.
  • On the other hand, he thinks it is only a matter of time before an SDK is available.
  • Within National Instruments, there have been informal discussions about open-sourcing the Mindstorms NXT compiler.

I wish I could start experimenting with Lego Mindstorms NXT.

1 Comments:

At February 20, 2006 10:02 PM , Anonymous Anonymous said...

Great news.

Personally I'm more interested in the hardware/firmware architecture of the NXT brick, such as its processor type, assembly/machine instructions,registers,memory maps,flash size, ROM and so forth.

Then above that level, if there's a Virtual Machine, then I'd like to know the VM architecture.

To some extent, the NXT brick is quite similar to the architecutre of a bluetooth controller from CSR, which also features some native code and a virtual machine for running extended user codes.

I'm looking forward to hearing more about this topic.

 

Post a Comment

Subscribe to Post Comments [Atom]

<< Home