LabWindows/CVI Idea Exchange

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

This is an (extensible) list of things I'd like to see improved in the CVI help:

 

- I miss a list of all obsolete functions, preferably in an ordered, linked list showing obsolete function name, replacement function name (if any), library, CVI version of improved function:

e.g.:

          Convolve          |   ConvolveEx     |   Advanced Analysis Library    |   CVI 9.0

 

- I miss a list of all new functions / attributes ... per version (if I am updating one of my older projects that has been untouched for years I'd like to also update it to new CVI features (and change to non-obsolete functions) so I'd like to see what is new since then.)

 

- I'd also like to have the lists of fixed (and open) bugs included in the help

 

Thanks Smiley Wink

One of the more valuable tools within LabWindows is the ability of the editor to fill in struct elements given the struct name. I also work with Eclipse-based tools for embedded systems work, and it has a similar ability. Unfortunately, whereas Eclipse dynamically analyzes the code as it is written, and can provide stuct elements (and other variable information) as soon as the programmer types it in, LabWindows cannot provide this information until after the code has been successfully compiled. As this may or may not happen for some time after the file has been started, or major changes begun, it is almost useless.

 

Another useful tool that Eclipse offers that LabWindows does not is the ability to refactor variables and other symbols. Again, Eclipse dynamically tracks the code as it is written, not requiring compilation; refactoring is similar to global replace, except that it tracks the 'C' usage of the symbol and only changes the proper usage. So, for instance, if I use a local variable named "X1" in three different subroutines, and refactor "X1" to "X2" in one of them, only the variable in the particular routine gets changed.It works with any C symbol, including routine names, global and static variables, and structures.

 

As a matter of fact, I would encourage NI to look into the possiblity of basing LabWindows on the Eclipse platform, as Atmel did in replacing its proprietary Studio software with an Eclipsed-based version. This would enable users to take advantage of a large number of available Eclipse tools, such as source-code management.

Hello NI world,

 

when modifying functions I typically encounter errors such as:

 

30240, 1   Redeclaration of 'xyz' previously declared at ab.c:1621.

when I forgot to adjust a parameter etc.   It would be useful if I could use the right click popup menu of the build output window to jump to the first declaration in order to fix it. Right now, there is only the menu entry Goto Item

I find it desirable to have the UI engine run, in debug mode and only optionally in release mode, a duplicate check on keyboard accelerators on controls (like labels or command buttons, as in __Quit being rendered as Quit and enabling the user to press [Alt]+[Q]). All too often, on bigger panels, when adding a feature, I find that a shortcut/accelerator is already assigned.

 

Note that the UI editor per se isn't sufficient while controls can be added programmatically.

Hi,

 

I'd like to suggest another command strengthening the table control: Because tables can be used also for documentation, it would be helpful to ease the printout of table controls by a dedicated command.

 

The PrintTable command should not print scrollbars, and it should include

 

- two integer attributes for the number of columns/rows that shall be printed per page

- a boolean attribute indicating if tables too large to fit on a page are split first horizontally or first vertically

- an integer attribute specifying the font size

- a boolean attribute if the header shall be repeated on subsequent pages

- a boolean attribute if the frame lines are printed or not

- two boolean attributes if the vertical/horizontal grid lines are printed

- an integer attribute specifying the thickness of the frame lines

- the option to generate graphic files (png, jpg): if several pages would be printed this should result in several graphic files

 

Right now these goals can be achieved only by creating a second, hidden table control with the requested attributes which is then filled programmatically.

The following are desired enhancements to LabWindows/CVI Real-Time:

 

- Support for Lists and Hash Tables

- Support for Ini Instrument Driver

- Support for XML

- The ability to host user defined web services (similar to what can be accomplished via LabView)

 

Thanks!

Would it be possible to allow ".." to be used as a "Custom Copy Directory" in the "Target Settings" dialog box (for dynamic link library projects)?  Or in other words, I would like the ability to specify that the Custom Copy Directory should always be one up from the project directory.  That way this functionalty won't break when I rename the directory or move the project between computers where the complete path is not the same.  A similar thing would also be handy in the "Specify Executable to Debug" dialog box.  Thanks.

I'd like to see a toolbar button to change letter case of selected text in the editor.

