LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

When a user clicks and drags a slider - hundreds of value change events are generated for your code to handle.

 

Most of the time the user experience you want is just to use the value when the user has stopped dragging the slider. Similar to a text input field where you can select to have the value update only once the user has finished typing instead of all the intermediate values.

 

My proposal is to change the slider events to support this use case. I'm inclined to leave the exact solution open - as long as NI can support this use case.

 

There is another idea to add an ended event which would allow for this: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Create-a-quot-User-Control-Ended-quot-Event/idi-p/1075504?profile.language=en but I created this post to be more specific.

 

You can find a number of attempts if you search the forums for "slider too many update events" such as 

 

If you follow this through there are always compromises in every solution for getting this behaviour.

Maybe I have just created bad habits, but often times I copy a control on a BD that is the datatype I want. Then I go to some other VI and open the front panel and try to paste it, but I can't. I would like to be able to copy a control or indicator from the BD but paste it to another VIs FP. The reason I want this is because if I have to paste to the BD because I copied fromt the BD, sometimes it puts the control in la-la land away from all my other controls or indicators on the FP. If I could just paste directly to the fp, I could put it where I want.

 

Could I double click the control to find it then copy from the front panel? Yes, and maybe I should have made this a habit. But because I have not this lack of functionality sometimes annoys me  Smiley Sad

 

 

 

 

Download All

"Auto-insert Feedback Nodes in cycles" option under Tools > Options > Block Diagram should default to OFF. I am a believer and preacher of FN's since Darren's blog post about them, but it seems I can only get FN's to appear when I mis-wire, not when I want one.

 

Plus, they really scare LV beginners (and me!) when I miswire. GAH! What just happened??

 

ScaryFeedbackNodes.png

Autoindexing inputs and outputs is incredibly useful, but when it indexes and you don't want it to, you have to right click the tunnel, select Tunnel Mode, then Last Value.

 

Can we get an option to enable or disable autoindexing with a keyboard shortcut? Say, hold Shift to disable indexing, or tap Alt to toggle it.

 

A couple similar ideas:

Change tunnel mode with Ctrl-click 

Smart autocorrecting autoindexing (from 2009!!)

 

NI updater kindly informed me that LabVIEW 2014 SP1 was released (even though I uninstalled it shortly after I tried it last year) and out of curiosity, I took a look at the known issues list.

I learned a few interesting things I did not know about, and also that some problems had been reported as long ago as version 7.1.1. This type of stuff looks like bugs that won't be fixed, ever.

For instance, CAR #48016 states that there is a type casting bug in the Formula Node. It was reported in version 8 and the suggested workaround it to use a MathScript Node instead of a Formula Node (where is the "Replace Formula Node by a MathScript Node" contextual menu item?).

Problem: the MathScript RT Module is required. Even in my Professional Development System, this is not included by default. Does this really count as a workaround?

I read: we don't have the resources to fix that bug, or we don't want to break code that expected that bug.

In any case, this bug with most likely never be fixed.

The bottom line is, we can waste a lot of time as users, rediscovering bugs that have been known for a while and will probably never be fixed. As a user, I would really appreciate a courteous warning from NI that there are known traps and have a complete description handily available with the help file related to the affected function.

 

My suggestion: add a list of known issues (with link to their description) for all objects, properties, functions. VIs, etc, in the corresponding entry in the Help File.

Looking at messy diagram from forum posts (not mine!), I often find myself in a situation that I cannot really tell where an "interesting" wire is coming from. Triple-clicking just shows me a spiderweb of wire segments going in all directions.

 

Often, the leftmost wire end is near the data source, but not always. Maybe it would help if we could right-click on a wire and do a "find source" and a halo,(or donut or similar) would temporarily appear showing where the data in the wire is originating.

 

A wire can have many sinks, but only one source and the data source is the most interesting property of a wire.

A tool to find it quickly could be helpful.

 

This picture is way too ugly, but should give some idea.... 😉

 

Almost every time I work on a new test system and start documenting, I can't tell which drivers, add-ons... the code depends on.

The documentation (design description) should at a minimum tell a new developer what drivers, add-ons... must be installed to have the code executable on a development machine.

I've issued a support request on this, but the support team told me that there are no such funtionality in LabVIEW. The Dependencies folder in the project gives you some indications. VI Hierarchy and VI Analyzer also give some indications. The only way to sort this out is to install LabVIEW stripped from all extras and then install one driver/add-on... at a time until your code gets executable.

 

My suggestion is that the LabVIEW development environment is equipped with a functionality where the drivers, add-ons... required for your code can be shown.

There is a construct I am quite fond of in pointer-friendly languages, using iterator math to implement circular buffers of arbitrary data types.  They are a little bit slower to use than straight arrays, but they provide a nice syntax for fixed sized buffers and are helpful in cases where you will be prepending and appending elements.

 

I am pretty certain that queues are implemented as circular buffers under the hood, so much of the infrastructure is already in place, this is mostly adding a new API.  Added bonus:  the explicit circular buffer can be synchronous, unlike the queue, so for example you can put them in subroutine VIs.

 

It should be easy to convert 1D arrays to/from circular buffers.  Array->CB is basically free, the elements are in order in memory.  CB->Array requires two block copies (most of the time).  This can be strategically mananged, much like Reverse or Transpose operations.

 

Use cases:

 

You can implement most of  the following two ideas naturally:

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Looping-Input-Tunnels/idi-p/2020406

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/New-modes-on-auto-indexed-input-array-tunnels-in-loops/idi-p/2263706

 

Circular buffers would auto-index and cycle the elements and not participate in setting 'N'.

 

