Remote launching programs
Sunday, May 11th, 2008As many of you know NXT-G is built upon LabView. This means that everything possible with LabView and the NXTToolkit can be encapsulated into an NXT-G block. Doing so, however, is usually hard work (especially if you want to do it right, i.e. have good control panel and icon drawing interface).
Here’s a project in progress. A few weeks ago I looked into the internal of the toolkit VI ‘Write Message’ which send BT string from master to slave devices and vise versa:

when you go deep into the internal codes (here’s one good use for the NXTToolkit. Unlike regular NXT-G implementation VIs these VIs are not password protected!) you find that for master BT devices the message string is converted into a ‘BT packet’ by this code fragment:

As some may recognize, this is a Direct Command message format. The 0×80 0×09 start means BT Write Message telegram w/o reply (unfortunatly the master BT can’t request reply, since the firmware does not support it. If it could, there’ve been many more possible uses for the kind of “trick” I show here). It then adds the mailbox, the message length and the message itself. All this is converted into a byte array and sent over BT using a VI called ‘BT Write Buffer’ (not shown).
Having seen this, I started thinking - what if I send other Direct Command telegrams from the master NXT to a slave NXT? As I said earlier, only non-reply telegrams are possible. Among the possible telegrams is the ‘Run Program’ command (0×00 command). Indeed, if I have a program called ‘remote’ on the slave NXT running the following code on a master NXT executes ‘remote’:

As I said in the beginning, this can be cast into an NXT-G block which can either run a program by name on a connected NXT, or stop the current program (0×01 Direct Command). The question is - will it be useful for anything? I will be happy to get your feedback on this at this forum topic.
Guy Ziv
Posted in personal, news, software | Comments Off
LEJOS OSEK v. 1.06
Tuesday, November 20th, 2007LEJOS OSEK version 1.06 was just released. LEJOS OSEK is an open source firmware for LEGO MINDSTORMS NXT focused on high speed real-time control applications for the NXT. You can read more and download it here.
A nice feature is the Embedded Coder Robot NXT which allow you to create MATLAB(tm) and Simulink(tm) code (both from the MathWorks company) and compile it into the NXT.
Posted in firmware, news, software | Comments Off
Comparison of Programming Environments for NXT
Tuesday, November 13th, 2007The winter issue of Robot magazine contains a comparison of the various programming solutions for the NXT. It’s available online at http://www.botmag.com/articles/10-31-07_NXT.shtml. The comparison includes implementation of a simple line following program using the different programming languages including screenshots from the different environments. [Note: I wrote the article and also helped author ROBOTC].
Another NXT programming language discussion was justed posted on the Wired magazine web site at http://blog.wired.com/geekdad/2007/11/the-best-progra.html. Chris Anderson of Wired has been using his NXT to control his UAV — Unmanned Aerial Vehicle — and has tried many of the programming environments. For more on his airplane, see the videos at http://diydrones.com/video/video/show?id=705844:Video:43
Posted in development, news, software, Programming, Reviews | No Comments »
New pbLua version Beta13o with FLASH writing!
Thursday, September 13th, 2007A new version of pbLua (by Ralph Hempel) is available here. The biggest addtional feature is the ability to read and write to the FLASH, as well as read a string and execute is as a Lua script!
Posted in news, software | No Comments »