LabWindows/CVI Idea Exchange

Community Browser
About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.

The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.

Top Kudoed Authors
User Kudos Count
Showing results for 
Search instead for 
Did you mean: 
Post an idea



right now, the length of the constant names assigned to tab panels in the UI editor seems to be limited to 10 characters, e.g. TABPANEL_10 does not work anymore.


I suggest to lift this limitation.

Command / toggle button with text and picture like this: Button with text and Picture (sorry for Russian text Smiley Wink)

CVI provides useful scanning / formatting functions, e.g. Fmt, which in part complement the ANSI functions. This means that some features can achieved using one library, but not (or not conveniently) using the other. Hence I would be happy to see some additional modifiers allowing the Fmt functions to provide some additional capabilities that are available in printf etc


In particular I suggest introducing


- + modifier to always denote the sign '+' or '-' of a number

- e/E to display the exponent 'e' as a small/large character



There is no way in the current Serial Com functions to determine where a BREAK or FRAMING (or other) error occurred in the input steam (see Reference#7355407).  Add a new "ComRdStatus" to log the UART Status for each and every character individually.

Your "driver" code would be:

     When CHR received in UART

          Get STATUS from UART and put in ComRdStatus buffer     // New array of Status bytes for each character

          Get CHR from UART and put in ComRD buffer                   // Same as it is now

          Increment count returned by GetInQLen                            // Same as it is now

Then user S/W can be:

     While (GetInQLen(port) > 0)    // characers and their status's in queue

          ComRd (port, &chr, 1)                // read character

          ComRdStatus (port, &status, 1)     // read character's status

          if (status != 0)    // check if any status bits set

               if (status & BREAK_BIT)     // Check if this character is a BREAK

                    // Process BREAK condition at the point it happened

               if (status & FRAMING_BIT) // Check if this character had a Framing error

                    // Process Framing Error at the point it happened

               if (status & OVERRUN_BIT) // Check if this character had a Framing error

                    // Process Framing Error at the point it happened
               // ETC to handle all errors at the point in the stream they happened

          else // no status bits set so this Char is "normal"

               j// Process "normal" chr


This would let the user know EXACTLY where the BREAK (or Framing or Overrun or ...) condition occured in the queue.


Right now, if you have 15 characters in the queue and GetComStat says there is one or more "status" bits you have *NO IDEA* whcih character(S) had the status issue.

     E.G. if there is 15 chars in the queue and 5 are 0x00 and BREAK_BIT is set in GetComStat you have no idea which 1 or 2 or 3 or 4 or 5 of the 0x00 bytes where the BREAK and user's need to know this!

I would like to see a way to lock a control's coordinates so that they are not accidently selected and moved once they have been placed on the GUI.  It would be nice to lock the control to the GUI if I know that I am not moving the control again.


0 Kudos

I'm tired of browsing through menus to replace a numeric conversion node.  How about allowing the selector tool to select from a pull-down menu, just like it can from an unbundle by name node?


Existing unbundle node behavior is shown at left.

Suggested numeric conversion node behavior is to the right.



0 Kudos



as discussed in this thread changing the map mode of a graph axis from linear to logarithmic scaling may perform sub-optimal if the graph shows plots containing zero or negative data values. Fortunately, there is a workaround.


The suggestion presented here is to make this workaround unnecessary... Ideally, the graph should take care by itself if plots need to be updated, i.e. changing the attributes ATTR_XMAP_MODE and ATTR_YMAP_MODE from VAL_LINEAR to VAL_LOG should result in updated plots.

0 Kudos

Same as the post "ATTR_DIMMED". I want to hide some tree items without deleting them. My work around is currently, to set the item size of the item, which shall be not visible, to 1 (0 is not supported). The disadvantage is, that the "small" items are still shown and there are big spaces between the "visible" tree items.

0 Kudos

Presently there is a context menu for menu elements to generate / jump to a menu item callback. These items are not present in top level menus that have a callback function installed (those with the exclamation mark appended), where only 'Edit' item is present. It would be handy to have these options added to those items too.


See this image:


0 Kudos

When a user changes a numeric control radix, LabWindows/CVI generates an EVENT_RADIX_CHANGE event and sends the event to the control callback function.

eventData1 = The new format of the radix(VAL_DECIMAL_FORMAT, VAL_HEX_FORMAT, VAL_OCTAL_FORMAT, or VAL_BINARY_FORMAT).  Provide an attribute to set the radix from source code.