GithubHelp home page GithubHelp logo

wjffsx / studio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eez-open/studio

0.0 0.0 0.0 218.04 MB

Cross-platform visual low-code development tool and SCPI instrument controller

Home Page: https://www.envox.eu/studio/studio-introduction/

License: GNU General Public License v3.0

Shell 0.01% JavaScript 54.56% C++ 0.85% C 0.43% TypeScript 41.85% CSS 0.52% Nix 0.07% HTML 0.20% CMake 0.32% Less 0.95% PEG.js 0.24%

studio's Introduction

GitHub release license liberapay

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 low-code development tool and SCPI controller for EEZ BB3 T&M chassis and EEZ H24005 programmable power supply and other T&M devices that support SCPI from manufacturers such as Keysight, Rigol, Siglent, etc.

EEZ Flow (ex. Studio Project Editor or ESP)

ESW

  • 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
    • Extension definitions
    • GUI (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 STM32CubeIDE for BB3 or Arduino IDE for H24005
  • 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.

Flow

New functionality is under development thanks to the sponsorship of the NGI0 PET fund from NLnet, which will enable quick and easy creation of flow diagrams using ready-made components. The target for executing the flow chart can be PC or EEZ BB3. This will be realized in the following milestones:

  • M1 - Visual editor
  • M2 - Interpreter for PC
  • M3 - Interpreter for BB3
  • M4 - Debugger for PC
  • M5 - Debugger for BB3
  • M6 - EEZ flow engine unification
  • M7 - Multilanguage support in project
  • M8 - Widgets advanced control
  • M9 - Project templates
  • M10 - Gitea.io integration
  • M11 - New EEZ Flow extensions

Interpreting the flowchart on a PC will allow the creation of a dashboard for remote control of various T&M instruments (including EEZ BB3). The debugger will simplify and speed up the development of flowcharts as it will allow step-by-step execution, setting breakpoints, etc. Adding a flow chart interpretation on EEZ BB3 will open up entirely new possibilities for quickly creating different test scenarios, automating measurement data collection, and more.

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
  • IEXT (Instrument EXTension) catalog with growing number of supported instruments (Rigol, Siglent, Keysight, etc.)
  • 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
  • FFT analysis, harmonics and simple math functions (Period, Frequency, Min, Max, Peak-to-Peak, Average)
  • Export graphs as .CSV file

Scheduled for future releases:

  • 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

64-bit OS is required in all cases.

Linux

Download eezstudio-linux-x64.tar.gz, unpack and select eezstudio.
Optionally if you experience issue on start with your Linux distribution try to run AppImage version using the --no-sandbox options, i.e. ./EEZ-Studio-[version].AppImage --no-sandbox

Mac

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

Windows

Download and start EEZ_Studio_setup.exe.

Nix

There is a Nix flake that provides a derivation for EEZ Studio or an overlay that provides that derivation. They can be used to install the project using Nix package manager.

Build and run from source (all operating systems)

Only Linux:

sudo apt-get install build-essential libudev-dev

Only Raspbian:

Install Node.js 16 and npm on Raspberry Pi: https://lindevs.com/install-node-js-and-npm-on-raspberry-pi/

sudo apt-get install build-essential libudev-dev libopenjp2-tools ruby-full
sudo gem install fpm

All platforms:

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

Start with:

npm start

Create distribution packages (except Raspbian):

npm run dist

On Raspbian:

npm run dist-raspbian

Nix

To build:

nix build 'github:eez-open/studio'

To start:

nix run 'github:eez-open/studio'

USB TMC

Windows

Download and start Zadig. Select your device, select libusb-win32 and press "Replace Driver" button:

Zadig

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

studio's People

Contributors

mvladic avatar prasimix avatar fietser28 avatar ilkecan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.