It might be handy if the increment and decrement arrows on Numeric controls (as well as numeric cells in Table controls) had the option to increment and decrement by a percentage of the control's value, rather than just a fixed value.  Basically, I'm finding that I'm doing this type of thing quite a bit:

 

SetCtrlVal(panel, control, value);

SetCtrlAttribute(panel, control, ATTR_INCR_VALUE, fabs(0.01 * value));

 

This makes it so that the increment/decrement arrows on the control, when operated by the user, will change the control's value by a certain percentage of the control's value, rather than some fixed number.  It would be handy if there was some way to automate this more, in the sense that the user interface could handle this for the programmer.  I envision something along the lines of a new attribute like ATTR_INCR_TYPE where the programmer could set this to something like VAL_FIXED (for a fixed increment, as it behaves now), or VAL_PERCENT (the new proposed behaviour), and ATTR_INCR_VALUE would be either the fixed value, or the percentage.  Or perhaps someone else may have a better idea on how to implement this.  This would be especially handy for Table controls, where now I must loop through all the numeric cells on the table and set each increment value individually.

 

Also, note the fabs() above in the SetCtrlAttribute() line.  This is needed as I get a library error if I try and set the increment value to a negative.  Is there any reason that a value like -10.0 couldn't just be interpreted as 10.0 when setting the increment value?

 

Thanks.

 

A couple of minor things:

1.  Change it so that if characters like 'µ' are used in the documentation tags, that CVI doesn't generate invalid XML comments files.  Or if that is not possible warn the user if they use characters like 'µ' in the documentation tags.

2.  Make it so that Insert Construct -> Function Documentation Tags (Ctrl-Shift-G) doesn't insert an HIPAR paramater for 'void' for functions that don't have parameters.  Also make it so that it doesn't insert HIRET tags for functions that don't return anything.

Hello,

 

I am using a graph with about a dozen annotations (not all of them are displayed simultaneously). Adding another annotation in the UI editor is not very convenient because I have to re-enter all the parameters glyph style, glyph color etc. Because there are about 10-15 settings I can not remember all of them and hence I have to switch back and forth between until the new annotation is ready... 

 

it would be much more convenient if I simply could clone an existing annotation and then simply change its text Smiley Happy 

Suprisingly, in the Advanced Analysis Library there is no general routine for numerically finding roots - except for polynomials.

 

In my opinion this is a quite frequent necessity and should not be missed in an advanced analysis library 

Hi,

 

I have two minor suggestions that might be useful when designing a UI:

 

- the option to show a vertical and horizontal guide (as e.g. in Powerpoint...)

- a possibility to zoom in (and back out, of course Smiley Happy)

 

Thanks!

When designing a tab page in the UI editor usually the total height and width needed to nicely place all the controls can be calculated using the heights of the individual controls plus some distance in between the controls.

 

One may end up with a number for the height of the panel (excluding the top positioned tab) of say 160 pixels. Unfortunately, in the UI editor it is not possible to set this value. All that is possible is setting the height of the complete panel tab including the tab height (to say 181). It would be nicer having the possibility to either set the height of the panel including the tab (and the usable panel height will adapt) or to set the height of the usable panel height and the total height of the panel tab will adapt accordingly. Then moving the tab from the top to the left the usable panel height would remain constant.

 

A workaround has been given by Roberto here so this suggestion is not the most urgent wish but still would increase user friendlyness of the UI editor... 

In the Advanced Analysis Library I'd like to see a function for efficiently computing binomial coefficients. The 'standard' definition

 

a! / ( b! * ( a - b )! )

 

is not efficient and susceptible to overflow. A better approach for example could be the calculation of ln (n!) using the gamma function as outlined in Numerical Recipes.

In a Tree Control you can change the size of cell font and, as a consequence, the size of the cell itself.

But the size of item images and plus/minus boxes is fixed: in this way you can have items with large fonts near small images and plus/minus boxes (see attched).

I think that this is quite ugly to see...

 

I think that images size can take some discrete values (16x16, 32x32, 48x48 and up to 128x128 for example), so that the larger one (smaller than the cell height) is automatically used.

I suggest a similar behaviour also for plus/minus boxes