Chapter 1IntroductionLabVIEW LEGO MINDSTORMS NXT Module1-10ni.comCase Structures•Only one specific value, or Default, is allowed in the case selector label for each subdiagram. You cannot use ranges (the “..” notation) or comma-separated lists of values.•Usage of error cluster wires with the selector terminal is not supported.Sequence•Only one frame per sequence structure is allowed.SubVIsThe NXT firmware run-time system is simpler than the LabVIEW run-time system. Remember the following limitations when using subVIs:•You can pass only supported data types through subVI connector panes.•The module does not support VI refnums, so you cannot call subVIs by reference.•Most settings on the VI Properties page do not affect the execution of VIs on the NXT brick. For example, the NXT firmware does not support the concepts of priority or a preferred execution system.NoteThe Reentrant execution option in the VI Properties dialog box is a special exception. Reentrant execution enables a VI to be called by more than one caller. Normally, a VI can only be called by one caller at a time. However, if you want two callers to be able to call the same VI simultaneously, place a checkmark in the Reentrant execution checkbox. The module makes a complete copy of reentrant VIs for each subVI call. In other words, every call to a reentrant subVI is completely independent in the NXT program and increases the overall size of the compiled program.Remember that only one caller can have access to a non-reentrant subVI at any given time. The same issue exists here as with using non-reentrant subVIs in LabVIEW; parallel callers might have to wait (block) for access while another caller is running a given subVI.Also remember that the module compiler combines top-level VIs and all subVIs into a single program file on the NXT brick. This behavior is similar to using the LabVIEW Application Builder to compile all VIs into a single PC executable file—subVIs become components inside the executable file.