Nimbus DownloadContact Nimbus Sales: 858-587-8876 Option 1  |  Email >

Feature Comparison

Nimbus

VIVID

 
Automatic code round-tripping Yes - See feature details >
Designed for VS.NET Yes - Nimbus was written from the ground up to support the latest features in VS.NET, including ATL 7. VIVID was designed for the previous generation Visual Studio and continues to rely upon ATL 3.
LXI instrument support Yes -  
VS.NET integration Yes - See feature details >
Forwards compatibility with IVI.NET Yes - See feature details >
IVI-C driver generation Yes - Nimbus can generate a fully-compliant IVI-C driver that wraps the native IVI-COM implementation – all contained within a single DLL. The IVI-C driver includes all files (.fp, .sub, .h) required for seamless integration into LabWindows/CVI.
Design validation Yes - Nimbus reports any design elements that are not IVI-compliant. Developers can integrate their own custom design rules and validate against these rules as well.
XML support Yes - All project files are stored in standard XML.
Extensible and open architecture Yes - See feature details >
VXI Plug-n-Play wrapper Yes Yes See feature details >
IVI-C wrapper Yes - Nimbus provides true one-click wrapper generation by automatically detecting the IVI-compliant capabilities of the wrapped IVI-C driver and generating the corresponding IVI-COM interfaces and implementation.
.NET wrappers w/ IntelliSense Yes - Compilation process automatically emits a .NET wrapper that can easily be used in any .NET application.
Consolidated VS.NET solution Yes - Nimbus allows you to produce a complete, customer-ready driver using a single VS.NET solution. The VS.NET solution generated by Nimbus can house the main driver C++ project, the installer MSI project, regression test projects in C#, and even Help 2.0 projects.
Integrated Help documentation Yes - Nimbus online help integrates directly with Visual Studio. Standard F1-Help provides quick access to the extensive Nimbus driver library.
Dynamic Help Yes - The Nimbus help system is fully integrated with the native VS.NET Dynamic Help system. As you type code and navigate within a driver, Visual Studio will direct you to important Nimbus Help topics.
Message-based instrument support Yes Yes Nimbus provides sophisticated SCPI support so that hand-edits of code are almost never required.
Instrument command importing Yes - Nimbus allows importing of SCPI commands directly from a file.
Installer generationg Yes Yes  
Automatic code navigation Yes - Nimbus adds custom menu items and toolbars directly into VS.NET that help you can quickly navigate to points of interest within your driver code.
Performance monitoring Yes - See feature details >
No runtime DLL requirements Yes - Nimbus drivers requires no runtime DLLs, while VIVID drivers must be shipped to each customer with additional VIVID-specific components.
Downloadable instrument personality support Yes - See feature details >
Configuration store browser - Yes
Stand-alone driver designer Yes Yes
Unified design environment Yes - See feature details >
Help 1.x generation Yes Yes Old-style Help format (.chm files). With only this style of help, customers using the driver will not be able to use F1-Help (context-sensitive) or Dynamic Help when building applications in Visual Studio.
Help 2.0 generation Yes - New-style Help format that exactly mimics MSDN online Help. This style of Help is required for F1-Help and Dynamic Help.
Tracing support Yes Yes Nimbus stores data in XML and allows fully customizable presentation.
Simulation Yes Yes  
Basic driver code generation Yes Yes Nimbus generates a VS.NET solution with fewer files and much simpler driver implementation code.
.NET-style attributed code Yes - See feature details >
Fully-debuggable source code Yes - Nimbus generates code that uses no macros. VIVID relies heavily on macros, which cannot be debugged.
Instrument I/O support Yes Yes  
State-caching Yes Yes Nimbus uses easily-modified .NET-style attributes, whereas VIVID requires hand-editing of complex C++ classes.
Range-checking Yes Yes (same comment as state-caching)
Coercion Yes Yes (same comment as state-caching)
Script-based test code - Yes Slow execution speed and difficult to debug. Cannot be compiled.
.NET-based test code Yes - Fast compiled execution. Full C# support so driver test code can leverage the entire .NET framework.

 

 

 

 

     

Automatic Code Round-tripping

Arguably one of the most powerful features of the Nimbus product is its ability to round-trip driver implementation code. This means that decisions made about the layout of methods, interfaces, and other driver characteristics can be completely changed after the driver has been generated and after the developer has begun implementation. Nimbus Code Wizards automatically manipulate the C++ code to effect the desired changes. All implementation code is preserved in the process! No other driver development tool on the market today has this capability. Driver developers today facing significant design changes must make painstaking modifications to the code by hand. This is so tedious and error-prone as to be prohibitive. Developers working with other tools have reported completely regenerating their driver from scratch three or more times per day simply to accommodate design changes.back to chart >

VS.NET Integration

