LabWindows/CVI Idea Exchange

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

At present the IniFile instrument permits to read an existing .INI file, modify it and re-save it preserving existing comments in the file, if any. It would be a great addition to permit to programmatically add comments to sections and/or items.

 

I have a rather complex application with several optional modules that can be added or tailored by setting appropriate items in a configuration file in .INI format. I have developed an application that helps me creating such configuration files with the proper elements added but if I want to add some comment for better documentation to the final user I need to manually add them after the file has been created with the risk of forgetting something: if I could add them while generating the configuration file I would avoid this risks.

OPC UA has become much more popular in the last few years.

I did some tests trying to integrate open62541 library in CVI 2015 and 2017.

 

I think that CVI should provide this library as an add-on.

Moreover NI engineers can put their effort tryingo to develop the library itself (rather than rewriting a library from scratch).

Network Variables currently provide support for OPC DA. However, the industry has been moving from OPC DA to OPC UA (Unified Architecture). The reasons for this are many, but mainly based on security and ease of use. Surveys over the last couple of years show that there are now more devices and applications being produced with OPC UA support than DA support. I have enquired whether NI are planning to support UA technology, but it seems that this is not in the pipe line.

 

There are solutions available (open62541, for example) that may provide a solution. Does anyone have any experience with using this solution with CVI?

 

I am looki

The idea and the code has been originally posted by @nickb here.

This library handles a common need that I handled in a less elegant way as described here.

 

As suggested by @RobertoBozzolo the original code from Nick would be a great addition to the Programmer's Toolbox.

In this way all the users would benefit froma standard tool, without re-inventing the wheel (as I did) Smiley Wink

Hello,

watch expressions support the possibility to monitor changes of variables by placing the variable in the watch window. Unfortunately, at present it seems impossible to put a 2 D variable in the watch window, e.g., x_data [  2  ] [  3  ].

The new idea is to allow this Smiley Happy

Thanks!

Code refactoring is a common need for C developers and availability of eiter automated or semi-automated tools can be really helpful.

Since LabWindows/CVI now uses llvm+clang, probably a tool like "include-what-you-use" can be integrated.

This is the github page for the tool.

 

From the documentation:

"Include what you use" means this: for every symbol (type, function variable, or macro) that you use in foo.cc, either foo.cc or foo.h should #include a .h file that exports the declaration of that symbol. The include-what-you-use tool is a program that can be built with the clang libraries in order to analyze #includes of source files to find include-what-you-use violations, and suggest fixes for them.

The main goal of include-what-you-use is to remove superfluous #includes. It does this both by figuring out what #includes are not actually needed for this file (for both .cc and .h files), and replacing #includes with forward-declares when possible.

 

Here you can find this topic discussed in LabWindows/CVI forum.

Can you add new argument for CVI CLI (i.e. ...\CVI2013\compile.exe)

which will dump the build output to a file (similar to the -log LOGFILE argument) ?

current options provide only PASS/FAIL for the compile without providing enough information 

Please add NI DataPlugin Capabilities to Labwindows/CVI. Of specific use to me would be the equivalent functionality of the following 2 VIs:


1. Convert to TDM or TDMS.vi


2. List DataPlugins.vi

The CVI Full Development System supports Microsoft's Software Development Kit.

I'd like to suggest to update this support to Windows 10 SDK.

Hello,

 

I've used the serial port call back for many years, and it works great.

 

The XNET driver would benefit greatly for at least a receive call back function, and possible even a transmit call back function.

 

This would make communication with automotive ECUs easier to implement.

 

Regards,

 

Terry Moss

Robert Bosch

Charleston South Carolina

Hello,

 

CVI 2017 introduced the possibility to change the source code editor font size using the mouse wheel.

 

I suggest to provide this feature also for other IDE windows, e.g. the Build Output or Variable View window.

 

Thanks Smiley Wink

When compiling projects with several files the build output window sometimes is flooded with warning and error messages. Typically I focus on one file at a time and then have to scroll through this long list searching for the file of interest. In such a situation I would consider it useful having an additional menu entry in the right click menu (shown below) such as 'Collapse All', reducing the many lines in the build output window to one line per file, greatly simplifying the search for a specific file.build.png

 

