This repository has been deprecated. The RFIC Reference Design Libraries are now included with the NI RFIC Test Software. Use the Automation Wizard to access a copy of the automation libraries for building a test program.
The RF ADV Reference Design Libraries (RDLs) are a lightweight, open-source wrapper around existing NI instrument drivers providing a higher-level starting point for semiconductor RF Automated Device Validation (ADV) engineers to use for getting start with automating common tests for PA/FEM validation. They are designed for simplicity and ease of integration with a test sequencer, such as NI's TestStand. They have been designed to be language agnostic, so that the same functionality can be accomplished in LabVIEW or C# with minimal difference between code modules.
Automation examples in TestStand are provided to show how the modules can be combined together in functional test applications.
To get started using the RDLs, clone the repository to your computer and build the libraries. Alternatively, grab the latest release and start using the libraries in your application. Check out the module examples to see how to implement the modules in your code or sequencer, or see the TestStand examples for application-level examples.
If you would like to extend the RDLs for your application or contribute to the project, please see the setup guidelines and the contribution guidelines.
Most drivers that will be used for ADV tasks have examples that demonstrate driver features that look like the following:
This is useful for demonstrating a driver feature or function. However, it is often difficult to understand how to take the example functionality that is being demonstrated and implement it in an automated test routine. Moreover, there are many functions that are frequently called in the same order to setup Finally, for RF ADV applications especially, many different drivers are required to be used and combined together in order to make even basic measurements. The RDLs have been designed to meet these need, implementing functionality as seen below:
The RDLs are example code implementing common tasks in discrete modules in order to provide a higher-level starting point for ADV applications. Each module is a very simple wrapper around individual driver functions to implement common functions. The modules can be pieced together to rapidly create a full application or automated test routine.
Since each application is different, the RDLs are not intended to meet every use case. Rather, they are intended to address around 80% of common use cases to minimize the effort getting started building an ADV application. Some customization may be required; however, since the modules are designed with simplicity as a primary design consideration, extending and modifying the existing code should be straightforward even with basic programming skills.