Visual Studio .NET is a boon for third-party developer tools as it provides an unprecedented level of customization possibilities. Nimbus fully capitalizes on Visual Studio .NET by integrating our own custom tool windows, menus, commands, and toolbars directly into the Visual Studio IDE. Driver developers working within Visual Studio have direct access to the same Nimbus design and development tools as in the stand-alone Nimbus Driver Designer. In fact, all phases of driver design, development, and test can be conducted without ever leaving the Visual Studio IDE.back to chart >

Forwards compatibility with IVI.NET

Nimbus was designed with a forward-looking eye towards .NET drivers. The driver designs you create with the Nimbus Driver Designer are already independent of the underlying implementation technology. That means you can take the same design and generate an IVI-COM driver today and a .NET driver tomorrow, without changing your design.back to chart >

Extensible and open architecture

Every feature and tool in Nimbus is built on top of the Nimbus Object Model, which encapsulates all of the design information associated with a driver project. Recognizing the need for users to develop and integrate their own tools, the team at Pacific has decided to publish the Nimbus Object Model and document it thoroughly. The result is an extraordinarily empowering range of possibilities for Nimbus users.

Working with the Nimbus Object Model, you can develop your own custom tools for accomplishing everything from custom design validation, to database integration, to custom reporting and printing. In short, anything you see that we've done with Nimbus, you can build for yourself with the Nimbus Object Model.back to chart >

VXI Plug-n-Play wrapper

While both Nimbus and VIVID allow importing of VXI Plug-n-Play (VXI PnP) Function Panel files, VIVID only imports the function signatures into the design. The existing VXI PnP driver implementation code is not automatically incorporated into the generated IVI-COM driver. All implementation of the generated IVI-COM methods is left up to the user. Indeed, this is the most critical, time-consuming, and error-prone portion of the task of producing an IVI-COM wrapper around a VXI PnP driver. Moreover, VXI PnP drivers often expose a lot (if not most) of their functionality through attributes, and VIVID does not import any of these attributes.

By contrast, Nimbus provides true one-click generation of IVI-COM wrappers for existing VXI PnP drivers. Users simply direct the Plug-n-Play Wrapper Wizard to the Function Panel (.fp) file and Nimbus imports all methods, all attributes, and even enum definitions. The generated driver is completely functional with no code modifications whatsoever.back to chart >

Multi-model driver support

Instrument vendors commonly develop products in families of related instrument models. Often, instrument models within a family support very similar functionality. Rather than developing, testing, and maintaining separate IVI drivers for each instrument model, it is far simpler to develop a single driver than can support multiple instrument models and families.

Multi-model drivers necessarily place a much greater implementation burden on the driver developer. Nimbus supplies a powerful array of features to facilitate multi-model driver development with no additional coding. At runtime, the Nimbus-generated driver detects the instrument to which it is connected and dynamically adapts to issue the proper device commands for that specific instrument model. The driver developer uses simple dialog boxes to configure this behavior. All of these dialogs are accessible from the Nimbus Driver Designer and from within Visual Studio.back to chart >

Performance monitoring

Nimbus automatically instruments your driver code by installing a variety of Windows performance counters to track the performance characteristics of your implementation. No coding is required on the part of the developer to take advantage of these valuable analysis tools, and there is virtually zero overhead incurred in collecting the driver's performance data.

Nimbus installs performance counters for tracking such driver performance characteristics as method call execution speed, instrument I/O execution speed, state caching efficiency, and I/O errors.back to chart >

Downloadable instrument personality support

Many types of instruments today ship with lots of configurable options. Customers purchase a base instrument and then purchase additional options in the form of measurement personalities that can be downloaded into the instrument. As a result, the capability of the instrument, and hence, the driver that communicates with it, needs to be configurable and expandable. As new measurement options are developed and released, the existing driver needs to be able to accommodate these options even though they did not exist when the driver was developed.

Nimbus provides direct support for these types of compound instruments. Supporting instruments with downloadable personalities is as easy as selecting an option in the New Driver Project Wizard. The Nimbus-generated driver dynamically adapts to expose only the options installed on the end-user instrument.back to chart >

Unified design environment

Constructing a complete, customer-ready IVI driver involves developing a number of different types of projects. These include the main driver project, a help project, an installer project, a regression test project, and potentially others. VIVID uses separate, disconnected tools for driver design, test code production, help file development, and installer implementation. As a result, the driver product itself is spread out amongst numerous different, incompatible project types. Nimbus provides a single environment for designing and implementing all of these driver development tasks. The single Nimbus project consolidates design, implementation, help, and even test information into a single open XML-format file.back to chart >

.NET-style attributed code

Nimbus introduces an extraordinarily powerful and easy-to-use mechanism for adding, removing, and modifying the functionality of your IVI-COM driver. Attributed programming allows you to replace reams of code that developers typically must write directly in their method implementations with simple declarative driver attributes. These attributes use the convenient .NET-style syntax and bring to COM programming the same power, flexibility, and ease-of-use as the .NET attributes that are becoming so popular in C# and VB.NET programming.back to chart >

 

 

 

Microsoft case study features Pacific MindWorks unique customer support

What our customers have to say