daqIDEA
In this topic:
daqIDEA is a tool for graphic presentation of large data sets acquired through winIDEA data acquisition engine. It is distributed together with winIDEA.
It is a simple but effective tool for graphical presentation of large data sets. It displays values for different variables as a 2D chart and as a table of numeric values and it can sample inputs from BlueBox.
The data acquired can be exported to a file and the variable configuration can be saved into a configuration file. Charts can be closely inspected by zooming and stretching and if left alone the maximum amount of latest data will be displayed. daqIDEA is an Open Source project shared on the GitHub.
daqIDEA is launched from winIDEA environment. Select Test | Launch daqIDEA.
When launched for the first time, a warning about a missing configuration file occurs. This configuration file is created by daqIDEA and contains names of variables and other settings from the previous session. |
In order to prevent constantly switching between daqIDEA and winIDEA, simple application control is possible using three buttons present in the top right corner.
To acquire and display data, some variables and variable parameters inside of the Variable Settings table have to be specified. If you are have more than one Application/Process defined, make sure that you specify a fully qualified name for a variable.
Icon |
Description |
|
---|---|---|
Add Variable |
Add a new variable. |
|
Delete button |
Remove a variable. |
|
Combo box |
Temporarily disable a variable. |
|
Variable name drop-down |
Specify a desired variable or a memory address to be sampled. In each case, an expression type modifier can be added. |
|
Sampling interval drop-down |
You can set data sampling interval for each variable to one of four values: 1 second, 100, 10 or 1 millisecond or maximum possible acquisition speed (this is dependent on the speed of the target processor and other system parameters of course). |
|
Color |
How the data is displayed inside of the chart is specified by the color. Colors are selected using the color picker dialog that pops up by clicking on the variables color button. Every new variable is assigned a default color from a set of 7 predefined colors. |
|
Scale |
How the data is displayed inside of the chart is specified by the scale factor and the color. The scale factor enables us to display multiple variables that have exponentially different values. The possible scales are the powers of ten between 1e-9 to 1e+9 and their negative values. |
|
Chart |
The chart parameter is used to group together variables into multiple graphs for easier comparison and minimizing clutter if you have too many of them. |
|
Format |
The Format parameter is used to specify how the data is displayed inside of the Data Table. Possible formats are decimal, hexadecimal and binary for integer variables while for floating point variables we have the option of regular and scientific format. |
Prefix the desired address with a colon symbol to sample values at specific memory addresses.
Example: To read a 32-bit unsigned value from address 0x20000e48, simply prefix the address with a colon, i.e., :0x20000e48.
daqIDEA will display variable values formatted according to their type. If you wish to override default formatting or to enforce a type to a memory location, you can use type modifiers.
A type modifier is a comma followed by a set of characters after the expression: <expression>,<type modifier>
Type modifiers:
•c - force 8-bit signed integer type
•z - force 8-bit unsigned integer type
•i - force 16-bit signed integer type
•w - force 16-bit unsigned integer type
•l - force 32-bit signed integer type
•u - force 32-bit unsigned integer type
•ll - force 64-bit signed integer type
•ull - force 64-bit unsigned integer type
By default, the memory is read as an unsigned 32-bit integer value. Use expression type modifiers to change, if so desired. |
Variable configuration can be saved into a configuration file and later loaded if required. This is done through the menu Configuration / Save Configuration and Configuration / Open Configuration.
While the upper three buttons control the execution of the actual application running on the target system, the three buttons below the variable configuration table are used to control the data acquisition.
Start/Resume (F9) - Starts the data acquisition of the variables specified in the variable configuration table. If you have an invalid variable name, a warning will be displayed below the table and the acquisition process will not proceed.
Pause (F10) - This does not actually stop the data acquisition as the process is continued in the background. The purpose of pausing is to be able to observe the already acquired data displayed on the chart. The chart animation can be resumed by clicking the Start/Resume button again.
Stop (F11) - Stops the data acquisition. By clicking the Start/Resume button the already acquired data is lost and the whole process is restarted.
Adjust units - Shows time in appropriate time units. When enabled time will show seconds/milliseconds/microseconds which depends on the value of each cell in the time column. Enabled by default.
Data acquired through the DAQ process can be inspected through the chart(s) or the data table.
Charts are used in daqIDEA to graphically present data acquired from the target hardware. Each dot on the chart represents one acquired data sample.
You can put different variables into separate charts and also scaling the data of specific variables so as to make the data more readable.
You can also very simply scale and move the charts to see desired details using the mouse:
•By left-clicking on one of the charts and dragging it, you can move it.
•By right-clicking on one of the charts and dragging, you draw an area we wish to see more closely. This also changes the aspect ratio, which can help you see data more clearly if you have very high density in just one dimension, as seen below.
•You can also zoom in and out by using the mouse wheel. While scrolling, you zoom in/out of the current location of the mouse cursor. If the data acquisition is not paused or stopped, then scrolling the mouse only zooms the time (x) axis.
The data table in the lower right corner is used to get precise data values when required. Every column represents one variable and the first column is the time of the acquired data sample. Every row represents the last acquired sample value.
Data acquired can be exported into a file of three different formats: Excel, CSV or plain text file. This option can be found under menu File / Export Data.
This document describes data acquisition (daq) properties/limitations as maximum sampling rate and real time access impact on various target/debugger combinations.
Compared to DAQ, regular evaluation loop, written using winIDEA SDK, for one variable on MPC5566 + iC5000, takes 1.9 mili seconds (average value for five iterations).
Index |
CPU frequency [MHz] |
JTAG scan speed |
Target/debugger |
Max. sampling rate [micro seconds] |
|
---|---|---|---|---|---|
1 variable |
10 variables |
||||
1 |
128 |
5000kHz |
MPC5566 / iC5000 |
142 |
1234 |
2 |
64 |
5000kHz |
MPC5607B / iC5000 |
150 |
1241 |
3 |
64 |
5000kHz |
STM32F103 / iC5000 |
208 |
1561 |
4 |
64 |
5000kHz |
MPC5646C_B3M / ActiveGT POD |
178 |
1533 |
5 |
|
/ |
78K0R_uPD78F1807 / iC5000 |
19188 |
191631 |
6 |
|
/ |
V850Fx4 (uPD70F4010) / iC5000 |
300 |
2745 |
7 |
80 |
/ |
MC9S12XDP512 / iC5000 |
577 |
5542 |
8 |
60 |
/ |
MC9S12ZVM64 / iC5000 (BDM) |
1177 |
12474 |
Test environment:
iC5000 SN=61445, winIDEA: 9.12.122, communication type: USB
daqIDEA sampling is only performed when no other communication is happening between the debugger and the PC on which winIDEA is running in order not to interfere with normal debug operation. For maximum daqIDEA sampling rate, all real-time debug windows (memory, watches, variables, trace, OS plug-ins…) within winIDEA should be closed. |
When disabled winIDEA will only poll for CPU status (run, stop, halted) a few times per second, which results in minimal traffic between winIDEA and the debugger, resulting in a maximum possible daqIDEA sampling frequency.
daqIDEA has limitations regarding access to symbolic information. Acceptable are:
•symbols from one elf file
•simple variables (char, int, dword, float…)
•global variables