Estimated reading time: 4 minutes
EEZ Studio v0.9.87 release represents the final milestone (M5) of the first phase of implementation of EEZ flow technology for visual programming of the T&M solution for which NLnet (NGI0 PET fund) was the main sponsor. This milestone expands the capabilities of the visual debugger introduced in M4 with flow support that runs directly on EEZ BB3 T&M chassis. This version also includes a series of bug fixes and improvements in the flow editor and debugger.
Adding a visual debugger will make it easier to create customized applications for EEZ BB3. Debugger functionality requires the installation of the new version of the firmware (v1.8-Alpha) available on GitHub.
With this version EEZ Studio becomes a powerful embedded GUI development tool for creating new applications quickly and intuitively. EEZ BB3 with existing support for MicroPython, Node-RED and MQTT by getting this distinctive feature become an even more attractive choice for automation of testing and measurement, and to our knowledge represents a unique solution in the market.
As an example of customizing the EEZ BB3 GUI, the DC power project was released. One of the project GUI pages is shown in Fig. 1. As can be seen the layout itself and the accompanying logic can be displayed in the same place for easier editing and flow monitoring.
Launching the EEZ BB3 application leads to the transfer of file (in .app format) to the SD card (in the Scripts folder, as shown in Fig. 2) from where the application can be launched later without the need for EEZ Studio to be started and connected to EEZ BB3. An example of the layout of a GUI for a single channel in CC (constant current) mode is shown in Fig. 3. The example uses a gauge component that does not normally exist in EEZ BB3 firmware.
Fig. 2: DC Power application in Scripts folder
Fig. 3: DC Power application started
During the execution of the application on the EEZ BB3 side, it is possible to monitor the execution on the EEZ Studio side as shown in Fig. 4.
When EEZ Studio is in debug mode, it is possible to execute the application step by step (Fig. 5) as well as set breakpoints. Debug mode also allows you to view queue, watch variables, breakpoints, active flows and log of all executed blocks/components with the ability to filter executed SCPI commands (blue marked) and errors (red marked).
EEZ flow for BB3 and dashboard differences
EEZ Studio currently supports two targets for executing flows: the personal computer dashboard and the EEZ BB3, which are not equally supported due to technological limitations or because we have not yet had time to support them. The differences are best seen on the components palette which depending on which target is selected looks like in Fig. 6 and Fig. 7.
Another important difference is that for EEZ BB3 it is possible to define different component styles, while for dashboard they can currently only be defined via CSS (which gives more options, but is also more complex to define).
Our intention is certainly to harmonize the functionality of these two targets as much as possible in the near future.
The first phase made it possible to add basic EEZ Flow functionality to the cross-platform open source EEZ Studio. With that, the job is nowhere near done. Numerous new ideas have emerged, as well as suggestions from community members on additional functionalities and improvements.
Development will continue according to our capabilities, and below is a non-binding roadmap of what we would like to do in the near future.
- User manual with explained concepts of working with flow and detailed step-by-step instructions on how to create a new flow.
- Harmonize as much as possible the supported components currently available for EEZ BB3 and dashboard. Of course some such as PostgreSQL or Eval JS expr. that exists for the dashboard will not be possible to implement in the EEZ BB3 project.
- Upgrading the existing extension manager so that it can accept premium extensions (adding license management).
- Modification of the EEZ flow run-time engine to take into account the existence of premium extensions (if they are detected and not licensed, for example, enter the demo mode which lasts a limited time).
- Creating an MQTT extension as an example of the first extension that will be free but will need to be downloaded from the web store.
- Modification of the web store to allow download of free and premium extensions.
- Support for the Rohde & Schwarz VISA library
- New project wizard
- Add the ability to store a project in the GitHub repository
- Add a display of the difference between the selected project versions
- Development of the following free extensions like: Python extension, Regular expression extension, HTTP(S)/REST extension, Plotly support (for EEZ BB3) and PDF generator
- Add animations definitions in flow
- Add possibility to replace solid color background with an image
- Descriptions in flow component
- Add component inline editing
- Add "type" property to the Input component