You can do 95+% of what I wanted to do with negative indexing:

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Negative-Values-in-Index-Array-or-Array-Subset/idi-p/960863

 

A lot of the classic divide and conquer algorithms become tractable in LV.  You can already use queues to implement your own stack and outperform native recursion.  A CB implementation of the stack would be amenable to subroutine priority and give a nice performance kick.  I have done it by hand for a few datatypes and the beauty and simplicity of  the recursive solution gets buried in the implementation of the stack.  A drop-in node or two would give you a cleaner look and high-octane performance.

 

Finally, perhaps the most practical reason yet:  simple XY Charts.

 

As for appearance I'd suggest a modified wire like the matrix data type.  Most if not all Array primitives should probably accept the CB.  A few new nodes are needed to get/set buffer size and number of elements and to do the conversions to/from 1D arrays. The control/indicator could have some superpowers:  set the first element, wraparound scrolling (the first element should be highlighted).

I'm missing somthing like that:

 

silver tab.png

 

Amir.

Anchore position of Bundle & Unbundle Ny Name elements to "Input cluster" and not to same point in the middle of element.

 

I don't like when I place (Un)Bundle By Name element to Block Diagram and when I connect Input cluster to same cluster wire then element dance on block diagram.

 

Similar: when you change (Un)Bundle By Name element by clicking a name terminal and selecting a name from the shortcut menu then element is dancing (moving) on block diagram.

 

Every time I have to shift (Un)Bundle By Name on block diagram to original position.


Expected behavior: Anchor (Un)Bundle By Name position to Input cluster part of element.

 

unbundle_by_name2.PNG

Second Unbundle By Name is reference of original position.

 

 

bundle_by_name.PNG

Second Bundle By Name is reference of original position.

Hello,

 

When you have to handle events, many times you have to use "defer panel updates"  fonctionnality, in order to make your front panel updates more fluent.

 

It could be nice to include a checkbox in the event configuration window, in order to ask (or not) an automatic defer panel Update.

 

If check box is checked :

 

  • At the begining of the event handler code execution : DeferPanelUpdate = TRue
  • Execution of the event code
  • At the end of the event handler code execution : DeferPanelUpdate = FALSE

DeferPanelUpdate for event handler.png

 

Manu.net

When writing a string key to a configuration file with the Config file "Write Key.vi" on the File I/O palette, the value will always have quotes around it because of the "Add Quotes.vi" in that particular method as you can see in this image.

 

WriteKey.png

 

Not all external programs handle ini files with quotes around strings as well, and this question was already asked and answered in 2010, but for some reason NI never added this VI or the option to remove the quotes to the actual palette.

 

I would like to have the option to have my string keys with and without quotes.

It would be nice to have the option for showing the radix on the index display of an array. This would make it easier to look at an array when dealing with addresses in hex.

 

For example, if you have a large array representing the contents of a flash, and want to look at specific addresses, you need to convert the hex address into decimal to be able look at the corresponding value in the array. This can get tedious and time consuming (although I will admit it does force one to learn how to make the conversions a little more quickly in your head... as long as you are not making mistakes!)

 

index display.png >>>>> index display new.png

When you have a control name containing 'in', creating an indicator should automatically name the indicator 'out'.  Currently the indicator name is appended with '2'.  This could be expanded to include control names where the name includes a default value, and the capitalization is matched, too:

 

name indicators.PNG

Hello NI,

I am thinking of a feature that if I hold a certain key such as CTRL and then move a vi that has error in/out wire in it, it will automatically snap to the error line that gets close to it such that the feature will automatically connect the moved vi in between the error wire it is closed to. This will cut the error line and insert the error in and out of the vi that gets close to it. Thus a person will not need to do the following steps:

1) click to error line, then click to input of the error wire of the vi.
2) click to error line again, then click to output of the error wire of the vi..
3) click the unwanted wire/broken path and delete.

Regards,
Mark J.

After fighting an increasingly slow IDE for a while I found the reason editing my libraries and classes was slow: Lengthy and large mutation history.  I'd like to see an easy option to clear that history so I'm not burdened with the edit-time slowness when I don't have to be:

DelMut.png

If I was smart with right-click-frameworky stuff I guess I could make it work myself, but for any so inclined:

DelMutCode.png

After installing a few word processing and graphics editing programs, my font list in LabVIEW is about 6 screens long and all I see without scrolling are some really useless fonts.

 

 

To select the ones I typically use (tahoma, courier, etc.). I need to scroll many pages, keeping a close watch on the alphabetically sorted names flying by when scrolling). Of course I could spend a day cleaning out my fonts, but I am never sure if something actually uses one of these.

 

Like most other applications, LabVIEW should maintain a short list on top, containing favorite fonts. This list could be auto-populated by the fonts used on the current front panel or just be a short history of recently selected fonts. There should also be a configuration option, allowing us to "pin" certain really-really favorite fonts to that area.

 

It could look as follows:

 

 

Of course what we really need is a modern text toolbar, but this idea would apply there equally. 😄

Download All

LabVIEW's HTTP Request client currently does not support the PATCH method. This method is becoming increasingly more popular within RESTful API's and has been an officially recognized verb since 2010 (RFC 5789). It should be fairly simple to integrate, since LabVIEW runs cURL under the hood and cURL implements it with curl --request PATCH

 

 

                     this time, I hope this idea was not already proposed! Smiley Frustrated

 

 

original6.png

 


I would prefer to have a feature added to space objects horizontaly and verticaly by value. It would be very helpful for arranging objects in block diagram and front panel. br ws.

 

LabVIEW Exchange.png