Thanks!

Hello,

when closing CVI or switching between two projects a popup is displayed for every modified file asking if changes should be saved or discarded.

 

clsoeall.png

 

If more than one or two files have been modified I would consider it convenient having a 'Save All' button - or alternatively a checkbox 'Do this for all files'.

Thanks.

In the .NET Controller creator, it would be nice:

  • to be able to give a pre-defined list of the only classes it is useful to wrap,
  • or that CVI memorizes the already checked classes it is useful to wrap

in order to generate the wrapper quickly.

 

Because it is very boring to have to regularly check manually only 22 classes among plenty of not collapsed classes.

a screenshot of the CVI dotNET Controller wizard.png

 

Note: I check only desired classes to reduce the compilation time of the wrapper (which is very big with all its classes: 350 000 lines of code in the resulting C file!), as suggested by the CVI manual.

 

Thanks.

A custumer needs to know the default value of ATTR_CTRL_MODE and cant find it in the online description of the attribute. I think that the default value is VAL_HOT but cant confirm it.

The desciptions of most attributes include their default values. Please add the default value to the following description:

http://zone.ni.com/reference/en-XX/help/370051AC-01/cvi/uiref/cviattrctrlmode/

 

Thanks.

Hello,

there are the menu commands 'Save File' and 'Save All Files', and the toolbar can be configured to show a 'Save File' button, but no 'Save All Files' button exists.

For larger projects I would find it convenient to save all modified files after a successful compile and run and thus would enjoy the possibility of a one-click action via a toolbar button.

Thanks.

 

 

Hello NI,

CVI permits us to use different tab fit modes, e.g., Single Row Scroll or Multiple Rows, in software developed with CVI. Unfortunately, the IDE itself only has one mode, Single Row Scroll.

Now, if I am working in a slightly larger project with say 12 or 15 files open typically only ten tabs fit on my screen, for all the other files I would need to scroll using the tabs. In such a situation I would prefer having the option to have tabs in multiple rows, allowing accessing all files/tabs with just one mouse click.

The project tree does not always help in this case if one is also using files temporally, i.e., not in the project (for example, if I compare/copy routines from different projects)

Thanks!

CVI provides the ability to use syntax coloring (which is nice Smiley Happy)

Right now, C keywords share one color - these keywords include the data types int, double, ...

 

Unfortunately, the boolean types (bool defined by stdbool.h), including the macros true and false, and the size and pointer difference types are not included, e.g. size_t, intptr_t, ...

 

This is not a problem because CVI also allows adding user-defined tokens for coloring, it even provides the option to add the VISA types.

 

In that sense we have the possibility to have core and extra types marked in two different colors - which is also nice.

 

Now I'd like to mark (my) constants as well, in a different color, and this is not possible.

 

My suggestion thus is to add a second group of user tokens, which can be colored differently.

 

Thanks Smiley Happy

It appears that cvi.exe can run into serious memory problems for larger projects due to a memory-hungry generation of source code browse information.

The solutions suggested (* don't generate browse information for larger projects or * don't use larger projects) are not too helpful. In my opinion, a much better solution would be to provide cvi.exe as a 64 bit application.

Because a crashing CVI is a serious limitation I hope this wish will make it soon.

Thanks...

LabWindows/CVI lags behind the more recent developments in its programming language, C. At present, it only partially supports the C99 standard, not to mention the improved Unicode support of the current standard, C11.

Since odds are that Unicode finally will be supported in a future version of LabWindows/CVI, this might be a good opportunity to also ask for support of the current standard of CVI's programming language, C11, allowing the use of UTF encoded strings and also including updated libraries (e.g., supporting complex or long long) and debugging tools (data tooltips and variable view supporting complex numbers, for example). It also would help to improve C/C++ compatibility for programs that use complex floating-point values.

 

I really would appreciate it if the LabWindows/CVI project will show some strong signs of development and accompany us for the next 30 years, too.