Cross-platform visual development tool and SCPI instrument controller
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

GitHub release license

Ownership and License

The contributors are listed in CONTRIB.TXT. This project uses the GPL v3 license, see LICENSE.TXT. EEZ Studio uses the C4.1 (Collective Code Construction Contract) process for contributions. To report an issue, use the EEZ Studio issue tracker.

Introduction

The EEZ Studio is an open source cross-platform modular visual tool aimed to address various programming and management tasks for EEZ H24005 programmable power supply and other test and measurement instruments that support SCPI.

EEZ Studio Project Editor (ESP)

ESP

  • Modular visual development environment for designing TFT display screen decorations and defining user interaction (HMI)
  • Supported modules (project features):
    • Settings (General, Build, Configurations, Files)
    • Actions
    • Data
    • Extentsion definitions
    • GUI (Storyboard, Pages, Widgets, Styles, Fonts, Bitmaps)
    • SCPI (command subsystems, commands and context sensitive help)
    • Shortcuts
  • Generate C++ code for HMI functionality that can be directly included in Arduino IDE and upload into the 32-bit Arduino Due board
  • Instrument definition file (IDF) builder with context sensitive SCPI commands help (based on Keysight’s Offline Command Expert command set XML structure) suitable for EEZ Studio Workbench (ESW) and Keysight Command Expert
  • SCPI command help generator based on bookmarked HTML generated directly from .odt file using EEZ WebPublish extension for OpenOffice/LibreOffice.

EEZ Studio Workbench (ESW)

ESW

  • Dynamic environment where multiple instruments and other "widgets" can be placed and easily accessed
  • Session oriented interaction with each SCPI instrument
  • Support for serial (via USB) and TCP/IP communication
  • Direct import of ESP generated IDFs and Keysight’s Offline Command Expert command sets
  • Built-in instrument extensions for Rigol 1000 series of DSO/MSO
  • History of all activities with search/content filtering
  • Quick navigation via calendar ("heatmap") or sessions list view
  • Shortcuts (hotkeys and buttons) that can be user defined or come predefined from imported IDF. The shortcut can contain single or sequence of SCPI commands or Javascript code.
  • Javascript code for task automation (e.g. logfile, or programming list upload/download, etc.) can be also assigned to the shortcut
  • SCPI commands context sensitive help with search
  • File upload (instrument to PC) with image preview (e.g. screenshots)
  • File download (PC to instrument) automation for transferring instrument profiles
  • Simple arbitrary waveform editor (envelope and table mode)
  • Displaying measurement data as graphs

Scheduled for future milestones:

  • Support for other connections (i.e. VXI-11, USBTMC, IVI) using 3rd party open source
  • Instrument extensions for popular instruments from other vendors
  • Print and PDF export
  • (External) Data logger functionality
  • Protocol analyzer using 3rd party open source
  • Import/export of all working data (i.e. measurements, session history, shortcuts, settings, etc.) for archiving purposes or easier integration with e.g. ELNs

Installation

Linux

Download eezstudio-linux-x64.tar.gz, unpack and select eezstudio.

Mac

Download eezstudio-mac.zip, unpack and move eezstudio.app to Applications.

Windows

Download and start EEZ_Studio_setup.exe.

Build and run from source (all operating systems)

clone git clone https://github.com/eez-open/studio
cd studio
npm run build
npm start

USB TMC

Windows

Download and start Zadig. Select your device and click "Install WCID Driver" button.

Linux

Follow instructions described here under "USB connection".

FAQ

Where is database file located?

  • Linux: ~/.config/eezstudio/storage.db
  • Mac: ~/Library/Application\ Support/eezstudio/storage.db
  • Windows: %appdata%\eezstudio\storage.db

Creating database someplace else can be done from ESW Settings.

Where are installed extensions stored?

  • Linux: ~/.config/eezstudio/extensions
  • Mac: ~/Library/Application\ Support/eezstudio/extensions
  • Windows: %appdata%\eezstudio\extensions