Logical shift in LabVIEW discards the shifted out bit. Logical shift functions in assembly labguage settings shift that value to an overflow bit register allowing the bit in question to be tested and program flow to be altered.
This kind of function is useful when dealing with low level protocols at the bit level, or dealing with digital devices that have a parallel interface.
I suggest the logical shift function have an additional output that contains the boolean value of the bit just shifted out of the number.
Logical shift should be able to output a single boolean, or an array of boolean. For the single case, the value would be the last bit shifted out with other bits being lost. For the array output, all bits would be captured with the first bit shifted out being the 0th index of the array.
I just updated from LabVIEW 2012 to 2014, and somewhere along the way it seems the "Key Navigation" mechanism has changed.
When running a VI, sometimes it's very convenient to adjust the value of a control using the keyboard arrows (moving the caret left/right to select a digit and incrementing/decrementing using up/down). During this, I frequently need to toggle other controls, for which I've configured the "Key Navigation" settings such that I can do so without needing to switch over to the mouse.
In 2012, the caret navigation would stay active (i.e. focused/locked) on a given control while I toggled other controls through "Key Navigation".
In 2014, if the caret is active in a numeric control and I toggle another control through "Key Navigation", the focus is lost and I have to use the mouse to place the caret back where it was.
I should note that this doesn't seem to happen with the "Increment" or "Decrement" modes of "Key Navigation", just with "Toggle".
Not sure why this was changed, but having to switch between the keyboard and mouse frequently slows down workflow considerably.
Here's an idea to make better use of front panel pixels and printer paper.
1) Too much data to show on one screen using regular controls, instead of tabs, Show at-a-glace highlightable data in a configurable cluster format. Before LabVIEW 2014 the typedef table inside a typedef cluster would do thes fairly well.
2) Use same panel as print format since it is at-a-glance and one panel, WYSiWYG printing made easy
3) LabVIEW2014 crashes when table typedef is nested in a cluster typedef - this suggestion is improvement, not just workaround.
Suggestion: Bring back super space efficient (flat plain) controls and indicators, so I don’t need to worry about NI dropping support for the classic plain text one. This will allow me to make my own table like displays using individual fields in a typdef cluster. I could just format a big string control and write code to fill it in by row-column position, but that looks so DOS. How about marketing it as a report builder cluster like panel builders available in many text based languages?
1) Add space efficient flat controlls and indicators to current palette, similar to flat string control in classic palette.
2) Allow these to be placed into a flat cluster that can be typedef
3) Provide a fast way to lookup controls contained in this cluster by name, similar to get array of references and loop through for name match.
4) If desired make an Express VI to build a GUI / Report cluster similar to the way text baased programs do it.
5) Provide for setting printable paramters - shape designed for portrait or landscape and with about the right number of pixels so it fits easily into the printer (no extreme zoom in or out to fit, no half of the printed page left blank, etc..), using this shape as a starting point, nice printable panels will be easier to make.
(Unless it's been added in newer versions, i mostly work in 2011)
Allow Switcheroo on Select terminals, just like on Add, Subtract and others.
Ofcourse the Selector is excempt from the switch, it's just the terminals that should swap.
(In case you didn't know, ctrl-click on Add terminals switches their place)
There are numerous ideas floating around about where the color box constant and control should be located in the palettes. How about if there wasn't a distinction between a color box and its numeric representation? Like the "View As Icon" option on terminals and clusters, I suggest a "View As Color Box" on numeric constants and controls/indicators:
I'm undecided on if this options should be available for all numeric data types, integers only, or U32 only, and what should happen to the Representation options when the numeric is a color box. I see at least these options (ordered after my preference - I prefer 1) the most):
1) The "View As Color Box" option is available for all numeric data types, but when selected the data type changes into U32. If you change Representation to anything else but U32, the "View As Color Box" option is automatically deselected.
2) The "View As Color Box" option is available only when the numeric is U32.
3) The "View As Color Box" option is available for all numeric data types, and coercion happens between the selected "color value" (U32) and the true Representation of the numeric.
The sampling probe (FPGA simulation mode) is extremely handy for quick testing of FPGA algorithms. It's clunky though and needs some enhancements.
1. Align signal names to waveforms under all circumstances. Currently, the alignment is all over the place, especially when zooming.
2. Fix the zoom feature! Currently, the zoom in and out behave in random ways. Sometimes zooming vertically, sometimes only horizontally.
3. Merge the zoom in/out buttons into a single "Horizontal zoom" where the shift or ctrl keys alter the in/out.
4. Add a dedicated vertical zoom button which will also zoom the space between signal names so alignment is assured.
5. Increase the highlite effect on the selected waveform. It's hard to see.
6. Add the ability to save probe configuration so the probe doesn't have to be rebuilt every time. I've often found myself adding upwards of 20 signals and hate having to re-add those (In the same order) whenever the window gets closed.
I'm using 2012 version, so I don't know if it's the same for 2013 and 2014 versions.
I don't use color boxes very often but when I do I always have the same problem when looking for them in the tools palette.
When in the front panel the Color Box control is situated in the Numeric folder
But when in the diagram the Color box constant is a little more hidden...
I know there is the "Search" option, which works very well. Also I can choose the color box control in the Front Panel and change it to a constant, but I worked for a lot of years with version 6.0 to 7.1 and it was very intuitive to find the constant where it was, i.e. here:
So why don't leave the color box constant with the other numeric constants?
By the way, thank you for reading, I always wanted to comment this
Currently (LV 2013 SP1), this contextual menu option is only available for constants on the BD.
I see the difference between a constant and a terminal: the former doesn't have a counterpart on the FP, hence that is the only place you can perform this action.
But consider this: the Indicator is an output variable of the VI and is hidden somewhere in an invisible region of the FP which I don't want to have to scroll to, perform the "Disconnect from Type Def" and then go back and try to recover the initial layout of the FP.
Or this: you can use the "Make Type Def." contextual menu on a Control/Indicator terminal on the diagram.
Once this consistency issue is resolved, I'd suggest to expand this to local variables of said Control/Indicator, although unfortunately, there is no indication on a local variable that it is a Type Def, as there should.
It would be really nice if the 8452 supported JTAG. With I2C and SPI the only communication protocols that are widely used are RS232 and JTAG. With the addtion of these one could test the peripherals of most dsp's and embedded controllers as well as create their own programmers and debug tools.
As the number of records gets larger the more difficult it is for an operator to find an exact filename, especially when the first 5-10 characters are the same. I would like to have incremental search, AKA autocomplete, AKA search as you type, AKA filter/find as you type, inline search, instant search, word wheeling ...
This works well in windows explorer but I find no native incremental search in LabVIEW.
In my settings I have set that some automatic messages appear in the history of VIs (renaming and so). Now, I wanted to save a VI for a previous version of LV (downconvert form LV2014 to LV2010). I deleted the history for the LV2014 file and saved for previous versions. The history of the downconverted VI contains a single line (renaming) with my name in it. Now, I cannot edit and (re)save the file -- either it will be saved in LV2014 or the line will be there. It's a vicious circle. I suggest an option in the saving windows at saving (renaming) any VI: delete history (yes/no).
Right, I can unset the option in the Options for the Lv installation and then set them again. It's a workaround, but not a happy solution.
I would like to see an option added to the Project Library Properties: Protection to propagate the protection setting (and password) to all vi's owned by the library.
Currently if you lock a lvlib it only prevents adding or removing vi's from the library. To lock the vi's from editing you would need to open and change the properties of each vi.
Sometimes you might have a cluster constant, indicator or control on the block diagram or front panel without the labels shown. When you have a large cluster it's not immediately obvious which element you're editing/changing.
When you hover over a SubVI, the connector flashes on the Context Help window and eventually a tooltip appears on the block diagram under the mouse cursor as shown below:
I propose that, just like when you hover over an input/output of a SubVI it does the same to show the element name on clusters on the front panel / block diagram, as follows:
I know it's not the most exciting of suggestions but I think it would be good for usability.
This idea is somewhat similar to Shrink-Wrap-Structures but for comments and strings
The idea is to resize a comment or string to the text by double clicking one of the resize indicators around the box.
This would happen without changing the number of lines or words on each line.
The process would be resize the horizontal direction of the box until the line layout looks nice (and fits!) then double click the corner to remove the unwanted space.
There could be different resize processes depending on the corner or edge you click eg. double clicking bottom middle resizes to only remove vertical space, top left would resize and shift the text down and right so the bottom right corner remains anchored.
There are some other ideas about resizing multi line comment boxes but none were quite as straight forward as this so I made a new post for it.
This mechanism is similar to other programs for resizing boxes so it seems like a sensible thing to implement.
When tabbing between strings, you can type in each box.
When using Rings and Enums, you can select items by typing after the control has been clicked on; for example, if "Lead" is in the list, you can click on the Ring/Enum and type "L" and the control highlights the first element with "L" in it. You can then hit "enter" to choose that element in the list.
It would make much more sense from a user's standpoint if they could tab to a Ring/Enum, and start typing to choose an element.
I propose that when a user tabs to a Ring/Enum control, that if the user starts typing, that the Ring/Enum selects an element similar to if the user had clicked on the control.
The LabVIEW version number displayed in the "About LabVIEW" dialog only includes the patch number if that number is NOT zero. Please change the version numbering to explicitly show that the user is on patch zero. I was confused for a while trying to figure out what patch I had installed, only to realize that I didn't have any patches.
as a matter of fact I'm not typing this I'm using google speak it has some flaws but it seems very accurate. imagine what could happen if the search feature in quick drop could respond to my voice I wouldn't need to type any of that stuff just say "I need a while loop". LabVIEW speak does this to some extent right now but is not integrated into quick drop imagine how fast I could code if I could code like Norm and Darren.