Capturing data with an oscilloscope is straightforward but once you have the data it can be pretty tricky to dig into. That’s where GradientOne’s web interface can help! With the aid of the data visualization tool D3, and the power of web browsers, we enable you to easily recall saved results and explore what you have captured. In this blog post we will take a closer look at a few of the features available, how they work, and how they can help you make the most of your data. We'll also provide you with example code that can be used as a reference. Let’s start by loading a saved result from the Results Library, in this example we will be looking at a result from a Rigol DS1054Z oscilloscope.
First let’s take a look at the Tooltip. It’s easy to use, simply move your cursor across the plot window and the Tooltip will snap to the closest data point, giving you a quick look at the x, y values of your plot. It works by calculating the nearest data point to your cursor location and displaying its value. Take a look at the code snippet below for details.
Now that we have something to look at lets explore a bit using the Zoom feature. Using the left hand menu select ‘Zoom’, once activated this feature allows you to use your cursor to draw a rectangle around the part of the waveform you want a closer look at. It’s really that simple. This feature works by taking the dimensions of the rectangle dawn on the plot and calculating a new plot scale. The scale feature in D3 makes it easy to convert from pixel dimensions to plot scale. Take a look at the code snippet to see how it’s done.
GradientOne’s Overlay feature is a great way to compare two sets of data and identify discrepancies. Start by selecting two or more results of interest from your library then click ‘Overlay Results’ at the bottom left of your screen. When the page loads the first two results will automatically be overlaid on top of one another. Use the thumbnails at the top of the screen to select different results for overlay. Some of the more advanced features are disabled while using Overlay, however the Tooltip and Zoom are still available to use at your convenience. In order for Overlay to work the selected results must be compatible, i.e. have channels and y_values in the data. Once the data is gathered and compatibility is established, it’s just a matter of combining the channels and scaling the plot appropriately. Check out the code snippet for details.
Example Code: Tooltip
Example Code: Zoom
Example Code: Overlay
GradientOne's approach to test automation provides a simple way to implement a global test solution for your organization. One of the key design tenets enabling this capability is an API-First philosophy. This provides a simple and consistent interface to our instrument/DUT programming, data acquisition, waveform visualization, and analytical features.
This also helps customers use existing scripts and test programs they are currently using to test hardware, while also using GradientOne for data acquisition, search capabilities, and analysis. This post will provide an example of how to use the open source SCPI Runner provided by GradientOne to control multiple instruments, while storing the results on GradientOne's platform. Though this example uses the SCPI Runner which is written in Python, customers can use their own scripts, written in any language, to achieve the same results.
1) Setup: The function generator on the Tek MDO3012 is connected to Channel 4 on the RIGOL DS1054Z.
2. Script outline: This script will configure a Rigol 1054Z oscilloscope to trigger and acquire a signal on channel 4. The signal is a sine wave created by a Tektronix MDO3012 Function Generator. A few details about the script:
3. Run the script:
4. View the results: When the script runs, it provides the user with links to the screenshots and waveforms that are stored on the GradientOne cloud:
2019-08-20 11:45:06 :: [ INFO ] You can view the result at: https://gradientone-acme.appspot.com/results/R6154227045793447
2019-08-20 11:45:12 :: [ INFO ] You can view the result at: https://gradientone-acme.appspot.com/results/R9283269107066087
This is just one example of how to combine the use of your existing test automation scripts with GradientOne's cloud platform for storing results, collaboration, and visualization. Documentation is available here if you'd like to learn more about the analytical features that can be used for test results that are stored on GradientOne's servers.
If you are interested in seeing how your own scripts might work with GradientOne's cloud platform, click below to get started for your free trial.
GradientOne supports rich interactions between instruments and cloud databases. These include industry standard protocols such as SCPI, VISA, and VXI11. Data derived from the frequency of instrument's interaction with the database as well as information in the embedded operating system support a range of utilization estimates. This utilization data is presented to the user with automated reporting using bar graphs, pie charts, and other trend data. For the cases where customers have custom applications they need to use in conjunction with utilization data, GradientOne provides users with an API or downloadable CSVs to get access to data in its more raw form. This blog post will walk you through how to use the API to run custom queries for utilization data and generate CSV and JSON files containing the data.
Step 1: Download Configuration File
First, download your configuration file. The configuration file manages the authentication and access details to perform queries.
The name of the file must be: "GradientOneConfig.txt"
The file includes the following:
Step 2: Download the sample API script
The GradientOne API offers a wide range of capabilities for uploading and downloading instrument usage data. We've generated an example program written in Python you can execute.
Step 3: Run the API query
For this example, I will run a query against https://examples.gradientone.com to obtain a days worth of utilization data for an oscilloscope in the GradientOne lab. Its asset_id is GradientOne_Keysight_600MHZ.
The time arguments are in UTC. You will need to adjust accordingly for your time zone. I am running this program from the Pacific time zone, so a full day would be from 07:00 to 07:00.
The query requires these arguments:
asset_id -- the unique identifier string of the asset of interest (GradientOne_Keysight_600MHZ)
start_date -- start date of the query (2019-07-17)
start_time -- start time of the query (07:00)
end_date -- end date of the query (2019-07-18)
end_time -- end time of the query (07:00)
mode -- query GradientOne API for minute or hourly summaries (hours or minutes)
> python utilizationInfo.py GradientOne_Keysight_600MHZ 2019-07-17 07:00 2019-07-18 07:00 hours
The Response  means that the query was completed successfully. The data are available in the JSON and CSV files:
This returns 24 hours worth of data. Below is an example hour, which would be available in the .json file. Interesting takeaways are:
This script also generates a CSV file. This shows the average CPU for a given hour and how many minutes the instrument was online during that hour. It contains the below information:
Example CSV file
Example Python Script
If you'd like to see how this works in your environment, start your free trial today by clicking on the below link.