Sunday, July 5, 2009

The NanoVM - Java for the AVR

The NanoVM is a java virtual machine for the Atmel AVR ATmega8 CPU, the member of the AVR CPU family used e.g. in the DLR Asuro robot, manufactured by AREXX engineering. With the NanoVM, the Asuro can be programmed in the popular Java language using the standard Sun JDK. The NanoVM and its tools are distributed under the GPL and can be used on other AVR based systems as well.

The NanoVM for Asuro replaces the original firmware of the Asuro with a Java virtual machine capable of running a subset of the virtual machine command set. This enables e.g. the Asuro to interpret java bytecode and to run simple java programs like e.g. this one.


The NanoVM is a very resource aware implementation of the java vm. The Asuro version including a boot loader and several native classes fit into the 8kBytes flash rom of the Asuros AVR ATmega8 CPU. The complete 512 Byte EEPROM space of the CPU are available as Java program space and 75% of the 1 kByte RAM space are available to the running Java program.

More information about The NanoVM - Java for the AVR click here

Displaying SubVIs as Expandable Nodes [LabVIEW Tutorial]

SubVIs may be viewed as either icons or expandable nodes. Express VIs are viewed as expandable nodes, by default. To view a subVI as an expandable node, right-click on it and uncheck the View As Icon option by selecting it from the pop-up menu, as shown in Figure 71. This will cause the subVI's appearance to change, such that its icon is surrounded by a yellow background, as shown in Figure 72.



Figure 71. SubVI with View As Icon setting enabled, as also indicated in its visible pop-up menu




Figure 72. SubVI with View As Icon setting disabled, appearing as an expandable node

We can resize the subVI vertically, which causes inputs and outputs to appear below the subVI's icon, as shown in Figure 73. Note that inputs and outputs made available are no longer available to the left and right of the subVI's icon.



Figure 73. Resizing (expanding) a subVI configured as an expandable node

You can also show and hide inputs and outputs from the subVI's pop-up menu, using the Select Input/Output submenu to change an input/output, Insert Input/Output to insert a new input/output, and Remove Input/Output to remove an input/output (see Figure 74).



Figure 74. Selecting the visible inputs and outputs of a subVI configured as an expandable, from its pop-up menu

Your IP Address